KeLP (Kernel-based Learning Platform) is a machine learning platform developed a maintained within a collaboration between the Semantic Analytic Group (SAG) of the Department of Enterprise Engineering at the University of Roma Tor Vergata and the Arabic Language Tecnologies (ALT) group of the QCRI. It is entirely written in Java and it is strongly focused on Kernel Machines. It includes different online and batch learning algorithms as well as several kernel functions, ranging from vector-based to structural kernels. KeLP allows to build complex kernel machine based systems, leveraging on the Java language and on a JSON interface to store and load classifiers configurations as well as to save the models to be reused.
KeLP contains several data representations, kernels and learning algorithms that can be efficiently and effectively applied in variegate scenarios:
KeLP is:
All the KeLP packages are released under Maven.
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.
For now, a custom repository is used to distribute the maven packages for the whole platform. To use KeLP it is necessary to specify the repository where the platform is located. In the pom.xml of a Maven project KeLP repositories can be specified with the following piece of code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<repositories> <repository> <id>sag_repo_snap</id> <name>Sag Libs Repository Snapshots</name> <releases> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://sag.art.uniroma2.it:8081/artifactory/kelp-snapshot/</url> </repository> <repository> <id>sag_repo_release</id> <name>Sag Libs Repository Stable</name> <releases> <enabled>true</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>warn</checksumPolicy> </releases> <snapshots> <enabled>false</enabled> <updatePolicy>always</updatePolicy> <checksumPolicy>fail</checksumPolicy> </snapshots> <url>http://sag.art.uniroma2.it:8081/artifactory/kelp-release/</url> </repository> </repositories> |
Maven allows to import only the required components. For example, if you need only to work with tree kernel functions and batch learning algorithms, you can import only these two package in your project, adding the following dependencies to your project pom.xml file:
1 2 3 4 5 6 7 |
<dependencies> <dependency> <groupId>it.uniroma2.sag.kelp</groupId> <artifactId>tree-kernel</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>it.uniroma2.sag.kelp</groupId> <artifactId>batch-large-margin</artifactId> <version>1.1.0</version> </dependency> </dependencies> |
Furthermore a full version of KeLP is also available on maven in the package kelp-full. It includes all the modules that compose the library. To import the 1.1.0 version of kelp-full, you can use the following Maven dependency.
1 2 3 4 5 6 7 |
<dependencies> <lt;dependency> <groupId>it.uniroma2.sag.kelp</groupId> <artifactId>kelp-full</artifactId> <version>1.1.0</version> </dependency> </dependencies> |
KeLP is Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Copyright Qatar Computing Research Institute. All rights reserved.