自然语言处理(02/10):自然语言处理任务和应用程序
一、描述
在广阔的人工智能领域,自然语言处理 (NLP) 是一个迷人而充满活力的领域。NLP 弥合了计算机和人类语言之间的鸿沟,使机器能够理解、解释和生成类似人类的文本。这项变革性技术具有深远的影响,影响着我们日常生活的各个行业和方方面面。在这篇博文中,我们将探讨关键的 NLP 任务及其多样化的应用,展示语言处理的非凡能力。
自然语言处理是人工智能的一个子领域,专注于计算机和人类语言之间的交互。目标是使机器能够以模仿人类语言理解的方式理解、解释和生成文本。NLP 涉及一系列任务和应用程序,每个任务和应用程序都旨在将语言的力量用于不同的目的。
我们将探讨主要的 NLP 任务和每个任务最流行的应用程序。以下是一些关键的 NLP 任务及其相应的应用:
[ 部分 文本分类 信息提取: 机器翻译: 问答 文本摘要 语言生成: 语音识别: 结论 ]二、第 1 部分 - 文本分类
文本分类:为句子或文档分配类别(例如垃圾邮件过滤)[1]。文本分类是将文本自动分类为预定义的类或类别的过程。例如,文本分类算法可用于将电子邮件分类为垃圾邮件或非垃圾邮件,或按主题对新闻文章进行分类[2]。分类主要有三种类型:
- 二元的:两个互斥的类别(例如,垃圾邮件检测)
- 多类:超过 2 个互斥类别(例如,语言检测)
- 多标签:非互斥类别(例如,电影类型)
应用包括:
- 情感分析,
- 垃圾邮件检测
2.1 情绪分析
- 什么是情绪分析
Def1:识别一段文本的极性 [1]。定义2:情感分析试图从文本中提取主观品质——态度、情绪、讽刺、困惑、怀疑。定义 3:确定一段文本中表达的情绪(正面、负面或中性)。情感分析是确定一段文本背后的情感基调的过程,例如推文、产品评论或客户反馈[2]。
- 应用
情绪分析有许多实际应用,例如:
情感分析在社交媒体监控、客户反馈分析和品牌声誉管理中得到了应用
使用这种形式的文本分类的方法包括对客户评论和查询进行分类并优先考虑负面评论和查询,通过社交媒体回复监控品牌情绪,分析对调查的回复,甚至确定竞争对手使用客户的策略中的气体。
- 客户反馈分析
公司可以使用情感分析来分析来自评论、社交媒体帖子或调查的客户反馈。通过了解这些评论背后的情绪,企业可以获得对客户满意度水平的宝贵见解,并做出数据驱动的决策以改进他们的产品或服务。
- 品牌监控
情绪分析也可用于品牌监控目的。通过分析与品牌相关的社交媒体提及和在线讨论,公司可以衡量公众的看法并采取适当的措施来管理他们的声誉。
- 深度学习和机器学习技术
对于情感分析,一种流行的架构是长短期记忆网络(LSTM),这是一种递归神经网络(RNN),可以捕获文本中的长期依赖关系[4]。
其他架构包括卷积神经网络(CNN),它可以有效地提取局部特征[4]。
最近,基于Transformer的模型,如BERT、GPT或RoBERTa,能够捕捉单词之间复杂的上下文关系,在这项任务中显示出卓越的性能[4]。
2. 2 垃圾邮件检测
检测电子邮件和消息中的垃圾邮件警报是每家大型科技公司试图为其客户改进的主要应用程序之一。Apple 的官方消息应用程序和 Google 的 Gmail 是此类应用程序的很好例子,在这些应用程序中,垃圾邮件检测可以很好地保护用户免受垃圾邮件警报的侵害。
2. 3- 主题分类
主题分类是一项监督式机器学习任务,涉及将文档分配给一组预定义的主题之一。主题分类的目标是确定文档的主要主题,例如“政治”、“体育”或“技术”。
主题分类是一项具有挑战性的任务,因为文档通常涉及多个主题,并且主题可能重叠或模棱两可。此外,用于描述主题的语言可能因作者和上下文而异。
有许多不同的主题分类方法,包括:
- 朴素贝叶斯:这是一种简单但有效的方法,它使用贝叶斯定理来计算属于特定主题的文档的概率。
- 支持向量机:这是一种更强大的方法,它使用一种称为支持向量机的数学技术对文档进行分类。
- 神经网络:这是一种更复杂的方法,它使用人工神经网络来学习单词和主题之间的关系。
2. 4 文本分类模型
用于文本分类的 NLP 模型是用于使用人工智能完成的自然语言处理的各种预训练模型。在本节中,我们将讨论全球广泛使用的两种模型。
- XLNET模型
XLNet 是 Google AI 于 2020 年开发的语言模型。它是一个双向转换器模型,在大量的文本和代码数据集上进行训练。XLNet能够学习单词之间的长程依赖关系,这使得它能够更好地理解和生成自然语言。它不仅对文本进行分类,而且还率先处理自然语言的更复杂形式。XLNET 使用的过程基于两个主要思想:广义自回归预训练和 transformer-XL
- Bert模型
BERT 代表 来自变压器的双向编码器表示。它是 Google AI 于 2018 年开发的语言模型。BERT是一个双向模型,这意味着它可以从左到右和从右到左两个方向学习句子中单词之间的关系。这使得 BERT 能够更好地理解单词的上下文,这对于自然语言推理和问答等任务至关重要。
BERT 是“来自转换器的双向编码器表示”的缩写,是一种神经网络模型,这意味着它使用 RNN(递归神经网络)作为其语言建模、回答问题和机器翻译的主要过程。
三、第 2 部分 - 信息提取:
什么是信息提取:定义 1:信息提取是从非结构化文本源(如新闻文章或网页)中提取结构化信息。这包括命名实体识别、关系提取和事件提取等任务。定义:信息提取是从非结构化文本中提取结构化数据的过程。例如,信息提取算法可能会从电子商务网站中提取产品信息,例如价格和可用性。信息提取用于各种行业,包括电子商务、金融和医疗保健,以从非结构化文本中提取结构化数据[2]。
句子/文档相似性
它决定了两个文本的相似程度。句子/文档相似度是衡量两段文本的相似程度,或它们表达相同含义的程度。它是自然语言处理 (NLP) 中的常见任务,具有广泛的应用,例如:
信息检索:这涉及搜索与特定查询相关的文档。
文本摘要:这涉及将文本摘要为更短、更简洁的版本。
释义检测:这涉及确定两个句子是否是彼此的释义。
问题解答:这涉及回答有关文本的问题。
机器翻译:这涉及将文本从一种语言翻译成另一种语言。
有许多不同的方法可以衡量句子/文档的相似性,包括:
余弦相似度:这是两个向量之间相似性的度量。在句子/文档相似性的上下文中,向量通常是句子或文档的单词嵌入。
Jaccard 相似度:这是衡量两个集合之间重叠的度量。在句子/文档相似性的上下文中,集合通常是句子或文档中的单词集。
Levenshtein 距离:这是两个字符串之间编辑距离的度量。在句子/文档相似性的上下文中,编辑距离是需要对一个字符串进行更改以使其与另一个字符串相同的次数。
四、第 3 部分 - 问题回答
什么是问答意味着什么:
定义 1:问答是用自然语言回答问题的任务。构建能够根据给定上下文或知识库回答用户提出的问题的系统。
Def:问答是一项 NLP 任务,其中系统准确地回答了人类提出的问题。这项任务的范围可以从回答简单的事实问题,如“谁是美国总统?”到需要推理和理解背景的更复杂的问题,如“什么因素导致了第二次世界大战?”,也可以回答“什么因素导致了第二次世界大战?”,如“什么因素导致了第二次世界大战?”,如“什么因素导致了第二次世界大战?”,而不是“”什么因素导致了第二次世界大战?“,而不是”什么因素导致了第二次世界大战?“,从而解决了一些问题。[4],
问答系统的目标是为用户查询提供准确、简洁和相关的答案。这种系统的开发涉及对自然语言理解和生成的深刻理解,使其成为 NLP 领域一项具有挑战性但有影响力的任务。
应用:
1. 聊天机器人:
2. 虚拟助手
深度学习和机器学习技术
随着 Transformer 架构的引入,问答任务取得了巨大进步,尤其是 BERT 及其变体。这些模型在大型文本语料库上进行了预训练,并针对特定的问答任务进行了微调,使其成为理解上下文和生成精确答案的强大工具[4]。
五、第 4 部分 - 机器翻译
Def 1:它从一种语言翻译成另一种语言。Def 2:自动将文本从一种语言翻译成另一种语言。机器翻译是将文本从一种语言自动翻译成另一种语言的过程。例如,机器翻译算法可能会将新闻文章从西班牙语翻译成英语。机器翻译用于各种行业,包括电子商务、国际商务和政府。流行的例子包括谷歌翻译和Microsoft翻译。
应用
谷歌翻译是广泛使用的NLP技术的一个例子。真正有用的机器翻译不仅仅是用一种语言的单词替换另一种语言的单词。
六、第 5 节 - 文本摘要
文本摘要是什么意思:def1:生成较长文本的简明摘要,同时保留重要信息。文本摘要对于新闻文章、研究论文和会议记录很有用。创建多个文档的缩短版本,以保留其大部分含义。Def:2:文本摘要使用 NLP 技术来消化大量数字文本,并为索引、研究数据库或没有时间阅读全文的忙碌读者创建摘要和概要。Def:文本摘要是自动生成较长文本的精简版本的过程。例如,文本摘要算法可能会采用一篇长新闻文章并生成较短的要点摘要。文本摘要用于各种应用,包括自然语言处理、信息检索和机器学习[2]。
应用
深度学习和机器学习技术
文本摘要通常使用序列到序列模型进行,例如基于 LSTM 或 GRU(门控循环单元)网络的模型。这些模型将输入文本作为序列读取,并将摘要生成为另一个序列[4]。
对于抽象摘要,基于 Transformer 的模型(如 T5 或 BART)因其理解和生成复杂文本的能力而表现出强大的性能 [4]。
七、第 6 节 - 命名实体识别 (NER)
定义:命名实体是指任何真实世界的对象,例如人、地点、任何组织、任何具有名称的产品。例如,“我的名字是 Aman,我是一名机器学习培训师”。在这句话中,名称“Aman”、领域或主题“机器学习”和职业“培训师”被命名为实体。
Def:在机器学习中,命名实体识别(NER)是自然语言处理的一项任务,用于识别特定文本片段中的命名实体。
定义:命名实体识别 (NER) 是一种用于从非结构化文本中提取实体(如人员、组织和位置)的技术。
执行 NER 的一种方法是使用预先训练的模型,例如 Python 库提供的模型。下面是一个示例,说明如何使用该库从一段文本中提取命名实体。spacyspacy
NER如何工作
NER模型分两步工作。第一步是检测命名实体,第二步是对该实体进行分类。这是通过使用单词向量并创建这些向量的上下文窗口来实现的。然后,这些向量输入神经网络层,然后是逻辑分类器,用于识别特定的实体类型,例如“位置”。[4]
实际应用:
你有没有使用过名为 Grammarly 的软件?它可以识别文本中所有不正确的拼写和标点符号并加以纠正。但它对命名的实体不做任何事情,因为它也使用相同的技术。在本文中,我将带你完成使用机器学习进行命名实体识别 (NER) 的任务。
深度学习和机器学习技术
对于 NER,双向 LSTM (BiLSTM) 以及条件随机场 (CRF) 层是一种常用的架构。BiLSTM 从两个方向捕获句子中每个标记的上下文,CRF 有助于使用周围标记的预测来预测当前标记的类别 [4]。
最近,基于 Transformer 的模型(如 BERT)在 NER 任务上表现出了高性能,因为它们能够更好地理解句子中每个单词的上下文 [4]。
八、第 7 节 - 语言生成或文本生成
什么是语言生成:根据给定的输入或提示创建类似人类的文本输出。这包括以下任务。Def:Text 生成是自动生成文本的过程,例如创建产品描述或撰写新闻文章。例如,文本生成算法可能会将产品图像作为输入并生成产品描述。文本生成用于各种行业,包括电子商务、营销和内容创作 [2]。
- 聊天机器人响应
- 对话系统,
- 书面叙述的内容生成。
九、第 8 节 - 语音识别:
什么是语音识别:Def1:将口语转换为书面文本。该技术用于: Def:语音识别是将口语转换为书面文本的过程。例如,语音识别算法可用于语音控制系统(如虚拟助手)中,将语音命令转录为计算机可以理解的文本。语音识别用于各种行业,包括医疗保健、金融和客户服务[2]。
- 语音助手
- 转录服务,
- 自动语音应答系统。
十、第 9 节 - 文字转语音 (TTS)
文本转语音 (TTS) 是一种将书面文本转换为口语的技术。它通常用于视障人士的语音合成、语音助手和自动化客户服务系统等应用。
实际应用
TTS 软件的一些示例包括 Google Text-to-Speech、Amazon Polly 和 Apple 的 Siri。
十一、第 10 节 - 文本聚类
文本聚类是将相似的文本文档组合在一起的过程。例如,文本聚类算法可能会获取新闻文章的集合,并将它们分组为“体育”、“政治”和“娱乐”等类别。文本聚类用于各种应用,包括自然语言处理、信息检索和机器学习[2]。
十二、结论
总之,自然语言处理是一个多方面的领域,拥有大量的任务和应用程序,这些任务和应用程序彻底改变了我们与技术交互的方式。从加强沟通到改变行业,语言处理的力量正在重塑我们的数字格局,并为前所未有的可能性打开大门。随着我们迈向未来,语言和技术之间的协同作用有望创造一个机器真正理解并响应人类表达的复杂性的世界。
相关文章:
自然语言处理(02/10):自然语言处理任务和应用程序
一、描述 在广阔的人工智能领域,自然语言处理 (NLP) 是一个迷人而充满活力的领域。NLP 弥合了计算机和人类语言之间的鸿沟,使机器能够理解、解释和生成类似人类的文本。这项变革性技术具有深远的影响,影响着我们日常生…...
Jmeter学习系列之三:测试计划详细介绍
目录 前言 步骤1:启动JMeter窗口 步骤2:添加/删除测试计划元素 步骤3:加载并保存测试计划元素。 步骤4:配置树元素 步骤5:保存JMeter测试计划 步骤6:运行JMeter测试计划...

