Automatic Keyphrase Extraction via Topic Decomposition

TRP简介

现基于图的关键字抽取算法都是通过单个单词的在网络中的随机游走,来得出每个单词的重要性得分。文档和单词能被混合语义主题呈现,作者提出将传统的随机游走算法分解成多个不同主题的随机游走。作者建立了一个Topical PageRank算法在不同主题图上进行随机游走,来获得每个单词的重要性。然后,给定文档主题分布,再进一步计算单词的排名分数,并提取排名靠前的词作为关键词。

TRP思想

目前基于图的关键词抽取算法主要面临以下两个问题:

1、好的关键词应该和被给文档的主题密切相关。在基于图的方式上,这个字应该和其他字广泛相连接,并且排名分数很高,但是不能代表文档的主要主题。

2、一个恰当的关键词集合应该很好地覆盖文档主要的主题,在基于图的方式上,可能会陷入文档单个主题上,而不能覆盖文档其他的主题。

TRP需要先进行主题分类,相对于传统的PageRank算法,TRP将进入多个精细化主题进行随机游走,以获得不同主题下的关键字。

TRP关键词抽取算法的实现步骤:

1、构建主题解析器,来获取每个文档或者段落的主题。

2、执行TRP算法进行短语抽取。

TRP实现

主题的字分布获取方式存在两种:

  1. 使用人工标注的数据库,WordNet。(可能不涉及所有的字)
  2. 无监督的机器学习算法在大范围语料中获取。(Latent Dirichlet Allocation(LDA), Latent Semantic Analysis(LSA),probabilistic LSA(pLSA))。

TPR实现关键词抽取算法图:

图1 TPR关键词抽取流程图

具体流程如下所示:

  1. 构建文档ddd的字图,字图上边的关系遵循文档ddd上字共现关系。
  2. 执行TPR算法来计算每个主题下字的得分情况。
  3. 使用字来构建词,分别对每个主题的词进行排名。
  4. 对于给定文档ddd的主题,将候选关键词的主题按照特定排名整合到最终的排名中,排名靠前的关键词被选为最终的关键词。

常规的PageRank算法:
R(wi)=λ∑j:wj→wiw(wj,wi)O(wj)R(wj)+(1−λ)1∣V∣R(w_i)=\lambda \sum_{j:w_j \to w_i} \frac{w(w_j,w_i)}{O(w_j)}R(w_j)+(1-\lambda) \frac{1}{|V|} R(wi​)=λj:wj​→wi​∑​O(wj​)w(wj​,wi​)​R(wj​)+(1−λ)∣V∣1​
将所有的词按照主题进行划分后,新的TPR计算公式如下:
Rz(wi)=λ∑j:wj→wie(wj,wi)O(wj)Rz(wj)+(1−λ)pz(wi)R_z(w_i)=\lambda \sum_{j:w_j \to w_i} \frac{e(w_j,w_i)}{O(w_j)}R_z(w_j)+(1-\lambda)p_z(w_i) Rz​(wi​)=λj:wj​→wi​∑​O(wj​)e(wj​,wi​)​Rz​(wj​)+(1−λ)pz​(wi​)
其中每个字在不同主题中的偏置值pz(w)p_z (w)pz​(w)不太一样∑w∈Vpz(w)=1\sum_{w \in V}p_z(w)=1∑w∈V​pz​(w)=1,并且pz(w)p_z(w)pz​(w)将会严重影响TPR的效果,pz(w)p_z(w)pz​(w)计算可以使用两种方式:

  1. pz(w)=pr(w∣z)p_z(w)=pr(w|z)pz​(w)=pr(w∣z),字www出现在主题zzz的概率,主要侧重点是字出现的次数。
  2. pz(w)=pr(z∣w)p_z(w)=pr(z|w)pz​(w)=pr(z∣w),字www的主题是zzz的概率,主要侧重点是字对主题的关注程度。
  3. pz(w)=pr(w∣z)∗pr(z∣w)p_z(w)=pr(w|z)*pr(z|w)pz​(w)=pr(w∣z)∗pr(z∣w),是前面两者的均衡。

