NLTK CorpusReader在tim上标记一个文件

2024-06-25 23:47:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

如果我像这样初始化读卡器 corpusReader = PlaintextCorpusReader(root, fileids = ".*")它只消耗了所有文档,我无法找到一种方法来迭代文件而不是令牌。在

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

感谢您的建议:)


Tags: 文件数据方法文档forroot解决方案相似性
1条回答
网友
1楼 · 发布于 2024-06-25 23:47:24

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

for fname in corpusReader.fileids():
    tagged = nltk.batch_pos_tag(corpusReader.sents(fname))
    out = open("tagged/"+fname, "w")
    <write tagged text to <out>>

相关问题 更多 >