Project details for KeLP

Screenshot KeLP 2.2.2

by kelpadmin - February 1, 2018, 00:57:32 CET [ Project Homepage BibTeX BibTeX for corresponding Paper Download ]

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

Description:

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 2017 Task 3 challenge on Community Question Answering and SemEval 2016 Task 3 challenge on Community Question Answering

Changes to previous version:

In addition to minor improvements and bug fixes, this release includes:

  • The possibility to generate the Compositional GRCT and the Compositional LCT data structures in kelp-input-generator.

  • New metrics for evaluating Classification Tasks.

  • New Tutorial and Unit Tests.

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.2.2!

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

Other available revisons

Version Changelog Date
2.2.2

In addition to minor improvements and bug fixes, this release includes:

  • The possibility to generate the Compositional GRCT and the Compositional LCT data structures in kelp-input-generator.

  • New metrics for evaluating Classification Tasks.

  • New Tutorial and Unit Tests.

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.2.2!

February 1, 2018, 00:57:32
2.2.1

In addition to minor bug fixes, this release includes:

  • A new cache (FixSizeKernelCache) that can store a larger number of computations.

  • Evaluators for measuring the quality of Clustering algorithms.

Furthermore we also released the new module kelp-input-generator, that contains the facilities to parse text snippets and generate tree representations for 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.2.1!

August 7, 2017, 17:20:39
2.2.0

In addition to minor bug fixes, this release includes:

  • A new learning algorithm that enable (for the first time in KeLP) to deal with sequences labeling problems! It is based on a Markovian formulation within a SVM framework. Most noticeably: this new meta-algorithm for sequence learning can deal both with linear algorithms and with kernel-based algorithms!

  • A new cache (SimpleDynamicKernelCache) has been added to avoid the need of specifying the number of expected items in the dataset. It is not specialized for any learning algorithm, so it is not the most efficient cache, but it is very easy to use.

Furthermore we also released a brand new web site www.kelp-ml.org, where you can find several tutorials and documentation about 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.2.0!

April 7, 2017, 16:51:42
2.1.0

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!

August 11, 2016, 10:40:38
2.0.2

In addition to minor bug fixes, this release includes:

  • the Nystrom method for linearizing instances and allowing a large scale kernel learning

  • New examples for the usage of the Smoothed Partial Tree Kernel and the Compositionally Smoothed Partial Tree Kernel.

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.0.2!

February 17, 2016, 09:03:46
2.0.1

In addition to minor bug fixes, this release includes:

  • Soft Confidence Weighted Classification algorithm: a brand new online learning algorithm from Wang, J., Zhao, P., Hoi, S.C.: Exact soft confidence-weighted learning. In Proceedings of the ICML 2012. ACM, New York, NY, USA (2012)

  • Optimization of the kernel caching mechanism

  • The Smooth Partial Tree Kernel and the Partial Tree Kernel now have the possibility to specify a maximum branching factor (parameter: maxSubseqLeng) in the tree fragments considered by the kernel operation.

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.0.1!

January 13, 2016, 12:47:31
2.0.0

This is a major release that includes brand new features as well as a renewed architecture of the entire project.

Now KeLP is organized in four maven projects:

  • kelp-core: it contains the infrastructure of abstract classes and interfaces to work with KeLP. Furthermore, some implementations of algorithms, kernels and representations are included, to provide a base operative environment.

  • kelp-additional-kernels: it contains several kernel functions that extend the set of kernels made available in the kelp-core project. Moreover, this project implements the specific representations required to enable the application of such kernels. In this project the following kernel functions are considered: Sequence kernels, Tree kernels and Graphs kernels.

  • kelp-additional-algorithms: it contains several learning algorithms extending the set of algorithms provided in the kelp-core project, e.g. the C-Support Vector Machine or ν-Support Vector Machine learning algorithms. In particular, advanced learning algorithms for classification and regression can be found in this package. The algorithms are grouped in: 1) Batch Learning, where the complete training dataset is supposed to be entirely available during the learning phase; 2) Online Learning, where individual examples are exploited one at a time to incrementally acquire the model.

  • kelp-full: this is the complete package of KeLP. It aggregates the previous modules in one jar. It contains also a set of fully functioning examples showing how to implement a learning system with KeLP. Batch learning algorithm as well as Online Learning algorithms usage is shown here. Different examples cover the usage of standard kernels, Tree Kernels and Graph Kernels, with caching mechanisms.

Furthermore this new release includes:

  • CsvDatasetReader: it allows to read files in CSV format

  • DCDLearningAlgorithm: it is the implementation of the Dual Coordinate Descent learning algorithm

  • methods for checking the consistency of a dataset.

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.0.0!

November 26, 2015, 16:14:53
1.2.1

The code for learning relations between pairs of short texts has been released, and includes the approach described in:

Simone Filice, Giovanni Da San Martino and Alessandro Moschitti. Relational Information for Learning from Structured Text Pairs. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics, ACL 2015.

In particular this new release includes:

  • TreePairRelTagger: a manipulator that establishes relations between two tree representations (available in the maven project discreterepresentation)

  • 5 new kernels on pairs: released in the maven project standard-kernel

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 1.2.1!

July 24, 2015, 15:43:13
1.2.0

Two brand new subprojects have been added:

  • graph-representation: it contains DirectedGraphRepresentation for representing direct unweighted graphs

  • graph-kernel: it contains some state-of-the-art graph kernels, like the shortest path kernel and the Weisfeiler-Lehman Subtree Kernel for Graphs

Furthermore the following components are added:

  • StandardizerManipulator: for standardize the features of the feature vectors in a dataset

  • KernelMultiplication: a new kernel for combining other kernels applying the multiplication operator

  • ExperimentUtils: a class providing useful methods for performing experiments, like a n-fold cross validation

  • LibsvmDatasetReader: for reading files in LibSVM or LibLinear or SvmLight format

Moreover several demo examples are added in kelp-examples as well as some unit test in kelp-full.

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 1.2.0!

July 9, 2015, 13:59:11
1.1.1

Some minor fixes and improvements are included in this version.

Check out this new version from our repositories. Soon we will upload new versions of the documentation pages, while API Javadoc is already available. Your suggestions will be very precious for us, so download and try KeLP 1.1.1!

June 9, 2015, 15:37:29
1.1.0

Many fixes and new functionalities are included in this version. Among them, an efficient and full version of the Smoothed Partial Tree Kernel is for the first time available to the public.

Check out this new version from our repositories. Soon we will upload new versions of the documentation pages, while API Javadoc is already available.

Your suggestions will be very precious for us, so download and try KeLP 1.1.0!

New Representations: - SequenceRepresentation

New Kernels: - SubSetTreeKernel - SmoothedPartialTreeKernel - CompositionallySmoothedPartialTreeKernel - SequenceKernel

New LearningAlgorithms: - LibLinearRegression - BudgetedPassiveAggressive

May 26, 2015, 15:47:03
1.0.0

Initial Announcement on mloss.org.

April 27, 2015, 16:44:36

Comments

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.