我有一个包含70,429个文件(296.5 mb)的语料库。我试图通过使用整个语料库来找到双格。我写了下面的代码;在python中有很多txt文件的双元克
allFiles = ""
for dirName in os.listdir(rootDirectory):
for subDir in os.listdir(dirName):
for fileN in os.listdir(subDir):
FText = codecs.open(fileN, encoding="'iso8859-9'")
PText = FText.read()
allFiles += PText
tokens = allFiles.split()
finder = BigramCollocationFinder.from_words(tokens, window_size = 3)
finder.apply_freq_filter(2)
bigram_measures = nltk.collocations.BigramAssocMeasures()
for k,v in finder.ngram_fd.most_common(100):
print(k,v)
有一个根目录,根目录包含子目录,每个子目录包含大量文件。我所做的是;
我读取所有文件,并将上下文添加到名为allFiles
的字符串中。最后,我将字符串拆分为令牌并调用相关的双字母函数。问题是;
我跑了一天的程序,并没有得到任何结果。有没有更有效的方法来查找包含大量文件的语料库中的bigrams?
任何意见和建议将不胜感激。提前致谢。
要做的一件事就是在循环中的目录遍历期间处理每个文件并存储'BigramCollocationFinder'的输出。可能会非常紧张,但可能会更快? – avip