TripleRank An unsupervised keyphrase extraction algorithm

TripleRank: An unsupervised keyphrase extraction algorithm

TripleRank简介

Triple是2021年吉林大学提出的一种无监督关键词抽取算法,在四个数据集上实现了SOTA。其实也就是模型集成。(EmbedRank、TopicRank、PositionRank)

作者使用了关键词语义多样性、关键词覆盖率和位置信息来构建TripleRank。通过它们三者的混合得分得出最终的分数。不像传统的图迭代算法,TripleRank不需要迭代。

本文的主要贡献:

  1. 我们解决了一个常见问题,其中几个提取的短语包含相同的高分单词。语意重复问题
  2. 提出并分析了解决该问题的两个概念:关键词覆盖和关键词语义多样性的原因和意义。
  3. 我们提出了TripleRank,一种基于关键词覆盖率、关键词语义多样性和位置信息的方法,与最新模型相比,该方法具有更好的精度。
  4. 我们提出了一个计算效率高的模型,该模型是部分预先训练的,在主体中没有典型的迭代过程。

TripleRank实现

在这里插入图片描述

图1 TripleRank算法模型框架

关键词覆盖分数评估提取的关键词可以表示文档内容的广度。我们发现,候选词和文档其他词的相似性对关键词覆盖率的评分有效,因为相似性越高,代表越好。为了去衡量这种相似性,我们将词嵌入到字向量,该向量拥有通常关联的相邻单词的语义信息。因此,我们使用字向量来衡量候选词和其他词的接近程度,从而评估其覆盖程度。关键词语义多样性得分通过涉及更多主题来提高关键词的准确性,以避免短语涉及排名表中相同的意义加权词的情况。我们使用主题模型LDA,来评估关键词的语义多样性。尽管针对关键词语义多样性有充分可行的主题模型和解决方案,但它们相对更复杂。LDA模型是一个研究得很好、适用性很广的模型,可以最好地提高我们模型的性能。关键词语义得分是根据候选人所属主题的概率来计算的。利用LDA输出的主题分布,我们可以提高主题在提取结果中的影响,以避免语义相似的短语。位置信息得分由位置顺序获得,位置顺序受PositionRank的启发;然而,我们没有使用PageRank过程,只保留了位置权重。最后的分数是通过合并三个特征的归一化分数来计算的。

关键词覆盖

使用word2vec模型将字转化成向量的形式。word2vec存在两个方式:Continue bag-of-words(CBOW)和skip-gram。CBOW通过上下文来预测中间词,在小型数据集效果更好;skip-gram使用中间词来预测上下文,在大型数据集表现更好。

当输入一系列的词 w 1 , w 2 , . . . , w t w_1,w_2,...,w_t w1,w2,...,wt被输入到skip-gram模型进行训练,目的是最大化平均概率:
1 T ∑ t = t − c ≤ j ≤ c , j ≠ 0 T ∑ l o g p ( w t + j ∣ w t ) \frac{1}{T} \sum _{t=t-c \le j \le c,j \ne 0} ^T \sum log p(w_{t+j}|w_t) T1t=tcjc,j=0Tlogp(wt+jwt)
单词的后验分布通过输出层上的softmax函数进行输出:
p ( w o ∣ w 1 ) = e x p ( v w 0 ′ T v w 1 ) ∑ w = 1 W e x p ( v w ′ T v w 1 ) p(w_o|w_1)=\frac{exp(v_{w0}'Tv_{w1})}{\sum_{w=1}^W exp(v_{w}'Tv_{w1})} p(wow1)=w=1Wexp(vwTvw1)exp(vw0Tvw1)
通过共享相同的权重矩阵面板,在输出层上计算出 C C C个后验分布,或者是 C C C个上下文文字的预测。为了最大化公式(1)和(2),最大化 l o g p ( w w + j ∣ w t ) log p(w_{w+j}|w_t) logp(ww+jwt)的表示。然而,skip-gram通过softmax公式要求更多计算资源来计算 d e l t a s l o g p ( w 0 ∣ w 1 ) deltas logp(w_0|w_1) deltaslogp(w0w1)

使用余弦相似度来计算所有关键词对的相似度:
C o v e r a g e ( w ⃗ ) = ∑ j = 1 v S i m i l a r i t y ( w ⃗ i , w ⃗ j ¬ i ) Coverage(\vec w)=\sum_{j=1}^v Similarity(\vec w_i,\vec w_{j \neg i}) Coverage(w )=j=1vSimilarity(w i,w j¬i)
C o v e r a g e ( ) Coverage() Coverage()是这个覆盖得分, S i m i l a r i t y ( ) Similarity() Similarity()是余弦相似度来计算两个字向量, w ⃗ j ¬ i \vec w_{j \neg i} w j¬i是文档中除了 w i w_i wi的其他字向量。

位置信息

位置信息是一个重要信息,最初被提出从PositionRank。PositionRank主要分成以下三个步骤:

  1. 字水平的图的构建。
  2. 基于位置的PageRank算法。
  3. 候选词的构成。

定义以下信息。 P P P是文档 d d d中单词出现的字数总和。位置信息的得分为计算如下:让文档 d d d成为包含单词 w i w_i wi的关键字提取文档,则 p w i p_{w_i} pwi的权重值被计算按照出现位置的倒数累计和:
p w i = 1 p o s i t i o n   1 + 1 p o s i t i o n   2 + . . . + 1 p o s i t i o n   α p_{w_i}=\frac{1}{position \ 1}+\frac{1}{position \ 2 }+...+\frac{1}{position\ \alpha} pwi=position 11+position 21+...+position α1
p o s i t i o n   α position \ \alpha position α是词 w i w_i wi α t h \alpha_{th} αth出现的位置。

最终每个词的位置得分计算如下:
P o s i t i o n ( w i ) = p w i Position(w_i)=p_{w_i} Position(wi)=pwi

关键词语义多样性

关键词多样性有LDA进行评估,LDA是一种用于离散数据集合的生成概率模型,采用三级贝叶斯模型。LDA模型可以生成文档和单词的主题分布。LDA模型在TripeRank中是用于描述三个重要特征之一,关键字语义多样性。作者的目标是最大限制地提高主题多样性,并对提取结果中消除具有相似语义的不同形式的短语。因此,单词和短语的主题概率被打分,并在最终得分中排名。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ajbwmBWi-1665624416371)(D:\Python\project\weekly_work\2022-10-09_2022-10-15\imgs\image-20221012203825136.png)]

图2 LDA算法模型架构

LDA模型通过模板、主题模板、文档模板和但此模板的采样过程来生成单词。假设语料库 W W W包括 V V V个单词、 M M M个带有 N m N_m Nm单词的文档和 K K K个主题。上述过程可用Dirichlet多项式单图模型描述,该模型基于以下理论:
P o s t e r i o r = l i k e l i h o o d ⋅ p r i o r e v i d e n c e Posterior=\frac{likelihood \cdot prior}{evidence} Posterior=evidencelikelihoodprior
α ⃗ \vec \alpha α β ⃗ \vec \beta β 是超参数, θ ⃗ \vec \theta θ 是文档 m m m的主题混合比例, φ ⃗ k \vec \varphi _k φ k是主题 k k k的混合组成部分, z m n z_{mn} zmn是文档 m m m中的第 n n n个单词选择主题的混合指示符, w m n w_{mn} wmn是文档 m m m中的第 n n n个单词的术语指示符。

网络是由两个Dirichlet多项式单图模型构成的生成过程。:
α ⃗ → θ ⃗ ∼ D i r ( α ⃗ ) → M u l t ( θ ⃗ M ) \vec \alpha \to \vec \theta \sim Dir(\vec \alpha) \to Mult(\vec \theta_M) α θ Dir(α )Mult(θ M)

β ⃗ → φ ⃗ K → D i r ( β ⃗ ) → M u l t ( φ Z ⃗ m n ) \vec \beta \to \vec \varphi_K \to Dir(\vec \beta) \to Mult(\varphi_{\vec Z_{mn}}) β φ KDir(β )Mult(φZ mn)

→ \to 表示采样处理。联合分布可以考虑因素。吉布斯采样是马尔可夫蒙特卡洛模拟的一个特例,它被用作LDA中近似推理的一种方法。
p ( z i = k ∣ z ¬ i , w ) ∞ n m , ¬ i ( k ) + α k ∑ k = 1 K ( n m , ¬ i ( k ) + α k ) ⋅ n k , ¬ i ( t ) + α t ∑ k = 1 K ( n k , ¬ i ( t ) + α t ) p(z_i=k|z \neg i,w) \infty \frac{n_{m,\neg i}^{(k)}+\alpha_k}{\sum_{k=1}^K(n_{m,\neg i}^{(k)}+\alpha_k) } \cdot \frac{n_{k,\neg i}^{(t)}+\alpha_t}{\sum_{k=1}^K(n_{k,\neg i}^{(t)}+\alpha_t) } p(zi=kz¬i,w)k=1K(nm,¬i(k)+αk)nm,¬i(k)+αkk=1K(nk,¬i(t)+αt)nk,¬i(t)+αt
i = ( m , n ) i=(m,n) i=(m,n)对应文档 m m m的第 i i i个词, t t t w m n w_{mn} wmn的术语, n m ( k ) n_m^{(k)} nm(k) n k ( t ) n_k^{(t)} nk(t)是计数统计。

需并联的过程很短暂。我们随机将主题提示符 z z z随机分配给语料库的每个单词 w w w。随后,我们使用公式(10)对主题进行采样,知道吉布斯收敛。主题词共现矩阵是LDA模型的结果。输出是单词词典和主题概率分布。单词的最高概率主题被视为这个单词的主题。

关键词语义多样性的得分是候选词的可能性:
D i v e r s i t y ( w i ) = p ( z i ∣ w i ) Diversity(w_i)=p(z_i|w_i) Diversity(wi)=p(ziwi)
其中 w i w_i wi z i z_i zi分别代表候选主题和 w i w_i wi所属主题。

排名机制

合并三个特征得分,针对覆盖度和位置信息,使用归一化操作:
C i = C o v e r a g e ( w i ) ∑ i = 1 v C o v e r a g e ( w i ) C_i=\frac{Coverage(w_i)}{\sum_{i=1}^vCoverage(w_i)} Ci=i=1vCoverage(wi)Coverage(wi)

P i = P o s i t i o n ( w i ) ∑ i = 1 v P o s i t i o n ( w i ) P_i=\frac{Position(w_i)}{\sum_{i=1}^v Position(w_i)} Pi=i=1vPosition(wi)Position(wi)

w i w_i wi是关键词, C i C_i Ci是归一化的关键词覆盖度得分, v v v是候选词的数量, P i P_i Pi是归一化的位置得分。由于关键词的语义多样性已经归一化处理,所以不需要再次归一化。

结合策略被分成两个部分:

  1. 关键词语义多样性得分和关键词覆盖率得分之间的加权和。
  2. 使用1中的结果和位置得分之间进行加权求和。

两者的权重求和如下式所示:
D i = ( 0.3 ⋅ C i + 0.7 ⋅ D i v e r s i t y ( w i ) ) ⋅ N z i v ∑ i = 1 v ( 0.3 ⋅ C i + 0.7 ⋅ D i v e r s i t y ( w i ) ) ⋅ N z i v D_i=\frac{(0.3 \cdot C_i+0.7 \cdot Diversity(w_i))\cdot \frac{N_{z_i}}{v}}{\sum_{i=1}^v (0.3 \cdot C_i+0.7 \cdot Diversity(w_i))\cdot \frac{N_{z_i}}{v}} Di=i=1v(0.3Ci+0.7Diversity(wi))vNzi(0.3Ci+0.7Diversity(wi))vNzi
N z i N_{z_i} Nzi在相同主题下词的数量, v v v是候选词数。 D i D_i Di是关键词覆盖度和语义多样性的合并得分。

最终再结合位置信息,按照以下公式进行加权得到最后的得分:
S i = 0.16 ⋅ D i ⋅ P i 0.8 ⋅ D i + 0.2 ⋅ P i S_i=\frac{0.16 \cdot D_i \cdot P_i}{0.8 \cdot D_i +0.2 \cdot P_i} Si=0.8Di+0.2Pi0.16DiPi
在这里插入图片描述

图3 TripleRank算法伪代码

TripleRank实验

实验数据集:Knowledge Discovery、Data Mining(KDD)

、World Wide Web Conference(WWW)(参考文献1)、Inspec(参考文献2)

、Document Understanding Conference(DUC)。

表1 各种模型在四个数据集上的实验效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ftB0keRa-1665624416373)(D:\Python\project\weekly_work\2022-10-09_2022-10-15\imgs\image-20221013091716695.png)]

TripleRank总结

TripleRank是一个新的SOTA在无监督关键词抽取任务中,它不像传统图的随机游走迭代更新权重算法,它不需要构建图进行迭代。文章主要提出了三个特征,主要是语义覆盖度、语义多样性、位置信息。分别借鉴了EmbedRank、TopicRank和Position的思想。LDA模型可以去尝试了解一番。

参考文献

  1. S.D. Gollapalli, C. Caragea, Extracting keyphrases from research papers using citation networks, in: Presented at the Twenty-eighth Aaai Conference on Artificial Intelligence, 2014.

  2. A. Hulth, Improved automatic keyword extraction given more linguistic knowledge, in: Proceedings of the 2003 Conference on Empirical Methods in Natural Language Processing, 2003, pp. 216–223.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trouble..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值