我有一個包含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