业界动态
关键词提取_关键词提取和文本摘要算法TextRank详解及实战
2024-11-01 23:32

关键词提取和文本摘要算法TextRank详解及实战

关键词提取_关键词提取和文本摘要算法TextRank详解及实战

写在前面

最近一直没有更新文章,实在惭愧。伴随着小老弟的职业方向由风控转向了NLP,后面的文章也会集中在NLP领域,希望大家能够继续支持~

导读

本文围绕原理和特点介绍了关键词提取和文本摘要算法TextRank,并给出了实现代码和算法效果。

TextRank主要有关键词提取和文本摘要两个功能,在Jieba分词里也有集成,在介绍TextRank的原理之前,必须介绍下PageRank,理解了PageRank,也就理解了TextRank的精髓。

PageRank

PageRank算法用于解决互联网网页的价值排序问题,对于某个关键词的搜索,往往会有很多网页与之相关,如何对这些网站进行排序然后返回给用户最有”价值“的网站?最直观的,对每个网页进行“打分”,而打分标准至关重要。

从公式中可以看到这是一个迭代公式,所以存在“先有鸡还是先有蛋”的问题,对于这个问题,解决办法是给每一个节点一个初始值,一般是1/N,N即N个网页。

小老弟就不挨着算了,可以看到这样计算是非常麻烦的,同时对于这5个网页之间的关系表示,也非常麻烦,很不优雅,很不数学,所以就要引入一个新的概念-邻接矩阵(Adjacency Matrix)。

首先介绍一个词:图(Graph)。做知识图谱的肯定很了解它,当然,随着相关理论的发展,图论越来越多的出现在了机器学习和深度学习的各个领域,并且取得了很好的效果。

这里就进行简单的介绍,所谓“图”,由节点(node)和边(edge)构成,在这里,节点就是网页,两网页间是否存在边则由两网页是否存在超链接决定。

前面的图中,可以认为是A-E 5个网页构成的图,节点与节点之间存在着边,图中存在箭头,此时的图称为“有向图”。

B到C的箭头表示B网页有到C网页的链接,而A、B之间的箭头表示A、B网页之间相互链接。

此外,虽然前面说W矩阵是概率转移矩阵,但它并不真正满足概率转移矩阵的定义

矩阵各元素都是非负的,并且各行(列)元素之和等于1,在一定条件下是互相转移的。

同时,求S的过程,实际是一个马尔科夫收敛过程,而马尔科夫收敛,也需要满足一定的条件,首先必须满足转移矩阵的定义,其次转移矩阵不可约,且非周期。转移矩阵不可约指的是每一个状态都可来自任意的其它状态,也就是任意两个网页都可以通过若干中间网页链接。周期指的是存在一个最小的正整数 k,使得从某状态 i 出发又回到状态 i 的所有路径的长度都是 k 的整数倍,也就是DeadEnds问题,这里由于d的存在,也使得非周期性得到满足。

关键词提取任务

在这个任务中,词就是Graph中的节点,而词与词之间的边,则利用“共现”关系来确定。所谓“共现”,就是共同出现,即在一个给定大小的滑动窗口内的词,认为是共同出现的,而这些单词间也就存在着边,举例

“淡黄的长裙,蓬松的头发

牵着我的手看最新展出的油画”

分词后

淡黄  长裙  蓬松  头发

牵  我  手  看  最新  展出  油画

给定窗口为2,依次滑动

淡黄  长裙

长裙  蓬松

蓬松  头发

牵  我

我  手

。。。

不难发现,相对于PageRank里的无权有向图,这里建立的是无权无向图,原论文中对于关键词提取任务主要也是构建的无向无权图,对于有向图,论文提到是基于词的前后顺序角度去考虑,即给定窗口,比如对于“长裙”来说,“淡黄”与它之间是入边,而“蓬松”与它之间是出边,但是效果都要比无向图差。

文本摘要任务

当然,也可以使用其他相似度计算方法,比如在有的改进的TextRank方法中,会使用余弦相似度,即先把两个句子分词,词向量化后,利用词向量加和求平均的方式计算句向量,然后再计算两个句子的余弦相似度。