mermaid使用指南+notion使用实例-持续更新中
最近一个月了吧,发现Notion插入图片的功能坏了,直接paste会404,本地上传也不行。电脑本地版和手机端都插不了图片,很头疼。解决方法也简单,用图床,放链接。 付费版我用的七牛,结合PicGo&#x…...

Pytroch 自写训练模板适合入门版 包含十五种经典的自己复现的一维模型 1D CNN
训练模板 在毕业之前,决定整理一下手头的代码,自己做1D-CNN这吗久,打算开源一下自己使用的1D-CNN的代码,包括用随机数生成一个模拟的数据集,到自己写的一个比较好的适合入门的基础训练模板,以及自己复现的…...
【30秒看懂大数据】变量
简单说 变量是指研究或观察中可能发生变化的事物、属性或特征,它们可以用来描述数据或现象的不同方面。 举例理解 一位热衷于烹饪的大厨老李,经常尝试不同的菜肴来满足不同顾客的口味。 1. 老李明白,每种食材都等同于一个重要的变量…...
Redis - 多集群数据源配置
目录 前言依赖yml配置redis多集群数据源配置类思考 redis工具类 前言 工作时有一个项目配置了多个redis数据源,使用时出现了指定了使用副数据源,数据却依然使用了主数据源的情况。经过排查,发现配置流程较为繁琐易错,此处做一个记…...
五大架构风格之四-虚拟机架构风格
虚拟机架构风格: 虚拟机架构风格是一种软件架构,它通过模拟完整的计算机系统(包括硬件)来运行程序。这种风格的核心是虚拟机监控器。如最出名的虚拟机VM,在使用虚拟机架构,一个或多个虚拟机可以在单一物理主…...
在 C# 中 checked 和 unchecked 关键字
在 C# 中,checked 和 unchecked 是用于控制整数运算溢出检查的关键字。它们允许我们明确指定在进行整数运算时是否要检查溢出,以及如何处理溢出情况。 默认情况下,C# 中的整数运算是未检查的,也就是说,当运算结果溢出…...

