我想知道计算文档中单词的最佳方法。如果我有自己的“ 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)
谢谢,雷
我建议调查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)。
| 归档时间: |
|
| 查看次数: |
9141 次 |
| 最近记录: |