自然语言处理从入门到应用——自然语言处理的应用任务

news2024/11/24 5:34:35

分类目录:《自然语言处理从入门到应用》总目录


本文介绍信息抽取、情感分析、问答系统、机器翻译和对话系统等自然语言处理应用任务。这些任务可以直接或间接地以产品的形式为终端用户提供服务,是自然语言处理研究应用落地的主要技术。

信息抽取

信息抽取(Information Extraction,IE)是从非结构化的文本中自动提取结构化信息的过程,这种结构化的信息方便计算机进行后续的处理。另外,抽取的结果还可以作为新的知识加入知识库中。信息抽取一般包含以下几个子任务。

  • 命名实体识别(Named Entity Recognition,NER):在文本中抽取每个提及的命名实体并标注其类型,一般包括人名、地名和机构名等,也包括专有名称等,如书名、电影名和药物名等。在文本中找到提及的命名实体后,往往还需要将这些命名实体链接到知识库或知识图谱中的具体实体,这一过程被称作实体链接(Entity Linking)。如“华盛顿”既可以指美国首任总统,也可以指美国首都,需要根据上下文进行判断,这一过程类似于词义消歧任务。
  • 关系抽取(Relation Extraction):用于识别和分类文本中提及的实体之间的语义关系,如夫妻、子女、工作单位和地理空间上的位置关系等二元关系。
  • 事件抽取(Event Extraction):从文本中识别人们感兴趣的事件以及事件所涉及的时间、地点和人物等关键元素。其中,事件往往使用文本中提及的具体触发词(Trigger)定义。可见,事件抽取与语义角色标注任务较为类似,其中触发词对应语义角色标注中的谓词,而事件元素则可认为是语义角色标注中的论元。

事件的发生时间往往比较关键,因此时间表达式(Temporal Expression)识别也被认为是重要的信息抽取子任务,一般包括两种类型的时间:绝对时间(日期、星期、月份和节假日等)和相对时间(如明天、两年前等)。使用时间表达归一化(Temporal Expression Normalization)将这些时间表达式映射到特定的日期或一天中的时间。下面通过一个例子,综合展示以上的各项信息抽取子任务。如通过下面的新闻报道:

10月28日,AMD宣布斥资350亿美元收购FPGA芯片巨头赛灵思。这两家传了多年绯闻的芯片公司终于走到了一起。

信息抽取结果如下:
信息抽取结果

情感分析

情感(Sentiment)是人类重要的心理认知能力,使用计算机自动感知和处理人类情感已经成为人工智能领域重要的研究内容之一。自然语言处理中的情感分析主要研究人类通过文字表达的情感,因此也称为文本情感分析。但是,情感又是一个相对比较笼统的概念,既包括个体对外界事物的态度、观点或倾向性,如正面、负面等;又可以指人自身的情绪(Emotion),如喜、怒、哀和惧等。随着互联网的迅速发展,产生了各种各样的用户生成内容(User Generated Content,UGC),其中很多内容包含着人们的喜怒哀惧等情感,对这些情感的准确分析有助于了解人们对某款产品的喜好,随时掌握舆情的发展。因此,情感分析成为目前自然语言处理技术的主要应用之一。

情感分析可以从任务角度分为两个主要的子任务,即情感分类(识别文本中蕴含的情感类型或者情感强度,其中,文本既可以是句子,也可以是篇章)和情感信息抽取(抽取文本中的情感元素,如评价词语、评价对象和评价搭配等)。针对下面的用户评论:

这款手机的屏幕很不错,性能也还可以。

情感分析结果如下:
情感分析结果
由于情感分析具有众多的应用场景,如商品评论的分析、舆情分析等,因此,情感分析受到工业界的广泛关注,已成为自然语言处理研究应用落地的重要体现。另外,情感分析还在社会学、经济学和管理学等领域显示出重要的研究意义和广泛的应用前景,这些需求对情感分析不断提出更高的要求,推动了情感分析研究的内涵和外延不断扩展和深入。

问答系统

