NLP:TextRank 与 TF-IDF,原理与库使用,关键词提取

本文介绍了TextRank和TF-IDF在自然语言处理中的应用,包括关键词抽取和摘要生成。TextRank基于PageRank算法,通过构建单词图进行迭代计算,而TF-IDF则通过词频和逆文档频率评估词的重要性。同时讨论了如何在Python中使用TextRank4ZH和sklearn库进行实现,并提及jieba分词在关键词提取中的应用。
摘要由CSDN通过智能技术生成

TextRank

PageRank

  textrank借鉴大名鼎鼎的pagerank,pagerank是Google在搜索引擎中计算网页重要性的算法,这是一个基于有向图的迭代算法。在图中,每个节点表示一个网页,如果网页 V j V_j Vj有一个链接连到网页 V i V_i Vi,则在构建图时,也有一条边从 V j V_j Vj连到 V i V_i Vi。网页重要性的迭代公式如下:

S ( V i ) = ( 1 − d ) + d × Σ j ∈ I n ( V i ) 1 ∣ O u t ( V j ) ∣ × S ( V j ) S(V_i)=(1-d)+d\times \Sigma_{j\in In(V_i)}\frac{1}{|Out(V_j)|}\times S(V_j) S(Vi)=(1d)+d×ΣjIn(Vi)Out(Vj)1×S(Vj)

  其中, S ( V ) S(V) S(V)表示网页 V V V的重要性, d d d是阻尼系数,一般取0.85, I n ( V ) In(V) In(V) O u t ( V ) Out(V) Out(V)分别表示节点 V V V的入度和出度。不难看出来,上式的大体意思就是说,一个网页的重要性由接入到这个网页的其它网页的重要性决定,同时,接入的其它网页的重要性也对自己的出度取平均,在一定程度上削弱了某些具有大量外链的网页的影响。通过网页间的相互连接构建成有向图之后,对每个网页初始化一个重要性,一般可以初始化为1,然后不断的迭代。在每轮迭代中,上式左边的输出是迭代后网页 V V V的重要性,等号右边用到的临近节点的重要性全是该轮迭代前的。

  考虑到要迭代很多轮次,且上式右边每次迭代只有 S ( V j ) S(V_j) S(Vj)是不一样的,所以我们可以用矩阵模拟上面的运算,考虑下面这个简单的有向图

邻接矩阵表述如下:

A B C
A 0 0 0
B 1 0 0
C 1 0 0

考虑到迭代公式等号右边的接入网页重要性要对出度取平均,只需对邻接矩阵执行行归一化,当然对当前例子邻接矩阵行归一化后没有任何变化,记归一化邻接矩阵用 M M M表示,初始的各网页重要性为列向量 P 0 = [ 1 , 1 , 1 ] T P_0=[1,1,1]^{T} P0=[1,1,1]T,经过第一轮迭代后,网页重要性输出为 P 1 P_1 P1

P 1 = ( 1 − d ) + d ∗ M T ∗ P 0 P_1=(1-d)+d*M^T*P_0 P1=(1d)+dMTP0

同理,迭代公式也表示为:

P n = ( 1 − d ) + d ∗ M T ∗ P n − 1 P_n=(1-d)+d*M^T*P_{n-1} Pn

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值