0

我正在尝试实现基于 Maxent 分类器的句子分块器,如 NLTK 书(示例 7.9)中所述:

http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html#code-classifier-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

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

4

1 回答 1

4

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

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

于 2012-04-08T20:51:40.090 回答