NLP segment-02-聊一聊关键词提取 keyword

拓展阅读

分词系列专题

jieba-fenci 01 结巴分词原理讲解 segment

jieba-fenci 02 结巴分词原理讲解之数据归一化 segment

jieba-fenci 03 结巴分词与繁简体转换 segment

jieba-fenci 04 结巴分词之词性标注实现思路 speechTagging segment

关键词系列专题

NLP segment-01-聊一聊分词

NLP segment-02-聊一聊关键词提取 keyword

NLP segment-03-基于 TF-IDF 实现关键词提取 java 开源实现

倒排索引原理与实现 reverse-index

TF-IDF 自动生成文章摘要

TF-IDF 自动提取关键词

相似文章算法之语义指纹-文本内容去重

TF-IDF 找出相似文章算法

开源项目

为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~

nlp-keyword 关键词

pinyin 汉字转拼音

segment 高性能中文分词

opencc4j 中文繁简体转换

nlp-hanzi-similar 汉字相似度

word-checker 拼写检测

sensitive-word 敏感词

NLP 的关键词提取

在自然语言处理(NLP)中,关键词提取是从文本中自动识别出最能代表该文本主题的词或短语的过程。

关键词提取有助于快速理解文档内容,并在信息检索、文本分类、摘要生成等任务中扮演重要角色。

关键词提取的方法可以分为基于统计的方法基于模型的方法

1. 基于统计的关键词提取方法

基于统计的方法主要依赖词频、词的位置等统计信息,比较适合无监督的关键词提取场景。

常见方法包括:

1.1 TF-IDF(Term Frequency-Inverse Document Frequency)
  • 原理:TF-IDF 通过计算词语在文档中的词频(TF)和逆文档频率(IDF)来衡量词的重要性。TF 反映了词语在当前文档中的出现频率,IDF 则降低在所有文档中频繁出现的词的权重。词的权重为 TF 与 IDF 的乘积。
  • 优点:实现简单且效率较高。
  • 缺点:仅考虑了词频和文档分布,不适合处理上下文信息,忽略了词语之间的关系。
1.2 TextRank
  • 原理:TextRank 是一种基于图的算法,类似于 PageRank。将文档中的词语看作图的节点,如果两个词在一个窗口内共同出现,则在这两个词间建立一条边,边的权重由词的共现频率决定。然后通过迭代计算每个词的重要性得分,并选择得分高的词作为关键词。
  • 优点:无监督算法,能够自动提取关键词,适合不依赖训练数据的场景。
  • 缺点:忽略了词义相似性,效果依赖于窗口大小的设置。
1.3 RAKE(Rapid Automatic Keyword Extraction)
  • 原理:RAKE 通过检测词语在文档中的词组结构来生成关键词。首先分离出停用词,将剩余词语组成候选关键词短语。然后基于这些短语的共现关系,计算候选关键词的得分。
  • 优点:简单高效,适合提取多词短语。
  • 缺点:仅基于词的邻近关系,对语义信息捕捉有限。
1.4 Mutual Information(互信息)
  • 原理:互信息衡量两个词共现的概率与各自独立出现的概率之间的关系。互信息越大,表明两个词之间的联系越紧密。常用于提取二元词组或多元词组作为关键词。
  • 优点:适合挖掘组合关键词,便于生成二元或多元关键词。
  • 缺点:容易受噪声干扰,且依赖于足够大的语料库。

2. 基于模型的关键词提取方法

随着深度学习的发展,基于模型的方法能够更加智能地结合上下文语义进行关键词提取。常见方法包括:

2.1 BERT-based Extractive Models
  • 原理:基于 BERT 等预训练语言模型,通过微调后的模型来提取关键词。BERT 模型通过自注意力机制捕捉了上下文信息,能够识别出与文本主题相关的关键词。
  • 优点:可以处理复杂的上下文关系,识别出符合语义的关键词。
  • 缺点:计算量较大,需要大量标注数据进行微调。
