自动摘要生成(三):词向量相似度与有效词含量
一、前言
新闻在动摘要生成的前两部分在这里:
自动摘要生成(一):最大边界相关算法(MMR)
自动摘要生成(二):由PageRank转变而来的TextRank算法
这里是新闻摘要生成系列的第三部分,这一篇没有什么具体算法,主要介绍两种更偏向工程实现的抽取式摘要生成方法,分别是词向量相似度值计算,以及句子有效词含量的计算。
二、词向量相似度
首先来说一下词向量相似度的方法,Word2Vec的出现使得近年来对于自然语言处理的研究走上了快车道。Word2Vec解决了One-hot词向量过于稀疏以及词汇之间的“语意鸿沟”的问题。以后会专门在写一个系列来专门说说我自己对于Word2Vec的一些了解,这里我们只用Word2Vec训练好的词向量,就不深入介绍其原理了。
前面说到Word2Vec解决了One-hot词向量中的一个问题,俗称“语意鸿沟“,大概的意思就是两个语意相似的词语在使用one-hot向量来表示时,无法体现其相似性。但在使用Word2Vec表示,或者更广泛的说,在使用词的分布式表示方法时,我们可以通过计算两个词语的向量的距离或夹角来表征它们的语意相似度。
抽取式摘要生成中的词向量相似度方法正是利用了词的分布式向量表示方法的这个特点。在使用这种方法前,首先需要自己训练一套分布式词向量,常用的有Word2Vec或者Glove。当然也可以从网上下载别人训练好的词向量来用。
词向量相似度计算与之前说过的MMR与TextRank一样,同样以每个完整的句子为最小单位,具体的实施分为以下两个方法。
1.与文章标题计算相似度
一般来说,新闻的标题通常说明了整个文章或新闻大概要讲一个什么事儿,所以第一种方法这就是把每句话中的所有词的词向量累加,求平均,作为句子向量。再将文章的标题中的词的词向量累加求平均,作为标题向量。再计算所有句子向量与标题向量间的相似度。其中可以使用余弦相似度作为相似度度量方法。再根据相似度从高到低的排列,将相似度最高的个句子选为组成摘要的句子来生成摘要。
2.与文章全文计算相似度
第二种方法与第一种方法相似,还是把每句话中所有的词向量累加求平均,作为句子向量。然后将全文中所有词语的词向量进行累加求平均,作为文章向量。接下来计算所有句子向量与文章向量的相似度,根据相似度从高到低排列,最后将相似度最高的个句子选为组成摘要的句子来生成摘要。
三、有效词含量
这种方法同样是以文章中的每个句子作为最小单位,计算每个句子中的有效词含量,最后按照有效词含量从高到低对所有句子进行排序,最后取有效词含量最高的个句子选为组成摘要的句子来生成摘要。
在使用这种方法时,首先需要对整篇文章的有效词进行统计,来确定文章的有效词。然后计算每个句子中的有效词含量值。
有效词统计
这里用到的两个工具分别为词性标注和词频统计,具体的步骤如下:
首先我们将一篇文章中,词性为N.(名词),NR.(人名),NS.(地名),NT.(机构团体名),NZ.(其他专名),V.(动词),VN.(动名词)的词语保留,去除其他词性的词语。
接下来,对文中的这些词语进行词频统计,统计这些词语出现的次数。
最后按词频从高到低对所有词语进行排序,选取词频Top10的词语,将其选为整个文章的关键词。
有效词含量计算
每句话的有效词含量值的根据以下公式得出:
有效词含量 = 句子中有效词个数 / 句子中单词总个数
四、效果
由于这两种方法更多的是依靠工程的思想来解决问题,并不涉及太多算法,代码实现较为简单,所以这里就不贴代码了。
最后还是用之前的两篇文章来看看这两种方法的效果如何。
NEW1:
title:
20年来首次!四千吨级重载货车压桥抵御洪峰,宝成铁路大桥已平安。
content:
7月11日,连续强降雨,让四川登上了中央气象台“头条”,涪江绵阳段水位迅速上涨,洪水一度漫过了宝成铁路涪江大桥桥墩基座,超过封锁水位。洪水在即,中国铁路成都局集团公司紧急调集两列重载货物列车,一前一后开上涪江大桥,每一列货车重量约四千吨,用“重车压梁”的方式,增强桥梁自重,抵御汹涌的洪水。从11日凌晨开始,四川境内成都、绵阳、广元等地连续强降雨,而四川北向出川大动脉—宝成铁路,便主要途径成绵广这一区域。连续的强降雨天气下,绵阳市境内的涪江水位迅速上涨,一度危及到了宝成铁路涪江大桥的安全,上午10时,水位已经超过了涪江大桥上、下行大桥的封锁水位。记者从中国铁路成都局集团公司绵阳工务段了解到,上行线涪江大桥,全长393米,建成于1953年;下行线涪江大桥,全长438米,建成于1995年。“涪江大桥上游有一个水电站,由于洪水太大,水电站已无法发挥调节水位的作用。”情况紧急,铁路部门决定采用“重车压梁”的方式,增强桥梁自重,提高洪峰对桥墩冲刷时的梁体稳定性。简单来说,就是将重量大的货物列车开上涪江大桥,用货车的自重,帮助桥梁抵御汹涌的洪水。恰好,绵阳工务段近期正在进行线路大修,铁路专用的卸砟车,正好停放在绵阳附近。迎着汹涌的洪水,两列重载货车驶向宝成铁路涪江大桥。上午10时30分,第一列46052次货车,从绵阳北站开出进入上行涪江桥。上午11时15分,第二列22001次货车,从皂角铺站进入下行涪江桥。这是两列超过45节编组的重载货物列车,业内称铁路专用卸砟车,俗称“老K车”,车厢里装载的均为铁路道砟,每辆车的砟石的重量在70吨左右。记者从绵阳工务段了解到,货车里满载的砟石、加上一列货车的自重,两列“压桥”的货运列车,每一列的重量超过四千吨。“采用重车压梁的方式来应对水害,在平时的抢险中很少用到。”据了解,在绵阳工务段,上一次采用重车压梁,至少已经是二十年前的事。下午4时许,经铁路部门观测,洪峰过后,涪江水位开始下降,目前已经低于桥梁封锁水位。从下午4点37分开始,两列火车开始撤离涪江大桥。在桥上停留约6个小时后,两列重载货物列车成功完成了“保桥任务”,宝成铁路涪江大桥平安了!
abstract:
1.词向量相似度
洪水在即,中国铁路成都局集团公司紧急调集两列重载货物列车,一前一后开上涪江大桥,每一列货车重量约四千吨,用“重车压梁”的方式,增强桥梁自重,抵御汹涌的洪水。
简单来说,就是将重量大的货物列车开上涪江大桥,用货车的自重,帮助桥梁抵御汹涌的洪水。
在桥上停留约6个小时后,两列重载货物列车成功完成了“保桥任务”,宝成铁路涪江大桥平安了。
2.有效词含量
迎着汹涌的洪水,两列重载货车驶向宝成铁路涪江大桥。
续的强降雨天气下,绵阳市境内的涪江水位迅速上涨,一度危及到了宝成铁路涪江大桥的安全,上午10时,水位已经超过了涪江大桥上、下行大桥的封锁水位。
简单来说,就是将重量大的货物列车开上涪江大桥,用货车的自重,帮助桥梁抵御汹涌的洪水。
NEW2:
title:
姆巴佩夺冠后表忠心:留在巴黎哪儿也不去!
content:
伴随着世界杯的落幕,俱乐部联赛筹备工作又成为主流,转会市场必然也会在世界杯的带动下风起云涌,不过对于在本届赛事上大放异彩的姆巴佩而言,大巴黎可以吃一颗定心丸,世界杯最佳新秀已经亲自表态:留在巴黎哪里也不去。在接受外媒采访时,姆巴佩表达了继续为巴黎效忠的决心。“我会留在巴黎,和他们一起继续我的路途,我的职业生涯不过刚刚开始”,姆巴佩说道。事实上,在巴黎这座俱乐部,充满了内部的你争我夺。上赛季,卡瓦尼和内马尔因为点球事件引发轩然大波,而内马尔联合阿尔维斯给姆巴佩起“忍者神龟”的绰号也让法国金童十分不爽,为此,姆巴佩的母亲还站出来替儿子解围。而早在二月份,一场与图卢兹的比赛,内马尔也因为传球问题赛后和姆巴佩产生口角。由此可见,巴黎内部虽然大牌云集,但是气氛并不和睦。内马尔离开球队的心思早就由来已久,而姆巴佩也常常与其它俱乐部联系在一起,在躲避过欧足联财政公平法案之后,巴黎正在为全力留下二人而不遗余力。好在姆巴佩已经下定决心,这对巴黎高层而言,也算是任务完成了一半。本届世界杯上,姆巴佩星光熠熠,长江后浪推前浪,大有将C罗、梅西压在脚下的趋势,他两次追赶贝利,一次是在1/8决赛完成梅开二度,另一次是在世界杯决赛中完成锁定胜局的一球,成为不满20岁球员的第二人。另外他在本届赛事中打进了4粒入球,和格列兹曼并列全队第一。而对巴黎而言,他们成功的标准只有一条:欧冠。而留下姆巴佩,可以说在争夺冠军的路上有了仰仗,卡瓦尼在本届世界杯同样表现不错,内马尔虽然内心波澜,但是之前皇马官方已经辟谣没有追求巴西天王,三人留守再度重来,剩下的就是图赫尔的技术战术与更衣室的威望,对图赫尔而言,战术板固然重要,但是德尚已经为他提供了更加成功的范本,像团结法国队一样去团结巴黎圣日耳曼,或许这才是巴黎取胜的钥匙。
abstract:
1.词向量相似度
“我会留在巴黎,和他们一起继续我的路途,我的职业生涯不过刚刚开始”,姆巴佩说道。
上赛季,卡瓦尼和内马尔因为点球事件引发轩然大波,而内马尔联合阿尔维斯给姆巴佩起“忍者神龟”的绰号也让法国金童十分不爽,为此,姆巴佩的母亲还站出来替儿子解围。
而留下姆巴佩,可以说在争夺冠军的路上有了仰仗,卡瓦尼在本届世界杯同样表现不错,内马尔虽然内心波澜,但是之前皇马官方已经辟谣没有追求巴西天王,三人留守再度重来,剩下的就是图赫尔的技术战术与更衣室的威望,对图赫尔而言,战术板固然重要,但是德尚已经为他提供了更加成功的范本,像团结法国队一样去团结巴黎圣日耳曼,或许这才是巴黎取胜的钥匙。
2.有效词含量
事实上,在巴黎这座俱乐部,充满了内部的你争我夺。
随着世界杯的落幕,俱乐部联赛筹备工作又成为主流,转会市场必然也会在世界杯的带动下风起云涌,不过对于在本届赛事上大放异彩的姆巴佩而言,大巴黎可以吃一颗定心丸,世界杯最佳新秀已经亲自表态:留在巴黎哪里也不去。
好在姆巴佩已经下定决心,这对巴黎高层而言,也算是任务完成了一半。
五、总结一下
从两篇文章抽取出得摘要可以看出,以上两种更偏向工程实现的摘要抽取方法中,词向量相似度方法生成的摘要与TextRank算法生成的摘要更相似,摘要的准确度更高。而有效词含量的方法,由于关注全文和每一个句子中的多种词性的单词,因此生成的摘要与MMR算法生成的摘要更加类似,在包含中心主旨句的同时,也包含了部分其他的描述类的语句,生成的整个摘要的多样性更好。
在实际使用中,可以根据需要生成摘要的文章类型,选取适合的算法进行摘要抽取。同时,由于这四种方法(MMR,TextRank,词向量相似度,有效词含量)计算出的句子得分都在0-1之间,因此借鉴机器学习中bagging的思想,对四种方法进行人工加权结合,最后根据每个句子的总分来选取最终的摘要。
目前抽取式摘要还面临着许多问题需要解决,例如指代消解、转折词和连接词的处理、因果关系的处理、引用处理等问题。
以上问题目前并没有太多的方法从算法上直接进行改进,只能参考建立词典,正则匹配等工程思路进行处理。
自动摘要生成(三):词向量相似度与有效词含量相关推荐
- STM32Cube的PWM控制应用篇(二)用两个个定时器生成三个相位差120度的等效正弦波
STM32Cube的PWM控制基础篇(一)一路PWM设置 STM32Cube的PWM控制基础篇(二)多路占空比不同的PWM STM32Cube的PWM控制基础篇(三)定时器的PWM设置详解 STM32 ...
- 清华 词向量库_word2vec 构建中文词向量
词向量作为文本的基本结构--词的模型,以其优越的性能,受到自然语言处理领域研究人员的青睐.良好的词向量可以达到语义相近的词在词向量空间里聚集在一起,这对后续的文本分类,文本聚类等等操作提供了便利,本文 ...
- 词向量与词向量拼接_nlp中的词向量对比:word2vec/glove/fastText/elmo/GPT/bert
本文以QA形式对自然语言处理中的词向量进行总结:包含word2vec/glove/fastText/elmo/bert. 2020年更新:NLP预训练模型的全面总结JayLou娄杰:史上最全!PTMs ...
- 【从零开始学习深度学习】48.Pytorch_NLP实战案例:如何使用预训练的词向量模型求近义词和类比词
目录 1. 下载预训练的词向量 2. 应用预训练词向量 2.1 求近义词 2.2 求类比词 本文将介绍如何使用已经在大规模语料上预训练的词向量模型来求近义词和类比词. 1. 下载预训练的词向量 基于P ...
- python根据词向量计算相似度_基于词向量的词语间离和句子相似度分析
基于词向量的词语间离和句子相似度分析 苟瀚文 1 苟先太 2 [摘 要] 分析了词向量在自然语言处理中的作用.使用已经训练好的词向量进 行了简单类比推理.词语间离和句子相似度分析.给出一种结合词向量和 ...
- 使用pytorch获取bert词向量 将字符转换成词向量
转载保存: 使用pytorch获取bert词向量_海蓝时见鲸_的博客-CSDN博客_获取bert词向量 pytorch-pretrained-bert简单使用_风吹草地现牛羊的马的博客-CSDN博客_ ...
- Python word2vec训练词向量,电子病历训练词向量,超简单训练电子病历的词向量,医学电子病历词向量预训练模型
1.词向量预训练模型的优势: (1)训练和保存含有语义信息的词向量,在用于模型训练之前,enbedding的过程同样带有语义信息,使模型训练的效果更好: (2)可以用预训练好的词向量模型直接计算两个词 ...
- 词向量python训练_python gensim 词向量训练笔记
记录词向量训练过程,备忘(系统ubuntu16.python2.7) 涵盖内容:python rar解压.大文件分解.HDF5文件操作.文本预处理(文本编码.分词处理).多进程.gensim操作. 1 ...
- 词向量与词向量拼接_第一节——词向量与ELmo(转)
最近在家听贪心学院的NLP直播课.都是比较基础的内容.放到博客上作为NLP 课程的简单的梳理. 本节课程主要讲解的是词向量和Elmo.核心是Elmo,词向量是基础知识点. Elmo 是2018年提出的 ...
最新文章
- 移动互联网漫谈(4)-移动通信网络
- mysql 控制台操作命令
- Qt 实现钢笔画线效果详细原理
- C++ #define详解
- typeorm_Nestjs 热更新 + typeorm 配置
- Android 两个Activity进行数据传送 发送
- C++ 多线程编程 封装多线程api 类似java多线程风格
- 计算机基础:13、计算机CPU--运算器
- Computer OpenCart 自适应主题模板 ABC-0084
- 2.5维电子地图关键技术研究与实现
- 腾讯进“鸡”加持智能网络,发布Supermind
- flutter_blue使用
- HDMI/DVI设备热插拨检测
- vb.net 同时给多个属性赋值_C++程序入门之——赋值操作符
- 移远公司 NB-IoT模块AT指令详细解释
- 保姆式教学--教室友从买服务器到怎么搭建内网隧道
- BIhuman商业智能和数据仓库高
- Workbench网格划分(1)
- 一个实验了解多层内网渗透
- 【夯实基础 】 js获取的clientHeight、offsetHeight和scrollHeight的区别
热门文章
- 考研调剂 计算机科学 软件,四川大学计算机学院(软件学院)2020非全日制考研调剂信息...
- 大数据可视化课程笔记 6
- 1.国民技术N32G45X例程之-串口打印
- android 静态注册获取电量,获取手机电池百分比和电池容量方法
- 【3D视觉创新应用竞赛作品系列​】基于嵌入式的室内静态场景实时重建系统
- 首届“发现杯”软件设计大奖赛启动
- linux去重复程序,Linux下大文件的排序和去重复
- linux qos 软件,linux下QOS:应用篇
- 4K秒开,稀缺宝藏影视APP!
- 基于Python+MySQL的书店销售管理管理子系统设计