Python NLTK CorpusReader一次标记一个文件
我有数百个文档的语料库,我正在使用NLTK PlaintextCorpusReader来处理这些文件。唯一的问题是,我需要在Python NLTK CorpusReader一次标记一个文件,python,nlp,token,nltk,corpus,Python,Nlp,Token,Nltk,Corpus,我有数百个文档的语料库,我正在使用NLTK PlaintextCorpusReader来处理这些文件。唯一的问题是,我需要在周期中一次处理一个文件,以便计算这些文档的相似性 如果我像这样初始化读卡器 corpusReader=PlaintextCorpusReader(root,fileid=“.”)它只消耗所有文档,我找不到一种方法来迭代文件而不是令牌 一种解决方案是为每个文件初始化微粒读取器,迭代其标记,然后再次为另一个文件创建新的读取器,但我认为这不是处理如此大数据的非常有效的方法 感谢您
周期中一次处理一个文件,以便计算这些文档的相似性
如果我像这样初始化读卡器
corpusReader=PlaintextCorpusReader(root,fileid=“.”)
它只消耗所有文档,我找不到一种方法来迭代文件而不是令牌
一种解决方案是为每个文件初始化微粒读取器,迭代其标记,然后再次为另一个文件创建新的读取器,但我认为这不是处理如此大数据的非常有效的方法
感谢您的建议:)向语料库索要其文件列表,并一次一个文件地请求文本,如下所示:
for fname in corpusReader.fileids():
tagged = nltk.batch_pos_tag(corpusReader.sents(fname))
out = open("tagged/"+fname, "w")
<write tagged text to <out>>
用于corpusReader.FileId()中的fname的:
taged=nltk.batch\u pos\u标签(微粒读取器.sents(fname))
输出=打开(“标记/”+fname,“w”)