Probabilistic Sequence Modeling Shared Library
The PSMSLib library implements selected prediction/classification algorithms for sequential data. The library is written in C++. Currently, only the Prediction by Partial Matching (PPM) algorithm is exported by the public API. Persistent and memory-based versions of PPM are available. For more information, see the online documentation. You may also want to check out the Python module for PSMSLib.


A visualization of how the PPM algorithm classifies spam email.
Terms of Use
This software is the property of Klika d.o.o. Permission is granted to use this software for research purposes and/or for personal use. This software may not be used for any commercial purposes. The use of the library in other non-commercial software is permitted; However, any copy of the library may only be used under these terms, even when used implicitly through the use of other software. The software is provided "as is" without express or implied warranty of any kind. Read the full terms before downloading any packages.
Download
I have read and agree to the terms of the license agreement.

     [psmslib.i386-win32.msvc8.0.zip] Windows binaries, documentation, and examples.
     [psmslib.i386-redhat-linux.gcc4.1.1.tar.gz] Linux binaries, documentation, and examples.
About PSMSLib
The author of this software is Andrej Bratko. The library is a wrapper for the code that was used at the TREC 2006 spam track by the Jozef Stefan Institute group. The original code makes heavy use of templates, which are instantiated to reasonable defaults in this library. At the moment, it is not possible to obtain the original PSMLib source code, but this may change in the future. Contact the author if you are interested in commercial applications of this software.