(纯属为了记录自己学习的点滴过程,引用资料都附在参考列表)

1 基本概念

关键句提取
在一些场合,关键词或关键短语依然显得碎片化,不足以表达完整的主题。这时通常提取中心句子作为文章的简短摘要。

2 问题

关键句提取;

3 解决思路

基本思想
由于一篇文章中几乎不可能出现相同的两个句子,所以朴素的 PageRank 在句子颗粒度上行不通。为了将 PageRank 利用到句子颗粒度上去,我们引人 BM25 算法衡量句子的相似度,改进链接的权重计算。这样窗口的中心句与相邻的句子间的链接变得有强有弱,相似的句子将得到更高的投票。而文章的中心句往往与其他解释说明的句子存在较高的相似性,这恰好为算法提供了落脚点。

BM25
BM25(D,Q)=∑i=1nIDF(qi)⋅TF(qi,D)⋅(k1+1)TF(qi,D)+k1⋅(1−b+b⋅∣D∣avgDL)BM25(D, Q)=\sum_{i=1}^n IDF(q_i) \cdot \frac{TF(q_i,D) \cdot (k_1+1)}{TF(q_i,D)+k_1 \cdot (1 - b + b \cdot \frac{|D|}{avgDL})}BM25(D,Q)=∑i=1n​IDF(qi​)⋅TF(qi​,D)+k1​⋅(1−b+b⋅avgDL∣D∣​)TF(qi​,D)⋅(k1​+1)​

有了BM25算法之后,将一个句子视作查询语句,相邻的句子视作待查询的文档,就能得到它们之间的相似度。以此相似度作为 PageRank 中的链接的权重,于是得到一种改进算法,称为TextRank。它的形式化计算方法如下:

WS(Vi)=(1−d)+d×∑Vj∈In(Vj)BM25(Vi,Vj)∑Vk∈Out(Vj)BM25(Vk,Vj)WS(Vj)WS(V_i)=(1-d)+d \times \sum_{V_j \in In(V_j)} \frac{BM25(V_i, V_j)}{\sum_{V_k \in Out(V_j)} BM25(V_k, V_j)} WS(V_j)WS(Vi​)=(1−d)+d×∑Vj​∈In(Vj​)​∑Vk​∈Out(Vj​)​BM25(Vk​,Vj​)BM25(Vi​,Vj​)​WS(Vj​)

其中,WS(Vi) 就是文档中第 i 个句子的得分,重复迭代该表达式若干次之后得到最终的分值,排序后输出前 N 个即得到关键句。另外,由于文档中句子的数量远远小于单词的数量,并且句子几乎不重复,所以通常不再取窗口,而认为所有的句子都是相邻的。

4 实现

from pyhanlp import *"""自动摘要"""
document = '''水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露,
根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标,
有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批,
严格地进行水资源论证和取水许可的批准。'''TextRankSentence = JClass("com.hankcs.hanlp.summary.TextRankSentence")
sentence_list = HanLP.extractSummary(document, 3)
print(sentence_list)

运行结果:

[严格地进行水资源论证和取水许可的批准,水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露,有部分省超过红线的指标]

5 参考文献

  1. 何晗《自然语言处理入门》;
  2. 宗成庆《统计自然语言处理》;
  3. 李航《统计学习方法》;

6 需要解决的问题

  1. 理解PageRank算法本身及系列变形的数学细节;

