为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕运维8079593 2021-10-10 16:13:09
我有一个名为SubIMDB的大型英语语料库,我想列出所有单词及其频率。意思是它们在整个语料库中出现了多少。这个频率列表应该有一些特点:像男孩和男孩这样的词或其他语法特征,例如 get 和 getting,相同的词或词条,如果有 3 个男孩和 2 个男孩,则应将它们列为男孩 5。但是,对于像 Go 和 Went 这样有不规则形式(或脚和脚)我想使用这个频率列表作为一种字典,所以每当我在程序的另一部分看到一个词时,我想检查它在这个列表中的频率。因此,最好是无需查找所有内容即可搜索。我的问题是:对于第一个问题,我该怎么办?词形还原?还是词干?或者我怎样才能得到它?其次,我应该将它设置为什么样的变量类型?像字典或列表或什么?最好将它保存在csv中吗?是否有任何准备好的 Python 工具包来完成这一切?非常感谢。
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

如上所述,问题是基于意见且含糊不清,但这里有一些说明:

  1. 两者都适用于您的情况。Stemming 通常更简单、更快。我建议从nltk 的PorterStemmer. 如果您需要复杂的词形还原,请查看spaCyIMO,这是行业标准。

  2. 您需要字典,一旦您有了词干/引理,它就会为您提供分摊 O(1) 查找。也counter可能变得有用。

  3. 取决于您的用例。CSV 更“便携”,pickle可能更易于使用。

  4. nltk 和 spaCy 中有很多“构建块”,构建管道/模型取决于您


查看完整回答
反对 回复 2021-10-10
  • 1 回答
  • 0 关注
  • 221 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信