使用textrank演算法為文字生成關鍵字和摘要
textrank演算法基於pagerank,用於為文字生成關鍵字和摘要。其**是:
mihalcea r, tarau p. textrank: bringing order into texts[c]. association for computational linguistics, 2004.
pagerank最開始用來計算網頁的重要性。整個www可以看作一張有向圖圖,節點是網頁。如果網頁a存在到網頁b的鏈結,那麼有一條從網頁a指向網頁b的有向邊。
構造完圖後,使用下面的公式: s(
vi)=
(1−d
)+d∗
∑j∈i
n(vi
)1∣o
ut(v
j)∣s
(vj)
s(vi)
是網頁i的重要性(pr值)。d是阻尼係數,一般設定為0.85。in
(vi)
是存在指向網頁i的鏈結的網頁集合。ou
t(vj
) 是網頁j中的鏈結存在的鏈結指向的網頁集合。mi
dout
(vj)
∣ 是集合中元素的個數。
pagerank需要使用上面的公式多次迭代才能得到結果。初始時,可以設定每個網頁的重要性為1。上面公式等號左邊計算的結果是迭代後網頁i的pr值,等號右邊用到的pr值全是迭代前的。
舉個例子:
vi)=
(1−d
)+d∗
∑j∈i
n(vi
)1∣o
ut(v
j)∣s
(vj)
每個單詞作為pagerank中的乙個節點。設定視窗大小為kk,假設乙個句子依次由下面的單詞組成:
w1,w2,w3,w4,w5,…,wnw1,w2,w3,w4,w5,…,wn
[w1,w2,…,wkw1,w2,…,wk]、[w2,w3,…,wk+1w2,w3,…,wk+1]、[w3,w4,…,wk+2w3,w4,…,wk+2]等都是乙個視窗。在乙個視窗中的任兩個單詞對應的節點之間存在乙個無向無權的邊。
將每個句子看成圖中的乙個節點,若兩個句子之間有相似性,認為對應的兩個節點之間有乙個無向有權邊,權值是相似度。
通過pagerank演算法計算得到的重要性最高的若干句子可以當作摘要。
**中使用下面的公式計算兩個句子si和sj的相似度:si
mila
rity
(si,
sj)=
∣wk∣
wk∈s
i⋂wk
∈sj∣
log(∣s
i∣)+
log(∣s
j∣)
s(vi
)=(1
−d)+
d∗∑j
∈in(
vi)1
∣out
(vj)
∣s(v
j)這個方法不好,改為余弦相似性。
分子是在兩個句子中都出現的單詞的數量。|si|是句子i的單詞數。
由於是有權圖,這裡相似度作為兩條邊的權值,pagerank公式略做修改: ws
(vi)
=(1−
d)+d
∗∑vj
∈in(
vi)w
ji∑v
k∈ou
t(v)
jwjk
ws(v
j)
使用TextRank演算法為文字生成關鍵字和摘要
textrank演算法基於pagerank,用於為文字生成關鍵字和摘要。其 是 mihalcea r,tarau p.textrank bringing order into texts c association for computational linguistics,2004.先從pager...
hanlp關鍵詞提取演算法TextRank
長句子 string content 程式設計師 英文programmer 是從事程式開發 維護的專業人員。一般將程式設計師分為程式設計人員和程式編碼人員,但兩者的界限並不非常清楚,特別是在中國。軟體從業人員分為初級程式設計師 高階程式設計師 系統 分析員和專案經理四大類。把content 通過乙個...
基於TextRank的關鍵詞提取演算法
pagerank是用來計算網頁重要性的,將每乙個網頁看作乙個節點,將網頁之間的鏈結看作是節點之間的有向邊,網頁的重要性取決於鏈結到它的網頁數量以及這些網頁的重要性。衡量網頁重要性的公式說明如下 什麼是共現關係呢?將文字進行分詞,去除停用詞或詞性篩選等之後,設定視窗長度為k,即最多只能出現k個詞,進行...