摘要提取算法——本质上就是pagerank,选择rank最高的句子作为摘要,如果结合word2vec应该有非常好的效果
2024-08-30 23:56:16
最近需要做一些文本摘要的东西,选取了TextRank(论文参见《TextRank: Bringing Order into Texts》)作为对比方案,该方案可以很方便的使用Python相关库进行实现。
下面介绍如何利用Python实现一个简单的文本摘要工具。
Demo
【前期准备】:
- Python 2.7.x - 当然也推荐Python3,少掉很多编码问题。信仰选2!
- jieba分词 - 最好的python中文分词工具(最新清华出了个THULAC,有兴趣的可以试试,看对比效果似乎更好)
- networkx - 一个非常棒的复杂网络工具库
【背景知识】
利用Textrank做文本摘要的核心思想很简单,和著名的网页排名算法PageRank类似:每个句子可以作为一个网络中的节点(称为节点i
),与之相连的其他节点(例如节点j
)会对其重要度
产生一定的“贡献值”,该“贡献值”与节点j
自身的重要度
以及i、j之间的相似度
(也可以称为连接的强度)有关,只需要对整个图进行迭代直至收敛,最后各节点的分值即是该句子的重要性,根据重要性排序后选取前k个句子即可作为摘要。
xxxxx
摘自:http://jayveehe.github.io/2016/05/11/da_textrank/
英文的在线提取见:http://textsummarization.net/text-summarizer
最新文章
- leetcode-【中等题】3. Longest Substring Without Repeating Characters
- 解决MVC中JSON字符长度超出限制的异常
- Android Studio使用第三方类库
- bzoj 2659: [Beijing wc2012]算不出的算式
- 用get方式提交请求的url带有中文参数
- Java实现数组按数值大小排序
- c#部分---结构体再利用;
- JAVA_Reflection
- Jcrop 做图片剪裁 在IE中无法显示问题解决办法
- C++字符串(1)
- nginx 生成 缩略图 and 生成缩略图到硬盘
- eclipse禁用svg文件Validation
- 概率分布之间的距离度量以及python实现(四)
- SpringMVC框架学习笔记(6)——拦截器
- 网络流 P2770 航空路线问题
- redis整合Spring集群搭建及业务中的使用
- mysql的 深度使用 - 游标 , 定时器, 触发器 的使用 ?
- Java嵌入式数据库H2学习总结(二)——在Web应用程序中使用H2数据库
- 使用anaconda安装tensorflow (windows10环境)
- 003--MySQL 数据库事务