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

标签 python nltk

我想知道计算文档中字数的最佳方法。如果我有自己的“corp.txt”语料库设置,我想知道“students, trust, ayre”在文件“corp.txt”中出现的频率。我能用什么?

会不会是以下之一:

....
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.

谢谢, 雷

最佳答案

我建议查看 collections.Counter。特别是对于大量文本,这很有效并且仅受可用内存的限制。它在具有 12Gb 内存的计算机上一天半内计算了 300 亿个 token 。伪代码(变量词实际上是对文件或类似文件的引用):

from collections import Counter
my_counter = Counter()
for word in Words:
    my_counter.update(word)

完成后,单词会在字典 my_counter 中,然后可以将其写入磁盘或存储在其他地方(例如 sqlite)。

关于python - 如何计算语料库文档中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139239/

相关文章:

python - 在 Python 中迭代 4 个函数的不同排列

machine-learning - 选择功能将 Twitter 问题识别为 "Useful"

python - 如何计算pandas数据框中某些条件的比率

python - 对 Path.open 的模拟/测试调用

python - 如何找到每个客户的相似地址数量?

python - 如何在 python nltk 中获取 n-gram 搭配和关联?

Python NLTK 最大熵分类器错误

python - 反转 'about',没有找到参数

python - 我如何组合 wxPython、abc 和元类 mixin?

python - 如何在 PySide/PyQt 的屏幕中央制作一个小部件?