Gensim 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Gensim 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Gensim 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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、相似度的计算

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

展开阅读全文

代码

评论

点击引领话题📣
发表于软件架构专区
2018/03/03 08:37

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

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.4.0 已发布,主要更新如下: 新增 cython 版 gensim.models.LdaModel ,带来大幅优化,训练速度更快。 新增 Cython 版 MmReader,给 corpus I/O 带来大幅提速。 gensim.models.FastText 性能和内存优化 开始使用 Soft Cosine Measure ,这是一个评估文件相似性的新方法,是 WMD 的一个很好的替...

0
1
发表了资讯
2017/11/12 07:44

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

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.1.0 已发布,主要更新如下: 大幅度优化 LSI 模型训练 将常用术语添加至 Phrases 新增 segment_wiki.py 脚本 FastText 测试提速 优化 SlicedCorpus.__len__ word_vec 将返回不可变量 不再支持 win x32,新增滚动构建 点此可查阅完整更新内容 下载地址: Source code (zip) Source code (tar.g...

0
17
发表了资讯
2017/10/13 07:33

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

Gensim 是用于主题模型、文档索引和海量文本的相似检索的 Python 库,目标受众是自然语言处理(NLP)和信息检索(IR)社区。 Gensim 3.0.1 已发布,更新如下: Bug 修复: 修复 Keras 导入,加快导入时间 修复 Sphinx 警告并检索所有缺少的 .rst 修复 lsi 调度程序中的日志信息 教程和文档改进: 拼写修正 弃用部分(将在下个版本生效) Remove gensim.examples gensim.nosy gensim.scripts.word2vec_standalone gensim.scripts...

0
13
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
nltk 代码问题漏洞
不充分的比较
Nltk是一个自然语言工具包。用于支持自然语言处理的研究和开发。 nltk 中存在代码问题漏洞,该漏洞源于产品中的某些正则表达式存在错误。攻击者可通过该漏洞导致拒绝服务。
CVE-2021-3828 MPS-2021-32390
2022-08-08 18:43
nltk 安全漏洞
ReDoS
Nltk是一个自然语言工具包。用于支持自然语言处理的研究和开发。 nltk存在安全漏洞,该漏洞源于在处理正则表达式的过程中触发异常。
CVE-2021-3842 MPS-2021-32644
2022-08-08 18:43
Natural Language Toolkit资源管理错误漏洞
拒绝服务
Natural Language Toolkit(NLTK)是一款使用Python语言编写的自然语言处理工具包。Natural Language Toolkit(NLTK) 3.6.5之前版本存在资源管理错误漏洞,攻击者可利用该漏洞进行拒绝服务攻击。
CVE-2021-43854 MPS-2021-36979
2022-08-08 18:43
nltk 存在拒绝服务漏洞
拒绝服务
nltk 是一个自然语言工具包 (NLTK) 是一个用于自然语言处理的 Python 包。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击。
MPS-2022-15003
2022-08-08 18:43
scikit-learn 存在拒绝服务漏洞
拒绝服务
scikit-learn 是基于 SciPy 构建的用于机器学习的 Python 模块,并在 3-Clause BSD 许可下分发。此软件包的受影响版本容易受到正则表达式拒绝服务 (ReDoS) 的攻击,该表达式通过在 _decode_attribute 中评估的 _RE_TYPE_NOMINAL 正则表达式进行。
MPS-2022-15126
2022-08-08 18:43
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
89 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部