Project details for KeLP

Logo KeLP 2.1.0

by kelpadmin - August 11, 2016, 10:40:38 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

view ( today), download ( today ), 0 subscriptions


Many applications in information and computer technology domains deal with structured data. For example, in Natural Language Processing (NLP), sentences are typically represented as syntactic parse trees or in Biology, chemical compounds can be represented as undirected graphs. In contrast, most Machine Learning (ML) methods and toolkits represent data as feature vectors, whose definition and computation is typically costly, especially in case of structured data. For example, the number of times a substructure appears in a structure can be an important feature. However, the number of substructures in a tree grows exponentially with the size of its nodes leading to an exponential number of structural features, which cannot thus be fully exploited in practice. A solution to the above-mentioned problem is given by Kernel Methods applied with kernel machines, e.g., SVMs or online learning models. The Kernel-based Learning Platform is a Java framework that aims to facilitate kernel-based learning, in particular on structural data. It contains the implementation of several kernel machines as well as kernel functions, enabling an easy and agile definition of new methods over generic data representations, e.g., vectorial data or discrete structures, such as trees and strings. The framework has been designed to decouple kernel functions and learning algorithms thanks to the definition of specific interfaces. Once a new kernel function is implemented, it can be immediately used in all available kernel-machines, which include different online and batch algorithms for Classification, Regression and Clustering. The library is highly interoperable: data objects, kernel functions and algorithms are serializable in XML and JSON, enabling the agile definition of kernel-based learning systems. Additionally, such engineering choice allows for defining kernel and algorithm combinations by simply changing parameters in the XML and JSON files (without the need of writing new code).

Some available kernels:

  • Tree Kernels: SubTreeKernel, SubSetTreeKernel, PartialTreeKernel, SmoothedPartialTreeKernel, CompositionallySmoothedPartialTreeKernel

  • Graph Kernels: ShortestPathKernel. Weisfeiler-Lehman Subtree Kernel for Graphs

  • SequenceKernel

  • PreferenceKernel and other kernels defined over pairs

  • Standard Kernels: LinearKernel, PolynomialKernel, RBFKernel, NormalizationKernel, LinearKernelCombination, KernelMultiplication

Some available algorithms:

  • Batch Learning: OneClassSVM, C-SVM, nu-SVM, LinearSVM, LinearSVMRegression, epsilon-regression, Dual Coordinate Descent

  • Online Learning: Perceptron, PassiveAggressive, BudgetedPassiveAggressive, Stoptron, RandomizedPerceptronOnBudget, SoftConfidenceWeightedClassification

  • Clustering: KernelizedKMean

NEWS: using KeLP our group won the SemEval 2016 Task 3 challenge on Community Question Answering

Changes to previous version:

In addition to minor bug fixes, this release includes:

  • a flexible system to manipulate example-pairs
  • new manipulators for performing tree pruning
  • new examples for the usage of kelp

Check out this new version from our repositories. API Javadoc is already available. Your suggestions will be very precious for us, so download and try KeLP 2.1.0!

BibTeX Entry: Download
Corresponding Paper BibTeX Entry: Download
Supported Operating Systems: Platform Independent
Data Formats: Csv, Libsvm, Json, Multiple Representations Format
Tags: Svm, Classification, Clustering, Regression, Kernels, Online Learning, Kernel Methods, Graph Kernels, Structured Data, Linear Models, Tree Kernels
Archive: download here


No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.