主题模型Python工具包:Gensim

来源:互联网 发布:linux session数量 编辑:程序博客网 时间:2024/05/01 13:57

Gensim是一个相当专业的主题模型Python工具包。在文本处理中,比如商品评论挖掘,有时需要了解每个评论分别和商品的描述之间的相似度,以此衡量评论的客观性。评论和商品描述的相似度越高,说明评论的用语比较官方,不带太多感情色彩,比较注重描述商品的属性和特性,角度更客观。那么Python 里面有计算文本相似度的程序包吗,恭喜你,不仅有,而且很好很强大,那就是gensim。

    针对商品评论和商品描述之间的相似度,怎么使用gensim来计算。

    原理

    1、文本相似度计算的需求始于搜索引擎。

    搜索引擎需要计算“用户查询”和爬下来的众多”网页“之间的相似度,从而把最相似的排在最前返回给用户。

    2、主要使用的算法是tf-idf

    tf:term frequency词频

    idf:inverse document frequency倒文档频率

    主要思想是:如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

    第一步:把每个网页文本分词,成为词包(bag of words)

    第三步:统计网页(文档)总数M。

    第三步:统计第一个网页词数N,计算第一个网页第一个词在该网页中出现的次数n,再找出该词在所有文档中出现的次数m。则该词的tf-idf 为:n/N * 1/(m/M) (还有其它的归一化公式,这里是最基本最直观的公式)

    第四步:重复第三步,计算出一个网页所有词的tf-idf 值。

    第五步:重复第四步,计算出所有网页每个词的tf-idf 值。

    3、处理用户查询

    第一步:对用户查询进行分词。

    第二步:根据网页库(文档)的数据,计算用户查询中每个词的tf-idf 值。

    4、相似度的计算

    使用余弦相似度来计算用户查询和每个网页之间的夹角。夹角越小,越相似。

   

    官方主页:http://radimrehurek.com/gensim/index.html

    github代码页:https://github.com/piskvorky/gensim

0 0
原创粉丝点击