主题模型 Python 工具包 Gensim

主题模型 Python 工具包 Gensim

LGPL-2.1
Python
跨平台
2017-02-22
两味真火

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、相似度的计算

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

加载中

评论(0)

暂无评论

主题模型工具包 Gensim 3.4.0 发布,提速再提速

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.4.0 已发布,主要更新如下: 新增 cython 版 gensim.m...

2018/03/03 08:37

Gensim 3.1.0 发布,主题模型 Python 工具包

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.1.0 已发布,主要更新如下: 大幅度优化 LSI 模型训练 ...

2017/11/12 07:44

Gensim 3.0.1 发布,主题模型 Python 工具包

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.0.1 已发布,更新如下: Bug 修复: 修复 Keras 导入,加...

2017/10/13 07:33

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

【NLP】【五】gensim之Word2Vec

【一】整体流程综述 gensim底层封装了Google的Word2Vec的c接口,借此实现了word2vec。使用gensim接口非常方便,整体流程如下: 1. 数据预处理(分词后的数据) 2. 数据读取 3.模型定义与训练...

2018/11/13 22:56
81
0
Gensim?

Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。它支持包括TF-IDF,LSA,LDA,和word2vec在内的多种主题模型算法,支持流式训...

2018/12/19 13:54
7
0
gensim导入warning

In [1]: from gensim.test.utils import common_texts, get_tmpfile d:\python_work_space\ai_learning\.env\lib\site-packages\gensim\utils.py:1209: UserWarning: detected Windows; alia...

2018/09/07 11:06
30
0
gensim-5个学习阶段

阶段1--语料库和向量 http://radimrehurek.com/gensim/tut1.html * 建立语料库步骤 1.从字符串==>向量 2.去除停用词;去除出现次数=1的词; 3.(对英文)小写化处理;词干化处理 4.词袋化处理 ...

2016/06/15 11:03
22
0
gensim-5个学习阶段

阶段1--语料库和向量 http://radimrehurek.com/gensim/tut1.html * 建立语料库步骤 1.从字符串==>向量 2.去除停用词;去除出现次数=1的词; 3.(对英文)小写化处理;词干化处理 4.词袋化处理 ...

2014/09/18 12:20
856
0
【类库】Numpy,Scipy,Gensim 介绍

【NumPy】 一个用python实现的科学计算包。包括:1、一个强大的N维数组对象 Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和...

2016/07/02 18:18
112
0
自然语言处理-感述

最近花了点时间学习nlp--实际只是学习使用nltk和伴随它出现的gensim。 也许nlp在国内普及的时间还不是很长,绝大多数资料都来自nltk和gensim的官网,国内最多的例子止于演示一下nltk分词/划分...

2014/09/17 18:22
549
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部