TextRank

article/2025/8/28 16:45:44

TextRank与PageRank

TextRank的灵感来源于大名鼎鼎的PageRank算法,这是一个用作网页重要度排序的算法。

这个算法是基于图的,每个网页可以看作是一个图中的结点,如果网页A能够跳转到网页B,那么则有一条A->B的有向边。这样,我们就可以构造出一个有向图了。然后,利用公式:

经过多次迭代就可以获得每个网页对应的权重。下面是公式每个元素的含义:

可以发现,这个方法只要构造好图,对应关系自然就有了,这实际上是一个比较通用的算法。那么对于文本来说也是同样的,只要我们能够构造出一个图,图中的结点是单词/句子,只要我们通过某种方法定义这些结点存在某种关系,那么我们就可以使用上面的算法,得到一篇文章中的关键词/摘要。

使用TextRank提取关键词

提取关键词,可以采取和“网页中选哪个网页比较重要”类似的方法,只需要想办法把图构建出来。

图的结点是“单词”。把文章拆成句子,每个句子再拆成单词,以单词为结点。

那么边如何定义呢?这里就可以利用n-gram的思路,简单来说,某个单词,只与它附近的n个单词有关,即与它附近的n个词对应的结点连一条无向边(两个有向边)。

另外,还可以做一些操作,比如把某类词性的词删掉,一些自定义词删掉,只保留一部分单词,只有这些词之间能够连边。
 

使用TextRank提取文章摘要

提取文章摘要以句子为结点。计算两个句子的相似度来定义边。似度的公式:

简单来说就是,两个句子单词的交集除以两个句子的长度。然后还有一点就是,其他计算相似度的方法应该也是可行的,比如余弦相似度,最长公共子序列之类的,不过论文里一笔带过了。

 


http://chatgpt.dhexx.cn/article/eMoPjCN8.shtml

相关文章

TextRank算法介绍及实现

