GenSim简单教程-翻译自https://radimrehurek.com/gensim/tutorial.html

The tutorials are organized as a series of examples that highlight various features of gensim. It is assumed that the reader is familiar with the Python language, has installed gensim and read the introduction.

本教程由一系列能够展示gensim不同特点的例子组成。假设读者对python语言比较熟悉,并已经安装了gensim,可以阅读介绍。

The examples are divided into parts on:

Corpora and Vector Spaces

From Strings to Vectors

Corpus Streaming – One Document at a Time

Corpus Formats

Compatibility with NumPy and SciPy

Topics and Transformations

Transformation interface

Available transformations

Similarity Queries

Similarity interface

Where next?

Experiments on the English Wikipedia

Preparing the corpus

Latent Semantic Analysis

Latent Dirichlet Allocation

Distributed Computing

Why distributed computing?

Prerequisites

Core concepts

Available distributed algorithms

Preliminaries

所有例子的代码可以直接copy到你的python解释器中。IPtyhon的cpase命令对于copy代码片段特别有用,包含引导符号>>>。

Gensim使用python的标准logging库来输出不同级别的日志;要激活logging(可选),运行

教程里的许多主题也可以在Jupyter记事本上演示,它可以通过Binder project(不需要安装)运行在你的浏览器上,点击这儿

快速示例:

首先,导入gensim并创建一个小的具有9个文档12个特征的语料库

在gensim中语料库是一个简单的对象,当被迭代的时候,返回其中的已经表示成稀疏向量的文档。在这种情况下我们使用了一个元祖数组。如果你不熟悉向量空间模型,我们在下个教程语料库和向量空间中补充相关的原始文本,语料库和稀疏向量。

如果你熟悉向量空间模型,你可能会知道,你把文档转换成空间的方式对你后续使用有较大的影响。


注意:

在这个例子中,整个语料库作为一个python list存储在内存中。然而,语料库接口只规定语料库必须支持对其组成文档的迭代。对于非常大的语料库, 最好将语料库保留在磁盘上, 并按顺序访问其文档, 一次一个。所有的操作和转换都是以这样一种方式实现的, 使它们不依赖于内存大小。

接下来,让我们初始化一个转换:

转换用于将文档从一个矢量表示转换为另一个矢量表示:


在这里, 我们使用了 Tf-Idf, 这是一个简单的转换, 它将表示为小字袋的文档计数, 并采用了一个权重方法, 该权重方法对常用的term进行降权(或者说,提升稀少term的权重)。它还将生成的向量缩放为单位长度 (在欧几里得范数中)。

关于主题和转换的教程中详细介绍了转换。

利用 TfIdf 转换整个语料库并对其进行索引, 为相似性查询做准备:


并查询我们的查询向量 vec 与语料库中的每个文档的相似性:

如何解读这个结果?文档编号为零 (第一个文档) 的相似性分数为 0.46 6 6 = 46.6%, 第二个文档的相似性分数为19.1% 等等。

因此, 根据 TfIdf 文档表示和余弦相似度度量, 与我们的查询文档 vec 最相似的是文档 3, 相似度评分为82.1。请注意, 在 TfIdf 表示中, 任何与 vec 不共享任何共同特征的文档 (文档 4-8) 的相似度得分为0.0。有关详细信息, 请参阅相似查询教程。

[1]This is the same corpus as used in Deerwester et al. (1990): Indexing by Latent Semantic Analysis, Table 2.

你可能感兴趣的:(GenSim简单教程-翻译自https://radimrehurek.com/gensim/tutorial.html)