如何用算法自动提取微信公众号文章摘要呢?

作者:鱼爪创媒网 点击:231 发布时间:2021-11-12

  如何用算法自动提取微信公众号文章摘要呢?大家知道对于一片微信公众号文章最重要的是文章摘要,文章摘要是对文章内容的概括,在信息检索中起着非常重要的作用。下面小编就给大家介绍一下如何用算法自动提取微信公众号文章摘要。

  自动摘要(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算法的文本摘要及关键字提取也可以达到一个较好的结果。为后续的海量文章自动摘要的提取奠定了实践基础。

  通过以上的描述你是否了解如何用算法自动提取微信公众号文章摘要呢?这样如此全面、有效、简单的恢复方法,你学会了吗?如果你还想了解更多的话。更多更详细微信公众号素材内容,请持续关注鱼爪创媒。

相关内容:

  《微信文章提高排名方法》

  《影响微信文章阅读量的原因有哪些?》

  《怎么把微信文章里面滑动文字弄得酷酷的》

鱼爪创媒是一家专业提供公众号交易、公众号迁移、公众号增粉、公众号买卖交易的平台,如果您有这方面的需求,欢迎电话咨询:13018202357。有任何疑问,可以 【立即咨询】 我们平台的客服或者添加微信号 【13018202357】 。此文章来源于网络,如有侵权,请联系删除

标签:

资金保障

提供买卖双方资金担保交易
更放心

法律保障

交易签订具有法律效益合同
提供法律支持

急速退款

专属资金通道,快速拿到
钱款

全资公司

全资控股公司,大平台交易
有保障

服务优质

3500+专业团队,为您提供24
小时一对一贴心服务