Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement ε-rules (empty rules) #6

Open
digitalheir opened this issue Jan 25, 2017 · 2 comments
Open

Implement ε-rules (empty rules) #6

digitalheir opened this issue Jan 25, 2017 · 2 comments

Comments

@digitalheir
Copy link
Owner

digitalheir commented Jan 25, 2017

The parser currently can't handle rules of the form

X → ε            (p)

where ε is the empty string.

See section 4.7 Null Productions on page 19 of Stolcke's paper.

We have the choice of extending prediction and completion to work with ε-rules, but this is a bit complicated. Another possibility is to rewrite the grammar to eliminate these productions, described at the end of page 20, 4.7.4 Eliminating null productions.

Best to implement the simpler solution first, and implement the philosphically correct version later.

@digitalheir digitalheir added this to the 1.0.0 milestone Jan 25, 2017
@nlpguyz
Copy link

nlpguyz commented Nov 26, 2017

Here is an implementation of Earley that handles Epsilon transition: https://github.com/tomerfiliba/tau/blob/master/Earley.java

Is it possible to port the feature here?

@digitalheir
Copy link
Owner Author

It's possible, but not as easily as in the example you give. Dealing with probabilities complicates the issue considerably. Stolcke describes how to it in his paper.

I welcome any work on it, but am not planning to implement it myself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants