# MaltParser

Modified: August 21 2011

- Home

##### Get MaltParser

- Download
- Changes
- License

##### Documentation

- Introduction
- Installing MaltParser
- User guide
- Options (short version)
- Options (long version)
- JavaDoc

##### Resources

- Pre-trained models
- Plugin
- Publications
- CoNLL Shared Task

##### Contact

- Contact

## Changes

### Release history

Version | Date | Description
--- | --- | ---
1.6 | August 21 2011 | More sparse representation of the liblinear model, this change requires that a parser model is retrained.
1.5.3 | August 1 2011 | Fixed problem that the symbol table is increasing during parsing.
1.5.2 | July 8 2011 | Minor fixes
1.5.1 | May 12 2011 | Fixed a bug that cause MaltParser to crash under Windows
1.5 | April 21 2011 | Large update and requires that a parser model is retrained.
1.4.1 | July 15 2010 | Some minor bug fixes
1.4 | July 2 2010 | New parsing algorithms, new functionality and some other changes and bugfixes
1.3.1 | November 14 2009 | Some minor improvements and bug fixes
1.3 | September 30 2009 | Large update
1.2 | December 10 2008 | Large update
1.1 | June 5 2008 | Large update
1.0.4 | February 22 2008 | Some minor improvements and bug fixes
1.0.3 | January 26 2008 | Some minor bug fixes
1.0.2 | January 10 2008 | Some minor bug fixes
1.0.1 | November 13 2007 | Binaries built with JDK1.5, instead of JDK1.6.
1.0.0 | November 9 2007 | First release

### MaltParser 1.6

Changes
This update address the problem that the liblinear model use a lot of memory. First, all features that have zero weights for all candidates are now removed during training. Second, all features that have the same weights for all candidates shares the weight array. Third, all ending zeros in the weight array are removed.
Build target (javac.target) are now 1.6. If you want to run MaltParser with Java 5 you have to change javac.target to 1.5 and rebuild MaltParser. We have also tested MaltParser with Java 7 and it works fine.

### MaltParser 1.5.3

Changes
Fixed a problem with identifying the correct version of malt-.jar when there are several malt-.jar
Fixed a problem that the symbol table is increasing with new strings during parsing time.

### MaltParser 1.5.2

Changes
Problem when using MaltParser within a servlet. By making Util.findURL() and Util.findURLinJars() non-static and using getClass().getResource() instead resolves the problem. Thanks Adriane Boyd.
Fixed a bug when merging Distance, NumOf and Exists features.
Fixed some minor errors in the User guide. Legal values of the second arguments of the NumOf feature are LDEPS, RDEPS, DEPS.
Some minor changes throughout the code.

### MaltParser 1.5.1

Changes
Fixed a bug that cause MaltParser to crash under Windows

### MaltParser 1.5

Changes
Total re-implementation of the interface to liblinear and libsvm.
Correction of some bugs in pseudo-projective parsing.
Minor changes to the specification of the data format.
Added the possibility to add numeric fields in the data format and use numeric features in the feature model.
Removed the implementation of phrase structure parsing. Use MaltParser 1.2 instead.
Removed the null value option called 'RootLabel'.
Replaced Java's HashMap and HashSet with Google's memory efficient HashMap and HashSet.
Minor updates of the MaltParser API.
Some minor changes throughout the code.

### MaltParser 1.4.1

Changes
Fixed a problem introduced in 1.4 with path separator in Microsoft Windows environment

### MaltParser 1.4

Changes
Two new parsing algorithms 'planar' and 'twoplanar' written by Carlos Gómez-Rodríguez.
Replaced the libsvm.jar with LIBSVM version 2.91.
Replaced the liblinear.jar with Liblinear version 1.51.
The default options of the liblinear options is changed from '-s_1_-c_1_-e_0.1_-B_1' to '-s_4_-c_0.1'.
The parser model file '.mco' is not unpacked during parsing, instead the parser reads models and other information directly from the file.
New functionality that allows partial dependency trees to be parsed.
New functionality that allows propagation of column values towards the root of the dependency graph when doing a labeled transition.
MaltParserService that makes it easier for third-party applications to call MaltParser.
Seven examples that show how to use MaltParser from other applications.

