# 5. 基于文档与关键词主题一致性的关键词抽取方法

前面三章围绕着如何通过描述文档和关键词各自的主题来计算它们的相似度，但是在模型构建的过程中并没有将文档和关键词的主题一致性引入。

因此本章通过引入翻译词对齐模型考虑文档和关键词主题一致性来进行关键词抽取，该方法既能提高关键词抽取的性能，又能处理关键词抽取时的词汇差异问题。

## 5.1 词汇差异问题

关键词抽取时经常会存在词汇差异问题，尤其是在短文本场景下，很多候选关键词并不出现在文本中。LDA的方法通过外部文档获取词和文档各自的主题分布，通过主题分布这一中间产物进行比较，避免了直接将文档和关键词本身进行匹配。

但是LDA往往倾向于推荐在主题中经常出现的词，这样会导致推荐的关键词倾向于常用词。

本章利用统计机器翻译的词对齐技术在大规模文档上直接学习文档词和关键词的语义相关信息，在关键词分配的时候在文档和给定关键词之间建立语义映射。

## 5.2 基于统计机器翻译词对齐技术的关键词抽取

主要步骤：

* 准备翻译对， $$<D, T>$$&#x20;
* 训练翻译模型，得到词对齐概率 $$Pr_{<D,T>}(t|w)$$，其中w是源文档中的词，t是目标文档中的词
* 利用翻译模型抽取关键词，计算关键词p对于文档d的重要性

![](https://3676603176-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Ln2Cwa30IhAwp_pKAP9%2F-LoQetwzMT3zLsD2k-LV%2F-LoQgn9w1RCgYYW4qS-7%2Fimage.png?alt=media\&token=562f1215-d652-43fc-9c11-a7ceea883d04)

### 5.2.1 准备翻译对

既然是翻译模型，那第一步就是明确翻译的源内容和目标内容并且准备翻译对。这里考虑了两种方案：

* 文档-标题
* 文档-摘要

由于词对齐模型通常要求两端的文本长度相差不大，但是无论是使用文档和标题，还是使用文档和摘要都存在长度相差过大的问题，因此作者提出了两种方案得到长度一致的翻译对。

#### 基于抽样的方法

利用tfidf对文档的词进行加权，按照权重进行采样得到和标题长度相当的内容

#### 基于分割的方法

将文档进行分句或者分段，利用语义相似度得到和标题语义最相似的文本。

### 5.2.2 机器翻译词对齐模型

细节就不说了，反正最终可以得到词到词的一个概率Pr(t|w)

### 5.2.3 基于词对齐技术的关键词抽取方法

给定文档d，计算其关键词重要性就是要计算 $$Pr(p|d) = \sum_{t\in p}\sum_{w\in d}Pr(t|w)Pr(w|d)$$&#x20;

这里Pr(w|d)可以看作是文档d中词w的权重，使用tfidf值来代替，Pr(t|w)就是翻译模型学习到的词对齐概率，最后把候选关键词p中的每个词t的得分加起来就是p的最终得分。

## 5.3 实验结果分析

### 5.3.1 关键词抽取

对比了前几节的效果，基于翻译模型词对齐进行关键词抽取的方法要好于所有其他模型，这表明从翻译的角度看待文档-关键词的关系是可行的。

而且最主要的是在于，当候选词不出现在文档中时，即存在词汇差异时，tfidf和textrank都无能为力。LDA则是从主题的层面利用外部信息，但是隐含主题往往粒度较粗。基于词对齐的关键词抽取方法能够更好地解决关键词的词汇差异问题。

“文档-标题“相对于“文档-摘要“来说训练的效果更好，这说明标题比摘要更符合关键词语言，毕竟标题更加精炼。

最后，分割方法比抽样方法效果要优。这个原因在于分割方法能够产生比抽样方法更多的有效翻译对。

#### 标题或摘要不存在的情况

实际用的时候肯定存在大量的只有文档没有标题和摘要的情况，关于如何抽取关键句子作为“标题“，作者给出了两种方案：

* 选择文档第一句作为关键句
* 将每句话和文档进行语义比较，选择最接近的句子

虽然实验下来第一种方法居然更好一点，但是第二种显然更普适。第一种效果好主要是因为新闻数据集中，第一句话往往是最重要的句子。

### 5.3.2 关键词生成

关键词生成和抽取最大的区别在于，生成场景下





