Earley 线图解析算法

时光怂恿深爱的人放手 提交于 2020-01-14 02:14:45

Earley 算法由 Earley 于 1970 年提出。该算法类似于自顶向下的语句解析。它可以处理左
递归问题,并且不需要 CNF(乔姆斯基范式)转化。Earley 算法以从左到右的方式填充线图。
考虑一个展示了用 Earley 线图解析器来进行语法解析的示例:

>>> import nltk 
>>> nltk.parse.earleychart.demo(print_times=False, trace=1,sent='I saw 
a dog', numparses=2)

考虑一个使用 NLTK 中的线图解析器来进行语法解析的示例:

>>> import nltk 
>>> nltk.parse.chart.demo(2, print_times=False, trace=1,sent='John saw 
a dog', numparses=1)

考虑一个使用了 NLTK 中的 Stepping 线图解析器来进行语法解析的示例:

>>> import nltk 
>>> nltk.parse.chart.demo(5, print_times=False, trace=1,sent='John saw 
a dog', numparses=2)

让我们来看看 NLTK 中有关 Feature 线图解析的代码:

>>> import nltk 
>>> nltk.parse.featurechart.demo(print_times=False,print_ 
grammar=True,parser=nltk.parse.featurechart.FeatureChartParser,sent='I 
saw a dog')
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!