Earley Recognizer for Earley Analyzer

I managed to create an Earley recognizer, everything works fine. I have all the right sets of situations. But I can only use it to decide if the word is accepted by grammar. How to make him understand? I need an article or explanation, it seems to me that I need to create associations in situations that created new situations. Any help would be appreciated.

My implementation is based on: http://www.cs.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf

+6
algorithm parsing nlp earley-parser
source share
2 answers

Whenever you conclude, keep track of where you came from, i.e. what elements are used to form a new element. Then the parsing forest can be found by examining the top element spanning the entire input. If you are dealing with ambiguous grammars, you should also consider packaging ambiguity, i.e. do not recombine (locally) equivalent assays together.

I really recommend Klaas Sikkel's excellent book, Analysis Charts, for the theoretical side of things.

+1
source share

The origin of parser generation from Earley recognizers is complex. There is this article, “Recognition is not parsed - SPPF-style parsing from cubic recognizers,” which explains that the Earley analyzer version is incorrect, and then shows how to generate forest play from Earley recognizers.

http://www.sciencedirect.com/science/article/pii/S0167642309000951

+2
source share

All Articles