Gensim 介绍
Gensim是一个相当专业的主题模型Python工具包。在文本处理中,比如商品评论挖掘,有时需要了解每个评论分别和商品的描述之间的相似度,以此衡量评论的客观性。评论和商品描述的相似度越高,说明评论的用语比较官方,不带太多感情色彩,比较注重描述商品的属性和特性,角度更客观。gensim就是
Python 里面计算文本相似度的程序包。
示例代码:
针对商品评论和商品描述之间的相似度,怎么使用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、相似度的计算
使用 余弦相似度 来计算用户查询和每个网页之间的夹角。夹角越小,越相似。
Gensim 官网
http://radimrehurek.com/gensim/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。