Py之textrank4zh:textrank4zh的简介、安装、使用方法之详细攻略
Py之textrank4zh:textrank4zh的簡介、安裝、使用方法之詳細攻略
?
?
?
目錄
textrank4zh的簡介
原理
關鍵詞提取
關鍵短語提取
摘要生成
textrank4zh的安裝
textrank4zh的使用方法
?
?
?
textrank4zh的簡介
? ? ? TextRank算法可以用來從文本中提取關鍵詞和摘要(重要的句子)。TextRank4ZH是針對中文文本的TextRank算法的python算法實現。
?
原理
TextRank的詳細原理請參考:
Mihalcea R, Tarau P. TextRank: Bringing order into texts[C]. Association for Computational Linguistics, 2004.
關于TextRank4ZH的原理和使用介紹:使用TextRank算法為文本生成關鍵字和摘要
?
?
關鍵詞提取
將原文本拆分為句子,在每個句子中過濾掉停用詞(可選),并只保留指定詞性的單詞(可選)。由此可以得到句子的集合和單詞的集合。
每個單詞作為pagerank中的一個節點。設定窗口大小為k,假設一個句子依次由下面的單詞組成:
w1, w2, w3, w4, w5, ..., wnw1, w2, ..., wk、w2, w3, ...,wk+1、w3, w4, ...,wk+2等都是一個窗口。在一個窗口中的任兩個單詞對應的節點之間存在一個無向無權的邊。
基于上面構成圖,可以計算出每個單詞節點的重要性。最重要的若干單詞可以作為關鍵詞。
?
?
關鍵短語提取
參照關鍵詞提取提取出若干關鍵詞。若原文本中存在若干個關鍵詞相鄰的情況,那么這些關鍵詞可以構成一個關鍵詞組。
例如,在一篇介紹支持向量機的文章中,可以找到關鍵詞支持、向量、機,通過關鍵詞組提取,可以得到支持向量機。
?
?
摘要生成
將每個句子看成圖中的一個節點,若兩個句子之間有相似性,認為對應的兩個節點之間有一個無向有權邊,權值是相似度。
通過pagerank算法計算得到的重要性最高的若干句子可以當作摘要。
?
?
textrank4zh的安裝
pip install textrank4zh==0.3
pip install textrank4zh
?
?
textrank4zh的使用方法
1、測試
#-*- encoding:utf-8 -*- from __future__ import print_functionimport sys try:reload(sys)sys.setdefaultencoding('utf-8') except:passimport codecs from textrank4zh import TextRank4Keyword, TextRank4Sentencetext = codecs.open('../test/doc/01.txt', 'r', 'utf-8').read() tr4w = TextRank4Keyword()tr4w.analyze(text=text, lower=True, window=2) # py2中text必須是utf8編碼的str或者unicode對象,py3中必須是utf8編碼的bytes或者str對象print( '關鍵詞:' ) for item in tr4w.get_keywords(20, word_min_len=1):print(item.word, item.weight)print() print( '關鍵短語:' ) for phrase in tr4w.get_keyphrases(keywords_num=20, min_occur_num= 2):print(phrase)tr4s = TextRank4Sentence() tr4s.analyze(text=text, lower=True, source = 'all_filters')print() print( '摘要:' ) for item in tr4s.get_key_sentences(num=3):print(item.index, item.weight, item.sentence) # index是語句在文本中位置,weight是權重?
?
?
?
?
總結
以上是生活随笔為你收集整理的Py之textrank4zh:textrank4zh的简介、安装、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成功解决UnicodeDecodeErr
- 下一篇: 成功解决UnicodeDecodeErr