Gensim - 简介
本章将帮助您了解 Gensim 的历史和功能以及其用途和优势。
什么是 Gensim?
Gensim = "Generate Similar" 是一种流行的开源自然语言处理 (NLP) 库,用于无监督主题建模。它使用顶级学术模型和现代统计机器学习来执行各种复杂任务,例如−
- 构建文档或词向量
- 语料库
- 执行主题识别
- 执行文档比较(检索语义相似的文档)
- 分析纯文本文档的语义结构
除了执行上述复杂任务外,用 Python 和 Cython 实现的 Gensim 还旨在使用数据流和增量在线算法处理大型文本集合。这使得它不同于那些仅针对内存处理的机器学习软件包。
历史
2008 年,Gensim 最初是捷克数字数学的各种 Python 脚本的集合。在那里,它用于生成与特定文章最相似的文章的简短列表。但在 2009 年,RARE Technologies Ltd. 发布了其初始版本。然后,在 2019 年 7 月下旬,我们获得了其稳定版本 (3.8.0)。
各种功能
以下是 Gensim 提供的一些功能和能力 −
可扩展性
Gensim 可以使用其增量在线训练算法轻松处理大型和网络规模的语料库。它本质上是可扩展的,因为整个输入语料库不需要在任何时候完全驻留在随机存取存储器 (RAM) 中。换句话说,它的所有算法在语料库大小方面都是内存独立的。
健壮
Gensim 本质上是健壮的,并且已被各种人和组织在各种系统中使用了 4 年多。我们可以轻松插入我们自己的输入语料库或数据流。它也非常容易与其他向量空间算法一起扩展。
平台无关
众所周知,Python 是一种非常通用的语言,因为作为纯 Python,Gensim 可以在所有支持 Python 和 Numpy 的平台(如 Windows、Mac OS、Linux)上运行。
高效的多核实现
为了加快机器集群上的处理和检索速度,Gensim 提供了各种流行算法的高效多核实现,如潜在语义分析 (LSA)、潜在狄利克雷分配 (LDA)、随机投影 (RP)、分层狄利克雷过程 (HDP)。
开源和丰富的社区支持
Gensim 是根据 OSI 批准的 GNU LGPL 许可证授权的,允许它免费用于个人和商业用途。 Gensim 中的任何修改都是开源的,并且也拥有大量社区支持。
Gensim 的用途
Gensim 已在上千个商业和学术应用中使用和引用。它还被各种研究论文和学生论文引用。它包括以下流式并行实现 −
fastText
fastText 使用神经网络进行词嵌入,是一个用于学习词嵌入和文本分类的库。它由 Facebook 的 AI Research (FAIR) 实验室创建。该模型基本上允许我们创建监督或无监督算法来获取单词的向量表示。
Word2vec
用于生成词嵌入的 Word2vec 是一组浅层和两层神经网络模型。这些模型基本上经过训练以重建单词的语言上下文。
LSA(潜在语义分析)
它是 NLP(自然语言处理)中的一种技术,允许我们分析一组文档与其包含术语之间的关系。它是通过生成一组与文档和术语相关的概念来完成的。
LDA(潜在狄利克雷分配)
它是 NLP 中的一种技术,允许通过未观察到的组来解释观察集。这些未观察到的组解释了为什么某些数据部分相似。这就是它是一种生成统计模型的原因。
tf-idf(词频-逆文档频率)
tf-idf 是信息检索中的一种数字统计数据,反映了一个词对语料库中文档的重要性。搜索引擎经常使用它来根据用户查询对文档的相关性进行评分和排名。它还可用于文本摘要和分类中的停用词过滤。
所有这些都将在下一节中详细解释。
优点
Gensim 是一个进行主题建模的 NLP 包。Gensim 的重要优势如下 −
我们可能在其他包(如'scikit-learn'和'R')中获得主题建模和词嵌入的功能,但 Gensim 为构建主题模型和词嵌入所提供的功能是无与伦比的。它还为文本处理提供了更方便的功能。
Gensim 的另一个最显著的优势是,它让我们可以处理大型文本文件,甚至无需将整个文件加载到内存中。
Gensim 不需要昂贵的注释或手动标记文档,因为它使用无监督模型。