如何计算语料库文档中的单词

Ray*_*mar 1 python nltk

我想知道计算文档中单词的最佳方法。如果我有自己的“ corp.txt”语料库设置,并且想知道“ corp.txt”文件中“学生,信任,ayre”的发生频率。我可以使用什么?

是否为以下之一:

....
full=nltk.Text(mycorpus.words('FullReport.txt'))
>>> fdist= FreqDist(full)
>>> fdist
<FreqDist with 34133 outcomes>
// HOW WOULD I CALCULATE HOW FREQUENTLY THE WORDS 
"students, trust, ayre" occur in full.
Run Code Online (Sandbox Code Playgroud)

谢谢,雷

Lar*_* GJ 5

我建议调查collections.Counter。尤其是对于大量文本,这可以解决问题,并且仅受可用内存的限制。在配备12Gb内存的计算机上,它一天半就能计算出300亿个令牌。伪代码(可变字实际上是对文件或类似文件的某种引用):

from collections import Counter
my_counter = Counter()
for word in Words:
    my_counter.update(word)
Run Code Online (Sandbox Code Playgroud)

完成后,这些单词将保存在字典my_counter中,然后可以将其写入磁盘或存储在其他位置(例如sqlite)。