问答系统(Question Answering,QA)是指系统接受用户以自然语言形式描述的问题,并从异构数据中通过检索、匹配和推理等技术获得答案的自然语言处理系统。根据数据来源的不同,问答系统可以分为4种主要的类型:

  • 检索式问答系统,答案来源于固定的文本语料库或互联网,系统通过查找相关文档并抽取答案完成问答
  • 知识库问答系统,回答问题所需的知识以数据库等结构化形式存储,问答系统首先将问题解析为结构化的查询语句,通过查询相关知识点,并结合知识推理获取答案
  • 常问问题集问答系统,通过对历史积累的常问问题集进行检索,回答用户提出的类似问题
  • 阅读理解式问答系统,通过抽取给定文档中的文本片段或生成一段答案来回答用户提出的问题。在实际应用中,可以综合利用以上多种类型的问答系统来更好地回答用户提出的问题。

机器翻译

机器翻译(Machine Translation,MT)是指利用计算机实现从一种自然语言(源语言)到另外一种自然语言(目标语言)的自动翻译。据统计,目前世界上存在约7000种语言,其中,超过300种语言拥有100万个以上的使用者。而随着全球化趋势的发展和互联网的广泛普及,不同语言使用者之间的信息交流变得越来越重要。如何突破不同国家和不同民族之间的语言障碍,已成为全人类面临的共同难题。机器翻译为克服这一难题提供了有效的技术手段,其目标是建立自动翻译方法、模型和系统,打破语言壁垒,最终实现任意时间、任意地点和任意语言之间的自动翻译,完成人们无障碍自由交流的梦想。自从自然语言处理领域诞生以来,机器翻译一直是其主要的研究任务和应用场景。近年来,谷歌、百度等公司纷纷推出在线的机器翻译服务,科大讯飞等公司也推出了翻译机产品,能够直接将一种语言的语音翻译为另一种语言的语音,为具有不同语言的人们之间的互相交流提供了便利。

下面给出一个中英互译的例子,其中源语言(中文)和目标语言(英文)都经过了分词处理:

S:北京 是 中国 的 首都 。
T:Beijing is the capital of China .

机器翻译方法一般以句子为基本输入单位,研究从源语言句子到目标语言句子的映射函数。机器翻译自诞生以来,主要围绕理性主义和经验主义两种方法进行研究。所谓“理性主义”,是指基于规则的方法;而“经验主义”是指数据驱动的统计方法,在机器翻译领域表现为基于语料库(翻译实例库)的研究方法。近年来兴起的基于深度学习的机器翻译方法利用深度神经网络学习源语言句子到目标语言句子的隐式翻译规则,即所有的翻译规则都被编码在神经网络的模型参数中。该方法又被称为神经机器翻译(Neural Machine Translation,NMT)。

对话系统

对话系统(Dialogue System)是指以自然语言为载体,用户与计算机通过多轮交互的方式实现特定目标的智能系统。其中,特定目标包括:完成特定任务、获取信息或推荐、获得情感抚慰和社交陪伴等。20世纪50年代,图灵提出用于评测计算机系统智能化水平的“图灵测试”,就是以自然语言对话的形式进行的。对话系统可以直接应用于语音助手、智能音箱和车载语音系统等众多场景。对话系统主要分为任务型对话系统(Task-Oriented Dialogue)和开放域对话系统(Open-Domain Dialogue)。前者是任务导向型的对话系统,主要用于垂直领域的自动业务助理等,具有明确的任务目标,如完成机票预订、天气查询等特定的任务。后者是以社交为目标的对话系统,通常以闲聊、情感陪护等为目标,因此也被称为聊天系统或聊天机器人(Chatbot),在领域和话题上具有很强的开放性。

下面是一段开放域对话系统人机对话的示例,其中U代表用户的话语(Utter-ance),S代表对话系统的回复。该类对话系统的主要目标是提升对话的轮次以及用户的满意度。相比对话的准确性,开放域对话系统更关注对话的多样性以及对用户的吸引程度。

U:今天天气真不错!
S:是啊,非常适合室外运动。
U:你喜欢什么运动?
S:我喜欢踢足球,你呢?

任务型对话系统一般由顺序执行的三个模块构成,即自然语言理解、对话管理和自然语言生成。其中,自然语言理解(Natural Language Understanding,NLU)模块的主要功能是分析用户话语的语义,通常的表示形式为该话语的领域、意图以及相应的槽值等。如对于用户话语:

