关键词提取算法

article/2025/9/21 20:02:32

来源:《Python自然语言处理实战:核心技术与算法》

1.TF-IDF

TF-IDF从词频、逆文档频次两个角度对词的重要性进行衡量,可以根据tf-idf值由大到小排序取前n个作为关键词。

                                      

传统的TF-IDF算法中,仅考虑了词的两个统计信息(出现频次、在多少个文档出现),因此,其对文本的信息利用程度显然也是很少的。

除了上面的信息外,在一个文本中还有许多信息能对关键词的提取起到很好的指导作用,例如每个词的词性出现的位置等。在某些特定的场景中,如在传统的TF-IDF基础上,加上这些辅助信息,能对关键词提取的效果起到很好的提高作用:

  1. 在文本中,名词作为一种定义现实实体的词,带有更多的关键信息,如在关键词提取过程中,对名词赋予更高的权重,能使提取出来的关键词更合理。

  2. 此外,在某些场景中,文本的起始段落和末尾段落比起其他部分的文本更重要,如对出现在这些位置的词赋予更高的权重,也能提高关键词的提取效果。

算法本身的定义是死的,但是结合我们的应用场景,对算法进行合适的重塑及改造,使之更适应对应场景的应用环境,无疑能对我们想要得到的结果起到更好的指导作用。

2.TextRank

TextRank算法,基本思想来源于Google的PageRank算法,最早用于文档的自动摘要,基于句子维度的分析,利用TextRank对每个句子进行打分,挑选出分数最高的n个句子作为文档的关键句,以达到自动摘要的效果。

TextRank算法,可以脱离语料库的背景,仅对单篇文档进行分析就可以提取该文档的关键词,即TextRank可以不用训练,直接根据单个文档就可以对关键词进行提取。这也是TextRank算法的一个重要特点。其他算法的关键词提取都要基于一个现成的语料库,如:

  • 在TF-IDF中,需要统计每个词在语料库中的多少个文档有出现过,也就是逆文档频率;

  • 主题模型的关键词提取算法,则是要通过对大规模文档的学习,来发现文档的隐含主题。

3. 主题模型 

一般来说,TF-IDF算法和TextRank算法就能满足大部分关键词提取的任务。但是在某些场景,基于文档本身的关键词提取还不是非常足够,有些关键词并不一定会显式地出现在文档当中,如一篇讲动物生存环境的科普文,通篇介绍了狮子老虎鳄鱼等各种动物的情况,但是文中并没有显式地出现动物二字,这种情况下,前面的两种算法显然不能提取出动物这个隐含的主题信息,这时候就需要用到主题模型。

前面两种模型缺点:是直接根据词与文档的关系,对关键词进行抽取。这两种方法仅用到了文本中的统计信息,对文本中丰富的信息无法充分地进行利用,尤其是其中的语义信息,对文本关键词的抽取显然是一种非常有用的信息。

主题模型:与前面两种模型不同的是,主题模型认为在词与文档之间没有直接的联系,它们应当还有一个维度将它们串联起来,主题模型将这个维度称为主题。每个文档都应该对应着一个或多个的主题,而每个主题都会有对应的词分布,通过主题,就可以得到每个文档的词分布。

3.1 LSA/pLSA

相较于传统SVM模型(Space Vector Model,空间向量模型)对语义信息利用的缺乏,LSA通过SVD(奇异值分解)将词、文档映射到一个低维的语义空间,挖掘出词、文档的浅层语义信息,从而对词、文档进行更本质地表达。这也反映了LSA的优点,可以映射到低维的空间,并在有限利用文本语义信息的同时,大大降低计算的代价,提高分析质量。

LSA是通过SVD这一暴力的方法,简单直接地求解出近似的word-topic-document分布信息。但是其作为一个初级的主题模型,仍然存在着许多的不足。其中主要的缺点是:

1. SVD的计算复杂度非常高,特征空间维度较大的,计算效率十分低下。

