0

NLTK ブック (例 7.9) で説明されているように、Maxent Classifier に基づいてセンテンス チャンカーを実装しようとしています。

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 に答える