U:帮我订一张明天去北京的机票

自然语言理解的结果如下:
自然语言理解的结果
对话管理(Dialogue Management,DM)模块包括对话状态跟踪(Dialogue State Tracking,DST)和对话策略优化(Dialogue Policy Optimization,DPO)两个子模块。对话状态一般表示为语义槽和值的列表。例如,通过对以上用户话语自然语言理解的结果进行对话状态跟踪,得到当前的对话状态(通常为语义槽及其对应的值构成的列表):

[到达地=北京;出发时间=明天;出发地=NULL;数量=1]。

获得当前对话状态后,进行策略优化,即选择下一步采用什么样的策略,也叫作动作。动作有很多种,如此时可以询问出发地,也可以询问舱位类型等。

在任务型对话系统里,自然语言生成(Natural Language Generation,NLG)模块工作相对比较简单,通常通过写模板即可实现。比如要询问出发地,就直接问“请问您从哪里出发?”,然后经过语音合成(Text-to-Speech,TTS)反馈给用户。以上三个模块可以一直循环执行下去,随着每次用户的话语不同,对话状态也随之变化。然后,采用不同的回复策略,直到满足用户的订票需求为止。

参考文献:
[1] 车万翔, 崔一鸣, 郭江. 自然语言处理:基于预训练模型的方法[M]. 电子工业出版社, 2021.
[2] 邵浩, 刘一烽. 预训练语言模型[M]. 电子工业出版社, 2021.
[3] 何晗. 自然语言处理入门[M]. 人民邮电出版社, 2019
[4] Sudharsan Ravichandiran. BERT基础教程:Transformer大模型实战[M]. 人民邮电出版社, 2023
[5] 吴茂贵, 王红星. 深入浅出Embedding:原理解析与应用实战[M]. 机械工业出版社, 2021.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

天气预报信息获取程序--GUI--可以使用

上次正对项目中需要填写项目日志,制作了一个命令行版本的下载天气信息的程序,满足日常需要,调整一下界面版本的程序 如果大家使用命令行的可以使用下面的版本(连接) https://ht666666.blog.csdn.net/article/details…

逻辑漏洞学习-知识点总结

逻辑漏洞就是程序在实现业务逻辑上存在的错误,辑漏洞的出现通常是因为程序在设计业务逻辑时考虑不够全面,或者程序员的思维过程存在瑕疵,没有充分考虑到各种可能的情况 大部分程序员在设计的时候,目标是实现功能需求,…

Linux基础知识点 有这篇就足够了!!

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 目录 一、 从认识操作系统开始 1.1 操作系统简介 1.2 操作系统…

chatgpt赋能Python-python分表

介绍 Python是一种流行的编程语言,适用于各种应用程序开发,包括网络应用程序、数据库应用程序以及数据分析和科学计算。Python分表是基于Python编写的分表工具,可以帮助开发人员更轻松地管理大型数据库表格。 Python分表是如何工作的&#…

0219-810

3GPP TS 02.19 V8.1.0 (2005-06) 前言 本技术规范由第三代合作伙伴计划 (3GPP) 制定。 本文件的内容取决于 TSG 的持续工作,并可能在 TSG 正式批准后发生变化。 如果 TSG 修改本文档的内容,TSG 将重新发布 确定发布日期的变化和版本号的增加如下&…

低代码开发平台选择指南:如何选出最适合企业的低代码平台?

低代码平台的兴起改变了公司处理软件开发的方式。这些平台使组织能够快速高效地构建应用程序,该应用程序可以利用预设组件和开箱功能。但是,因为有这么多低代码平台可以使用,所以为你的组织选择合适的平台可能是一个挑战。本文将探索如何低代…

FreeRTOS任务切换

PendSV异常 SVC 用于产生系统函数的调用请求。例如,操作系统不让用户程序直接访问硬件,而是通过提供一些系统服务函数,用户程序使用 SVC 发出对系统服务函数的呼叫请求,以这种方法调用它们来间接访问硬件。因此,当用户…

(字符串 ) 459. 重复的子字符串——【Leetcode每日一题】

❓459. 重复的子字符串 难度:简单 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s “abab” 输出: true 解释: 可由子串 “ab” 重复两次构成。 示例 2: 输入: s “aba” 输出: false 示例 3: 输入: s “…

