TF-IDF与TextRank的关键词提取算法应用

TF-IDF

  TF-IDF(Term Frequency/Inverse Document Frequency)是信息检索领域非常重要的搜索词重要性度量;用以衡量一个关键词w对于查询(Query,可看作文档)所能提供的信息。词频(Term Frequency, TF)表示关键词w在文档Di中出现的频率:

\[TF_{w,D_i} = \frac{count(w)}{|D_i|}\]

  其中,count(w)为关键词w的出现次数,|Di|为文档Di中所有词的数量。逆文档频率(Inverse Document Frequency, IDF)反映关键词的普遍程度——当一个词越普遍(即有大量文档包含这个词)时,其IDF值越低;反之,则IDF值越高。IDF定义如下:

\[IDF_w = log\frac{N}{\sum_{i=1}^{N}I(w,D_i)}\]

  其中,N为所有的文档总数,I(w,Di)表示文档Di是否包含关键词,若包含则为1,若不包含则为0。若词w在所有文档中均未出现,则IDF公式中的分母为0;因此需要对IDF做平滑(smooth):

\[IDF_w = log\frac{N}{1+\sum_{i=1}^{N}I(w,D_i)}\]

  关键词w在文档Di的TF-IDF值:

\[TF - IDF_{w,D_i} = TF_{w,D_i} * IDF_w\]

从上述定义可以看出:

  • 当一个词在文档频率越高并且新鲜度高(即普遍度低),其TF-IDF值越高。

  • TF-IDF兼顾词频与新鲜度,过滤一些常见词,保留能提供更多信息的重要词。

TextRank
  • 思想
    通过词之间的相邻关系构建网络,然后用PageRank迭代计算每个节点的rank值,排序rank值即可得到关键词。

PageRank本来是用来解决网页排名的问题,网页之间的链接关系即为图的边,迭代计算公式如下:

\[PR(V_i) = (1 - d) + d * \sum_{j \in In(V_i)}\frac{1}{|Out(V_j)|}PR(V_j)\]

其中,PR(Vi)表示结点Vi的rank值,In(Vi)表示结点Vi的前驱结点集合,Out(Vj)表示结点Vj的后继结点集合,d为阻尼系数用于做平滑。

TextRank的迭代计算公式如下:

\[WS(V_i) = (1 - d) + d * \sum_{j\in In(V_i)}\frac{w_{ji}}{\sum_{V_k \in Out(V_j) w_{jk}}}WS(V_j)\]

可以看出,该公式仅仅比PageRank多了一个权重项Wji,用来表示两个节点之间的边连接有不同的重要程度。

TextRank生成摘要

  将文本中的每个句子分别看做一个节点,如果两个句子有相似性,那么认为这两个句子对应的节点之间存在一条无向有权边。考察句子相似度的方法是下面这个公式:

\[Similarity(S_i,S_j) = \frac{| \{ w_k | w_k \in S_i \bigcup w_k \in S_j \} |}{log(|S_i|) + log(|S_j|)}\]

  公式中,Si,Sj分别表示两个句子词的个数总数,Wk表示句子中的词,那么分子部分的意思是同时出现在两个句子中的同一个词的个数,分母是对句子中词的个数求对数之和。分母这样设计可以遏制较长的句子在相似度计算上的优势。

  我们可以根据以上相似度公式循环计算任意两个节点之间的相似度,根据阈值去掉两个节点之间相似度较低的边连接,构建出节点连接图,然后计算TextRank值,最后对所有TextRank值排序,选出TextRank值最高的几个节点对应的句子作为摘要。

参考文献

TF-IDF与TextRank

转载于:https://www.cnblogs.com/lewpeng/p/11155991.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TF-IDFTextRank和LSI都是常见的文本处理算法,它们的应用领域和效果略有不同。 1. TF-IDF TF-IDF是一种常用的文本特征提取方法,用于评估一个单词在一个文档中的重要程度。它通过计算一个单词在文档中的出现频率(Term Frequency,TF)和在语料库中的出现频率的逆文档频率(Inverse Document Frequency,IDF)来确定单词的重要性。TF-IDF算法简单、易于实现、计算速度快,并且在许多文本分类任务中具有良好的效果。 2. TextRank TextRank是一种用于文本摘要关键词提取算法,它通过将文本中的词汇看作节点,词汇之间的共现关系看作边,构建一个基于图的模型。然后通过迭代计算每个节点的权重,得到最终的摘要或者关键词TextRank算法具有良好的可解释性和灵活性,可以应用于多种文本处理任务。 3. LSI LSI(Latent Semantic Indexing)是一种基于奇异值分解(SVD)的文本降维技术,用于将文本转换为低维向量空间表示。LSI可以有效地处理文本中的语义信息,并且在文本聚类和相似度计算等任务中具有良好的效果。但是,LSI算法需要进行矩阵分解,计算复杂度较高,而且对于大规模语料库不太适用。 综上所述,TF-IDFTextRank和LSI都是常见的文本处理算法,它们的应用领域和效果略有不同。具体选择哪种算法,需要根据实际任务需求和文本数据的特点来进行分析和选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值