我正在尝试基于Maxent分类器实现一个句子块,如NLTK书中所述(例7.9):
http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html#code-classifier-chunker
当我尝试用
评估chunker时chunker = ConsecutiveNPChunker(train_sents)
print chunker.evaluate(test_sents)
或用
组成一个句子print chunker.parse(test_sents[1])
我收到以下错误:
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
print chunker.parse(test_sents[1])
File "/usr/local/lib/python2.6/dist-packages/nltk/chunk/api.py", line 34, in parse
assert 0, "ChunkParserI is an abstract interface"
AssertionError: ChunkParserI is an abstract interface
我没有在谷歌上找到任何东西,我坚持这一点。任何帮助都非常有用!
答案 0 :(得分:4)
你显然还没有实现你的chunker。 “ChunkParserI是一个抽象接口”意味着您需要从中派生一个类并定义自己的parse()
方法。您链接到的NLTK章节显示了如何定义示例类ConsecutiveNPChunker
。
最后一步是创建新类的实例并调用其eval()
方法(它继承自ChunkParserI
,因此您不需要提供替换)。