筛选候选关键词:

  • 关键词通常都是名词/名词短语。所以需要使用序列标注(POS)对文档的词性进行标注,提取出“(形容词)*(名词)+”的一个形式,表示零个或多个形容词后面跟着一个或者多个子名词。
  • 每个主题的候选关键词将有每个主题中的字来构成,每个主题中的词的得分计算公式如下所示:

Rz(p)=∑wi∈pRz(wi)R_z(p)=\sum_{w_i \in p}R_z(w_i) Rz​(p)=wi​∈p∑​Rz​(wi​)

  • 最终将每个文档的主题和词的得分进行结合,得到最终每个候选关键词的得分:
    R(p)=∑z=1KRz(p)×pr(z∣d)R(p)=\sum_{z=1}^K R_z(p) \times pr(z|d) R(p)=z=1∑K​Rz​(p)×pr(z∣d)

TPR评估

数据集:DUC2001(NEWS)、Hulth(RESEARCH)。

评价指标:precision、recall、F-measure、binary preference measure(Bpref)、mean reciprocal rank(MMR)。

  • Bpref是用于描述关键词的排名顺序的评价指标,对于一个文档而言,存在RRR个正确的关键字,使用一个关键词提取方法抽取出MMM个关键词,其中存在rrr个是一个正确的关键词,nnn个错误的关键词,具体计算公式如下式所示:

Bpref=1R∑r∈R1−∣nrankedhigherthanr∣MBpref=\frac{1}{R} \sum_{r \in R} 1-\frac{|n \ ranked \ higher \ than \ r|}{M} Bpref=R1​r∈R∑​1−M∣n ranked higher than r∣​

  • MMR算法用于评价每个文档第一个候选关键词的排名。对于文档ddd,rankdrank_drankd​表示为具有所有提取关键词的第一个正确关键词的秩,其中DDD是文档所有的候选关键词列表,具体计算如下式所示:

MRR=1∣D∣∑d∈D1rankdMRR=\frac{1}{|D|} \sum_{d \in D} \frac{1}{rank_d} MRR=∣D∣1​d∈D∑​rankd​1​

作者主要考虑了以下四点因素对模型效果的影响:

  1. 词共现窗口的大小www。
  2. 使用LDA算法对文档主题的提取数量。(LDA算法没有考虑字/词的词频信息,TPR主要是利用外部主题LDA、内部文档结构PageRank等)
  3. 单词在每个主题的得分计算情况pz(w)p_z(w)pz​(w)。
  4. 阻尼因子λ\lambdaλ对图随机游走的效果。

表1 TPR在不同窗口大小的效果

表2 TPR在LDA算法下不同主题数量的效果

图2 TPR在不同阻尼因子$\lambda$的效果 表3 TPR使用不同主题得分计算的效果

表4 TPR在NEWS数据集上的实验效果

表5 TPR在RESEARCH数据集上的实验效果

图3 不同参数设置下TPR在两个数据集上评价指标的变化

TPR总结

TPR是一种无监督的关键词抽取算法,其主要特点是对文档进行分主题分别计算每个字在不同主题下的重要程度,利用一定规则得出每个主题下词的得分,最终结合多个主题得出每个候选词的最终得分,得出最终的关键词集合。

文章的重点在于文章主题的提取,并可以对文档中的字分类到各个主题中去,也就是LDA算法实现是文章的最终要一个点。作者是这样解决的:使用Wikipedia的大范围语料来训练LDA,最终得出的模型在应用到每个具体的文档上来。

个候选词的最终得分,得出最终的关键词集合。

