.....
98
1.4595
0.7703
0.7703
99
1.4595
0.7703
0.7703
100
1.4595
0.7703
0.7703</pre>依然能判斷出A、B、C的重要性。 <br />
使用TextRank提取關鍵字
將原文本拆分為句子,在每個句子中過濾掉停用詞(可選),并只保留指定詞性的單詞(可選)。由此可以得到句子的集合和單詞的集合。
每個單詞作為pagerank中的一個節點。設定窗口大小為k,假設一個句子依次由下面的單詞組成:
w1, w2, w3, w4, w5, ..., wn
w1, w2, ..., wk、w2, w3, ...,wk+1、w3, w4, ...,wk+2等都是一個窗口。在一個窗口中的任兩個單詞對應的節點之間存在一個無向無權的邊。
基于上面構成圖,可以計算出每個單詞節點的重要性。最重要的若干單詞可以作為關鍵詞。
使用TextRank提取關鍵短語
參照“使用TextRank提取關鍵詞”提取出若干關鍵詞。若原文本中存在若干個關鍵詞相鄰的情況,那么這些關鍵詞可以構成一個關鍵短語。
例如,在一篇介紹“支持向量機”的文章中,可以找到三個關鍵詞支持、向量、機,通過關鍵短語提取,可以得到支持向量機。
使用TextRank提取摘要
將每個句子看成圖中的一個節點,若兩個句子之間有相似性,認為對應的兩個節點之間有一個無向有權邊,權值是相似度。
通過pagerank算法計算得到的重要性最高的若干句子可以當作摘要。
論文中使用下面的公式計算兩個句子Si和Sj的相似度:

分子是在兩個句子中都出現的單詞的數量。|Si|是句子i的單詞數。
由于是有權圖,PageRank公式略做修改:
實現TextRank
因為要用測試多種情況,所以自己實現了一個基于Python 2.7的TextRank針對中文文本的庫TextRank4ZH。位于:
https://github.com/someus/TextRank4ZH
下面是一個例子:
#-- encoding:utf-8 --
import codecs
from textrank4zh import TextRank4Keyword, TextRank4Sentence
text = codecs.open('./text/01.txt', 'r', 'utf-8').read()
tr4w = TextRank4Keyword(stop_words_file='./stopword.data') # 導入停止詞
使用詞性過濾,文本小寫,窗口為2
tr4w.train(text=text, speech_tag_filter=True, lower=True, window=2)
print '關鍵詞:'
20個關鍵詞且每個的長度最小為1
print '/'.join(tr4w.get_keywords(20, word_min_len=1))
print '關鍵短語:'
20個關鍵詞去構造短語,短語在原文本中出現次數最少為2
print '/'.join(tr4w.get_keyphrases(keywords_num=20, min_occur_num= 2))
tr4s = TextRank4Sentence(stop_words_file='./stopword.data')
使用詞性過濾,文本小寫,使用words_all_filters生成句子之間的相似性
tr4s.train(text=text, speech_tag_filter=True, lower=True, source = 'all_filters')
print '摘要:'
print '\n'.join(tr4s.get_key_sentences(num=3)) # 重要性最高的三個句子</pre>
運行結果如下:
關鍵詞:
媒體/高圓圓/微/賓客/趙又廷/答謝/謝娜/現身/記者/新人/北京/博/展示/捧場/禮物/張杰/當晚/戴/酒店/外套
關鍵短語:
微博
摘要:
中新網北京12月1日電(記者 張曦) 30日晚,高圓圓和趙又廷在京舉行答謝宴,諸多明星現身捧場,其中包括張杰(微博)、謝娜(微博)夫婦、何炅(微博)、蔡康永(微博)、徐克、張凱麗、黃軒(微博)等
高圓圓身穿粉色外套,看到大批記者在場露出嬌羞神色,趙又廷則戴著鴨舌帽,十分淡定,兩人快步走進電梯,未接受媒體采訪
記者了解到,出席高圓圓、趙又廷答謝宴的賓客近百人,其中不少都是女方的高中同學
另外, jieba分詞提供的基于TextRank的關鍵詞提取工具。 snownlp也實現了關鍵詞提取和摘要生成。
來自:http://my.oschina.net/letiantian/blog/351154
本文由用戶
gwxd 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
sesese色