最近在用pg进行全文检索,如果检索全文则速度会慢,考虑可以检索关键句以提高速度。测试了一下textrank提取关键句,目前的思想是用全文提取关键词和关键句提取关键词进行比较,以评估关键句的提取。(提取关键词的方法现在用的是自己构建的领域词表(带权重)与文本tfidf分析出的词分数相结合,效果还可以,还没有想出更好的提关键词的方法)
测试了一下textrank,以下记录了textrank的原理:
一:PageRank简介
TextRank算法是由网页重要性排序算法PageRank算法迁移而来,PageRank最开始用来计算网页的重要性。整个www可以看作一张有向图图,节点是网页。如果网页A存在到网页B的链接,那么有一条从网页A指向网页B的有向边。
PageRank的计算公式:
PageRank需要使用上面的公式多次迭代才能得到结果。初始时,可以设置每个网页的重要性为1。上面公式等号左边计算的结果是迭代后网页i的PR值,等号右边用到的PR值全是迭代前的。
一句话形象描述上图公式:所有指向网页i的网页j,网页j的重要性除以网页j向外指出链接的个数(由于网页j最多只能有一个链接指向网页i)的值的累积和作为网页i的重要性。
以上讲的是PageRank算法的简单模型,但是简单模型并不适用于只链出自己的网页或几个网页的链出形成一个循环的情况,所以考虑更具普遍性的PageRank算法模型——随机浏览模型。
随机浏览模型的假设是这样的:假定一个网页浏览者从一个随机页面开始浏览,浏览者不断点击当前网页的链接开始下一次浏览。但是,浏览者会逐渐厌倦并开始随机浏览网页。随机浏览的方式更符合用户的真实浏览行为,避免了上述情况的发生,由此产生了随机浏览模型,随机浏览模型中每个网页的PR值通过以下公式计算:
一个网页的PR值是由其他网页的PR值计算得到的。由于PR=A*PR(A为概率转移矩阵)满足马尔科夫链的性质,那么通过迭代可以得到所有网页的PR值。经过重复计算,这些网页的PR值会趋于正常和稳定。
随着研究的深入,目前PageRank算法被广泛应用于众多方面,例如学术论文的重要性排名、学术论文作者的重要性排序、网络爬虫、关键词与关键句的抽取等。
二、从PageRank算法到TextRank算法
TextRank算法是由PageRank算法改进而来的,二者的思想有相同之处,区别在于:PageRank算法根据网页之间的链接关系构造网络,而TextRank算法根据词之间的共现关系构造网络;PageRank算法构造的网络中的边是有向无权边,而TextRank算法构造的网络中的边是无向有权边。TextRank算法的核心公式如下,其中用于表示两个节点之间的边连接具有不同的重要程度:
提取关键词:
为了便于理解,给出使用TextRank算法提取关键词和关键词组的具体步骤如下:
1)将给定的文本按照整句进行分割,即;
2)对于每个句子,对其进行分词和词性标注,然后剔除停用词,只保留指定词性的词,如名词、动词、形容词等,即,其中为句子i中保留下的词;
3)构建词图,其中V为节点集合,由以上步骤生成的词组成,然后采用共现关系构造任意两个节点之间的边:两个节点之间存在边仅当它们对应的词在长度为K的窗口中共现,K表示窗口大小,即最多共现K个单词,一般K取2;
4)根据上面的公式,迭代计算各节点的权重,直至收敛;
5)对节点的权重进行倒序排序,从中得到最重要的t个单词,作为top-t关键词;
6)对于得到的top-t关键词,在原始文本中进行标记,若它们之间形成了相邻词组,则作为关键词组提取出来。
提取关键句
从给定文本中提取关键句时,将文本中的每个句子分别看作一个节点,如果两个句子有相似性,则认为这两个句子对应的节点之间存在一条无向有权边,衡量句子之间相似性的公式如下:
:两个句子
:句子中的词
分子部分的意思是同时出现在两个句子中的同一个词的数量,分母是对句子中词的个数求对数后求和,这样设计可以遏制较长的句子在相似度计算上的优势。
根据以上相似度计算公式循环计算任意两个节点之间的相似度,设置阈值去掉两个节点之间相似度较低的边连接,构建出节点连接图,然后迭代计算每个节点的TextRank值,排序后选出TextRank值最高的几个节点对应的句子作为关键句。
textrank用法举例:
以上就是本篇文章【使用语言模型实现关键词短语提取 关键句提取】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/news/12779.html 资讯 企业新闻 行情 企业黄页 同类资讯 首页 网站地图 返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多