美文网首页
查找词典中频率最高的词

查找词典中频率最高的词

作者: 萧瑟空间 | 来源:发表于2018-07-06 11:11 被阅读0次

本文仅为作者自学之用,系统为macOS,不保证信息准确。

使用gensim对一系列文章做处理,从分词结果制作词典。但是文章由于不是随机抓取,可能有聚类,导致某些词语以不恰当的频率出现过多次。又不敢直接过滤掉频率超过50%的词,那该怎么做呢?
经过一番查找并没有发现gensim的corpora库中有直接显示词频最高词的功能,于是只能自己利用它提供的方法来做了,代码如下:

from gensim import corpora

dictionary = corpora.Dictionary.load('/dir/to/your.dict')
# print(dictionary.dfs)  
# print(type(dictionary.dfs))
result = sorted(dictionary.dfs.items(), key=lambda d: d[1])
result.reverse()
# print(dictionary)
biao = dictionary.token2id
biao_new = {v : k for k, v in biao.items()}
for x in range(20):
    print(biao_new[result[x][0]] + ":  " + str(result[x][1]))

其中,使用

biao = dictionary.token2id
biao_new = {v : k for k, v in biao.items()}

方法的原因是,不知为何,id2token在我这里返回的是一个空dict格式的文件。所以只有使用token2id后翻转词典了。
这样的话,显示的结果就大致如图所示

结果
从图中可以看书,前几个词明显属于对文章内容造成污染的词汇,应该加以限制或去除。去除的方式就是加进jieba分词的停用词文件,那么分词的结果中便不会再有该词汇出现了。

相关文章

网友评论

      本文标题:查找词典中频率最高的词

      本文链接:https://www.haomeiwen.com/subject/mjyvuftx.html