LKB-FOS: new version now available

I’ve just released a new binary distribution of LKB-FOS (see the LkbFos wiki page for the download link). Source code is in the repository.

This new version contains all the improvements I’ve made since July, so please now delete any temporary fixes you might have in patches.lsp or .lkbrc files. Below is a summary of the changes, copied from the README.


  • Implemented post-generation chart mapping (post-generation rules should be read in with read-post-generation-mapping-file-aux).
  • Fixed a bug that prevented chart mapping rules from capturing the empty string.
  • Morphological generation is now smarter about the choice of upper-/lowercase in the output.
  • Moved application of chart-dependencies from before lexical parsing to after (in line with other DELPH-IN processors). To avoid confusion, edges that do not survive chart-dependency processing are now completely removed from the chart - previously they were merely disabled, or ‘frozen’. Added variable *cd-debug* to help debug chart dependencies.
  • Fixed bit rot to get the SPPP input format working again (this format was used for the initial version of the Spanish Resource Grammar).
  • Added two new Lisp functions to help diagnose inefficiencies in grammars: print-chart-counts outputs the number of parser edges in each chart cell (excluding packed edges); and check-subsume-edges prints paths/types causing subsumption failure between a pair of parser edges. Examples of calling these functions: (print-chart-counts) (check-subsume-edges 107 108)
  • During grammar loading, warnings are now issued for Common Lisp code loaded from lkb/user-fns.lsp etc that is faulty.
  • The parameter *non-empty-list-type* is no longer used; instead the type is inferred via the list head and tail features. (This parameter is not documented in the LKB User Manual, and many DELPH-IN grammars fail to reset the parameter when they use a different name for this type than the default.)
  • Several internal improvements in the areas of chart mapping rule management, parsing vpm files, and quickcheck path collection.

SVN said Updated to revision 29392, right?

@arademaker Yes, that’s correct.

How wonderful, thank you, John!

I am particularly excited about the SPPP input format, however I am not sure what it is exactly. In the old logon version, there is an interface binary which I am assuming does the conversion from simple string to the required format.

In your new version, how should things work, in theory? I hope I am making myself clear, let me know if not. Suppose I am loading the SRG into the LKB, what should the input string then be?

Or is the interface still missing and what you describe still assumes that same binary?

Thanks again!

Good questions, @olzama. The “Fixed bit rot…” change just means that the instructions at Setting up SRG with LKB now work properly for LKB-FOS. I didn’t send you a patches file at the time since it seemed to me you were more focused on ACE. You’ll still need the shell script and Linux binary in the directory upc/bin/ from the LOGON distribution.

And yes, you’re right, freelingSPPP is the interface binary which converts from input text to morphological structures in the SPPP format. When set up correctly, you’ll be able to interactively type Spanish sentences and also batch parse them from a file.