NLTK分块错误

时间:2012-04-08 19:24:34

标签: python nlp nltk chunking

我正在尝试基于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

我没有在谷歌上找到任何东西,我坚持这一点。任何帮助都非常有用!

1 个答案:

答案 0 :(得分:4)

你显然还没有实现你的chunker。 “ChunkParserI是一个抽象接口”意味着您需要从中派生一个类并定义自己的parse()方法。您链接到的NLTK章节显示了如何定义示例类ConsecutiveNPChunker

最后一步是创建新类的实例并调用其eval()方法(它继承自ChunkParserI,因此您不需要提供替换)。