【算法分析与设计】跳跃游戏
📝个人主页:五敷有你 🔥系列专栏:算法分析与设计 ⛺️稳中求进,晒太阳 题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断…...
openssl3.2 - helpdoc - P12证书操作
文章目录 openssl3.2 - helpdoc - P12证书操作概述笔记/doc/html/man1/CA.pl.htmlCA.pl -newcaCA.pl -newreqCA.pl -signCA.pl -pkcs12 "My Test Certificate"/doc/html/man1/openssl-pkcs12.html备注END openssl3.2 - helpdoc - P12证书操作 概述 D:\3rd_prj\cryp…...

【产业实践】使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通
使用YOLO V5 训练自有数据集,并且在C# Winform上通过onnx模块进行预测全流程打通 效果图 背景介绍 当谈到目标检测算法时,YOLO(You Only Look Once)系列算法是一个备受关注的领域。YOLO通过将目标检测任务转化为一个回归问题,实现了快速且准确的目标检测。以下是YOLO的基…...

【操作系统】HeapByteBuffer和DirectByteBuffer的区别
DirectByteBuffer和HeapByteBuffer是Java NIO中ByteBuffer的两种实现方式。 HeapByteBuffer是在Java堆上分配的字节缓冲区,它使用数组来存储数据。HeapByteBuffer的优点是它具有良好的兼容性和可移植性,且在大多数情况下性能表现良好。它适用于大部分的…...

