Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >快速上手关键词抽取的算法

快速上手关键词抽取的算法

作者头像
sladesal
发布于 2020-01-15 08:15:33
发布于 2020-01-15 08:15:33
1.4K0
举报
文章被收录于专栏:机器学习之旅机器学习之旅

前言

自然语言处理领域,我们有一种类型的问题是如何在一堆文本中提取出核心词/句子。而无论是对于长文本还是短文本,往往几个关键词就可以代表整个文本的主题思想。同时,在很多推荐系统中,由于无法直接就整体文本进行利用,往往会现对文本进行汇总,常用的方法就是embedding或者关键词抽取,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。让我们看下有哪些快速上手可用的方法。

TFIDF

TFIDF是term frequency inverse document frequency的简称,很好理解:term frequency dot inverse document frequency,文本频率与逆文档频率指数, TFIDF就是为了表征一个token(可以是一个字或者一个词)的重要程度。所以,当我们把doc中的每个词的重要程度算出来,倒序即可作为关键词。

Term Frequency

image

Inverse Document Frequency

image

分母+1是平衡未出现词

TF * IDF

TF-IDF算法非常容易理解,并且很容易实现,但是其简单结构并没有考虑词语的语义信息,无法处理一词多义与一义多词的情况。

实现

RAKE

RAKE是Rapid Automatic Keyword Extraction的简称,RAKE算法的亮点在于“R”,快速同时也有不俗的效果。

流程

  • 切句切词:切句是以标点+停顿词+分割词做标记,切词是借助第三方切词工具,我python版实现的时候用的是jieba,Java版实现的时候用的是HanNlp
  • 共现矩阵:构建共现矩阵
  • 特征提取:基于词的词频freq、度deg 以及度与频率之比deg/freq三个特征
  • 句的score:score = deg/freq
    • 建议通过句长进行平衡

实现

TextRank

知道PageRank的同学,一定知道这么一个道理,网页点击行为是一个有向图,重要的网页会被各种网页链接到,比如baidu,所以我们求出有向图中节点的重要性就是网页的重要性。TextRank其实思想类似,只是把有向图换成了无向图,所以公式大家就应该很熟悉,和PageRank类似:

image

其中,d依旧是阻尼系数,但是大家发现多了w,这个其实是节点之间边的权重,因为无向图,文本分词后的词汇跳转我们假设是相互等同的。

实现


以上的方法中,TFIDF只能对词进行提取,而RAKE和TextRank都可以抽词或者抽句。其实,以上方法都很简单,在数据量足够大的情况下,没有基于深度循环神经网络的算法效果好,但是强就强在易于上手,效果快速可见。

