1.引言

1.1关键词自动标注的主要方式与算法

关键词自动标注主要有两种方式:关键词抽取与关键词分配。

  • 关键词抽取,是从文档内容中寻找并推荐关键词
  • 关键词分配,是从一个预先构造好的受控词表(controlled vocabulary)中推荐若干个词或者短语分配给文档作为关键词

1.1.1关键词抽取

关键词抽取一般分为两步:选取候选关键词、从候选集合中推荐关键词

1.1.1.1选取候选关键词

难点在于从如何判定候选关键词的边界。

在英文关键词抽取中,一般选取N元词串(N-gram,N一般为1到3),然后通过计算N元词串内部联系的紧密程度来判断它是否是一个独立语义的短语。该任务与搭配抽取(collocation extraction)和多次表达(multi-word expression)抽取任务类似,都需要准确地判断边界。

搭配抽取度量内部紧密程度:均值与方差(mean and variance),t测试(t-test),卡方测试(χ 2 test),点互信息(point-wise mutual information)和二项式似然比测试(binomial likelihood ratio test,BLRT)等。

Hulth发现大部分关键词都是名词性词组,符合一定的词性模式,如“形容词+名词”是最常见的模式。因此可以选取符合某种词性模式的词组作为候选关键词。

1.1.1.2推荐关键词

两种途径。

  • 无监督的方法,利用候选关键词的统计性质,如term frequency-inverse document frequency(TFIDF)等,对他们排序,选取最高的若干个作为关键词。
  • 有监督的方法,将关键词抽取问题转换为判断每个候选关键词是否为关键词的二分类问题,它需要一个标注关键词的文档集合训练分类模型。

两种方法各有优势和缺点。

  • 无监督方法不需要人工标注训练集合的过程,因此更加快捷,但由于无法有效综合利用多种信息对候选关键词排序,所以效果无法与有监督方法媲美
  • 有监督方法可以通过训练学习调节多种信息对于判断关键词的影响程度,因此效果更优,但标注训练集合非常耗时耗力;且文档主题随时间变化剧烈,随时进行训练集合不现实

因此,最近关键词抽取研究主要集中在无监督方法方面。

PageRank算法

根据网页链接关系对网页进行排序。其基本思想是一个网页的重要性由链向它的其它网页重要性决定,也就是说,如果越多重要的网页指向某网页,那么该网页也就相应越重要。

基于图的排序算法TextRank

基本思想是将文档看作一个词的网络,该网络中的链接表示词与词之间的语义关系。基于与PageRank相似的思想,TextRank认为一个词的重要性由链向它的其他词的重要性来决定,利用PageRank计算网络中词的重要性,然后根据候选关键词的PageRank值进行排序,从而选择排名最高的若干个词作为关键词。

1.1.2关键词分配

受控词表一般收录某个或者某些领域的专业词汇,相比关键词抽取,关键词分配为每个文档推荐的关键词不一定在正文中出现。如果将受控词表中的关键词看作分类标签,那么关键词分配算法在本质是多类别多标签分类问题,也就是将一个文档打上若干个分类标签。

关键词分配的性能主要受到两个方面的影响:

  1. 受控词表的构建问题。受控词表的大小和覆盖度决定了关键词分配推荐关键词的范围和效果,如果受控词表无法覆盖待标注对象的主题,则会极大影响关键词分配的效果
  2. 关键词分配算法设计。实用关键词分配系统一般维护较大的受控词表。

1.1.2.1受控词表构建

目前一般利用网络信息自动构建词典,通过若干领域相关词汇作为种子,快速准确地获取领域新词

1.1.2.2关键词分配算法

首先,当受控词表较大时,每个分类标签的平均标注训练数据数量一般很少。在这种情况下,为了保证关键词分配的效果,一般通过半监督学习(semi-supervised learning)方法综合利用少量标注数据和大量无标注数据建立模型。

1.2 社会标签推荐

按照利用的信息不同,社会标签一般分为基于图的方法和基于内容的方法

1.2.1基于图的方法

