首页 > 科技 > 移动互联 > 正文

鹏元数据: 基于TextRank算法 自动提取微信公众号文章摘要

2017-07-11 06:00:42 来源: 债券在线
分享到:

  文章摘要是对文章内容的概括,在信息检索中起着非常重要的作用。通过文章摘要可以快速高效地把握一篇文章的主要内容,有利于对文章的主要思想的理解。

  本文基于TextRank算法对它说平台发布的相关微信公众号文章进行自动摘要及关键词的提取。一定程度上可以减少人工编辑文章的工作量,特别针对海量文章的摘要的自动提取具有一定的参考价值。

  自动摘要(Automatic Summarization)的方法主要有两种:Extraction和Abstraction。其中Extraction是抽取式自动文摘方法,通过提取文档中已存在的关键词,句子形成摘要;Abstraction是生成式自动文摘方法,通过建立抽象的语意表示,使用自然语言生成技术,形成摘要。

  由于生成式自动摘要方法需要复杂的自然语言理解和生成技术支持,应用领域受限。抽取式摘要成为现阶段主流,它也能在很大程度上满足人们对摘要的需求。

  目前抽取式的主要方法:

  ?基于统计:统计词频,位置等信息,计算句子权值,再简选取权值高的句子作为文摘,特点:简单易用,但对词句的使用大多仅停留在表面信息。

  ?基于图模型:构建拓扑构图,对词句进行排序。例如,TextRank/LexRank。

  ?基于潜在语义:使用主题模型,挖掘词句隐藏信息。例如,采用LDA,HMM。

  ?基于线路规划:将摘要问题转为线路规划,求全局最优解。

  在python语言中用于文本摘要自动提取的库包括goose,SnowNLP,TextTeaser,sumy,TextRank等。本文主要使用python的TextRank库进行文章摘要的自动提取。下面主要介绍TextRank算法的主要思想:

  TextRank算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的PageRank算法

  通过把文本分割成若干组成单元(单词、句子)并建立图模型, 利用投票机制对文本中的重要成分进行排序,仅利用单篇文档本身的信息即可实现关键词提取、文摘。和 LDA、HMM 等模型不同, TextRank不需要事先对多篇文档进行学习训练, 因其简洁有效而得到广泛应用。

  TextRank一般模型可以表示为一个有向有权图 G =(V, E), 由点集合 V和边集合 E 组成, E 是V ×V的子集。图中任两点 Vi , Vj之间边的权重为wji , 对于一个给定的点 Vi, In(Vi) 为指向该点的点集合 , Out(Vi) 为点 Vi 指向的点集合。点 Vi 的得分定义如下:

  其中,d 为阻尼系数, 取值范围为 0 到 1, 代表从图中某一特定点指向其他任意点的概率, 一般取值为 0.85。使用TextRank算法计算图中各点的得分时, 需要给图中的点指定任意的初值, 并递归计算直到收敛,即图中任意一点的误差率小于给定的极限值时就可以达到收敛, 一般该极限值取 0.0001。

  本文以它说平台最近发布的微信公众号文章名为“它说研究丨债券信用评级变动对到期收益率的影响”作为文本摘要自动提取的语料来源。原始的文章存在摘要及关键词,因此需要去除原始的摘要及关键字,以便进行人工提取与算法自动提取的对比。

  下面将从文本预处理,句子相似度计算,句子权重计算,抽取句,形成文摘,文摘关键字提取等方面进行文本摘要自动提取。

  一、文本预处理

  1.使用正则表达式去除文本多余的换行符及空格,数字及英文字母;

  2.文章分句:分句的依据为文章中出句子结束符“.!?。!?”从而实现句子之间的切分;

  3.使用python的中文分词库jieba进行句子分词;

  4.使用停用词表去除停用词;

  5.TF_IDF特征词提取,最后候选关键词表部分截图如下:

  6.特征词权重计算部分截图如下:

  二、句子相似度计算

  构建图G =(V,E),其中V为句子集,E为边集。基于句子间的内容覆盖率,给定两个句子,采用如下公式进行计算:

  若两个句子之间的相似度大于给定的阈值,就认为这两个句子语义相关并将它们连接起来,即边的权值

  结果截图如下:

  其中(35,236)表示该文章总共有35个句子,236表示词空间。该镜像矩阵中元素为0表示句子与句子之间的相似度为0,两个句子没有交集元素为1表明这两个句子基本等价的。

  三、句子权重计算

  根据公式,通过pagerank迭代传播权重计算各句子的得分,结果截图如下:

  四、抽取文摘句

  将三得到的句子得分进行倒序排序,抽取重要度最高的T个句子作为候选文摘句。本文抽取重要程度最高的3个句子最为候选文摘句,结果如下:

  说明评级公司关于债券信用级别的上调带来了债券到期收益率的巨大波动,而市场投资者对这一反应的最终结果是不相信评级机构的信用级别调整。当债券信用级别上调时,投资者面临更少的信用风险;当债券信用级别下调时,投资者面临更多的信用风险。债券评级机构对债券信用级别的上调并没有得到投资者的认可,反而在一定程度上给债券信用造成了负面的影响。

  五、形成文摘

  根据字数或句子数要求,从候选文摘句中抽取句子组成文摘。另外一方面为了保持文摘句的连贯性,符合中文语法要求,可以尝试对文摘句进行词性标注。本文采用jieba词性标注工具(jieba.posseg)对文摘句进行标注,部分标注结果如下:

  我们可以通过对文摘句进行词性标注从而判断文摘句的开头是否为名词结构,若不是便可以将其进一步简化,本文文摘句以“说明”开头,该词语为动词结构,可以尝试通过词性标注删除该词语,从而自动理顺句子结构。最终结果如下:

  评级公司关于债券信用级别的上调带来了债券到期收益率的巨大波动,而市场投资者对这一反应的最终结果是不相信评级机构的信用级别调整。债券评级机构对债券信用级别的上调并没有得到投资者的认可,反而在一定程度上给债券信用造成了负面的影响。

  六、关键词提取

  使用jieba分词提供的基于TextRank的关键词提取工具(jieba.analyse.extract_tags)进行文摘句关键词提取。本文提取前10个关键词结果如下:债券,信用,级别,评级,上调,信用风险,投资者,面临,机构,负面。

  七、算法结果对比:

  比较内容

  人工编辑

  TextRank算法自动提取

  文本摘要

  评级机构上调或下调债券信用级别,均会造成债券到期收益率的提高和波动短期内的加剧。债券评级机构对债券信用级别的上调并没有得到投资者的认可,反而在一定程度上给债券信用造成了负面的影响

  评级公司关于债券信用级别的上调带来了债券到期收益率的巨大波动,而市场投资者对这一反应的最终结果是不相信评级机构的信用级别调整。债券评级机构对债券信用级别的上调并没有得到投资者的认可,反而在一定程度上给债券信用造成了负面的影响。

  关键

  剩余期限、到期收益率、债券信用级别

  债券,信用,级别,评级,上调,信用风险,投资者,面临,机构,负面

  从以上表格可以看出基于TextRank算法的文本摘要及关键字提取也可以达到一个较好的结果。为后续的海量文章自动摘要的提取奠定了实践基础。

  八、附jieba词性标注表如下:

  1. 名词 (1个一类,7个二类,5个三类)

  名词分为以下子类:

  n 名词

  nr 人名

  nr1 汉语姓氏

  nr2 汉语名字

  nrj日语人名

  nrf音译人名

  ns 地名

  nsf音译地名

  nt机构团体名

  nz其它专名

  nl名词性惯用语

  ng名词性语素

  2. 时间词(1个一类,1个二类)

  t 时间

  tg时间词性语素

  3. 处所词(1个一类)

  s 处所词

  4. 方位词(1个一类)

  f 方位词

  5. 动词(1个一类,9个二类)

  v 动词

  vd副动词

  vn名动词

  vshi动词“是”

  vyou动词“有”

  vf趋向动词

  vx形式动词

  vi 不及物动词(内动词

  vl动词性惯用语

  vg 动词性语素

  …

  -

  声明:

  文中观点仅是相关研究人员根据相关公开资料作出的分析和判断,并不代表公司观点。在任何情况下,鹏元数据及其雇员对任何机构或个人因使用本报告所引发的任何直接或间接损失不承担任何法律责任。

宁编NX0036 本文来源:债券在线 责任编辑:宁编NX0036
为您推荐
  • 推荐
  • 移动互联
  • 电子商务
  • 智能硬件
  • 科学探索
  • 酷玩手机
  • 家电顾问

阅读下一篇

中山三院推出教师爱心助孕福利

  暑假来临之际,中山大学附属第三医院生殖医学中心向广大教师推出“生育咨询·爱心助孕”活动,助力教师家庭实现生育与二孩梦。7月10日-8月31日,有生育计划的教师(不限男女)可享受五重福利:  1.可申请加入“教师专属咨询微信群”。添加“中三小护”(微信号1835991596)为好友,回复“教师”,即...

返回宁夏首页 返回头条首页
投稿