C++并发编程 -2.线程间共享数据
本章就以在C中进行安全的数据共享为主题。避免上述及其他潜在问题的发生的同时,将共享数据的优势发挥到最大。 一. 锁分类和使用 按照用途分为互斥、递归、读写、自旋、条件变量。本章节着重介绍前四种,条件变量后续章节单独介绍。 由于锁无法进行拷贝…...

Kubernetes-资源清单
一、k8s中的资源 什么是资源清单 我们跟kubernetes集群进行交互的时候,我们需要给K8S集群传输数据,传输信息,K8S才能按照我们的要求来运行,这个传输的文件,基本上都会通过资源清单进行传递。资源清单是我们跟集群进行…...

ABAP 笔记--内表结构不一致,无法更新数据库MODIFY和UPDATE
目录 ABAP 笔记内表结构不一致,无法更新数据库MODIFY和UPDATE ABAP 笔记 内表结构不一致,无法更新数据库 MODIFY和UPDATE 如果是使用MODIFY或者UPDATE...

机器学习-3降低损失(Reducing Loss)
机器学习-3降低损失(Reducing Loss) 学习内容来自:谷歌ai学习 https://developers.google.cn/machine-learning/crash-course/framing/check-your-understanding?hlzh-cn 本文作为学习记录1.降低损失:迭代方法 迭代学习 下图展示了机器学习算法用于训…...
蓝桥杯备战(AcWing算法基础课)-高精度-减-高精度
目录 前言 1 题目描述 2 分析 2.1 第一步 2.2 第二步 3 代码 前言 详细的代码里面有自己的理解注释 1 题目描述 给定两个正整数(不含前导 00),计算它们的差,计算结果可能为负数。 输入格式 共两行,每行包含一…...

AspNet web api 和mvc 过滤器差异
最近在维护老项目。定义个拦截器记录接口日志。但是发现不生效 最后发现因为继承的 ApiController不是Controller 只能用 System.Web.Http下的拦截器生效。所以现在总结归纳一下 Web Api: System.Web.Http.Filters.ActionFilterAttribute 继承该类 Mvc: System.Web.Mvc.Ac…...

HarmonyOS应用/服务发布:打造多设备生态的关键一步
目前 前言HarmonyOS 应用/服务发布的重要性使用HarmonyOS 构建跨设备的应用生态前期准备工作简述发布流程生成签名文件配置签名信息编译构建.app文件上架.app文件到AGC结束语 前言 随着智能设备的快速普及和多样化,以及编程语言的迅猛发展,构建一个无缝…...

【数据结构】双向带头循环链表实现及总结
简单不先于复杂,而是在复杂之后。 文章目录 1. 双向带头循环链表的实现2. 顺序表和链表的区别 1. 双向带头循环链表的实现 List.h #pragma once #include <stdio.h> #include <assert.h> #include <stdlib.h> #include <stdbool.h>typede…...

俄军操作系统 Astra Linux 安装教程
安装 U盘制作 Rufus 写盘工具:https://rufus.ie/ Astra Linux ISO 镜像文件:https://dl.astralinux.ru/astra/stable/2.12_x86-64/iso/ 准备一个8g以上的u盘,打开Rufus写盘工具,选择下载的iso镜像,写入u盘ÿ…...
c/c++的opencv车牌识别
OpenCV 安装: 你需要正确安装 OpenCV 库。Tesseract OCR 安装: 你需要安装 Tesseract OCR 引擎。在 Ubuntu/Debian 上,可以使用:sudo apt-get install tesseract-ocr sudo apt-get install libtesseract-dev sudo apt-get install…...

C++八股 —— 手撕线程池
文章目录 一、背景二、线程池实现1. 任务队列和工作线程2. 构造和析构函数3. 添加任务函数4. 完整代码 三、阻塞队列实现1. 基础队列2. 升级版队列 四、测试代码五、相关问题六、其他实现方式 来自:华为C一面:手撕线程池_哔哩哔哩_bilibili 华为海思&am…...

Google car key:安全、便捷的汽车解锁新选择
有了兼容的汽车和 Android 手机,Google car key可让您将Android 手机用作车钥匙。您可以通过兼容的 Android 手机锁定、解锁、启动汽车并执行更多功能。但是,Google car key安全吗?它是如何工作的?如果我的手机电池没电了怎么办&a…...

使用 Zabbix 监控 MySQL 存储空间和性能指标的完整实践指南
目录 引言 一、最终目标支持功能 二、监控方案设计 2.1 技术选型 2.2 设计思路 三、实现步骤 3.1 准备工作 3.11 创建 MySQL 监控账号 3.12 配置 .my.cnf 文件 3.2 编写统一脚本 3.3 配置 Zabbix Agent UserParameter 3.4 Zabbix 前端配置建议 四、总结 引言 MySQL …...
Tornado WebSocket实时聊天实例
在 Python 3 Tornado 中使用 WebSocket 非常直接。你需要创建一个继承自 tornado.websocket.WebSocketHandler 的类,并实现它的几个关键方法。 下面是一个简单的示例,演示了如何创建一个 WebSocket 服务器,该服务器会接收客户端发送的消息&a…...

MCP Server的五种主流架构:从原理到实践的深度解析
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 在AI大模型与外部数据交互的浪潮中,MCP Server(Model Context Protocol Server)已成为连接模型与现实世界的桥梁。本文…...
LeetCode Hot100(矩阵)
73. 矩阵置零 这边提供nm的做法以及更少的思路,对于nm的做法,我们只需要开辟标记当前行是否存在0以及当前列是否存在0即可,做法如下 class Solution {public void setZeroes(int[][] matrix) {int arr[]new int[matrix.length];int brr[]ne…...

利用计算机模拟和玉米壳废料开发新型抗病毒药物合成方法
参阅:Top 创新大奖 这个课题将农业废弃物资源化利用、计算机辅助药物设计和绿色化学完美结合,是一个极具创新性和应用前景的研究方向! 以下是如何利用计算机模拟和玉米壳废料开发新型抗病毒药物合成方法的系统思路: 核心思路 玉…...

大学大模型教学:基于NC数据的全球气象可视化解决方案
引言 气象数据通常以NetCDF(Network Common Data Form)格式存储,这是一种广泛应用于科学数据存储的二进制文件格式。在大学气象学及相关专业的教学中,掌握如何读取、处理和可视化NC数据是一项重要技能。本文将详细介绍基于Python的NC数据处理与可视化解决方案,包含完整的代…...