在社会标签系统中,用户可以对感兴趣的对象标注他们自定义的标签,因此对于同一个对象会有多个用户标注不同标签。这个社会化的标注机制一般被称为协同标注。假如定义一次协同标注行为是一个用户对一个对象标注了一个标签,那么每次标注都会将一个用户、一个对象和一个标签构成一个三元组,它们互相之间建立了联系。而无数次协同标注行为就将不同的用户、对象和标签联系在了一起,构成“用户-对象-标签”三部分图(tri-partite graph)

基于图的方法对标注历史有较大的依赖,因此会存在以下几个问题:

  1. 当一个用户或者对象新加入时,由于缺乏标注历史,系统很难有效推荐标签
  2. 同样的,当一个标签在历史上从来未标注过,而随着新事物涌现处理的时候,系统也很难有效地进行推荐。

这些问题都统称为“冷启动(cold-start)”问题,也就是当缺乏这些用户、对象和标签的标注历史的时候,系统无法进行推荐。而其中新用户问题可以通过推荐最流行的标签解决。因此针对新对象和新标签的推荐在实际应用中问题更加突出。

1.2.2基于内容的方法

  • 基于文档中的词作为特征进行标签推荐

K近邻法推荐社会标签,其基本思想是:给定一个对象,根据其内容找出与它最相似的K个对象,然后将这K个对象被标注的最流行标签推荐给原对象。

  • 利用隐含主题作为特征进行推荐

隐含主题模型(latent topic model)认为文档可以表示为若干隐含主题的分布(topic distribution),而一个隐含主题则表示为词上的分布(word distribution)。在社会标签推荐方面,许多研究者对文档和标签建立隐含主题模型,然后以隐含主题表示文档和标签并度量其相关程度,从而推荐与文档主题最相关的标签。隐含主题模型可以很好地表示文档和标签主题,有效降低标签系统中噪声的影响。但是另外一个方面,隐含主题相对于词而言粒度较粗,对于具体实体(如人名、地名、机构名和产品名)的标签没有办法做到很好地区分,因此对这些细粒度标签推荐效果较差。

1.3主要内容

  1. 基于文档内部信息,提出利用文档的词聚类算法构建文档主题,进行关键词抽取。该方法仅利用文档内部信息,通过度量文档中词与词之间的相似度,利用聚类的方法构建文档主题,并根据不同主题在文档中的重要性,进行关键词抽取。实验证明,该方法能够在一定程度上发现文档主要话题,并抽取出与文档主题相关的关键词,在一定程度上提高了关键词对文档主题的覆盖度。
  2. 基于文档外部信息,提出利用隐含主题模型构建文档主题,进行关键词抽取。针对基于文档内部信息通过聚类算法进行关键词抽取受限于文档提供信息不足的缺点,提出利用机器学习算法中广泛使用的隐含主题模型构建文档主题,进行关键词抽取。并针对隐含主题模型训练速度较慢的瓶颈,提出了一种高校的并行隐含主题模型。
  3. 提出综合利用隐含主题模型和文档结构信息,进行关键词抽取。针对隐含主题模型无法考虑文档结构信息的缺点,提出综合lion给隐含主题模型和文档结构信息进行关键词抽取,即基于主题的随机游走模型。该方法一方面能够通过隐含主题模型构建文档主题,同时能够通过文档图的随机游走模型考虑文档结构为关键词提供信息。
  4. 基于文档与关键词一致性的前提,提出基于机器翻译模型的关键词抽取方法。针对文档和关键词之间存在较大词汇差异的问题,基于文档和关键词主题一致性的前提,提出利用机器翻译中的词对齐模型计算文档中的词到关键词的翻译概率,然后进行关键词抽取。

2.基于文档内部信息构建主题的关键词抽取方法

基于词聚类的关键词抽取主要包括以下几个步骤:

  1. 候选词选取。首先,需要将停用词去掉,为关键词抽取合适的候选词
  2. 计算候选词之间的语义相似度
  3. 根据语义相似度对候选词进行聚类
  4. 选取每个聚类中心词,在文档中选区合适的关键词

2.1候选词选取

