关键字的提取方法可以找到与文档相关的关键字。 文中总结了最常用的关键词提取方法。

什么是关键词提取?

关键字提取是在文本文档中搜索关键字或关键字短语。 这些关键字是从文本文档的短语中选择的,表示文档的主题。 本文总结了最常用的关键词自动提取方法。

从文档中自动提取关键字是一种启发式方法,用于从文本文档中选择最常用、最重要的单词和短语。 我把关键词提取方法分类到了机器学习和人工智能的重要领域——自然语言处理领域。

关键字提取器是一组两个或多个用于提取单词(关键字)或创建短语(关键字短语)的单词。 本文使用术语的关键字提取,包括提取关键字或重要短语。

基于

为什么我们需要关键字提取的方法呢?

小时节约——关键字,可以决定文本主题(例如文章)是否对他感兴趣以及是否阅读。 关键字为用户提供本文或文档的主要内容摘要。

由于出现了相关文档——的大量文章,我们无法阅读一切。 关键词提取算法有助于找到相关文章。 关键字提取算法还可以自动构建书籍、出版物或索引。

关键词提取是机器学习支持的——关键词提取算法找出描述文本最相关的词。 它们可以稍后用于可视化文本或自动分类文本。

关键词提取方法

本文概述了最常用的关键字提取方法。 考虑无监督(不需要训练)和领域独立的方法。 我把方法分为统计方法、基于图的方法和基于向量嵌入的方法三组。

基于统计的方法

统计方法是最简单的。 他们计算关键字的统计数据,并使用这些统计数据进行评价。 一些最简单的统计方法是词数、词的组合和搭配。 还有TF-IDF和YAKE等更复杂的东西!

TF-IDF或term frequency-inversedocumentfrequency计算文档中单词对整个语料库(更多文档集)的重要性。 计算文档中每个单词的频率,并以整个语料库中单词频率的倒数进行加权。 最后,选择得分最高的词作为关键词。

TF-IDF的公式如下。

nlp功能(nlp语义分析)-冯金伟博客园

这里,t是观察项目。 此等式适用于文档中的所有术语(单词或短语)。 的蓝色部分为字数(TF ),橙色部分为反向文档频率(IDF )。

TF-IDF的想法是,文件中出现频率高的词未必最相关。 此算法喜欢在文本文档中经常使用而在其他文档中很少使用的术语。

TF-IDF的优点是速度快,缺点是至少需要几十个文档的语料库。 而且TF-IDF与语言无关。

雅虎(yake )是一种利用单个文档的统计特征提取关键字的关键字提取方法。 关键字在以下五个步骤中提取。

nlp功能(nlp语义分析)-冯金伟博客园

1、预处理和候选词识别——文本分为句子、块(部分句子用标点符号隔开)和标记。 文本已清理、标记和禁用的单词也会被识别。

2、特征提取——算法计算文档中术语(词)的以下五个统计特征:

a )大小写——计算该术语在文本中作为大写或首字母缩写出现的次数(与所有出现成比例)。 重要术语通常更频繁地大写。

b )词条位置——词条在文本中的中间位置。 更接近开头的用语在过去更重要。

c )词数正规化测定——文件中的平衡词数。

d )术语与上下文相关性——测量候选术语同时出现的不同术语的数量。 更重要的术语与更少的不同术语同时出现。

e )术语不同的语句——测量术语在不同语句中出现的次数。 得分越高,表示术语越重要。

3、计算术语分数——前一步的特点是人工方程和单一分数合成。

4、生成n-gram并计算关键字分数——的该算法标识所有有效的n-gram。 n-gram中的单词必须属于同一块,不能以禁用词开头或结尾。 然后,将每个n-gram的成员分数相乘并归一化,以减少n-gram长度的影响。 处理禁用单词的方式不同,是为了将其影响降到最低。

5、删除重复数据和排名——在最后算法中删除相似的关键字。 那个保持着更有关联性的东西(分数低的东西)。 使用Levenshtein相似度、Jaro-Winkler相似度或序列匹配器计算相似度。 最后,关键字列表根据分数排序。

YAKE的优点是不依赖于外部语料库、文本文档的长度、语言或域。 与TF-IDF相比,它位于单个文档的基础上

础上提取关键字,并且不需要庞大的语料库。

基于图的方法

基于图的方法从文档中生成相关术语的图。 例如,图将文本中共同出现的术语连接起来。 基于图的方法使用图排序方法,该方法考虑图的结构来对顶点重要性进行评分。 最著名的基于图的方法之一是 TextRank。

TextRank 是一种基于图的排序方法,用于提取相关句子或查找关键字。 我将重点介绍它在关键字提取中的用法。 该方法通过以下步骤提取关键字:

nlp功能(nlp语义分析)-冯金伟博客园

1、带有词性 (PoS) 标签的文本标记化和注释

2、词共现图构建——图中的顶点是带有选定 PoS 标签的词(作者仅选择名词和形容词即可获得最佳结果)。如果两个顶点出现在文本中的 N 个单词的窗口内,则它们与一条边相连(根据作者的实验,最佳表现 N 为 2)。该图是无向和未加权的。