### MaltParser 1.3.1

Changes
Improved the performance of the liblinear learner interface.
'_' character does not mean ignore dependency label in the TabReader.
It is now possible to have file names with blanks.
Better error message if a column is an empty string in TabReader.
Corrected the StackProjective.xml feature model file.

### MaltParser 1.3

Changes
New design of the org.maltparser.parser package
Reimplementation of the four existing parser algorithms (Nivre arc-eager, Nivre arc-standard, Covington projective and Covington non-projective) in the new design.
Three new parsing algorithms: Stack projective, Stack eager and Stack lazy
Removal of malt-0.4 support
Removal of post-processing for Nivre arc-eager and Nivre arc-standard
Fixed a bug in Nivre arc-eager with root handling strict that affects the results
Interface to liblinear
New address functions: ANC, PANC, LDESC, PLDESC, RDESC, PRDESC
New feature functions: Distance, Exists, NumOf, InputArc and InputArcDir
Some minor changes throughout the code.
The changes may require retraining of parser models.

### MaltParser 1.2

Changes
New functionality: TigerXML reader and writer for parsing phrase structure.
A total reimplementation of the data structure maintaining the dependency graph and the phrase structure graph (syntax graph package)
Transformation between phrase structure and dependency graph relocated to the new syntax graph package.
Moved large part of the code in SingleMalt configuration a level up into concept called flow charts, which makes much easier to use MaltParser within third-part software.
The new syntax graph package and the flow chart package cause changes in must of the classes.
The option --singlemalt-mode is replaced by --config-flowchart.
Some minor changes throughout the code.
The changes may require retraining of parser models, especially parser models trained with Negra format.

### MaltParser 1.1

Changes
New functionality: prediction strategy, which makes it possible to divide the prediction of the parser action into several predictions.
New functionality: phrase structure parser that recovers both continuous and discontinuous phrases with both phrase labels and grammatical functions by automatically transforming the phrase structure representations into dependency representations with complex arc labels.
A total reimplementation of the feature model system.
New feature types: for example PrefixFeature, MergeFeature and Merge3Feature
Better integration of the pseudo-projective parsing.
Rather large reimplementation of the guide system.
Divided the Single Malt configuration class into several classes and relocated the class to the package org.maltparser.parser.config.
Rather large changes to the IO system and relocation of these classes into the package org.maltparser.core.io.
New functionality: NEGRA reader and writer for parsing phrase structure.
The plugin and options management implements the singleton design pattern, which loads these classes independently on the MaltConsoleEngine.
Much of the code in MaltConsoleEngine is relocated to other classes, which makes it easier to create other programs based on MaltParser classes.
Some minor changes throughout the code.

### MaltParser 1.0.4

Changes
The default value of the class separator option has been changed to the tilde character (~) instead of underscore (_), because it is quite common that underscore is present in dependency labels.
Improved the portability of a MaltParser configuration file (.mco) between different platforms.
Pre-compiled regular expression used for splitting strings.
Improved memory usage when training an SVM model with an external LIBSVM trainer.
Improved error handling when invoking the external LIBSVM trainer.
Slightly improved memory usage of the trie symbol table.

### MaltParser 1.0.3

Changes
Fixed some minor bugs
Added an error message when LIBSVM runs out of memory
Removed the file "using.htm" from the documentation.

### MaltParser 1.0.2

Changes
A configuration file (.mco) was not unpacked in the working directory.
URL to feature specification file and data format file were not handled correct.

### MaltParser 1.0.1

Changes
Binaries built with JDK1.5 instead of JDK1.6.
Some minor bug fixes

### MaltParser 1.0.0

This is the first release of the Java implementation of MaltParser, so there are no changes.