2

我有数百个文档的语料库,我正在使用 NLTK PlaintextCorpusReader 来处理这些文件。唯一的问题是我需要for循环处理一个文件,这样我就可以计算这些文件的相似性。

如果我像这样初始化阅读器, corpusReader = PlaintextCorpusReader(root, fileids = ".*")它只会消耗所有文档,并且我找不到如何迭代文件而不是令牌的方法。

一种解决方案可能是为每个文件初始化 corpusReader,迭代其令牌,然后再次为另一个文件创建新的阅读器,但我认为这不是处理如此大数据的非常有效的方法。

感谢您的任何建议:)

4

1 回答 1

3

向语料库询问其文件列表,并一次请求一个文件,如下所示:

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 回答