SGRank
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。
表1 多種關鍵詞提取算法結果比較SGRank總結
SGRank是一種無監督的關鍵短語提取算法,該算法結合了統計和基于圖形的啟發式方法,能夠在多個數據集上改進具有統計意義的現有技術。在其他特征中,SGRank使用了一種新的包容啟發式變化。我們還證明了對數衰減函數在數學上表示基于短語距離的啟發式算法的適用性,例如第一次出現的位置和基于短語出現的平均距離的圖邊加權。SGRank另一種方式是作為項加權方案。因此,一個有趣的未來方向將是研究在信息檢索、文檔聚類和監督算法等領域取代傳統的術語加權方案(如tf-idf)是否會導致性能的任何改進。
總結
- 上一篇: 教育管理系统
- 下一篇: CentOS7 无法使用yum命令,无法