IDEA+Mysql调试常见异常解决办法_kaic

IDEA导入项目出现Error: java: 程序包javax.servlet.http不存在错误的解决办法 解决方法:打开File>Project Structure>Libraries,点击右侧加号,寻找到tomcat的lib文件夹,点击ok,IDEA会自动重新Rebuild Project&…

数据结构 | 图的深度优先遍历和广度优先遍历(C语言)

一、数据结构定义 1、图 #define MaxVertexNum 100 // 最大可存储的节点数目/*图*/ typedef char VexterType; typedef int EdgeType;typedef struct GraphMatrix {VexterType Vexs[MaxVertexNum]; //结点 EdgeType Edges[MaxVertexNum][MaxVertexNum]; //边int vexnum, a…

使用 MCSM 面板一键搭建我的世界服务器,并内网穿透公网远程联机

文章目录 前言1.Mcsmanager安装2.创建Minecraft服务器3.本地测试联机4. 内网穿透4.1 安装cpolar内网穿透4.2 创建隧道映射内网端口 5.远程联机测试6. 配置固定远程联机端口地址6.1 保留一个固定TCP地址6.2 配置固定TCP地址 7. 使用固定公网地址远程联机 转载自远程穿透文章&…

【AI】Stable-Diffusion-WebUI使用指南

注:csdn对图片有审核,审核还很奇葩,线稿都能违规,为保证完整的阅读体验建议移步至个人博客阅读 最近AI绘画实现了真人照片级绘画水准,导致AI绘画大火,公司也让我研究研究,借此机会正好了解一下…

图像处理:GrapeCity Documents Imaging 6.1.2 Crack

适用于 .NET 6 的快速、强大的映像 API 库,在代码中应用高级图像处理,零依赖关系。 加载和保存图像文件,如BMP,JPEG,TIFF,GIF,ICO,SVG,WebP和PNG 对灰度和 RGB 图像应用抖动和阈值等…

Ribbon 负载均衡策略 —— 图解、源码级解析

文章目录 负载均衡策略RandomRuleRoundRobinRuleRetryRuleWeightedResponseTimeRuleBestAvailableRuleAvailabilityFilteringRuleZoneAvoidanceRule Ribbon 负载均衡策略源码RandomRule源码RoundRobinRule源码BestAvailableRule源码RetryRule源码 通过本文你可以学习到&#xf…

自学大语言模型之BERT

BERT 模型由 Jacob Devlin、Ming-Wei Chang、Kenton Lee 和 Kristina Toutanova在BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding中提出。它是一种双向变换器,使用掩码语言建模目标和对包含多伦多图书语料库和维基百科的大型语…

开源高星精选,10个2023企业级Python测试项目,再不学习时间就没了

纸上得来终觉浅,光学习理论知识是不够的。 想要学好软件测试必须要结合实战项目深入掌握,今天给大家分享十个2022最新企业级Python软件测试项目: ​ 添加图片注释,不超过 140 字(可选) ▌Rank 1&#xf…

SEW-Movifit软件的调试步骤

首先安装软件(名称和版本为SEW_Software_MotionStudio_V5-9-0-4-compact)。安装完毕后打开软件,新建一个工程。 3、新建完成之后会进入如下画面。 4、点击红框内的图标进行设置 5、打开后会显示如下画面,在下拉菜单中选择serial这…

【Unity3D】高斯模糊特效

1 高斯模糊原理 边缘检测特效中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考边缘检测特效。 本文完整资源见→Unity3D高斯模糊特效。 我们将用于模糊处理的卷积核称为模…

C++模拟牛顿力学(2D)

简介 如何用计算机来模拟真实世界呢?计算机最大的功能是计算,而物理学的种种公式就把现实世界中的物理规律以数学的语言描绘了出来,从而使我们可以通过计算大致模拟现实世界的物体运动。因此不难想到把物理学定律(这里用的是牛顿…

SAP-MM-维护物料主数据的类(Class)和特性(Characteristic)

一.说明 物料主数据有千个左右条目,但仍不能满足各类物料自有特性的描述,为此SAP启用了类(Class)和特性(Characteristic),并在物料主数据的分类视图(Characteristic&…