选取过程如下:

  1. 如果是英语,对文本进行断词(tokenization);如果是汉语等没有单词分隔标志的语言,则首先对文本进行分词
  2. 去掉停用词,选取剩余的单词作为候选词

2.2词汇语义相似度

度量文档中词与词之间的相似度:一种是基于文档内的词同现(co-occurances)关系,另外一种则利用外部知识库

2.2.1基于文档内同现关系的相似度

在文档中,词与词如果在短距离内同时出现过多次,说明他们具有较强的语义关系。因此可以利用文档内的同现情况来度量词与词之间的相似度。在这里,词与词的同现关系简单地表示为两个词在一个最多为w个词的滑动窗口内同现的次数。

2.2.2基于维基百科的相似度

基本思想是:将每个维基百科词条看作是一个独立的概念。这样,一个词的语义信息就可以用维基百科概念上的分布来表示,其中在某个概念上的权重(weight)可以用这个词在该概念词条中的TFIDF值来表示。这样就可以通过比较两个词的概念向量来度量他们的相似度。

假如某个词ti的维基百科概念向量为Ci={ci1,ci2,…,ciN},其中N表示维基百科词条数目,cik表示wi在第k个维基百科概念中的TFIDF权重。那么余弦相似度表示为

欧式距离相似度表示为

这里采用三种方法来用点互信息(point-wise mutual information,PMI)度量词与词直接的相似度。

一种是利用维基百科的词条数目:其中p(i,j)是同时包含ti和tj的维基百科词条,p(i)和p(j)分别表示包含ti和tj的词条数目。

第二种是利用维基百科的词数目:

其中T表示维基百科中词的数目,t(i,j)表示ti和tj在维基百科中相邻出现的次数,而t(i)和t(j)分别表示ti和tj在维基百科中出现的次数。

第三种则是对以上两种方法的融合:

其中pw(i,j)是出现ti和tj相邻情况的维基百科词条数目,很显然,pmic(i,j)≤pmip(i,j),而pmic(i,j)的要求更加严格,也更能准确地度量相似度

2.3聚类方法

它的任务是将对象划分成不同的组,每个组内的对象互相比较相似,而组与组之间的对象比较不同。

2.3.1层次聚类(hierarchical clustering)

层次聚类将数据点按照不同的聚类粒度建立一个聚类层次数。这个树有多层,每一层由它的下一层聚类组成。

算法流程如下:

  1. 计算数据集合中每对数据点之间的相似度(或者距离)
  2. 不断将集合中距离最近的两个点组合成一个新的点,这样就形成一个多层的二叉树
  3. 决定在哪一层划分,得到相应的聚类结果

2.3.2谱聚类(spectral clustering)

谱聚类利用数据相似矩阵的谱信息来进行特征降维,将数据点聚类到少数几个维度。

对于谱聚类,有两个参数需要事先指定:

  • 聚类个数C
  • 转换因子σ,用来根据数据点距离建立数据点相似度矩阵,如下所示:

其中s(i,j)和d(i,j)分别表示数据点i和j之间的相似度和距离

2.3.3信任传播聚类(Affinity Propagation,AP)

该算法是基于消息传递技术的。共有三个主要参数:

  • 聚类偏好(preference)p。AP算法需要为每一个数据点设定一个实数值p,作为他们成为聚类中心的偏好程度。这样,具有较大p的数据点就越有可能被选择成为聚类中心。一般而言,如果对数据点没有先验的偏好,可以将所有数据点的偏好值设为数据点间相似s(i,j),i≠j的最大值、最小值、平均值或者中位值
  • 收敛判据。AP算法是一个迭代算法,它一旦满足以下两个条件之一,即停止:(1)如果每个数据点所属聚类的决定保持I1次迭代不变;(2)算法迭代次数达到I2次
  • 衰减因子 λ。当进行消息传递的时候,需要避免数值震荡的发生,因此每个消息设置为它上轮迭代时的数值与 λ的积加上它将要更新的值与1- λ的积

