February 13, 2017

Release history

Version 2.2.1:

This release includes:

  • A new kernel cache that is meant to substitute the FixIndexKernelCache and the DynamicIndexKernelCache
  • New Evaluators for measuring the quality of Clustering algorithms.
  • Added a new way of serializing/desearlizing Json files in gzip format.

In addition, KeLP suite has been enriched with a new package, kelp-input-generator, that has been released in its 1.0.0 version. This package is meant to support users to produce input representations for KeLP algorithms. In particular, at the moment it allows to derive tree and graphs representations to be used with Tree and Graph Kernels in KeLP. Please, refer to the github page on instructions on how to install and use this new library.

Version 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.

Version 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

Version 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.

Version 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.

Version 2.0.0:

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

Starting from this version, 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!

Version 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

Version 1.2.0:

Two brand new sub-projects 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

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

Version 1.1.1:

  • Minor fixes and improvements.

Version 1.1.0:

  • Many fixes and new functionalities.
  • An efficient and full version of the Smoothed Partial Tree Kernel is for the first time available to the public.
  • New Representations: – SequenceRepresentation
  • New Kernels: – SubSetTreeKernel – SmoothedPartialTreeKernel – CompositionallySmoothedPartialTreeKernel – SequenceKernel
  • New LearningAlgorithms: – LibLinearRegression – BudgetedPassiveAggressive

Version 1.0.0:

First release of KeLP including core functionalities, first kernel functions and learning algorithms.