This package provides cpp-implementation of the parser described in the submitted paper.

To build the project,users can use the cmake command under "build" directory.

To run the parser, users should decompose the training-file,train the graphA's and graphB's feature model and parse the test-file.
More details are in commands.

To train the factorization models, use the following command.

  ./train.sh <train-file> <mod-prefix> 

For example, users can train a toy parser using the sample file as follows.

  ./train.sh sample.conll08 sample.mod

Four individual models are generated,
  sample.mod.decomposed.graphA.out
  sample.mod.decomposed.graphB.out
  sample.mod.graphA.graphcjj2gc.feat
  sample.mod.graphB.graphcjj2gc.feat


To test the factorization parser, use the following command.

  ./parse.sh <test-file> <mod-prefix> <out-prefix>

For example, users can use the toy parser.

  ./parse.sh sample.conll08 sample.mod sample.out

Three individual outputfile are generated and the merge_graph.out is the final file.
  sample.out.graphA.out
  sample.out.graphB.out
  sample.out.merge_graph.out

The training/test files are in the CoNLL-2008 format. 

