基本信息
先放出论文: TextRank论文 以及 PageRank论文
TextRank
由 Rada Mihalcea
和 Paul Tarau
基于谷歌的排序方法 PageRank
所提出。其中主要思想与PageRank
相似,在文本中,使用词、短语、句子
等基本元素(文中的 text unit
)来作为图的 顶点
(文中的vertices
),使用这些元素的关系来作为边
(edge
)的构造条件,将一篇文章构成一个图
(Graph
),从而根据图中的各个顶点和各个边来研究基本元素之间的关系。
无向图(Undirected Graphs)
文中说传统的图算法一般都是有向图,但是在实际运用中也可以使用无向图,并给出了图1
(Figure1
),说明无向图相比来说收敛得更快。
加权图(Weighted Graphs)
因为在网页浏览中,一般一篇文章没有几个链接去指向其他的链接,所以一般不使用加权图。但是在文本之间,各个基本元素之间,可能会存在不同词之间建立强联系,所以可以使用加权图来构建。定义权重的计算公式为:
W
S
(
V
i
)
=
(
1
−
d
)
+
d
×
∑
V
j
∈
I
n
(
V
i
)
w
j
i
∑
V
k
∈
O
u
t
(
V
j
)
w
j
k
W
S
(
V
j
)
WS(V_i)=(1-d)+d \times \sum_{V_j \in In(V_i)} \frac{w_{ji}}{\sum_{V_k \in Out(V_j)}w_{jk}} WS(V_j)
WS(Vi)=(1−d)+d×Vj∈In(Vi)∑∑Vk∈Out(Vj)wjkwjiWS(Vj)
其中
d
d
d 表示阻尼系数,代表一个结点随机跳转到另一个结点的概率,在0~1之间,通常为0.85;
用图表示文本
可选的基本元素有很多,都可以作为顶点,如:词,常见的短语搭配,句子之类的
;同时可以作为边的元素也很多,比如:词之间的情感关联,语义交叉等
。不考虑以上的顶点和边,构建一个图来表示文本的基本思路如下:
- 根据手上的数据集,要解决的问题,来定义使用什么元素(
text units
)来作为图的顶点,将顶点全部放到图中去。 - 定义一种方式来连接顶点的边,可以是有向的,也可以是无向的,可以是加权的,也可以是不加权的。
- 迭代基于图的排序算法,直至收敛。
- 提取出得到的关键元素,然后就可以用了!
其中第一步主要是根据任务和数据,选出合适的表示元素;第二步主要是建立一个评估方法,评判怎么来构建两个基本元素的关系,从而来建立这条边。
具体内容
顶点和边
文中说选取词作为图的顶点,然后使用滑动窗口,在滑动窗口内找出共现的词(co-occurrence)作为边的构造条件。
过滤文本
使用一个句法过滤器,根据具体的需求过滤一些没用的基本元素。如去停用词,去形容词,去名词等。
以句子作为顶点
在以句子作为顶点的时候,边的确立不能再用共现关系了,因为基本句子之间不可能共现了,文中说使用句子之间的相关性来建立顶点之间的边。