3、图排序——每个顶点的分数设置为1,在图上运行排序算法。作者使用 Google 的 PageRank 算法,该算法主要用于对网站图表进行排名。该算法使用上图中的公式。顶点 Vi 的权重 S(Vi) 是通过考虑连接到节点 Vi 的顶点的权重来计算的。在等式中,d 是设置为 0.85 的阻尼因子,如 PageRank 文章中所述。 In(Vi) 是到顶点 Vi 的入站链接,而 Out(Vj) 是来自顶点 Vj 的出站链接。由于我们考虑的是无向图,因此顶点的入站链接和顶点的出站链接是相同的。该算法在每个节点上运行多次迭代,直到节点上的权重收敛——迭代之间的变化低于 0.0001。

4、得分最高的单词选择——单词(顶点)从得分最高的单词到最低得分的单词排序。最后,算法选择单词的前 1/3。

5、关键词提取——在这一步中,如果上一阶段选择的单词一起出现在文本中,则将它们连接为多词关键词。新构建的关键字的分数是单词分数的总和。

该算法对每个文档单独执行,不需要一个文档语料库来进行关键字提取。TextRank也是语言无关的。

RAKE (Rapid Automatic Keyword Extraction)是另一种基于图的关键字提取算法。该算法是基于这样的观察:关键字通常由多个单词组成,通常不包括停顿词或标点符号。

它包括以下步骤:

nlp功能(nlp语义分析)-冯金伟博客园

1、候选关键词提取——基于停用词和短语分隔符对候选关键词进行文本分割。候选关键字是位于两个停用词或短语定界符之间的短语。例如,短语分隔符是标点符号。

2、关键词共现图构建——图中的顶点是单词。如果它们一起出现在候选关键字中,则它们是连接的。该图是加权的——权重是连接词在候选关键字中一起出现的次数。该图还包括与顶点本身的连接(每个单词与自身一起出现在候选关键字中)。

3、词评分——图中的每个词都用以下评分之一评分:

a) 词度 deg(w)——词 w 共同出现的词数(边权重总和,包括指向顶点本身的边)。度数偏爱出现频率更高、关键字更长的词。

b) 词频 freq(w) — 该词出现在任何候选关键字中的次数。频率偏爱出现频率更高的词。

c) 度数与频率之比 deg(w)/freq(w)——这个指标偏向于主要出现在较长候选关键词中的词。建议使用词度或度数与频率之比。从这两个角度来看,排名将有利于较短的关键字。

4、候选关键词得分——每个候选关键词的得分为其成员词得分之和。

5、相邻关键词——候选关键词不包括停用词。由于有时停用词可能是关键字的一部分,因此在此步骤中添加了它们。该算法在文本中找到与停用词连接的关键字对,并将它们添加到现有停用词集中。它们必须在要添加的文本中至少出现两次。新关键字的得分是其成员关键字的总和。

6、关键词提取——结果,1/3 得分最高的关键词被提取出来。

RAKE 和 TextRank 的主要区别在于 RAKE 考虑候选关键字内的共现而不是固定窗口。 它使用更简单、更具统计性的评分程序。 该算法对每个文档分别进行,因此不需要文档语料库来进行关键词提取。

基于深度学习

深度学习的出现使基于嵌入的方法成为可能。 研究人员开发了几种使用文档嵌入的关键字提取方法(例如 Bennani 等人)。

这些方法主要查找候选关键字列表(例如,Bennani 等人只考虑由名词和形容词组成的关键字)。 他们将文档和候选关键字嵌入到相同的嵌入空间中,并测量文档和关键字嵌入之间的相似度(例如余弦相似度)。 他们根据相似度度量选择与文档文本最相似的关键字。

总结

在本文中介绍了几种从统计、基于图和嵌入方法中提取关键字的方法。 由于该领域非常活跃,我只介绍最常见的方法。我只考虑无监督方法的一个子组(它们不需要训练)。 也有在带注释文档的训练数据集上训练的监督方法。 它们表现良好,但在实践中较少使用,因为它们需要训练并且需要带注释的文档数据集,结果也通常仅适用于训练数据集中的主题。

引用

[1]Bennani-Smires, Kamil, et al. Simple unsupervised keyphrase extraction using sentence embeddings. arXiv preprint arXiv:1801.04470, 2018.

[1] Campos, Ricardo, et al. YAKE! Keyword extraction from single documents using multiple local features. Information Sciences, 2020, 509: 257–289.

[3] Jones, Karen Sparck. A statistical interpretation of term specificity and its application in retrieval. Journal of documentation, 1972.

[4] Mihalcea, Rada; Tarau, Paul. TextRank: Bringing order into texts. 2004. In: Association for Computational Linguistics.

[5] Rose, Stuart, et al. Automatic keyword extraction from individual documents. Text mining: applications and theory, 2010, 1: 1–20.

作者:Primož Godec