2

私は数百のドキュメントのコーパスを持っており、これらのファイルを処理するためにNLTKPlaintextCorpusReaderを使用しています。for唯一の問題は、これらのドキュメントの類似性を数えることができるように、サイクルで一度に1つのファイルを処理する必要があることです。

このようにリーダーを初期化する corpusReader = PlaintextCorpusReader(root, fileids = ".*")と、すべてのドキュメントが消費され、トークンの代わりにファイルを反復処理する方法が見つかりません。

1つの解決策は、ファイルごとにcorpusReaderを初期化し、そのトークンを繰り返し処理してから、別のファイル用に新しいリーダーを再度作成することですが、これはこのような大きなデータを処理するための非常に効率的な方法ではないと思います。

アドバイスありがとうございます:)

4

1 に答える 1

3

コーパスにファイルのリストを要求し、次のように一度に1ファイルずつテキストを要求します。

for fname in corpusReader.fileids():
    tagged = nltk.batch_pos_tag(corpusReader.sents(fname))
    out = open("tagged/"+fname, "w")
    <write tagged text to <out>>
于 2012-08-06T18:45:55.113 に答える