2. 另外,LSA得到的分布信息是基于已有数据集的,当一个新的文档进入到已有的特征空间时,需要对整个空间重新训练,以得到加入新文档后对应的分布信息。

3. 除此之外,LSA还存在着对词的频率分布不敏感、物理解释性薄弱等问题。

为了解决这些问题,学者们在LSA的基础上进行了改进,提出了pLSA算法,通过使用EM算法对分布信息进行拟合替代了使用SVD进行暴力破解,从一定程度上解决了LSA的部分缺陷,但是LSA仍有较多不足。通过不断探索,学者们又在pLSA的基础上,引入了贝叶斯模型,实现了现在topic model的主流方法——LDA(LatentDirichlet Allocation,隐含狄利克雷分布)。

3.2 LDA

 

 

 

 

 


http://chatgpt.dhexx.cn/article/95AFp2UI.shtml

相关文章

KeyBert关键词提取 :原理、方法介绍、代码实践

创建于:20210708 修改于:20210708, 20221104 文章目录 1 概述2 方法介绍2.1 安装2.2 KeyBERT(model)2.3 extract_keywords参数介绍 3、代码实践3.1 英文示例3.2 中文示例 4、加载不同的模型库4.1 SentenceTransformers模型调用4.2 Transformers模型调用4…

常用的Python3关键词提取方法

诸神缄默不语-个人CSDN博文目录 本文将介绍一些简单的使用Python3实现关键词提取的算法。目前仅整理了一些比较简单的方法,如后期将了解更多、更前沿的算法,会继续更新本文。 文章目录 1. 基于TF-IDF算法的中文关键词提取:使用jieba包实现2.…

NLP——关键词提取

NLP——关键词提取 文章目录 NLP——关键词提取前言一、TF-IDF算法1. 基本原理2. 算法改进 二、TextRank算法1. 基本原理2. PageRank算法3. TextRank算法4. TextRank算法在关键词提取的应用 三、LSA/LSI/LDA算法1. LSA/LSI算法2. LDA算法 四、实战练习 前言 关键词提取分为有监…

文本关键词提取:ansj

背景 因为文本内容里面,需要提取出关键词给到seo作关键词。 同时内容是中文的,需要找个对应的中文分词和提取工具。 ansj 根据官方介绍,感觉还是比较厉害的样子。 官方说明: 这是一个基于n-GramCRFHMM的中文分词的java实现。…

[转]NLP关键词提取方法总结及实现

最近在研究关键词的提取算法,看到一篇关于关键词提取算法的总结,比较全面了,在这里分享给大家,希望能够帮助同学们~ 原文链接:https://blog.nowcoder.net/n/ac016f8256f54c4b8c8784e99bccf28a (ps:作者同意…

文本中的关键词提取方法

