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, ..., wn

w1, w2, ..., wkw2, w3, ...,wk+1w3, 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的简介、安装、使用方法之详细攻略相关推荐

  1. Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略

    Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介.使用方法之详细攻略 目录 matplotlib.pyplot的plt.legend函数的简 ...

  2. Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介、使用方法之详细攻略

    Py之glob: glob库文件名模式匹配+返回所有匹配的文件路径列表库的简介.使用方法之详细攻略 目录 glob库的简介 glob库的使用方法 1.单个字符通配符:用问号(?)匹配任何单个的字符.

  3. Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn中的RobustScaler 函数的简介及使用方法之详细攻略 目录 sklearn中的RobustScaler 函数的简介及使用方法 sklearn中的R ...

  4. sklearn之XGBModel:XGBModel之feature_importances_、plot_importance的简介、使用方法之详细攻略

    sklearn之XGBModel:XGBModel之feature_importances_.plot_importance的简介.使用方法之详细攻略 目录 feature_importances_ ...

  5. Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略

    Python语言学习:Python常用自带库(imageio.pickle)简介.使用方法之详细攻略 目录 imageio简介及其常见使用方法 pickle简介及其常见使用方法 简介 使用方法 简介及 ...

  6. sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform、transform、inverse_transform简介、使用方法之详细攻略

    sklearn:sklearn.preprocessing.StandardScaler函数的fit_transform.transform.inverse_transform简介.使用方法之详细攻略 ...

  7. Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ、负载均衡、F5、Nginx、容器)的简介、使用方法之详细攻略

    Computer:互联网开放平台项目知识补充之开发-运维-网络-网关等术语(DMZ.负载均衡.F5.Nginx.容器)的简介.使用方法之详细攻略 目录 DMZ(隔离区)的简介及其使用方法 1.DMZ区 ...

  8. Python编程语言学习:包导入和模块搜索路径简介、使用方法之详细攻略

    Python编程语言学习:包导入和模块搜索路径简介.使用方法之详细攻略 目录 包导入和模块搜索路径简介 1.Pyhon搜索模块路径的机制 2.自定义配置搜索路径

  9. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  10. Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn中的train_test_split函数的简介及使用方法之详细攻略 目录 sklearn中的train_test_split函数的简介 train_tes ...

最新文章

  1. php 获取用户的IP、地址、来源
  2. Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和
  3. oracle dbms_crypto,Oracle的dbms_obfuscation_toolkit加密解密数据
  4. GitHub开源项目 - Jeecg-Boot开始开发平台介绍
  5. Oracle修改SID(实例名)
  6. (98)FPGA localparam 与parameter区别?
  7. rgb颜色查询工具_《我的眼睛–图灵识别》第三章:基础:颜色识别
  8. wireshark(2)- ethernet工具 xcap wireshark tcpdump
  9. matlab转置的问题
  10. 获取用户手机号码解析失败,微信小程序授权登录获取token步骤
  11. SAP ABAP BAPI_MATERIAL_AVAILABILITY 查询可用库存
  12. 一篇文章理清产品、运营、营销之间的概念和关系
  13. 如何去除Html中超链接默认下划线
  14. GC overhead limt exceed 导致的java进程假死
  15. Exchange邮箱的创建和配置
  16. 使用WinDbg Preview解决Win10系统蓝屏问题
  17. 阿里柏羲带你读tomcat源码
  18. 这本武林秘籍赶快收好
  19. OA协同办公系统初始化设置
  20. 美团面试题:Hashmap的结构,1.7和1.8有哪些区别,史上最深入的分析

热门文章

  1. unity服务器文件传输,Unity 3D简单C#文件发送到FPT服务器示例脚本?
  2. linux 关闭密码复杂化,Linux系统设置复杂密码策略方法
  3. warning: implicit declaration of function导致core
  4. 分享云及人工智能的一些学习资源和学习心得
  5. python监控单台多实例数据库服务器的数据库端口
  6. XV6700刷evdo详细教程
  7. 基于ArcGIS API for JavaScript加载天地图
  8. ArcGIS中QueryTask,FindTask,IndentifyTask 之间的区别
  9. CentOS7安装VMware Tools
  10. 功能自动化测试工具列表大全