文档介绍:Gensim官方介绍翻译
为了方便自己学习,翻译一下。原文地址:。
Gensim是一个免费的Python库,它可以用来从文档中自动提取语义主题,并且尽可能地做到轻松(对人)高效(对电脑)。
Gensim致力于处理原始的、非结构化的数字文本(普通文本)。Gensim中用到的算法,如潜在语义分析(Latent
Semantic Analysis,LSA)、隐含狄利克雷分配(Latent Dirichlet Allocation,LDA)或随机预测(Random
Projections)等,是通过检查单词在训练语料库的同一文档中的统计共现模式来发现文档的语义结构。这些算法都是无监督算法,也就是无需人工输入——你仅需一个普通文本的语料库即可。一旦这些统计模式被发现了,所有的普通文本就可以被用一个新的、语义代号简洁地表示,并用其查询某一文本与其他文本的相似性。
作者注:如果上面的这段话让你感到困惑,请阅读在维基百科阅读跟多关于向量空间模型(Vector
Space Model)和非监督文本处理(unsupervised
document analysis)的内容。
特性内存占用低——任何时候都不会将整个语料库全部读入内存中,可以处理大规模、网络规模的语料库。有效实现了几种流行的向量空间算法,包括Tf-idf、分布式增量潜在语义分析、分布式增量隐含狄利克雷分配或随机预测;增加新的模型也十分方便(没骗你!)。预置了几种流行的数据格式的I/O封装器和转换器。利用文档的语义代表计算其相似性。
创立Gensim的主要动力是(作者)认识到缺乏一个可用的、可扩展的软件框架来实现主题建模,现有的软件都有难以承受的内部复杂性(hail java!——不会翻译)。你可以通过阅读我们的LREC
2010 workshop paper来了解更多的动机,如果你想在自己的工作中引用gensim请引用这篇文章(BibTeX)。
欢迎通过mailing list分享你的结果与实验。
Gensim的主要设计理念是:
1. 对于开发者而言,提供简单的接口,降低API学习曲线。Good forprototyping.
2. 考虑到输入语料库的大小,尽量降低内存占用;所有中间步骤和算法操作以流的方式,一次访问一个文档。
核心概念
整个gensim包围绕语料库(Corpus)、向量(Vector)、模型(Model)三个概念展开。语料库
指所有数字文档的集合。该集合被用来自动推断文档的结构、主题等,因此也被称为训练语料库。推断出来的潜在结构可以在接下来为新的没有出现在训练语料库中的文档分配主题,无需人工干预(包括标引或创建其他元数据)。
向量
在向量空间模型中,每个文档都用一组属性代表。例如,每个单一的属性都可以被认为是一个问答对:
1. 文档中splonge这个单词出现了几次?0
2. 文档中有几个段落?2
3. 文档中有几种字体?5
这些问题通常用它的整数编号来代表(如这里是1,2和3),以便这些文档的代表变成一系列类似(1, ), (2, ), (3, )的数对。如果我们预先知道