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

查找词典中频率最高的词

作者: 萧瑟空间 | 来源:发表于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