文章的重点在于文章主题的提取,并可以对文档中的字分类到各个主题中去,也就是LDA算法实现是文章的最终要一个点。作者是这样解决的:使用Wikipedia的大范围语料来训练LDA,最终得出的模型在应用到每个具体的文档上来。

Topical PageRank(TPR)论文解读相关推荐

  1. Single TPR论文解读

    Topical Word Importance for Fast Keyphrase Extraction Single TPR简介 Single TPR是2015年提出来的,是基于TPR的进一步改进 ...

  2. NLP带来的“科幻感”超乎你的想象 - ACL2020论文解读

    来源 | 京东智联云开发者 责编 | Carol 近些年,人工智能无疑是信息技术领域最热门的技术之一.人工智能战胜世界围棋冠军.人工智能战胜游戏高手.人工智能医生看病会诊--不断进步的科技正推动着人工 ...

  3. 论文解读:《PACES:mRNA中N4乙酰胞苷(ac4C)修饰位点的预测》

    @[TOC](论文解读:<PACES: prediction of N4-acetylcytidine (ac4C) modification sites in mRNA>) 文章链接:h ...

  4. 论文解读:《一种基于长短期记忆网络深度学习的药物靶相互作用预测方法》

    论文解读:<A deep learning-based method for drug-target interaction prediction based on long short-ter ...

  5. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...

  6. 自监督学习(Self-Supervised Learning)多篇论文解读(上)

    自监督学习(Self-Supervised Learning)多篇论文解读(上) 前言 Supervised deep learning由于需要大量标注信息,同时之前大量的研究已经解决了许多问题.所以 ...

  7. 可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读

    可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读 Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions 论文链接: ...

  8. 从单一图像中提取文档图像:ICCV2019论文解读

    从单一图像中提取文档图像:ICCV2019论文解读 DewarpNet: Single-Image Document Unwarping With Stacked 3D and 2D Regressi ...

  9. 点云配准的端到端深度神经网络:ICCV2019论文解读

    点云配准的端到端深度神经网络:ICCV2019论文解读 DeepVCP: An End-to-End Deep Neural Network for Point Cloud Registration ...

最新文章

  1. 智能驾驶操作系统OS
  2. 美学设计评价_死亡的孩子无法使用的设计美学
  3. php 变量调试,PHP变量调试函数
  4. 计算线段长度(信息学奥赛一本通-T1033)
  5. jdbc 连接 mysql 时的中文乱码问题
  6. 【转】到底什么时候应该用MQ
  7. java开发系统架构_Java开发:ECP系统J2EE架构开发平台
  8. python贴吧顶贴_python实现贴吧顶贴机器人
  9. 功能测试数据测试之因果图分析方法
  10. 从键盘输入直接三角形的两条直接边的长度,求斜边的长度和三角形的面积,计算结果保留两位小数
  11. 无心剑汉英双语诗005.《抒怀》
  12. 桥接模式和装饰者模式的区别
  13. 血泪总结:如何从微信小程序的坑跳进支付宝小程序的大坑
  14. sqlite3数据库的使用
  15. Pr 电影开场帷幕拉开效果和轨道遮罩的应用
  16. htc 8x android,颠覆之作的探究,HTC 8X拆解多图欣赏
  17. 基于Java解惑(站长百科)阅读笔记
  18. matlab画banana函数,MATLAB 必须知道的基本操作.m
  19. LeetCode Problems #935
  20. SEOer必学的技能:好的软文首先就是做好标题党!

热门文章

  1. STM8L151C8单片机学习例程(2)——CLK切换
  2. Win7开启远程桌面——图文详解
  3. data block address
  4. 360软件管家下载|360软件管家电脑版下载
  5. BCG 全局主题样式
  6. 当当活动 | 先读书,后浪
  7. 意外收到快钱送的现金了
  8. 苹果CEO库克: 请无所畏惧,做最不愿接受现状的人丨2018年毕业典礼演讲
  9. JS网站右下角悬浮视窗可关闭广告
  10. animate.css源码