gensim – Python中的主题建模
Gensim是一个用于主题建模、文档索引和相似性检索的大型语料库的Python库。其目标用户是自然语言处理(NLP)和信息检索(IR)社区。
⚠️ 想帮忙?赞助 Gensim ❤️
⚠️ Gensim 处于稳定维护模式:我们不再接受新功能,但仍然欢迎错误修复和文档修正!⚠️
特点
- 所有算法相对于语料库大小均内存独立(可以处理比RAM大的输入,流处理,外部计算),
- 直观的接口
- 轻松插入您自己的输入语料库/数据流(简单的流API)
- 轻松扩展到其他向量空间算法(简单的转换API)
- 流行算法的高效多核实现,例如在线潜在语义分析(LSA/LSI/SVD)、潜在狄利克雷分配(LDA)、随机投影(RP)、层次狄利克雷过程(HDP)或word2vec深度学习。
- 分布式计算:可以在计算机集群上运行潜在语义分析和潜在狄利克雷分配。
- 丰富的[文档和Jupyter Notebook教程]。
如果以上功能列表让您摸不着头脑,可以先在维基百科上阅读更多关于向量空间模型和[无监督文档分析]的内容。
安装
此软件依赖于NumPy,一个用于科学计算的Python包。请注意,从源代码构建NumPy(例如,在缺少NumPy .whl发行版的平台上安装gensim)是一项复杂的任务,需要[将NumPy链接到BLAS库]。建议提供一个快速的BLAS库(如MKL、ATLAS或OpenBLAS),这可以提高性能达一个数量级。在OSX上,NumPy会自动选择其vecLib BLAS,所以您无需做特别的事情。
安装Gensim的最新版本:
pip install --upgrade gensim
或者,如果您已经下载并解压了[source tar.gz]包:
tar -xvzf gensim-X.X.X.tar.gz
cd gensim-X.X.X/
pip install .
关于其他安装方式,请参见文档。
Gensim在所有支持的Python版本下不断进行持续测试。Gensim 4.0.0开始不再支持Python 2.7 - 如果必须使用Python 2.7,请安装Gensim 3.8.3。
为什么Gensim如此快速且内存高效?它不是纯Python写的吗,而Python不是慢且占内存的吗?
许多科学算法可以用大型矩阵操作来表示(见上面的BLAS说明)。Gensim通过依赖NumPy来利用这些低级BLAS库。因此,虽然后端代码是纯Python,但它实际上在底层执行高度优化的Fortran/C代码,包括多线程(如果您的BLAS配置了多线程)。
在内存使用方面,Gensim对Python内置的生成器和迭代器进行了大量利用,以实现流数据处理。内存效率是Gensim的设计目标之一,是Gensim的一个核心特性,而不是作为事后的补充。
文档
支持
关于商业支持,请参见Gensim 赞助。
在公共的Gensim 邮件列表上提出开放性问题。
在Github上报告错误,但请确保您遵循问题模板。未能提供所需细节的问题将被关闭而不进行检查。
採用者
公司 | 标志 | 行业 | Gensim 的使用 |
---|---|---|---|
RARE Technologies | 机器学习和自然语言处理咨询 | Gensim 的创始人——这就是我们! | |
Amazon | 零售 | 文档相似性。 | |
国立卫生研究院 | 健康 | 使用 word2vec 处理资助和出版物。 | |
Cisco Security | 安全 | 大规模欺诈检测。 | |
Mindseye | 法律 | 法律文件相似性。 | |
Channel 4 | 媒体 | 推荐引擎。 | |
Talentpair | 人力资源 | 高接触招聘中的候选人匹配。 | |
Juju | 人力资源 | 提供不起眼的相关工作建议。 | |
Tailwind | 媒体 | 向 Pinterest 发布有趣且相关的内容。 | |
Issuu | 媒体 | Gensim 的 LDA 模块处于我们分析每个上传出版物的核心位置,以了解其内容。 | |
Search Metrics | 内容营销 | Gensim word2vec 用于搜索引擎优化中的实体消歧。 | |
12K Research | 媒体 | 媒体文章的文档相似性分析。 | |
Stillwater Supercomputing | 硬件 | 使用 word2vec 进行文档理解与关联。 | |
SiteGround | 网络托管 | 一个使用不同嵌入模型和相似性的集成搜索引擎,包括 word2vec、WMD 和 LDA。 | |
Capital One | 金融 | 客户投诉探索的主题建模。 |
引用 Gensim
在 [学术论文和论文中引用 Gensim] 时,请使用以下的 BibTeX 条目:
@inproceedings{rehurek_lrec,
title = {{Software Framework for Topic Modelling with Large Corpora}},
author = {Radim {\v R}eh{\r u}{\v r}ek and Petr Sojka},
booktitle = {{Proceedings of the LREC 2010 Workshop on New
Challenges for NLP Frameworks}},
pages = {45--50},
year = 2010,
month = May,
day = 22,
publisher = {ELRA},
address = {瓦莱塔,马耳他},
note={\url{http://is.muni.cz/publication/884893/en}},
language={English}
}