深度学习在自然语言处理中的应用全景图-下

2024-03-21 20:30

本文主要是介绍深度学习在自然语言处理中的应用全景图-下,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

机器翻译

机器翻译研究的是如何使用计算机自动翻译人类语言。

深度学习用于机器翻译主要有两类方法:

  1. 将深度学习用于改进统计机器翻译的各个组件,如词对齐,翻译规则概率估计,短语重新排序模型,语言模型和模型特征组合。
  2. 基于编码器-解码器框架的端到端翻译系统,可以直接用神经网络将源语言映射到目标语言。

端到端神经机器翻译与传统统计机器翻译的主要区别是它可以直接从数据中学习,无需手动设计特征来捕获翻译规则。

Sutskever et al. 2014) 提出用一个 RNN 作为编码器,将源上下文编码为向量表示,用另一个 RNN 作为解码器,逐字生成翻译。

Jn7Nf6

在 Sutskever 的编码-解码框架中,不管句子的长度是多少,编码器需要将整个源句子表示为一个固定长度的向量。 Bahdanau et al. 2015) 表明这样会使神经网络难以处理长期依赖,并引入了注意机制,动态地选择相关源上下文来生成目标词。

TbVA39

神经机器翻译有一个很大的挑战是如何解决目标语言词汇引起的效率问题,因此 Sutskever 和 Bahdanau 使用的都是完整词汇表的子集,但这样会显著影响子集或词典外的词的翻译质量。 Luong et al. 2015) 提出的模型可以识别源语句和目标句子中的词典外单词之间的对应关系,并在后期处理步骤中翻译词典外单词。

神经机器翻译还有一个重要课题是如何将先验知识整合到神经网络中。 Zhang et al. 2017b) 在 (Ganchev et al. 2010) 提出的后验正规化的基础上,提出了一个框架可以整合任意知识来源。


问答系统

问答系统 (QA: Question answering QA) 是自然语言处理中一个非常有挑战性的任务,

深度学习在 QA 中两个比较典型任务上有了很不错的应用:

  1. 深层学习问答知识库,即用深度学习来理解问题的含义,并将它们翻译成结构化查询。2. 深度学习机器理解,用来直接计算问题和答案之间的深层语义匹配。

很多神经网络或它们的变种都已经被用于这个任务,例如 CNN,RNN(LSTM,BLSTM),注意机制和记忆网络。这些研究主要分为两类:信息提取方式(information extraction)或语义解析方式(semantic parsing)。信息提取即使用一些关系提取技术从知识库中获得一组候选答案,然后将其与问题进行比较。 语义解析是设法借助新颖的网络结构从句子中提取出符号表示或结构化查询。

信息提取方式的工作通常是在一个神经网络结构中对答案进行 retrieval–embedding–comparing。

Bordes et al. 2014a) 最早提出了一个联合嵌入框架,可以学习出一个结构化知识库中对单词,实体,关系等语义项的向量表示,并设法将一个自然语言问题映射到知识库的某个子图。

Dong et al. 2015) 用 CNN 来编码问题和候选答案之间的不同类型的特征。他们提出了一种多列卷积神经网络(MCCNN)来捕捉问题的不同方面,并通过三个渠道,答案路径,答案语境,答案类型进一步对一组问答进行评分。

Hao et al. 2017) 提出的一种基于交叉注意力机制的神经网络比基于知识库的问答系统要好。

记忆网络是一种新颖的学习框架,根据一个记忆机制设计,可以在特定任务期间被读取,修改和添加。 Miller et al. 2016) 研究了记忆知识的各种 Key- Value 形式,他们的模型还可以从存储器中进行多次寻址和读取,可以收集上下文,动态地更新问题并获得最终答案。

基于 KBQA 的另一种主流是语义分析的模型,这种模型尝试正规地表示问题的含义,然后使用知识库进行实例化,并在知识库上面建立结构化查询,进而可以显式地捕获复杂查询。 Xu et al. 2016) 提出了一个多通道卷积神经网络(MCC-NNs),可以从词汇和句法角度学习紧凑稳健的关系表示。这个方法很适合开放域知识库问答系统。因为在开放域知识库中通常存在数千个关系,传统的基于特征的模型会遇到数据稀疏问题,而且在看不见的单词上的泛化能力也差。

在语义理解领域,Seo et al. 2016) 提出了双向注意流网络(BiDAF),采用多阶段分层过程,可以不需要提前总结就能在不同粒度下表示上下文。

