On the SourceForge project site, I just released the Java library for Incremental Fluid Construction Grammar.

Fluid Construction Grammar is a natural language parsing and generation system developed by researchers at emergent-languages.org. The system features a production rule mechanism for both parsing and generation using a reversible grammar. This library extends FCG so that it operates incrementally, word by word, left to right in English. Furthermore, its construction rules are adapted from Double R Grammar. See this post for more information about Double R Grammar.

Execution scripts for a parsing benchmark and for the unit test cases are supplied in Linux and Windows versions.

The use case utterance “the block is on the table” yields the following RDF statements (i.e. subject, predicate, object triples). A yet-to-be written discourse mechanism will resolve ?obj-4 to the known book and ?obj-18 to the known table.

Parsed statements about “the book”:

  • ?obj-4 rdf:type cyc:BookCopy
  • ?obj-4 rdf:type texai:FCGClauseSubject
  • ?obj-4 rdf:type texai:PreviouslyIntroducedThingInThisDiscourse
  • ?obj-4 texai:fcgDiscourseRole texai:external
  • ?obj-4 texai:fcgStatus texai:SingleObject

Parsed statements about “the table”:

  • ?obj-18 rdf:type cyc:Table
  • ?obj-18 rdf:type texai:PreviouslyIntroducedThingInThisDiscourse
  • ?obj-18 texai:fcgDiscourseRole texai:external
  • ?obj-18 texai:fcgStatus texai:SingleObject

Parsed statements about “the book on the table”:

  • ?on-situation-localized-14 rdf:type texai:On-SituationLocalized
  • ?on-situation-localized-14 texai:aboveObject ?obj-4
  • ?on-situation-localized-14 texai:belowObject ?obj-18

Parsed statements about that the book “is” on the table ( the fact that ?on-situation-localized-14 is a proper sub-situtation of ?situation-localized-10 should also be here):

  • ?situation-localized-10 rdf:type cyc:Situation-Localized
  • ?situation-localized-10 texai:situationHappeningOnDate cyc:Now
  • ?situation-localized-10 cyc:situationConstituents ?obj-4

Next tasks are to integrate IFCG into the existing, but not yet released, dialog framework. The framework will heuristically guide the application of construction rules during parsing, and plan the application of rules during generation. Furthermore the framework will incrementally prune alternate interpretations during parsing by employing Walter Kintsch’s Construction/Integration method for discourse comprehension.