2.2 Sequence Labeling(序列标注)
  • 原理:将关键词提取看作序列标注问题,使用 Bi-LSTM+CRF、Transformer 或 BERT 等模型,将每个词标记为“关键词”或“非关键词”。
  • 优点:能灵活地处理句子中的语义信息,适合长文本的关键词提取。
  • 缺点:需要大量标注数据进行训练,依赖上下文信息而导致短文本效果有限。
2.3 GCN(Graph Convolutional Networks)
  • 原理:构建一个图结构,其中节点代表词语,边代表共现关系。通过 GCN 进行图卷积运算,获取每个词的特征,并通过迭代计算词的重要性得分。
  • 优点:适合结构化文本,能有效处理词的共现信息。
  • 缺点:构建图的过程复杂,计算成本较高。
2.4 GPT 模型
  • 原理:GPT 通过预训练的 Transformer 结构捕捉上下文关系,提取出与主题相关的词。与 BERT 不同,GPT 更适合生成任务,可用来生成与主题相关的长尾关键词。
  • 优点:具有较好的语义理解和生成能力。
  • 缺点:生成的关键词可能会存在不相关信息,且在计算资源上要求较高。

核心场景

老马感兴趣的主要下面几个点:

  • 自动摘要生成

  • 文本相似度计算与查重

  • 情感分析

  • 文本分类

  • 性别推断

拓展平台

问答系统

检索/搜索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461252.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

掌握分布式系统的38个核心概念

天天说分布式分布式,那么我们是否知道什么是分布式,分布式会遇到什么问题,有哪些理论支撑,有哪些经典的应对方案,业界是如何设计并保证分布式系统的高可用呢? 1. 架构设计 这一节将从一些经典的开源系统架…

OpenAI 的 Whisper:盛名之下,其实难副?

OpenAI 的 Whisper:盛名之下,其实难副? Whisper 的崛起与承诺 严重缺陷的曝光 风险分析 应对措施 结论 在人工智能的浪潮中,OpenAI 一直以其创新性和强大的技术实力备受瞩目。然而,最近 OpenAI 的语音转写工具 Wh…

【MySQL】可重复读级别下基于Next Key Lock解决幻读

昨天读到了一篇文章[1],里面讲,面试官说mysql的可重复读级别下有解决幻读的方式,最后公布了答案,是在sql后面加for update。这么说倒是没错,但是这种问法给我一种奇怪的感觉,因为for update无论在哪个隔离级…

Kaggle “Reducing Commercial Aviation Fatalities” 比赛 生理数据分析

1、背景 Kaggle在2018 年 12 月 20 日举办“Reducing Commercial Aviation Fatalities” 比赛,通过收集飞行员的生理数据,判断飞行员何时会遇到麻烦吗?该比赛主要分析飞行员的问题,因为航班多、时间不固定,飞行员会出…

Python 字符串类型中 ``split(“\n“)`` 与 ``splitlines()`` 方法的一些区别

最近在以 self.__print("#" * 20 "\n") 调用自己写的 __print 接口时发现打印的时候 "\n" 没有打出来,进而发现了 split("\n") 与 splitlines() 方法的一些区别。 一个是参数上,split 需要传递一个字符串作为…

开源库 FloatingActionButton

开源库FloatingActionButton Github:https://github.com/Clans/FloatingActionButton 这个库是在前面这个库android-floating-action-button的基础上修改的,增加了一些更强大和实用的特性。 特性: Android 5.0 以上点击会有水波纹效果 可以选择自定义…

““ 引用类型应用举例

#include <iostream> //使能cin(),cout(); #include <stdlib.h> //使能exit(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用se…

无人机避障——2D栅格地图pgm格式文件路径规划代码详解

代码和测试效果请看上一篇博客&#xff1a; 无人机避障——使用三维PCD点云生成的2D栅格地图PGM做路径规划-CSDN博客 更换模型文件.dae&#xff1a; 部分模型文件可以从这里下载&#xff1a; https://github.com/ethz-asl/rotors_simulator/wiki 将原先代码中的car.dae文件…

科研项目:利用AI大模型获得基金资助的10个原则

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 以ChatGPT为代表的大语言模型的诞生后&#xff0c;在学术界这些大模型LLM驱动的聊天机器人已经成为大家撰写和修订论文、基金申请书的流行工具。这些LLM经过千亿文本训练&…

CVE-2022-0185

这是一个关于整型溢出的CVE。 static int legacy_parse_param(struct fs_context *fc, struct fs_parameter *param) {struct legacy_fs_context *ctx fc->fs_private; // [1] ctx 与文件描述符相关unsigned int size ctx->data_size; // [2] size —— 目前已经写…

【Linux网络】TCP_Socket

目录 TCP协议&#xff08;传输控制协议&#xff09; listen状态 accept和connect TCP_echo_server (1)创建套接字 &#xff08;2&#xff09;绑定 &#xff08;3&#xff09;设置listen状态 &#xff08;4&#xff09;loop &#xff08;5&#xff09;客户端 多线程远程…

摄像机实时接入分析平台LiteAIServer视频智能分析软件视频诊断中的抖动检测功能

在现代社会中&#xff0c;视频监控系统扮演着至关重要的角色&#xff0c;而视频质量直接影响到监控系统的可靠性和有效性。随着技术的不断进步&#xff0c;视频智能分析软件LiteAIServer作为一款领先的视频智能分析软件&#xff0c;通过引入抖动检测功能&#xff0c;进一步提升…

Excel重新踩坑4:快捷键;逻辑函数;文本函数;日期相关函数;查找与引用函数;统计类函数;数组公式

0、excel常用快捷键 基础快捷键&#xff1a; alt&#xff1a;快速区域求和&#xff1b; ★ altenter&#xff1a;强制换行&#xff08;因为在excel单元格中没法用enter换行&#xff09;&#xff1b;altj&#xff1a;强制换行符的替换删除&#xff0c;这里altj就是在替换中输入…

ABAP RFC SQL 模糊查询和多个区间条件

对于非选择屏幕的情况&#xff0c;RFC接口输入数据后&#xff0c;如何处理字符串模糊查询、日期区间查询、数字区间查询&#xff1a; 一、所有字符支持模糊查询&#xff0c;在SAP SQL中&#xff0c;使用 %S%来实现。 二、区间查询有3种情况&#xff1a; 1、没有值输入&#xf…

python通过pyperclip库操作剪贴板

pyperclip介绍 pyperclip是一个python库用于操作剪贴板&#xff0c;可以非常方便地将文本复制到剪贴板或从剪贴板获取文本。 通过pip进行安装&#xff1a;pip install pyperclip pyperclip的github地址 pyperclip使用 复制到剪贴板 import pypercliptext "Hello, Wo…

Golang | Leetcode Golang题解之第516题最长回文子序列

题目&#xff1a; 题解&#xff1a; func longestPalindromeSubseq(s string) int {n : len(s)dp : make([][]int, n)for i : range dp {dp[i] make([]int, n)}for i : n - 1; i > 0; i-- {dp[i][i] 1for j : i 1; j < n; j {if s[i] s[j] {dp[i][j] dp[i1][j-1] …

Virtuoso使用layout绘制版图、使用Calibre验证DRC和LVS

1 绘制版图 1.1 进入Layout XL 绘制好Schmatic后&#xff0c;在原理图界面点击Launch&#xff0c;点击Layout XL进入版图绘制界面。 1.2 导入元件 1、在Layout XL界面左下角找到Generate All from Source。 2、在Generate Layout界面&#xff0c;选中“Instance”&#…

摩科智能化一体化防盗门(物联网)项目

一&#xff0c;选题依据及意义 ①理论意义 目前国内外学者对智能门锁的研究取得了一些成果&#xff0c;但都局限于猫眼和门锁设计上。本课题在产品设计、服务设计等理论基础上&#xff0c;深入研究在安全与防护的背景下简约化即智能应用的门锁创新。在理论与实际探索上建立了…

记录一下方便的条件编译

1. 需要准备&#xff1a; 1-1、npm i cross-env -D 是跨平台的自定义编译 1-2、构造工具&#xff1a;vite/webpack > vite: import.meta.env.VITE_NODE_ENV > webpack:process.env.NODE_ENV这里使用vite为例子 1-3、 package.json 2. 思路与步骤 首先我们知道 axio…