目录 1、PageRank算法 2、TextRank算法 (1)关键词抽取(keyword extraction) (2)关键短语抽取(keyphrase extration) (3)关键句抽取(sentence…

TextRank原理解释

目录 1. PageRank原理 2. TextRank (1)TextRank需要满足的条件 (2)TextRank思想的简要理解 (3)TextRank原理及例子讲解 1. PageRank原理 在这里可以看我转载的PageRank原理链接,比较详细h…

TextRank算法原理简析、代码实现

前言—PageRank 注:PageRank原理另行查询 在介绍TextRank前,我想先给大家介绍下PageRank,实质上个人认为可以把TextRank当做PageRank2.0。   谷歌的两位创始人的佩奇和布林,借鉴了学术界评判学术论文重要性的通用方法&#xff0…

NLP学习笔记——TextRank算法

一、算法简介 TextRank算法是一种基于图的排序算法,由谷歌的网页重要性排序算法PageRank算法改进而来,主要应用有关键词提取、文本摘要抽取等。该算法的主要思想是:把文档中的词(句)看成一个网络,词&#…

机器学习——逻辑回归常见面试题整理

逻辑回归 1.介绍 逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯队下降来求解参数,来达到将数据二分类的目的。 2.逻辑回归的损失函数和梯度下降参数迭代方法 逻辑回归的损失函数是它的极大似然函数 参数迭代方法 3.逻…

面试精选逻辑推理题总结

类似的杀人游戏 1、500张骨牌整齐地排成一行,按顺序编号为1、2、3、……、499、500。第一次拿走所有奇数位置上的骨牌,第二次再从剩余骨牌中拿走奇数位置上的骨牌,以此类推。请问最后剩下的一张骨牌的编号是?(256&…

IT科技企业逻辑思维面试题

逻辑思维面试题 一、假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。【请描述操作过程】 答:(1)先用容积为6升的水壶装满水; &#…

面试逻辑题分享--字母数字映射关系推算题

越来越多的朋友可能会发现,在现在找工作的时候,经常会遇到一些笔试题,而且其中不乏有逻辑题,企业希望通过一些逻辑题的测试,来判断求职者的一个逻辑思维能力。今晚在群里看到有小伙伴发了一个题,一时兴起&a…

前端_逻辑题 1

题目一 5只鸡5天能下5个蛋,100天下100个蛋需要多少只鸡? 1只鸡5天能下1个蛋,1只鸡100天能下20个蛋,所以100天下100个蛋需要5只鸡。 题目二 两个盲人都各自买了一对黑袜和一对白袜,四对袜子的布质、大小完全相同&#…

华为软件测试笔试真题之变态逻辑推理题【二】华为爆火面试题

“一头牛重800公斤,一座桥承重700公斤,问牛怎么过桥?” 这个问题在知乎上被浏览过13672927次,火热程度可见一斑。 据说这是华为的面试题,看似不合理的题目和国际闻名的大厂,极大的勾起了人们的兴趣。 不像面…

二、逻辑回归LR面试题总结

1. 简单介绍一下逻辑回归? 逻辑回归主要用来解决分类问题,线性回归的结果 Y Y Y带入一个非线性变换的Sigmoid函数中,得到 [ 0 , 1 ] [0,1] [0,1]之间取值范围的数 S S S, S S S可以把它看成是一个概率值,如果我们设置…

互联网面试——.Net 面试题

提供了最常见的 .Net 面试问题和许多公司提出的答案。让我们看看顶级 Dot Net 面试问题列表。 1. 什么是.NET? .NET 是一种软件开发框架。它就像其他软件开发框架(J2EE)一样。它以类库和 API 的形式提供运行时功能和一组丰富的预构建功能。此…

程序员面试逻辑题解析

《程序员面试逻辑题解析》 基本信息 原书名:Puzzles for Programmers and Pro 作者: (美)Dennis E. Shasha [作译者介绍] 译者: 费若愚 朱学武 出版社:人民邮电出版社 ISBN:9787115301956 上架时间:2012…

程序员面试必看32道经典逻辑推理题

写在前面: 此文档由一位学长整理,转载请附上原文出处链接 32道经典逻辑推理题包括有关二进制、水桶、钱、蓝眼、时间、重量、数学、其他等问题 Click here 有秘密哦!!! 点击浏览 文章目录 一、数字的魅力二、分而治之…

面试逻辑题

逻辑题目 逻辑题目现在也是面试中常考的题目,也不清楚面试出这种题目的意义,可能就是考察面试人员是否逻辑清晰. 这种题目没有什么好的方法,除非你见过原题,否则,只能根据所给出的条件慢慢分析,尽量不要用常规思路,希望大家要跳跃思维. 如果实在不行就给出一种解法,可能不是最…

面试常见逻辑题小整理

题一、 1 1 1 2 1 1 2 1 1 1 1 1 2 2 1 下一行是什么? 答案: 312211 题二、 (1)烧一根不均匀的绳要用一个小时,如何用它来判断半个小时? (2)烧一根不均匀的绳,从头烧…

二维vector数组初始化方法

在用devcpp编译程序时发现,二维vector数组如果只定义的话,不指定元素个数也不进行初始化的时候会导致编译出错。 通常情况下,可以只提供vector对象容纳的元素数量而略去初始值。此时库会创建一个值初始化的元素初值,并把它赋给容器…

【vector常用的6种初始化方法】

文章目录 一二三四五六 一 最常用,此时,vector为空, size为0,表明容器中没有元素,而且 capacity 也返回 0,意味着还没有分配内存空间。这种初始化方式适用于元素个数未知,需要在程序中动态添加…

vector的初始化和遍历

这里只说明常用的vector初始化的方式。一般vector的初始化我还是比较习惯于像数组一样的初始化方式。一个一个赋值&#xff0c;或者用花括号的初始化。下面用一个程序来说明&#xff1a; #include "stdafx.h"#include <vector>#include <iostream.h>usi…

c++ vector 初始化_C++--vector()的用法

vector()的用法 概念 vector 是向量类型&#xff0c;它可以容纳许多类型的数据&#xff0c;如若干个整数&#xff0c;所以称其为容器。vector 是C STL的一个重要成员&#xff0c;使用它时需要包含头文件&#xff1a; #include<vector>;一、vector的初始化 (1) vector&l…