刘知远博士论文 - wanghaisheng/awesome-ocr GitHub Wiki
基于文档内部信息构建主题的关键词抽取方法
文档主题结构最直观的构建方法是基于文档内部信息。一篇文档往往包含多个主题,每个主题都在文档中对应不同的词语。例如一篇描写“北京”的文档, 会从“位置”、“气候”和“文化”等方面进行描述。在词袋模型(bag of words)的假设下,除了没有表意功能的功能词(function words)外,每个词都被用来描述其中一个主题。根据这些主题,词语可以被分为若干个聚类,在同一个聚类中的词语在语义上更加相似。例如,“温度”、“寒冷”和“冬天”等词语是在主题“气候”下的词语,他们之间的语义相似度要大于他们与其他主题的词语的相似度。基于这个直观的观察,本章提出基于文档词汇聚类构建文档主题进行关键词抽取的方法,提高抽取关键词对文档主题的覆盖度。基于词聚类的关键词抽取主要包括以下几个步骤: 1.候选词选取。首先,需要将停用词去掉,为关键词抽取选取合适的候选词。 2.计算候选词之间的语义相似度。 3.根据语义相似度对候选词进行聚类。 4选取每个聚类中心词,在文档中选取合适的关键词
类似地,我们的报告对应到一篇文档,主题对应到我们的小标题/关键字,比如超声检查报告,会从“超声所见”“超声描述”“超声提示”等方面进行描述
词汇语义相似度
- 基于维基百科的相似度
- 词共现 https://github.com/erliang20088/TianLiangThemeExtractor/tree/master/src 聚类 典型的聚类算法:层次聚类(hierarchical clustering)、谱聚类(spectral clustering)和信任传播聚类(Affinity Propagation) 词聚类完成后,选取每个聚类的中心词作为种子词。在信任传播聚类中,算 法本身会提供聚类中心;在层次聚类中,聚类中心词可以通过 Matlab 计算获得; 而谱聚类选取距离聚类中心点最近的词作为聚类中心词。 根据 Hulth 的研究结论 [ 80 ] ,大部分手工标注的关键词是名词短语 (noun phrase) 。 因此首先将文档进行词性标注,然后选取模式为 0 个或者多个形容词跟随 1 个或者 多个名词的词串作为名词短语,将其作为候选关键词。本章在英文上进行实验, 因此使用 Stanford Log-Linear Tagger 2 ⃝ 进行词性标注。从这些名词短语中选取那些 包含一个或者多个聚类中心词的作为文档的关键词。
由于汉语的词性标注效果还有待于进一步提高,因此这里只在英文上进行 实验。实验选用来自 Inspec 的论文摘要作为待抽取关键词文档集合。该数据集合 包含了人工标注的关键词,该数据是由 Anette Hulth 提供的,并在 Hulth 、 Rada 等 人的工作 [ 80 , 81 ] 中使用过。每个摘要包含两种关键词:一种是受控关键词,是在 一个给定的词典中选取;另外一种是非受控关键词,由专家自由标注。在这里, 如 Hulth 、 Rada 等人的工作 [ 80 , 81 ] 那样,本章选用非受控关键词作为标准答案来评价 各种方法的效果。另外,本章只考虑在文档出现的非受控关键词作为标准答案。 在评价时,方法抽取的关键词和标准答案都进行 stemming 获取词干进行比较。 在 Hulth 的实验 [ 80 ] 中,对于有监督方法, Hulth 将 2 , 000 个摘要划分为 1 , 000 个 作为训练集合 (training set) , 500 作为验证集合 (validation set) , 500 个作为测试 集合 (test set) 。而在 Rada 的实验 [ 81 ] 中,由于 TextRank 是无监督方法,因此仅在 测试集合上与 Hulth 的方法进行了比较。本章也将在 500 个测试集合上与 Hulth 、 TextRank 进行比较。 在计算基于维基百科的相似度时,本章选用 2005 年 11 月 11 日的维基百科数据 快照 1 ⃝ 进行实验。后处理中的常用词表也是利用维基百科数据计算得到的,实验 把在维基百科中出现超过 1 , 000 次的单词作为常用词。 实验采用准确率、召回率和 F 1 值 (precision / recall / F 1 -Measure) 来评价关键词抽 取的效果
本章提出一种聚类的方法构建文档主题结构,并以此为基础进行无监督的关 键词抽取。本方法首先将候选词组成若干个聚类,然后选取每个聚类的聚类中心 词。然后,再用这些聚类中心词从文档中抽取名词短语作为关键词。基于聚类的 关键词抽取方法能够更好地保证抽取的关键词对文档主题的覆盖度。 但是,也从实验中也可以看到,基于聚类的关键词抽取方法的效果会较大地 受到聚类个数的影响。然而,如何确定聚类个数本身是聚类方法的重要研究问题, 至今研究领域提出了许多方法,但都没有一个很好的广泛适用的解决方案。本章 采用常用词表的方法来过滤噪音作为对聚类方法的补充。因此,基于聚类的方法 虽然可以在一定程度上构建文档主题,提高抽取关键词对文档主题的覆盖度,但 仍然有比较大的局限,这很大程度上是由于仅对文档内部的词语进行聚类造成的 限制。下章将提出一种基于外部大规模文档集合构建文档主题的方法进行关键词 抽取
基于隐含主题模型的关键词抽取方法
一旦从大规模数据中学习得到主题模型后,利用隐含主题模型进行关键词抽取的过程非常简单,主要分为两个步骤: 1.获取文档中的候选关键词,这里仍然通过词性标注选取名词性短语作为候选关键词 2. 根据从大规模语料学习得到的隐含主题模型,计算获取文档和候选关键词的 主题分布。 3. 计算文档和候选关键词的主题相似度,排序并选取最高的几个作为关键词。 由于第 1 步与上一章类似,这里将对第 2 和第 3 步分别详细介绍。 本章选取两个数据进行关键词抽取实验。其中一个数据来自 Wan 等人 1 ⃝ ,最 初用在论文 [ 19 , 20 ] 中。这个数据包含了来自 DUC2001 [ 104 ] œ308 篇新闻文档,手工标 注了 2 , 488 个关键词,平均每篇文档最多标注 10 个关键词,实验命名这个数据集 为 NEWS 。另外一个数据集来自 Hulth ,最初用在论文 [ 12 ] 中,该数据包含 2 , 000 个 论文摘要,手工标注了 19 , 254 个关键词。在实验中称这个数据集为 RESEARCH 。 实验采用两种学习隐含主题模的方式: (1) 利用 NEWS 和 RESEARCH 数据集 合学习主题模型; (2) 利用维基百科学习主题模型。采用第二种方式的原因 是 NEWS 和 RESEARCH 包含文档数较少,可能不足以训练隐含主题模型,因此 需要利用上面提出的并行算法在维基百科英文词条上训练主题模型,这里选 用了 2008 年 3 月份的集合 2 ⃝ 来学习主题模型。在去除非词条页面,以及长度小 于 100 个词的词条后,得到 2 , 122 , 618 篇词条,然后根据词项的文档频度选取最高 的 20 , 000 个作为词汇表。这里将每篇维基百科词条作为一篇文档,训练隐含主题 模型。实验尝试了主题个数从 50 到 1 , 500 的各种可能。当遇到主题模型中没有出现 的词的时候,算法就返回一个均匀分布 在 NEWS 数据集合上不同方法推荐 M = 10 个关键词时的效果比较。 方法 Precision Recall F 1 -Measure TFIDF 0 . 239 0 . 295 0 . 264 TextRank 0 . 242 0 . 299 0 . 267 NEWS,PL, K = 50 0 . 258 0 . 318 0 . 285 Wiki,PL, K = 1500 0 . 267 0 . 329 0 . 294 实验采用准确率、召回率和 F 1 值 (precision / recall / F 1 -Measure) 来评价关键词抽 取的效果,如公式 ( 2-8 ) 所示
首先图 3.13 和图 3.14 分别展示了 NEWS 和 RESEARCH 数据集合上,利用不同 数据学习隐含主题模型、采用不同相似度计算方法、设置不同的主题个数的效果 比较。其中,“ NEWS ”,“ Wiki ”表示训练的文档集合, PL 等表示度量相似度的 方法, K 表示设置的主题个数。这里,当在 NEWS 数据和 RESEARCH 数据集合上 学习 LDA 模型的时候,由于数据集合较小,所以设置的主题个数相对较少;而当 在 Wikipedia 集合上学习 LDA 模型的时候,由于数据规模较大,所以设置的主题个 数相对较多。从图中可以观察到: 1. 在 Wkipedia 上学习的主题模型比在 NEWS / RESEARCH 数据上学习的主题模 型表现相对较好,但是优势比较有限。这说明在大规模数据上学习的主题模 型在某个特定数据集合上应用的时候,面临着知识迁移的问题。 2. 预测似然度方法除了在 RESEARCH 数据上利用自身数据学习主题模型的效 果较差外,相对表现较好;余弦相似度方法除了在个别情况下,也能保持较 好的推荐效果; KL 方法相对表现较差。 3. 大多数情况下,主题个数的设置在合理范围内对关键词抽取的影响较小。 为了进一步比较关键词抽取效果的有效性,在 3.3 和表 3.4 比较了 TFIDF 、 TextRank 和两种学习主题模型方式的关键词抽取效果。从这里,可以看到利用主 题模型能够比较 TFIDF 和 TextRank 更有效地抽取关键词。由于本章与下章算法有 较大相关性,所以这里不给出示例,而在下章一并给出例子并作分析。这里没有 列出上章聚类算法的效果,是因为该算法在 NEWS 数据集合上的评价结果较差, 这是由于在这种较长的文档上聚类算法倾向于推荐出较多的关键词,但又没有办 法有效地判断他们的重要性