欢迎大家关注我的个人bolg知乎,更多代码内容欢迎follow我的个人Github,如果有任何算法、代码疑问都欢迎通过邮箱发消息给我。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实战关键词提取
关键词是代表文章重要内容的一组词,在文献检索、自动文摘、文本聚类/分类等方面有着重要的应用。现实中大量的文本不包含关键词,这使得便捷获取文本信息更困难,所以自动提取关键词技术具有重要的价值和意义。
伊泽瑞尔
2022/05/31
8140
实战关键词提取
NLP中关键字提取方法总结和概述
关键字提取是从文本文档中检索关键字或关键短语。这些关键词从文本文档的短语中选择出来的并且表征了文档的主题。在本文中,我总结了最常用的自动提取关键字的方法。
deephub
2021/10/09
2.1K0
NLP中关键字提取方法总结和概述
如何用Python提取中文关键词?
本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。 需求 好友最近对自然语言处理感兴趣,因为他打算利用自动化方法从长文本里提取关键词,来确定主题。 他向我询问方法,我推荐他阅读我的那篇《如何用Python从海量文本提取主题?》。 看过之后,他表示很有收获,但是应用场景和他自己的需求有些区别。 《如何用Python从海量文本提取主题?》一文面对的是大量的文档,利用主题发现功能对文章聚类。而他不需要处理很多的文档,也没有聚类的需求,但是需要处理的每篇文
企鹅号小编
2018/01/25
2K0
NLP基本工具之jieba:关键词提取、词性标注
jieba除了上一篇介绍的基本功能--分词之外,还可以进行关键词提取以及词性标注。
用户7164815
2020/04/26
3.1K0
如何用Python提取中文关键词?
本文一步步为你演示,如何用Python从中文文本中提取关键词。如果你需要对长文“观其大略”,不妨尝试一下。
王树义
2018/08/22
1.2K0
如何用Python提取中文关键词?
NLP札记3-信息抽取
具体到新词提取中,给定字符串S作为词语选取,X定义为左边可能出现的字符(左邻字),则成H(X)为S的左信息熵。
皮大大
2021/03/02
8360
技术干货 | 如何做好文本关键词提取?从三种算法说起
在自然语言处理领域,处理海量的文本文件最关键的是要把用户最关心的问题提取出来。而无论是对于长文本还是短文本,往往可以通过几个关键词窥探整个文本的主题思想。与此同时,不管是基于文本的推荐还是基于文本的搜索,对于文本关键词的依赖也很大,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。因此,关键词提取在文本挖掘领域是一个很重要的部分。 关于文本的关键词提取方法分为有监督、半监督和无监督三种: 1 有监督的关键词抽取算法 它是建关键词抽取算法看作是二分类问题,判断文档中的词或者短语是或者不是关键词
达观数据
2018/04/02
5.5K0
技术干货 | 如何做好文本关键词提取?从三种算法说起
广告行业中那些趣事系列31:关键词提取技术攻略以及BERT实践
摘要:本篇从理论到实际介绍了NLP领域常见的关键词提取技术。首先介绍了业务背景,包括NLP四大任务介绍、关键词提取是一种NER任务、线上使用关键词提取技术场景;然后重点详解了关键词提取技术,包括关键词提取技术整体流程、分词介绍、无监督学习提取关键词、有监督学习提取关键词;最后分别从无监督学习和有监督学习源码实践了关键词提取技术。对关键词提取技术感兴趣并希望应用到实际项目中的小伙伴能有所帮助。
数据拾光者
2022/05/05
1K0
广告行业中那些趣事系列31:关键词提取技术攻略以及BERT实践
用 Python 从单个文本中提取关键字的四种超棒的方法
在我之前的文章中,我介绍了使用 Python 和 TFIDF 从文本中提取关键词,TFIDF 方法依赖于语料库统计来对提取的关键字进行加权,因此它的缺点之一是不能应用于单个文本。
数据STUDIO
2022/05/24
6.5K0
用 Python 从单个文本中提取关键字的四种超棒的方法
【NLP基础】英文关键词抽取RAKE算法
RAKE英文全称为Rapid Automatic keyword extraction,中文称为快速自动关键字提取,是一种非常高效的关键字提取算法,可对单个文档进行操作,以实现对动态集合的应用,也可非常轻松地应用于新域,并且在处理多种类型的文档时也非常有效。
致Great
2022/09/23
9950
HanLP《自然语言处理入门》笔记--9.关键词、关键句和短语提取
笔记转载于GitHub项目:https://github.com/NLP-LOVE/Introduction-NLP
mantch
2020/02/21
3.3K0
HanLP《自然语言处理入门》笔记--9.关键词、关键句和短语提取
关于自然语言处理系列-关键词提取
自然语言处理包括中文分词、词性标注、关键词抽取、依存句法分析、文本分类接口情感分析、词义相似度计算、实体标识、文本摘要等等,慢慢来吧,看看一步步能到什么程度。本文实现的是关键词提取。
python与大数据分析
2022/03/11
4820
关于自然语言处理系列-关键词提取
基于TF-IDF算法抽取文章关键词
專 欄 ❈yonggege,Python中文社区专栏作者 博客:https://www.zhihu.com/people/yonggege ❈ 0. 写在前面 本文目的,利用TF-IDF算法抽取一篇文章中的关键词,关于TF-IDF,可以参考TF-IDF与余弦相似性的应用(一):自动提取关键词 - 阮一峰的网络日志。 TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。(百度百科) TF(Term Frequency)词频,某个词在文章中出现的次数或频率,如果某
Python中文社区
2018/01/31
2.7K0
基于TF-IDF算法抽取文章关键词
使用图计算系统实现研报关键词权重分数计算性能提升百倍以上
•一、数据模型•二、TF-IDF算法•三、计算过程 •3.1 指定研报和关键词计算TF-IDF分数 •3.2 优化3.1中的查询 •3.3 将3.2中查询封装为过程 •3.4 在集群中节点执行查询 •3.5 将计算结果写入MySQL •3.6 将计算结果写入图数据库 •3.7 分布式计算系统•四、总结
马超的博客
2022/09/02
6100
使用图计算系统实现研报关键词权重分数计算性能提升百倍以上
TF-IDF算法
TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)是一种常用于文本挖掘和信息检索的加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
红目香薰
2024/06/16
3860
RS(2)--从文本数据到用户画像
用户画像其实就是从海量的用户数据中,建模抽象出来每个用户的属性标签体系,这些属性通常需要具有一定的商业价值。
kbsc13
2020/03/25
1.4K0
Python数据挖掘-NLTK文本分析+jieba中文文本挖掘
NLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。
用户7886150
2021/01/15
3K0
sklearn+gensim︱jieba分词、词袋doc2bow、TfidfVectorizer
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/71436563
悟乙己
2019/05/26
3.7K0
TF-IDF与余弦相似性的应用-自动提取关键词
TF-IDF与余弦相似性应用之自动提取关键词 引言 这个标题看上去好像很复杂,其实我要谈的是一个很简单的问题。有一篇很长的文章,要用计算机提取它的关键词(Automatic Keyphrase ext
昱良
2018/04/08
7240
TF-IDF与余弦相似性的应用-自动提取关键词
简单NLP分析套路(2)----分词,词频,命名实体识别与关键词抽取
google 近期发布了颠覆性的NLP模型–BERT ,大家有空可以了解一下, 这是张俊林博士写的科普文章: https://mp.weixin.qq.com/s/EPEsVzbkOdz9GovrAM-p7g
流川疯
2019/01/17
3.5K0
推荐阅读
相关推荐
实战关键词提取
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文