【发布时间】:2017-08-18 19:28:04
【问题描述】:
我正在尝试使用 NLTK 来确定一个句子是否有效。 我加载了语法,但是每当我尝试获取解析器时,它都不起作用,并且出现错误“AttributeError:'str'对象没有属性'check_coverage'” 这是我的代码:
sentence = ['show', 'me', 'northwest', 'flights', 'to', 'detroit', '.']
grammar = nltk.data.load('grammars/large_grammars/atis.cfg', 'text')
parser = nltk.parse.BottomUpChartParser(grammar)
chart = parser.chart_parse(sentence)
这是完整的回溯: Traceback(最近一次调用最后一次):
File "<ipython-input-448-852d3bb24984>", line 1, in <module>
chart = parser.chart_parse(sentence)
File "C:\Users\Class2016\Anaconda3\lib\site-packages\nltk\parse\chart.py",
line 1310, in chart_parse
self._grammar.check_coverage(tokens)
AttributeError: 'str' object has no attribute 'check_coverage'
我从下面列出的示例中获得这部分代码,在 LARGE 上下文无关语法的单元测试下:http://www.nltk.org/howto/parse.html
任何关于为什么会发生这种情况或如何纠正这种情况的信息将不胜感激。
谢谢!
【问题讨论】:
-
完整的追溯是什么?该异常并非直接来自这 3 行...
-
@JonClements 我刚刚添加了它
-
@VinnyChase 我的回答能解决问题吗?
-
@cᴏʟᴅsᴘᴇᴇᴅ 是的,谢谢!
标签: python python-3.x parsing nltk