1

PlainTextCorpusReader で NLTK を使用して約 5000 件の投稿を処理すると、奇妙なアサーション エラーが発生します。一部のデータセットでは、大きな問題はありません。ただし、まれに次のように遭遇します。

File "/home/cp-staging/environs/cpstaging/lib/python2.5/site-packages/nltk/tag/api.py", line 51, in batch_tag
return [self.tag(sent) for sent in sentences]
File "nltk/corpus/reader/util.py", line 401, in iterate_from
File "nltk/corpus/reader/util.py", line 343, in iterate_from
AssertionError

私のコードは(基本的に)次のように機能します。

from nltk.corpus import brown
brown_tagged_sents = brown.tagged_sents()
tag0 = ArcBaseTagger('NN')
tag1 = nltk.UnigramTagger(brown_tagged_sents, backoff=tag0)
posts = PlaintextCorpusReader(posts_path, '.*')
tagger = nltk.BigramTagger(brown_tagged_sents, backoff=tag1)
tagged_sents = tagger.batch_tag(posts.sents())

nltk がファイル バッファ内での位置を失っているように見えますが、100% ではありません。これが起こる原因は何ですか?私が処理しているデータと何か関係があるように思えます。もしかしてファンキーキャラ?

4

2 に答える 2

0

1 つの書き込み関数がコーパスを空にしていたときにも、この問題に直面しました。読み込んでいるファイルが空でないことを確認すると、このエラーを回避できます。

于 2013-04-03T18:35:05.417 に答える
-1

解析からいくつかの空のファイルを削除し、問題を解決しました。

于 2011-02-22T23:36:23.717 に答える