KeLPhttp://mloss.orgUpdates and additions to KeLPenThu, 01 Feb 2018 00:57:32 -0000KeLP 2.2.2<html><p>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 <em>Classification</em>, <em>Regression</em> and <em>Clustering</em>. The library is highly interoperable: data objects, kernel functions and algorithms are serializable in <em>XML</em> and <em>JSON</em>, 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 <em>XML</em> and <em>JSON</em> files (without the need of writing new code). </p> <p>Some available <strong>kernels</strong>: </p> <ul> <li><p><em>Tree Kernels</em>: SubTreeKernel, SubSetTreeKernel, PartialTreeKernel, SmoothedPartialTreeKernel, CompositionallySmoothedPartialTreeKernel </p> </li> <li><p><em>Graph Kernels</em>: ShortestPathKernel. Weisfeiler-Lehman Subtree Kernel for Graphs </p> </li> <li><p><em>SequenceKernel</em> </p> </li> <li><p><em>PreferenceKernel</em> and other kernels defined over pairs </p> </li> <li><p><em>Standard Kernels</em>: LinearKernel, PolynomialKernel, RBFKernel, NormalizationKernel, LinearKernelCombination, KernelMultiplication </p> </li> </ul> <p>Some available <strong>algorithms</strong>: </p> <ul> <li><p><em>Batch Learning</em>: OneClassSVM, C-SVM, nu-SVM, LinearSVM, LinearSVMRegression, epsilon-regression, Dual Coordinate Descent </p> </li> <li><p><em>Online Learning</em>: Perceptron, PassiveAggressive, BudgetedPassiveAggressive, Stoptron, RandomizedPerceptronOnBudget, SoftConfidenceWeightedClassification </p> </li> <li><p><em>Clustering</em>: KernelizedKMean </p> </li> </ul> <p>NEWS: using KeLP our group won the <a href="">SemEval 2017 Task 3 challenge on Community Question Answering</a> and <a href="">SemEval 2016 Task 3 challenge on Community Question Answering</a> </p></html>Simone Filice, Giuseppe Castellucci, Danilo Croce, Roberto Basili, Giovanni Da San Martino, Alessandro MoschittiThu, 01 Feb 2018 00:57:32 -0000 learningkernel methodsgraph kernelsstructured datalinear modelstree kernels