同样,也进行标准化处理,实际上,标准化处理后的权重,就是式子(5)中对应的权重。仍然可以利用矩阵计算公式(4)进行迭代计算。

总结

TextRank的论文中测试了很多种方法,结合实际来看,TextRank的优缺点总结如下

优点

1)  无监督方式,无需构造数据集训练。

2)  算法原理简单且部署简单。

3)  继承了PageRank的思想,效果相对较好,相对于TF-IDF方法,可以更充分的利用文本元素之间的关系。

缺点

1)  结果受分词、文本清洗影响较大,即对于某些停用词的保留与否,直接影响最终结果。

2)  虽然与TF-IDF比,不止利用了词频,但是仍然受高频词的影响,因此,需要结合词性和词频进行筛选,以达到更好效果,但词性标注显然又是一个问题。

实战

至此,TextRank介绍完毕,在实操过程中,小老弟发现网上的代码很多是基于networkx包里的pagerank方法进行的计算,与论文公式计算的结果有出入,本着“纸上得来终觉浅“的原则,小老弟动手写了一下TextRank。项目主要结构如下

-TextRank

--textPro.py : 文本处理,分句分词去停用词,根据词性过滤词。

--textRank.py:实现抽取N个关键词和N个关键句。

--utils.py:共现矩阵的构造,值的计算等。

--const.py:某些常量

获取代码

关注公众号,发送“textrank”,获取相关代码和论文。也可至GitHub:https://github.com/abner-wong/textrank

    以上就是本篇文章【关键词提取_关键词提取和文本摘要算法TextRank详解及实战】的全部内容了,欢迎阅览 ! 文章地址:http://nhjcxspj.xhstdz.com/news/166.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 物流园资讯移动站 http://yishengsujiao.xhstdz.com/ , 查看更多   
最新新闻
icp信息查询 icp信息查询系统
    域名信息DNICP(Domain Name Internet Content Provider)的目的就是为了防止在网上从事非法的网站经营活动&
bi数据分析工具
bi数据分析工具是一款非常专业的线上办公软件,这款软件可以帮助用户快速整理各种表格,直接生成柱状图,了解企业的各项经营情况
【“数智说”系列人物对话】上海市经信委钱晓:从“上海数字”到“数字上海”
为贯彻落实上海市委、市政府《关于全面推进上海城市数字化转型的意见》精神,推动“经济、生活、治理”全面数字化转型,引导全社
元宵祝福语简洁大气
在学习、工作乃至生活中,大家都有写祝福语的经历,对祝福语很是熟悉吧,祝福语是指对人们的美好祝福的语句。下面是小编整理的元
AI文档解析软件大PK:准确度、速度、多样性对比一览
作为一位热衷于科技的爱好者,我对AI文章信息提取技术怀抱极大兴趣并期待它带来的惊喜改进。在这次分享中,我会以谦虚但详尽的方
又一种农产品上热搜 看点居然是能“手撕”
新京报讯(记者 景啸尘)继春节前的“车厘子”上过热搜后,这两天又有一种农产品登上了微博和抖音热搜,就是咱们常见的凤梨,而
《天津市人民政府办公厅关于进一步加强征地管理工作的通知》政策解读
近日,市政府办公厅正式印发了《关于进一步加强征地管理工作的通知》(津政办发〔2022〕13号)(以下简称《通知》),有关政策解
2024年高考英语的热点词汇 - New quality productive forces(新质生产力)
高考英语阅读理解题占比30%,而且其他题项均涉及对阅读速度和理解质量的考查,可谓得阅读者,得150。大部分同学比较畏惧的就是Di
TikTok东南亚卖家宝典:《2024全球消费趋势白皮书》东南亚篇
TikTok官方发布《2024全球消费趋势白皮书》美区篇同时也推出了东南亚篇,《2024全球消费趋势白皮书》从赛道、渠道、价格、潮流、
AI大模型推理的详细过程和推理优化技术,以及代码实战样例
大家好,我是微学AI,今天给大家介绍一下AI大模型推理的详细过程和推理优化技术,以及代码实战样例,同
本企业新闻