专栏|如何做好文本关键词提取?从三种算法说起
如果您有SEO优化、网站建设需求请致电:18510193015
在文本处理领域,关键词提取是一项重要任务,其方法可分为有监督、半监督和无监督三种。
### 有监督的关键词抽取算法
此算法将关键词抽取看作二分类问题,即判断文档中的词或短语是否为关键词。这需要已标注的训练语料,用其训练关键词提取模型,再据此对需抽取关键词的文档进行操作。
### 半监督的关键词提取算法
只需少量训练数据来构建模型,用于新文本的关键词提取。之后对提取出的关键词人工过滤,将过滤后的关键词加入训练集,重新训练模型。
### 无监督的方法
这种方法无需人工标注语料,通过特定方法找出文本中重要的词作为关键词。由于有监督的文本关键词提取算法人工成本高,当前文本关键词提取主要采用适用性强的无监督关键词抽取。其抽取流程如下:
无监督关键词抽取算法主要分为三类:
#### 基于统计特征的关键词抽取
该算法利用文档中词语的统计信息抽取关键词。通常先对文本预处理得到候选词语集合,再通过特征值量化从候选集合中获取关键词。其关键在于特征值量化指标方式,常用的有以下三类:
1. 基于词权重的特征量化:包括词性、词频、逆向文档频率、相对词频、词长等。
2. 基于词的文档位置的特征量化:基于文章不同位置句子对文档重要性不同的假设。比如文章的前 N 个词、后 N 个词、段首、段尾、标题、引言等位置的词有代表性,可表达主题,但因作者习惯不同,一般不单独使用。
3. 基于词的关联信息的特征量化:指词与词、词与文档的关联程度信息,包括互信息、hits 值、贡献度、依存度、TF - IDF 值等。
下面介绍几种常用的特征值量化指标。
- 词性:通过分词、语法分析得到,多数关键词是名词或动名词,一般与其他指标结合使用。
- 词频:一个词在文本中出现的频率,词频越高越可能是核心词,但对长文本有噪音问题。
- 位置信息:词出现的位置有价值,如标题、摘要中的词更可能是关键词,但不同作者写作方式不同,关键句子位置有差异。
- 互信息:信息论概念,是变量间相互依赖的度量,计算时用文本正文和标题构造 PAT 树,再计算字符串左右的互信息。
- 词跨度:指一个词或短语在文中首次出现和末次出现之间的距离,跨度越大越重要,可减少文本中的噪声。
- TF - IDF 值:TF 是词在文档中的频率,IDF 根据语料库得出词在整个语料库中的频率,TF - IDF 值是两者乘积。它实现简单,但依赖语料库,精度不高,且不能反映词的位置信息。
基于统计特征的关键词提取算法通过这些特征量化指标对关键词排序,取 TopK 个词作为关键词,实际应用中常将不同量化指标结合。
#### 基于词图模型的关键词抽取算法
首先构建文档的语言网络图,再分析网络图,寻找重要的词或短语作为关键词。语言网络图节点多为词,根据词的链接方式分为共现网络图、语法网络图、语义网络图和其他网络图。构建网络时以预处理后的词为节点,词与词关系为边,边的权重用词之间关联度表示。获取关键词时需评估节点重要性并排序,取 TopK 个节点代表的词作为关键词。节点重要性计算方法如下:
1. 综合特征法:核心思想是节点重要性等于节点的显著性,从网络局部和全局属性定量分析拓扑性质。
- 度:非加权网络中,节点的度是与该节点直接相连的节点数目;加权网络中,是节点的强度。
- 接近性:节点到其他节点最短路径之和的倒数,反映信息传播紧密程度。
- 特征向量:节点的中心化测试值由周围连接节点决定,体现间接影响力。
- 集聚系数:相邻节点间连接数与所有可能连接数的比值,描述顶点成团程度。
- 平均最短路径:节点所有最短路径之和的平均值,反映传播信息时对其他节点的依赖程度。
实际应用中,可与统计法得到的词权重结合构建词搭配网络获取关键词。
2. 系统科学法:节点重要性等于节点被删除后对整个语言网络图的破坏程度,通过观察删除节点后网络图特性的改变大小确定节点重要性。
3. 随机游走法:从给定图和出发点,随机选邻居节点移动,迭代此过程。著名的 PageRank 算法就是基于此,在关键词提取领域,TextRank 算法借鉴其思想。TextRank 在构建图时将节点改为句子,并为边引入表示句子相似程度的权值。它除了提取关键词,还可用于文本摘要提取,但计算复杂度高,应用不广。
#### 基于主题模型的关键词抽取
主要利用主题模型中主题分布的性质提取关键词。步骤如下:
1. 获取候选关键词:对文章分词,也可根据词性选取。
2. 语料学习:根据大规模语料学习得到主题模型。
3. 计算文章主题分布:根据隐含主题模型,计算文章主题分布和候选关键词分布。
4. 排序:计算文档和候选关键词的主题相似度并排序,取前 n 个词作为关键词。
关键在于主题模型的构建,主题模型认为文档是主题的混合分布,主题是词语的概率分布。pLSA 模型是首个基于此想法构建的模型,后来贝叶斯学派研究者改进得到 LDA 主题模型。LDA 采用词袋模型简化问题,每篇文档是主题的概率分布,每个主题是单词的概率分布,这些分布都服从 Dirichlet 先验分布。LDA 挖掘文本深层语义即主题,可降低文本向量维度,但提取的关键词较宽泛,且时间复杂度高,需要大量训练。
### 文本关键词提取算法的应用
目前,文本关键词提取在基于文本的搜索、推荐和数据挖掘领域广泛应用。不同类型文本用同一种提取方法效果不同,实际应用中需根据条件选择算法。一些组合算法在工程上大量应用以弥补单算法不足。同时,文本预处理和分词准确性对关键词提取影响很大,需解决错别字、变形词等问题,提高分词算法对未登录词和歧义词的识别能力。关键词提取任务看似简单实则棘手,需在现有算法基础上优化。