信息抽取--关键句提取相关推荐

  1. 图像转文本、PDF 转文字(包括html、xml)、关键句提取 软件开发手记

    文章目录 准备工作 声明 所需模块: 模块简介 安装方法: 软件开发 图像转文本 API 使用代码 其他 PDF 转文字 代码 Tooltip 关键句提取 截图 古文排版 软件使用 关于界面 国际化效 ...

  2. textrank提取关键词与关键句

    最近在用pg进行全文检索,如果检索全文则速度会慢,考虑可以检索关键句以提高速度.测试了一下textrank提取关键句,目前的思想是用全文提取关键词和关键句提取关键词进行比较,以评估关键句的提取.(提取 ...

  3. 面向知识图谱的信息抽取

    面向知识图谱的信息抽取 人工智能技术与咨询 点击蓝字 · 关注我们 来源:< 数据挖掘,> ,作者赵海霞等 关键词: 知识图谱:信息抽取:实体抽取:关系抽取:开放域 摘要: 摘要: 随着大 ...

  4. 【PaddleOCR-kie】关键信息抽取1:使用VI-LayoutXLM模型推理预测(SER+RE)

    背景:在训练自己数据集进行kie之前,想跑一下md里面的例程,但md教程内容混乱,而且同一个内容有多个手册,毕竟是多人合作的项目,可能是为了工程解耦,方便更新考虑--需要运行的模型和运行步骤散落在不用 ...

  5. 【PaddleNLP-kie】关键信息抽取2:UIE模型做图片信息提取全流程

    文章目录 本文参考 UIE理论部分 step0.UIEX原始模型使用 网页体验 本机安装使用 环境安装 使用docker的环境安装 快速开始 step1.UIEX模型微调(小样本学习) 数据标注(la ...

  6. 第十七篇:信息抽取Information Extraction

    目录 信息抽取 应用 如何? IE 中的机器学习 大纲 命名实体识别 典型实体标签 NER作为序列标记 IO 标记 IOB 标签 NER作为序列标记,继续 NER:特征 NER 的深度学习 关系抽取 ...

  7. 使用NeMo快速完成NLP中的信息抽取任务,英伟达专家实战讲解,内附代码

    信息抽取(IE)是从非结构化.半结构化的可读文档或其他电子表示来源中自动提取结构化信息的任务.信息抽取技术为文本挖掘.智能检索.智能对话.知识图谱.推荐系统等应用提供了基本的技术支持. 近日,英伟达x ...

  8. 【信息抽取】如何使用循环神经网络进行关系抽取

    事物.概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中.为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在多年前就已经展开. 然而,随着互联 ...

  9. 基于Bert-NER构建特定领域中文信息抽取框架

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 知识图谱(Knowledge Graph)主要由实体.关系和属性构成,而信息抽取(Inform ...

最新文章

  1. 2020-09-22C++学习笔记之引用1(1.引用(普通引用)2.引用做函数参数 3.引用的意义 4.引用本质5.引用结论 6.函数返回值是引用(引用当左值)7测试代码)
  2. Rabbitmq消息的Confirm确认机制
  3. 如何在Win Server 2008R2环境下,把域帐户加到本地管理员组??
  4. 剑指offer面试题[12]-打印1到最大的n位数
  5. php两个字符串怎么比较,php比较两个字符串的函数strcasecmp()
  6. 十六进制转字符串 java_JAVA十六进制与字符串的转换方法
  7. windows性能监视器API
  8. 古文物青铜器VR高清模型H5三维可视化在线展示
  9. 在wget中指定代理服务器
  10. 产品需求与项目需求的差异
  11. 关于元素定位使用class_name定位报错的部分问题Unable to locate element: {“method“:“css selector“
  12. 知其然而不知其所以然
  13. 伊利洛伊大学厄巴纳-香槟分校计算机专业,申请伊利诺伊大学香槟分校计算机科学专业需要具备哪些条件?看完文章你就清楚了...
  14. 7-1 房屋分拆 (25 分)(C语言版)
  15. 2021年江苏高考成绩查询时间,2021年江苏高考成绩什么时候出来 公布时间
  16. Unity 使用 Behaviac (二)让unity的行为能执行behaviac搭建的树的逻辑
  17. 金蝶kis记账王怎么反审核凭证
  18. mysql声明存储过程_MySQL 声明变量及存储过程分析
  19. 怎么处理ERP体系软件数据的安全问题
  20. linux下最全抓包命令使用方式学习和拓展

热门文章

  1. 前端学习(586):在元素中动态添加类与伪类
  2. 后来的我们王俊凯王源机器人_王俊凯杨紫到底是什么关系
  3. python中cumsum_在python里“np.cumsum”这个命令是干什么的?怎么使用?
  4. gd动态曲线 php_php中用GD绘制折线图
  5. ftp改为sftp_科普!一文详解 FTP、FTPS 与 SFTP 的原理
  6. React中添加注释
  7. C++ 判断系统大小字节序
  8. 【codeforces 534D】Handshakes
  9. Python基础【day02】:元组和购物车练习的知识点
  10. maven项目和普通项目转换