YOTDpe


情感分析

情感分析要做的是从社交网络,博客或产品的评论中识别和提取用户的情绪,在数据挖掘,网络挖掘和社交媒体分析方面有广泛应用。主要任务有情绪分类,意见提取,细粒度情绪分析。 接下来我们主要看深度学习在 句子级,文档级的应用。

句子级别的情感分析就是对句子的情感极性进行分类。 很多神经网络结构都可以用来处理这个问题,卷积神经网络,循环神经网络,递归神经网络和辅助增强句子表示。

CNN 可以更好地捕获基于窗口的局部组合, 基本的 CNN 有一个卷积层和池化层,Kalchbrenner et al. 2014) 将其扩展为多层结构,并用动态k-max 池化来更好地表示句子。 Yin and Schütze 2015) 构建了多通道的多层 CNN,可以使用若干个不同的词嵌入。

RNN 可以有效学习隐式长期依赖性, Wang et al. 2015) 提出了用长期短期记忆(LSTM)神经网络进行推文情绪分析。

Zhang et al. 2016c) 结合了 LSTM 和 CNN,提出了一个依赖敏感的 CNN 模型,使 CNN 网络结构也能够捕获长距离依赖性,很好地利用了二者的优点。

文档级的情感分类是要识别一个文档的情感类型。

Tang et al. 2015a) 用 CNN 来计算句子向量,然后用双向 GRU 来计算整个文档的嵌入表示。

eOuQ1a


视觉字幕

由图像生成自然语言,或者称为视觉字幕,是一种新兴的深度学习应用,属于自然语言生成(NLG),是计算机视觉和自然语言处理的交叉。是很多重要应用的基础技术,如语义视觉搜索,聊天机器人的视觉智能,帮助视障人士感知视觉内容等等。

过去2年深度学习技术发展迅速才使这一领域得到突破性进展,在这之前这个任务几乎是不可能完成的。

Sutskever et al. 2014); Bahdanau et al. 2015) 将 sequence-to-sequence 用于机器翻译取得了比较成功的效果后,(Vinyals et al. 2015); (Karpathy and Fei-Fei 2015); (Fang et al. 2015); (Devlin et al. 2015); (Chen and Zitnick 2015) 也研究了用于图像字幕的端到端的 end-to-end encoder–decoder 框架。

在这个框架中,原始图像通过深度 CNN 被编码为一个全局视觉特征向量,承载着图像的整体语义信息,

提取出全局视觉特征向量后,被投入到基于 RNN 的解码器中来生成字幕,

上述 encoder–decoder 结构不仅可以用于图像字幕,还被 (Ballas et al. 2016) 用于视频字幕,主要区别是用了不同的 CNN 的结构和基于 RNN 的语言模型。

(Xu et al. 2015) 也将注意力机制用于这个方向,来学习字幕生成时应该聚焦在图像的什么位置。

(Anderson et al. 2017) 提出的 bottom-up 注意力模型,可以将整个模型的所有部分,包括 CNN,RNN 和 attention,从头到尾共同训练,实现端对端并且达到了非常好的效果。

此外,(Rennie et al. 2017) 提出了一种自我批判序列训练算法,是强化学习在视觉字幕领域的应用。 强化学习在视觉字幕领域也越来越流行,

生成对抗网络(GAN)也被用于文本生成,SeqGAN(Yu et al.2017)将生成器建模为一种强化学习的随机策略,用于输出文本,RankGAN (Lin et al.2017)提出了一种基于排序的鉴别器的损失,可以更好地评估生成文本的质量。

8DTtCB

kfyptY


以上就是简要介绍了深度学习在 NLP 的其中几个领域的重要研究,会话语言理解,对话系统,知识图谱,机器翻译,问答系统,情感分析还有视觉字幕,由此我们也可以看出 RNN,LSTM,GRU,双向RNN,Seq2seq,Attention机制在深度学习自然语言处理领域的重要作用,本门课程也会对其中几个应用进行详细讲述和给出代码实战。 在提到的文献中都给出了论文链接,如果大家有兴趣可以点击学习,也可以进一步找相关论文学习,了解更新的研究进展,另外推荐大家看一下这本书《Deep Learning in Natural Language Processing》。

这篇关于深度学习在自然语言处理中的应用全景图-下的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/aliceyangxi1987/article/details/108728595
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/833838

相关文章

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien