SGRank: Combining Statistical and Graphical Methods to Improve the State of the Art in Unsupervised Keyphrase Extraction
SGRank简介
SGRank是2015年提出来的无监督关键词抽取算法。无监督关键词抽取主要可以分成两个类别:一类是基于统计的方法;一类是基于图的方法。这次由此提出了一种混合统计-图的新算法,来实现无监督关键词抽取的最佳效果。
SGRank思想
SGRank算法主要的改进在于:1、基于最优统计特征构建关键字抽取算法;2、将其与基于图的算法相结合来进一步改进。基于图的方法考虑了词的共现关系,n元语法规则。
TF和IDF都是启发式信息。
SGRank实现
1、从输入文本中提取所有可能的Ngram,并排除那些极不可能是关键短语的,例如包含标点符号的n-gram。
2、基于tf idf的修改版本对剩余的n-GRAM进行排序。
3、基于附加的统计启发式(例如第一次出现的位置和术语长度)对来自第二阶段的排名靠前的候选项进行重新排序。
4、将阶段三中产生的排名合并到基于图的算法中,该算法产生关键短语候选的最终排名。
其中第三步附加的统计启发式包含词第一次出现的位置,词越早出现在文档中,越可能是关键词:
P
F
O
(
t
,
d
)
=
l
o
g
(
c
u
t
o
f
f
P
o
s
i
t
i
o
n
p
(
t
,
d
)
)
PFO(t,d)=log(\frac{cutoffPosition}{p(t,d)})
PFO(t,d)=log(p(t,d)cutoffPosition)
其中
p
(
t
,
d
)
p(t,d)
p(t,d)表示词
t
t
t第一次出现在文档
d
d
d中的位置;
c
u
t
o
f
f
P
o
s
i
t
i
o
n
cutoffPosition
cutoffPosition被默认设置为3000。
还考虑了候选关键字的长度,候选关键词长度越长,越有可能是关键词:使用 T L ( t ) TL(t) TL(t)来进行表示候选关键字的长度。
最终形成一个新的公式,对筛选出的候选关键词进行排序:
w
s
(
t
,
d
)
=
(
t
f
(
t
,
d
)
−
s
u
b
S
u
m
C
o
u
n
t
(
t
,
d
)
∗
i
d
f
(
t
)
∗
P
F
O
(
t
,
d
)
∗
T
L
(
t
)
)
w_s(t,d)=(tf(t,d)-subSumCount(t,d)*idf(t)*PFO(t,d)*TL(t))
ws(t,d)=(tf(t,d)−subSumCount(t,d)∗idf(t)∗PFO(t,d)∗TL(t))
其中
s
u
b
S
u
m
C
o
u
n
t
(
t
,
d
)
subSumCount(t,d)
subSumCount(t,d)是在所有候选关键词
T
T
T中包含词
t
t
t的频率之和。
w
d
(
t
i
,
t
j
)
=
∑
i
=
1
t
f
(
t
i
)
∑
j
=
1
t
f
(
t
j
)
l
o
g
(
w
i
n
S
i
z
e
∣
p
o
s
i
−
p
o
s
j
∣
)
n
u
m
C
o
−
o
c
c
u
r
r
e
n
c
e
s
(
t
i
,
t
j
)
w_d(t_i,t_j)=\frac{\sum_{i=1}^{tf(t_i)} \sum_{j=1}^{tf(t_j)} log(\frac{winSize}{|pos_i-pos_j|})}{numCo-occurrences(t_i,t_j)}
wd(ti,tj)=numCo−occurrences(ti,tj)∑i=1tf(ti)∑j=1tf(tj)log(∣posi−posj∣winSize)
其中
w
i
n
S
i
z
e
winSize
winSize是共现窗口的大小,通常被设置1500;
p
o
s
i
pos_i
posi和
p
o
s
j
pos_j
posj是词
t
i
t_i
ti和
t
j
t_j
tj的各自出现位置;
n
u
m
C
o
−
o
c
c
u
r
r
e
n
c
e
s
(
t
i
,
t
j
)
numCo-occurrences(t_i,t_j)
numCo−occurrences(ti,tj)表示的是在1500窗口内,两个词共现的数量。
考虑到高统计特征词之间的交互概率应该高于低统计特征词之间的交互概率,所以词之间的连边权重将按照以下公式进行定义:
w
e
(
t
i
,
t
j
)
=
w
d
(
t
i
,
t
j
)
∗
w
s
(
t
i
)
∗
w
s
(
t
j
)
w_e(t_i,t_j)=w_d(t_i,t_j)*w_s(t_i)*w_s(t_j)
we(ti,tj)=wd(ti,tj)∗ws(ti)∗ws(tj)
w
d
w_d
wd将作为词
t
i
t_i
ti和
t
j
t_j
tj之间的权重被添加到词的统计特征中来。
最终图的迭代公式如下,因为会对每个节点的输出权重进行归一化,所以和PageRank的原始公式存在一定的差距:
S
(
V
i
)
=
(
1
−
d
)
+
d
∗
∑
j
∈
I
n
(
V
i
)
w
e
(
j
,
i
)
∗
S
(
V
i
)
∑
k
∈
O
u
t
(
V
j
)
w
e
(
j
,
k
)
S(V_i)=(1-d)+d* \sum_{j \in In(V_i)} \frac{w_e(j,i)*S(V_i)}{\sum_{k \in Out(V_j)} w_e(j,k)}
S(Vi)=(1−d)+d∗j∈In(Vi)∑∑k∈Out(Vj)we(j,k)we(j,i)∗S(Vi)
SGRank算法结果
数据集:Semeval 2010,Inspec、Krapivin。
模型:SGRank、KP-Miner、TextRank。
SGRank总结
SGRank是一种无监督的关键短语提取算法,该算法结合了统计和基于图形的启发式方法,能够在多个数据集上改进具有统计意义的现有技术。在其他特征中,SGRank使用了一种新的包容启发式变化。我们还证明了对数衰减函数在数学上表示基于短语距离的启发式算法的适用性,例如第一次出现的位置和基于短语出现的平均距离的图边加权。SGRank另一种方式是作为项加权方案。因此,一个有趣的未来方向将是研究在信息检索、文档聚类和监督算法等领域取代传统的术语加权方案(如tf-idf)是否会导致性能的任何改进。