python 全文搜索 句子_python新玩法:用python进行文章摘要拿取,只需要一行代码

b7cad2fd36f06f301cf3b233e108ea3d.png

前言

今天为大家介绍一个python算法TextRank,实现从长篇中快速抽取精准摘要。

TextRank是一种基于图形的文本处理排序算法。PageRank通常用作其底层的图排序模型。当然,其他的图排序模型也可以与之结合。

TextRank算法不需要深入的语言和专业知识,因为它是一种无监督算法。在文本中使用基于图形的排序算法,需要构造一个图形来表达文本、单词和其他实体。

在汉语中,单词、短语、句子等可以作为图中的顶点。通过建立这些顶点之间的关系,如词序关系、语义关系、内容相似性等,可以构造出一个合适的图。

目前,TextRank在中文文本中的应用主要有三个方向,分别是:

1)关键词提取;

2)关键短语提取;

3)自动摘要。

Python中有一个名为textrank4zh的包,它实现了这三个函数。其源地址为:

实现了良好的文本处理效果。

效果预览

近日,Tushare Pro发布了近10年来央视新闻播出数据,对数据进行了清理和规范。

然而,每天新闻广播中有成千上万的单词,很难完全读懂。如果我们使用自动摘要技术将成千上万的单词浓缩成10个句子,阅读的负担就会减轻。自动汇总是TextRank的切入点。

在实现这个功能之前,让我们先来看看从新闻中提取的抽象效果。

38db0b02d5ebd4c1689acb393a2c5a65.png

32cf7ad6c39dc87aba164ac54c89287b.png
扣扣 :13465+25417

多亏了Tushare的新闻广播标准文本,TextRank的自动摘要看起来非常好。

为什么TextRank这么好用?这主要是因为图排序模型是基于全局信息来计算每个顶点的重要性,而不是仅仅使用局部信息。下面简要介绍TextRank应用于自动摘要的基本原理。

基本原理

如前所述,使用TextRank分析文本首先需要在文本上构建一个图表。

对于文本自动摘要的任务,我们使用句子作为图的顶点,句子之间的关系作为图的边。我们需要评估句子之间的相似性。每个句子只与最相似的句子连接,并使用相似度作为边的权重。

事实上,这两句话是相似的,所以可以认为这两句话之间有一种“推荐”关系,也就是说,在读者阅读了这句话之后,这句话推荐读者阅读与之相似的句子。

评价两个句子相似度的方法有很多,如余弦相似度、编辑距离等。TextRank算法使用的是最基本的方法。相似度可以通过计算两个句子中相同单词的数量来计算。此外,还可以添加语法过滤器来过滤单词。

通过确定图的顶点和边以及边的权值,得到了一个加权图,加权图的形状如图1所示。接下来,可以使用PageRank迭代计算每个顶点(句子)的重要性。最后,将最重要的N个句子作为全文的总结,这是TextRank的自动总结结果。

b646c745d835a6081cafdb9830b8b6ce.png

代码实现

因为textrank4zh已经实现了TextRank的功能,我们可以直接使用它,而且使用非常简单。

a1746194363ad35da6ef44bee43817e2.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django小项目简单BBS论坛

开发一个简单的BBS论坛项目需求:1 整体参考“抽屉新热榜” + “虎嗅网” 2 实现不同论坛版块 3 帖子列表展示 4 帖子评论数、点赞数展示 5 在线用户展示 6 允许登录用户发贴、评论、点赞 7 允许上传文件 8 帖子可被置顶 9 可进行多级评论知识必备&#x…

时间转年月日_编程中常见的时间格式

时间格式前端和后端时经常会遇到各种各样的时间格式,这些格式在编写程序的时候都需要去使用不同的处理方式,这里集中写一下。先说一下各种不同的时间格式。类型名格式说明ISO 8601一般:2020-12-05T05:33:19Z 东八区:2004-05-03T17…

外星人台式机无盘服务器,可以拎走的“台式机” Alienware Area-51m评测

Alienware外星人这个品牌曾经一度是游戏笔记本领域的执牛耳者,自从1996年创立以来,品牌宗旨就是提供最强的PC性能,最有个性的设计和最好的服务。凭借着强悍的配置、创新的黑科技和酷炫的灯效,其一度是业内高端和高品质的代名词。但…

法流程图_世界五大学习方法之西蒙学习法

世界五大学习方法之西蒙学习法摘要:西蒙学习法为6个月可以掌握任何一门学问,它的本质是广义动量定理。广义动量定理通过调整力量、方向、作用点和时间来增加成果。西蒙学习法使用了降低问题难度方法中的一种:拆分。本节分为四个部分&#xff…

生成word_Word如何生成目录?3个步骤轻松掌握!

在使用Word编写长篇文档时,我们经常会给内容生成一个目录,有了目录,无论是阅读还是查找内容,都非常方便。Word生成目录是一项核心功能,这是每个使用Word的人,必须要掌握的一项技巧。如果你还不会这项技巧&a…

启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

内网穿透工具 FRP 公网服务端、内网客户端 frps.ini 、frpc.ini 配置文件常用设置展示及说明公网服务端 frps.ini 配置文件常用设置公网服务端配置文件:frps.ini[common]bind_port 7000# vhost_http_port 参数来设置 HTTP 访问端口,此处示例&#xff1a…