论文阅读——基于文档主题结构的关键词抽取方法研究(理解)相关推荐

  1. Confluence 6 文档主题合并问答

    在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用.我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将 ...

  2. [python] LDA处理文档主题分布代码入门笔记

    以前只知道LDA是个好东西,但自己并没有真正去使用过.同时,关于它的文章也非常之多,推荐大家阅读书籍<LDA漫游指南>,最近自己在学习文档主题分布和实体对齐中也尝试使用LDA进行简单的实验 ...

  3. LDA文档主题生成模型

    基础知识: LDA: latent dirichlet allocation ,又名潜在狄利克雷分布,是非监督机器学习技术,用于识别文档集中潜在的主题词信息. 主要思想:采用词袋方法,将每一篇文档视为 ...

  4. [python] LDA处理文档主题分布及分词、词频、tfidf计算

    这篇文章主要是讲述如何通过LDA处理文本内容TXT,并计算其文档主题分布,主要是核心代码为主.其中LDA入门知识介绍参考这篇文章,包括安装及用法:         [python] LDA处理文档主题 ...

  5. 文档主题分类项目Python代码

    #希拉里右键门,文档主题分类.LDA模型,数据读取还有点问题 #数据来源:请联系公众号:湾区人工智能 import numpy as np import pandas as pd import re ...

  6. 自然语言处理项目之文档主题分类

    #希拉里右键门,文档主题分类.LDA模型,数据读取还有点问题 #数据来源:请联系公众号:湾区人工智能 import numpy as np import pandas as pd import re ...

  7. 主题计算机一级,Office2007文档主题的应用或自定义

    通过应用Office  2007文档主题(主题:一组统一的设计元素,使用颜色.字体和图形设置文档的外观.),您可以快速而轻松地设置整个文档的格式,赋予它专业和时尚的外观.文档主题是一组格式选项,包括一 ...

  8. 【CV】CVPR2020丨SPSR:基于梯度指导的结构保留超分辨率方法

    作者 | Alan 授权转载自 | https://zhuanlan.zhihu.com/p/121721537 CVPR2020:Structure-Preserving Super Resolut ...

  9. 合流超几何函数_【CV】CVPR2020丨SPSR:基于梯度指导的结构保留超分辨率方法

    作者 | Alan 授权转载自 | https://zhuanlan.zhihu.com/p/121721537 CVPR2020:Structure-Preserving Super Resolut ...

最新文章

  1. sosoApi 环境搭建
  2. 得到java异常printStackTrace的详细信息
  3. Myeclipse开发内存溢出问题
  4. es自建搜索词库_【ES从入门到实战】二十三、全文检索-ElasticSearch-分词-自定义扩展词库...
  5. (二)spring cloud微服务分布式云架构-整合企业架构的技术点
  6. BDD框架之Cucumber研究
  7. Linux 多学习过程
  8. 牛逼,Java中表达式引擎工具就用它!建议收藏,一定用的到!!
  9. 《只是为了好玩-Linux之父Linus自传》
  10. 【Flink】基于 Flink CEP 实时计算商品订单流失量
  11. Flutter布局锦囊---带输入字段的应用栏
  12. tomcat常见配置及优化、升级
  13. MySQL grant、revoke 用户权限注意事项
  14. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用...
  15. 焊接工时简便计算工具_焊接工时计算表
  16. jquery的toastr消息提示插件
  17. windows 域认证 Kerberos详解
  18. 26 JS常用数组方法Array对象内置方法——检索方法
  19. 林瑞c语言代码规范,林瑞庆
  20. java可以开发安卓app吗,Java开发者必看

热门文章

  1. 美国政府:伊朗黑客利用Log4Shell 漏洞攻陷联邦机构
  2. 共话龙蜥:如何协同构建统一生态?
  3. riscv运行linux,首款基于RISC-V,支持Linux的PC——HiFive Unleashed已诞生!
  4. 常识——手机改直供电+usb调试
  5. Unity3D 大型游戏 最后一站 源码 部分重点 显示FPS
  6. 语义增强的大规模多元图简化可视分析方法
  7. 05mysql---函数
  8. 图神经网络(1):DGL基础
  9. 国外APP外包开发及上线流程
  10. 支付宝大调整,和微信越来越像了!