4th June 2009

Nieme has been certified 100% Free of any form of malware (including but not limited to: spyware, viruses, trojans and backdoors) by Softpedia.

1st April 2009

Nieme in JMLR

The paper describing Nieme has been published in JMLR (Machine Learning Open Source Software special issue).

5th March 2009

Released Nieme version 1.0

This release includes the following major changes:

  • A new implementation for vectors and feature generators. All the code related to features and vectors has been rewritten to be more clear and efficient. The new implementation brings many new possibilities: lazy vectors, vector decorators, feature generators and feature visitors, ...
  • Decision Processes for Structured Prediction. I recently worked a lot with Nieme to solve sequence labeling, tree transformation and graph labeling problems. These structured prediction tasks are implemented through Decision Processes in Nieme.
  • CRank: an algorithm for reinforcement learning with ranking machines. This algorithm will be described in my thesis, on which I am currently working.
  • Kernels for libSVM. The wrapper of LibSVM now handles the kernel parameters.
  • Classification Scores. When evaluating a classifier, it is now possible to retrieve the Recall, Precision and F1 score of each class, as well as the micro and macro averages of these quantities (thanks to Alex Spengler for this code).
  • Juce Update: Juce has been updated from version 1.38 to 1.46
  • CMake Update: CMake has been updated from version 2.4.6 to 2.6.2.

19th Dec 2008

Two new tutorials

The website now includes two new tutorials:

  • Tutorial 4 gives the basics of Nieme's implementation and Nieme's plugins.
  • Tutorial 5 shows how to write a decision-process within Nieme.

29th Oct 2008

Nieme has been accepted at the NIPS mloss08 workshop

The main goal of this workshop is to bring the main practitioners in the area of machine learning open source software together in order to initiate processes which will help to further improve the development of this area. In particular, we have to move beyond a mere collection of more or less unrelated software projects and provide a common foundation to stimulate cooperation and interoperability between different projects. An important step in this direction will be a common data exchange format such that different methods can exchange their results more easily.

The workshop will held in Whistler (B.C.) on the 12th of December, 2008.

24th June 2008

Released Nieme version 0.8

Nieme v0.8 includes the following major improvments:

  • Unit testing. Each function of Nieme v0.8 is unit-tested within the Python unittest framework.
  • Documentation completion. All new features since Nieme v0.6 are now completely documented in the HTML and PDF reference documentation. Several examples of use have been added to this documentation.
  • OWLQN re-implemented. The Orthant-Wise Limited Memory Quasi-Newton optimization method has been re-implemented in Nieme v0.8. The new implementation has the same license as the rest of Nieme (GPL) and is faster than the previous one.
  • Improvments on the Quick Start Guide. Now, detailed instructions for compiling Nieme on Linux/MacOSX/Windows are given into the Quick Start Guide. Furthermore, the use of Nieme Explorer is illustrated in the tutorials.

May 2008

Nieme version 0.7

I am currently working on Nieme v0.7 which introduces two new major features:

  • Nieme Explorer: a user interface for visualizing and debugging Nieme data and programs.
  • Decision Processes and Reinforcement Learning. Nieme v0.7 includes a set of classes for manipulating discrete Decision Processes that may have very-large state spaces. This comes with several policies (learning policies, exploration policies, logging policies, ...) that are easily combinable to form complex learning algorithms. Nieme v0.7 includes a first Decision Process which handles the problem of sequence labeling.

11th November 2007

Released Nieme version 0.6

  • Table class. A very useful tool for storing and manipulating experiment results. Tables support sorting, merging, row selection, table listeners, and various export formats (CSV, GnuPlot data, PmWiki code...).
  • FeatureGenerators. Feature Generators are functions that describe an object with a set of features. Nieme's feature generators are data-driven: they only generate the features that exists in the given object.
  • DoubleVector classes which implements Composite Vectors.
  • Compose Architecture. The compose architecture allows to chain two base architectures. This makes it possible to construct multi-layer architectures in a very nice way.
  • Exhaustive benchmarks.

3rd October 2007

Released Nieme version 0.5

This release comes after several month work of refactoring, clarification and documentation of the code. Major changes are:

  • Swig interface with bindings for Python, Java and C++.
  • Full documentation of the interface.
  • Tutorials and Website.
  • Release scripts for the three supported platforms.
  • Testing with various language/platform configurations.
  • A paper describing Nieme, submitted to the JMLR Open Source Track.

September 2006 - October 2007

Nieme early versions

The project Nieme started at September 2006. The initial aim was to develop a set of tools for incremental structured prediction in the context of my PhD thesis. The focused applications includes sequence labeling, dependency parsing and structure mapping (learning to transform HTML documents into XML ones).

Due to the central place of learning machines in these methods, the focus has progressively been put on the learning framework.