设置dns_2019让你的网速飞起来,你需要……设置正确DNS服务篇

有时候上网明明网络连接正常,但网页访问却很慢?平时会不会经常听到一些老司机说,网络很慢啊可以修改一下DNS啊!什么是DNS?又为什么会对网速产生影响呢?跟着小编的教程一起来学习一下吧~PART 1 什么是DNS&am…

5 随窗口改变大小_C4D默认界面两个关于坐标轴的窗口有什么区别

前言在一开始学习C4D的时候,就有这个疑问,为什么明明物体的属性都有了一个坐标属性的窗口了,还要有一个和坐标相关的窗口在默认的界面呢,后边在使用的过程中才慢慢理解了额外的坐标管理器窗口的作用,这一篇文章我们来看…

MySQL数据查询新人须知

MySQL 是一个开放源码的小型关系型数据库管理系统。 针对不同的用户,MySQL 一共分为两个不同的版本: MySQL Community Server(社区版服务器)。 MySQL Enterprise Server(企业版服务器)。 目前 Internet …

(硬 核)Navicat for MySQL 介 绍( 入 门 须 知 )

Navicat for MySQL 是一款流行的 MySQL 图形化管理工具以下是 Navicat for MySQL 工作界面使用 Navicat for MySQL 连接 MySQL 服务器鼠标左键单击“连接”按钮,出现“新建连接”窗口。分别输入连接名、MySQL 服务器主机地址、服务 端口号、用户名和密码&#xff0c…

小明一家过桥_【练习】用python解决小明一家过桥问题

import randomlist1[] #存放所有遍历的结果#等待过桥的人员bridge1{小明:1,弟弟:3,爸爸:6,妈妈:8,爷爷:12}#过桥后的人员bridge2{}#判断未过桥的人是否空了(全部过完后,程序停止,看总共用了多长时间)len1len(bridge1)print(len1)#while True:print(初始情…

WGZX:javaScript 学习心得--1

标签: javascriptiframedreamweaver浏览器htmltable2008-09-11 10:50 1071人阅读 评论(0) 收藏 举报分类:UI(21) 1,document.getElementById方法只能获取到一个对象,即使有多个同名的对象,也只取…

PHP----练习-----新闻管理----增删改查

练习-----新闻管理 题目要求如下&#xff1a; 做法&#xff1a; 【1】建数据库 【2】封装类文件--------DBDA.class.php 1 <?php2 class DBDA3 {4 public $fuwuqi"localhost"; //服务器地址5 public $yonghuming"root";//用户名6 public …

mysql query cache 关闭_为什么要关闭MySQL query cache-Fun言

MySQL的query cache大部分情况下其实只是鸡肋而已&#xff0c;建议全面禁用。当然了&#xff0c;或许在你的场景下还是挺好的&#xff0c;还能发挥作用&#xff0c;那就继续使用吧&#xff0c;把本文当做参考就好。不过&#xff0c;可能有的人人为只需要把 query_cache_size 大…

Java 基础之java运算符

运算符&#xff0c;顾名思义就是用于计算的符号。按功能分为&#xff1a;赋值运算符、算术运算符、关系运算符和逻辑运算符按操作数的个数分类&#xff1a;单目运算符、双目运算符、三目运算符运算符的目&#xff1a;运算符能连接操作数的个数称为运算符的目运算符的优先级&…

直流电机调速仿真作业

本次调速仿真采用PID调节。首先要确定PID中的各项设计参数&#xff0c;仿真过程中采用临界比例度法确定了大概的Kp值。在若干次调整的过程中&#xff0c;发现加入微分环节后调整时间略有上升&#xff0c;故采用PI调节。调整参数确定为Kp75,Ki22。控制器部分的程序如下图所示。原…

Java运算符优先级和表达式及数据类型转换

计算机程序在处理数据时会进行大量的计算&#xff0c;而数据的运算则需要借助运算符和表达式来完成。表达式是指由操作数和运算符组成的用于完成某种运算功能的语句子表达式Y X * ( Z 10 ) 表达式 其中Y、X、Z、10 称为操作数&#xff0c;、*、 称为运算符。 在…

Bugtags 2016-06-16 更新内容

增加版本管理功能 随着版本的增多&#xff0c;有些历史的版本不再使用&#xff0c;可将这些版本隐藏起来。操作步骤如下&#xff1a;点击设置 - 版本管理&#xff08;管理员可见&#xff09;- 取消勾选需要隐藏的版本即可。隐藏版本后&#xff0c;版本筛选中将不会显示&#xf…

直通车运营系统优化之账户结构设置

国庆期间&#xff0c;小2哥我好好的享受了好几天的日子&#xff0c;说实话&#xff0c;自从做了淘宝&#xff0c;就很少像这期间一样好好的享受了这段日子 。做淘宝有时候真的很苦逼&#xff0c;每天的工作时间比一个打工的还长&#xff0c;熬夜到凌晨才睡也是家常便饭&#xf…

深度学习代码练习

代码下载地址&#xff1a;https://github.com/daijifeng001/R-FCN 对应论文&#xff1a;Object Detection via Region-based Fully Convolutional Networks 1、代码里面给的数据库下载链接失效&#xff0c;需要去代码下载主页最下方给定的资源区下载。 2、按照要求一步一步运行…