从大型语料库中提取词频列表

问题描述 投票:-1回答:1

我有一个名为SubIMDB的大型英语语料库,我想用它们的频率列出所有单词。意味着它们在整个语料库中出现了多少。此频率列表应具有以下特征:

  1. 像男孩和男孩这样的词或其他语法特征,如获取和获取,相同的单词或引理,如果有3个男孩和2个男孩,它应该列为男孩5.但是,不是像Go和Went这样的情况不规则形式(或脚和脚)
  2. 我想把这个频率列表用作一种字典,所以每当我在程序的另一部分看到一个单词时,我想在这个列表中检查它的频率。所以,如果没有查找所有内容就可以搜索到更好的内容。

我的问题是:

  1. 对于第一个问题,我该怎么办? Lemmatize?还是扼杀?或者我怎么能得到它?
  2. 第二,我应该将它设置为什么样的变量类型?像字典或列表或什么?
  3. 是最好将它保存在csv中吗?
  4. 有没有为python做这个的准备工具包呢?

非常感谢。

python python-3.x nlp corpus word-frequency
1个回答
0
投票

如上所述,问题是基于意见和模糊的,但这里有一些方向:

  1. 两者都适用于您的情况。词干通常更简单,更快捷。我建议从nltk's PorterStemmer开始。如果您需要复杂的词形还原,请查看spaCy,这是行业标准的IMO。
  2. 你需要字典,一旦你有了你的词干/引理,就会给你分摊O(1)查询。 counter也可能变得有用。
  3. 取决于你的用例。 CSV更“便携”,pickle可能更容易使用。
  4. 在nltk和spaCy中有很多“构建块”,构建您的管道/模型取决于您
© www.soinside.com 2019 - 2024. All rights reserved.