目录 1. TF-IDF(Term Frequency-Inverse Document Frequency)算法: 2. TextRank算法: 3. LDA(Latent Dirichlet Allocation)算法: 4. RAKE(Rapid Automatic Keyword Extraction&…

关键词抽取方法

1、关键词提取 为了方便用户快速了解文章的中心主题,会抽取文章的一些中心词来表达文章的中心思想。关键词抽取就是通过一定的方法抽取出能表达文章的中心主题的一系列方法。 2、关键词抽取方法分类 2.1、有监督无监督抽取方法 无监督关键词提取方法主要有三类&…

自然语言处理之——关键词提取(一)

一. 摘要 本次的分享中,我们将了解目前较常用的关键词提取技术。关键词是代表文章重要内容的一组词。在文本的分类聚类、自动摘要等方面有着重要的作用。还可以让人们更直观便捷的浏览文本信息。在现实的常用文本中是不包含关键词的,所以自动…

记一次 watchbog 挖矿病毒的清理

突然发现服务器上的mysql数据库连接不上遂使用xshell连接服务器查看进程发现被一个叫watchbog的进程沾满了cpu 通过查阅资料发现该病毒通过定时器 不断下载挖矿程序脚本 先清除 crontab中不属于自己的内容 kill掉所有的watchbog进程 bog 不是dog 查找到服务器上所有的…

手工清除Windows服务器上的Steam挖矿病毒:HackTool/CoinMiner.a及Trojan/Miner.ac

手工清除Windows服务器上的Steam挖矿病毒:HackTool/CoinMiner.a及Trojan/Miner.ac 起因: 最近服务器群里的两台Windows虚拟服务器上的CPU占用率超级高(已经达到了91%),严重影响公司程序的正常运行,但是又不能安装杀毒软…

2019上半年恶意挖矿趋势报告

上一期,深信服安全团队对勒索病毒进行2019半年度总结,主要盘点了高发勒索家族、受灾区域分布、勒索病毒发展走向等。本期深信服安全团队对另一流行病毒类型——挖矿木马进行深入分析,给大家揭秘2019上半年挖矿木马的所作所为。 一、2019上半…

服务器被加了挖矿代码

2019独角兽企业重金招聘Python工程师标准>>> 平时很少使用的一台服务器,24G内存,在上面搭建了Hadoop环境。 突然发现负载好高,top看了一下,一个java进程占用了很多cpu 疑似国内来源的“8220挖矿团伙”追踪溯源分析 挖矿…

威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复...

2019独角兽企业重金招聘Python工程师标准>>> 背景 近日,阿里云安全监测到watchbog挖矿木马使用新曝光的Nexus Repository Manager 3远程代码执行漏洞(CVE-2019-7238)进行攻击并挖矿的事件。 值得注意的是,这一攻击开始的时间(2月2…

威胁快报|ProtonMiner挖矿蠕虫扩大攻击面,加速传播

2019独角兽企业重金招聘Python工程师标准>>> 背景 近日,阿里云安全监测到一种挖矿蠕虫,正在互联网上加速传播。阿里云安全根据它使用ProtonMail邮箱地址作为矿池用户名的行为,将其命名为ProtonMiner。据分析,这种蠕虫与…

记一次mykings暗云挖矿木马的排查与解决

微信公众号:运维开发故事,作者:wanger 起因 之前有一台做测试的Windows server2012阿里云服务器的防火墙关掉之后开机总是启动,想了很多办法也没找到原因就提了工单问了售后,结果售后也没发现问题,并提示我…

应急响应流程以及入侵排查

归纳转载于: 应急响应的整体思路和基本流程 - FreeBuf网络安全行业门户不管是普通的企业,还是专业的安全厂商,都不可避免的需要掌握和运用好信息安全的知识、技能,以便在需要的时候,能够御敌千里。https://www.freebu…

阿里云服务器被挖矿程序minerd入侵的终极解决办法

突然发现阿里云服务器CPU很高,几乎达到100%,执行 top c 一看,吓一跳,结果如下: 3798 root 20 0 386m 7852 1272 S 300.0 0.1 4355:11 /tmp/AnXqV -B -a cryptonight -o stratumtcp://xmr.crypto-pool.fr:44…

如何更有效的消灭watchdogs挖矿病毒?华为云DCS Redis为您支招

2019独角兽企业重金招聘Python工程师标准>>> 漏洞概述 近日,互联网出现watchdogs挖矿病毒,攻击者可以利用Redis未授权访问漏洞入侵服务器,通过内外网扫描感染更多机器。被感染的主机出现 crontab 任务异常、系统文件被删除、CPU 异…

2t3ik与ddgs挖矿病毒处理

为什么80%的码农都做不了架构师?>>> http://ju.outofmemory.cn/entry/351669 转载于:https://my.oschina.net/lgfei/blog/1809898

Linux 服务器上有挖矿病毒 kdevtmpfsi 如何处理?

本文转载自:https://my.oschina.net/u/4437985/blog/3168526 侵删 症状表现 服务器CPU资源使用一直处于100%的状态,通过 top 命令查看,发现可疑进程 kdevtmpfsi。通过 google搜索,发现这是挖矿病毒。 排查方法 首先&#xf…