NLP

Python TextRank4ZH 应用TextRank算法提

2019-08-25  本文已影响0人  YUENFUNGDATA

关键词提取有很多种方法,目前比较常用的两种方法,一种是TFIDF算法,一种是TextRank算法。

本文此次采用的是TextRank算法。TextRank算法是一种文本排序算法,由网页重要性排序算法PageRank算法改进而来,它能够从一个给定的文本中提取出该文本的关键词、关键词组,并使用抽取式的自动文摘方法提取出该文本的关键句。

本文将基于TextRank算法提取中文文本的关键词、关键词组、关键句。

其中主要运用到的是TextRank4ZH模块,TextRank4ZH是针对中文文本的TextRank算法的Python算法实现。

1、准备工作

(1)安装TextRank4ZH模块

pip install textrank4zh
(2)准备需要分析的文本

以上文本保存命名为 test.txt ,编码格式选择 ANSI 。

2、实践代码

(1)提取关键词

代码如下:

from textrank4zh import TextRank4Keyword, TextRank4Sentence      #导入textrank4zh模块

with open('C:\\Users\\DRF\\Desktop\\test.txt','r') as fileread:  #打开读取test.txt
    test_text = fileread.read()                                  #文本内容保存在变量test_text中

tr4w = TextRank4Keyword()
tr4w.analyze(text=test_text, lower=True, window=2)               #文本小写,窗口为2

for item in tr4w.get_keywords(20, word_min_len=1):               #20个关键词且每个的长度最小为1
    print(item.word, item.weight)
运行结果:

(2)提取关键词组

代码如下:

from textrank4zh import TextRank4Keyword, TextRank4Sentence      #导入textrank4zh模块

with open('C:\\Users\\DRF\\Desktop\\test.txt','r') as fileread:  #打开读取test.txt
    test_text = fileread.read()                                  #文本内容保存在变量test_text中

tr4w = TextRank4Keyword()
tr4w.analyze(text=test_text, lower=True, window=2)               #文本分析,文本小写,窗口为2

for phrase in tr4w.get_keyphrases(keywords_num=20, min_occur_num=2):  #20个关键词组,词组在原文中出现次数最少为2
    print(phrase)
运行结果:

(3)提取关键句

代码如下:

from textrank4zh import TextRank4Keyword, TextRank4Sentence      #导入textrank4zh模块

with open('C:\\Users\\DRF\\Desktop\\test.txt','r') as fileread:  #打开读取test.txt
    test_text = fileread.read()                                  #文本内容保存在变量test_text中

tr4s = TextRank4Sentence()
tr4s.analyze(text=test_text, lower=True, source = 'all_filters') #文本小写,使用words_all_filters生成句子之间的相似性

for item in tr4s.get_key_sentences(num=3):                       #num=3表示为提取3个关键句
    print(item.index, item.weight, item.sentence)                #index是语句在文本中索引位置,weight是权重系数
运行结果:

参考文献:https://github.com/letiantian/TextRank4ZH

上一篇 下一篇

猜你喜欢

热点阅读