关键词抽取与自动文摘

关键词抽取与自动文摘

在自然语言处理中对于关键词抽取与自动文摘这两个主题,有着多种多样的方式去解决它们,这里将介绍一种叫做TextRank的方法,就可以解决这两个问题。我将结合具体的代码,试图将算法解释地更加清楚些。

论文『TextRank: Bringing Order into Texts』中首次提出了TextRank方法,如果想全面了解下这个方法,还是仔细看下这篇论文。

当你一看到TextRank这个名字的时候,你是否会觉得很熟悉,它是否有让你联想到Google的PageRank。其实,该方法就是基于PageRank而来的,只是将page替换成word、sentence以完成关键词抽取与自动文摘任务。当然其中的一些计算准则是以文本为标准的。

如果你还不熟悉PageRank的话,还是去网上找一篇博客来看看,其实是不难的。

关键词抽取中的TextRank

之前我们也提到了,就是将PageRank模型中的page替换成word。因为是用于文本中,所以与用于网页中是不一样的。改动的地方主要有:

PageRank中因为有链接的存在,所以是将存在链接的两个网页相连。而在文本处理中,一个词的出现,与其前后词之间是有联系的。在TextRank中存在一个窗口的概念,将一个词与窗口内的所有词进行连接。窗口值的设置也是比较讲究的。实验表明,如果窗口值设置的过大,不仅带来计算时间上的提高(因为图中的边数增加),而且会造成模型性能的下降。这里模型的性能是使用具体的任务去衡量的,关键词抽取是作为具体任务的前驱。

因为链接是具有指向性的,所以PageRank模型构造的是一个有向图。而在文本中,词与词之间的联系是很难确定方向的,所以既可以构造一个有向图也可以构造一个无向图。实验表明,有向图和无向图在收敛性上是没有差别的,就是它们都会收敛到一个固定值上。至于初始值的设置,在PageRank中就已经证明了,最终的结果与初值的设定无关,只与迭代的次数有关。只要迭代的次数足够,就能收敛到一个固定值。

在PageRank中,会将爬虫所爬到的所有网页都加入到模型中去,至于死链的去除,这都是后话。但在TextRank中,不会将文本中出现的所有词都加入到图模型中。因为不是所有的词都是有其实际意义的,例如说介词。所以在构建图模型时,会利用一定的语法规则过滤掉一些词,以减小图的规模。这里的过滤规则一般来说是基于词性的,所以在之前进行分词是还需要将词的词性给标记出来。实验表明,最佳的选择是保留名词和形容词。

PageRank模型中,连接的关系一般只会发生一次,很少会有一个网页中存在两个指向同一个网页的链接。但在文本中却不同,有一些词是固定的搭配,它们会在一起出现多词。所以TextRank所构造的图应该是一个赋权图。这里的权值应该是两者共同出现的次数。相应的每个结点权值的更新公式应该更改为:

WS(Vi)=(1d)+d×VjIn(Vi)wji
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值