gensim README

The project's README from github.com/piskvorky/gensim. As one markdown file: README.md.

gensim – Topic Modelling in Python

Build Status GitHub release Downloads DOI Mailing List Follow

Gensim is a Python library for topic modelling, document indexing and similarity retrieval with large corpora. Target audience is the natural language processing (NLP) and information retrieval (IR) community.

⚠️ Want to help out? Sponsor Gensim ❤️

⚠️ Gensim is in stable maintenance mode: we are not accepting new features, but bug and documentation fixes are still welcome! ⚠️

Features

If this feature list left you scratching your head, you can first read more about the Vector Space Model and unsupervised document analysis on Wikipedia.

Installation

This software depends on NumPy, a Python package for scientific computing. Please bear in mind that building NumPy from source (e.g. by installing gensim on a platform which lacks NumPy .whl distribution) is a non-trivial task involving linking NumPy to a BLAS library.
It is recommended to provide a fast one (such as MKL, ATLAS or OpenBLAS) which can improve performance by as much as an order of magnitude. On OSX, NumPy picks up its vecLib BLAS automatically, so you don’t need to do anything special.

Install the latest version of gensim:

    pip install --upgrade gensim

Or, if you have instead downloaded and unzipped the source tar.gz package:

    tar -xvzf gensim-X.X.X.tar.gz
    cd gensim-X.X.X/
    pip install .

For alternative modes of installation, see the documentation.

Gensim is being continuously tested under all supported Python versions. Support for Python 2.7 was dropped in gensim 4.0.0 – install gensim 3.8.3 if you must use Python 2.7.

How come gensim is so fast and memory efficient? Isn’t it pure Python, and isn’t Python slow and greedy?

Many scientific algorithms can be expressed in terms of large matrix operations (see the BLAS note above). Gensim taps into these low-level BLAS libraries, by means of its dependency on NumPy. So while gensim-the-top-level-code is pure Python, it actually executes highly optimized Fortran/C under the hood, including multithreading (if your BLAS is so configured).

Memory-wise, gensim makes heavy use of Python’s built-in generators and iterators for streamed data processing. Memory efficiency was one of gensim’s design goals, and is a central feature of gensim, rather than something bolted on as an afterthought.

Documentation

Support

For commercial support, please see Gensim sponsorship.

Ask open-ended questions on the public Gensim Mailing List.

Raise bugs on Github but please make sure you follow the issue template. Issues that are not bugs or fail to provide the requested details will be closed without inspection.


Adopters

Company Logo Industry Use of Gensim
RARE Technologies rare ML & NLP consulting Creators of Gensim – this is us!
Amazon amazon Retail Document similarity.
National Institutes of Health nih Health Processing grants and publications with word2vec.
Cisco Security cisco Security Large-scale fraud detection.
Mindseye mindseye Legal Similarities in legal documents.
Channel 4 channel4 Media Recommendation engine.
Talentpair talent-pair HR Candidate matching in high-touch recruiting.
Juju juju HR Provide non-obvious related job suggestions.
Tailwind tailwind Media Post interesting and relevant content to Pinterest.
Issuu issuu Media Gensim's LDA module lies at the very core of the analysis we perform on each uploaded publication to figure out what it's all about.
Search Metrics search-metrics Content Marketing Gensim word2vec used for entity disambiguation in Search Engine Optimisation.
12K Research 12k Media Document similarity analysis on media articles.
Stillwater Supercomputing stillwater Hardware Document comprehension and association with word2vec.
SiteGround siteground Web hosting An ensemble search engine which uses different embeddings models and similarities, including word2vec, WMD, and LDA.
Capital One capitalone Finance Topic modeling for customer complaints exploration.

Citing gensim

When citing gensim in academic papers and theses, please use this BibTeX entry:

@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 = {Valletta, Malta},
      note={\url{http://is.muni.cz/publication/884893/en}},
      language={English}
}

gensim (piskvorky/gensim)

Searching Database…

16.5K ·GitHub
这是干什么的?Gensim 是一个 Python 库,用于主题建模、文档索引以及在大规模语料库中检索相似内容,主要面向自然语言处理(NLP)和信息检索(IR)领域的开发者。
它是我在 Python 代码里导入的库,还是一个要单独运行的服务?它是一个导入到你的 Python 代码里使用的库,不需要服务器,也没有界面。你通过流式 API 接入输入语料,还可以通过变换 API 换用其他向量空间算法来扩展它。
除了 Python 本身,我还需要装什么?它依赖 NumPy。如果没有现成的 NumPy wheel 包、必须从源码编译,把它链接到 MKL、ATLAS 或 OpenBLAS 这类快速 BLAS 库,性能可以提升一个数量级;在 macOS 上,NumPy 会自动使用 vecLib BLAS。
这个项目还在积极维护吗?Gensim 目前处于稳定维护状态:不再接受新功能,但仍然欢迎修复 bug 和改进文档。从 4.0.0 起不再支持 Python 2.7——如果你必须留在 Python 2.7 上,请安装 gensim 3.8.3。
有哪些公司在生产环境里用 gensim?README 里的采用者名单包括:Amazon(文档相似度)、美国国家卫生研究院(对科研基金和论文做 word2vec)、Cisco Security(大规模欺诈检测)、Capital One(客户投诉的主题建模),还有 Issuu——它的 LDA 模块是分析每一份上传刊物的核心。
它能用多台机器一起跑吗?可以。除了多核实现之外,gensim 还支持分布式计算——潜在语义分析(LSA)和潜在狄利克雷分配(LDA)都可以在计算机集群上运行。
新手应该从哪里入手?官方文档提供了 QuickStart、教程和 Jupyter Notebook 教程;如果觉得功能列表太眼花缭乱,README 里还推荐了维基百科上关于向量空间模型和无监督文档分析的科普文章。
Creator
piskvorky
Size
104.1 MB
Stars
16.5K
Age
15y
Commits · 90 Days