当前位置:   article > 正文

NLP--- 将改变你未来沟通方式的7种NLP技术(第二部分)_正负情感的短语在各种树级别上准确捕捉否定的影响及其范围的模型。

正负情感的短语在各种树级别上准确捕捉否定的影响及其范围的模型。

在第一部分中,我介绍了自然语言处理(NLP)领域以及为其提供支持的深度学习运动。我还向您介绍了NLP中的3个关键概念:文本嵌入(字符串的矢量表示),机器翻译(使用神经网络翻译语言),以及对话和对话(可以实时与人进行对话的技术)。在第2部分中,我将介绍另外4项重要的NLP技术,您应该注意这些技术,以跟上这一研究领域快速增长的步伐。

技巧4:情绪分析

人际交往不仅仅是文字及其明确的含义。相反,它是微妙而复杂的。您可以根据朋友询问您是否感到无聊,生气或好奇的方式来判断。即使在完全基于文本的对话中,您也可以根据单词选择和标点符号判断客户是否感到愤怒。您可以阅读产品的亚马逊评论,并了解评论者是否喜欢或不喜欢它,即使他们从未直接说过。为了让计算机真正理解人类每天的交流方式,他们需要了解的不仅仅是客观的词语定义; 他们需要了解我们的情绪,我们真正的意思。情绪分析 就是通过较小元素的语义组成来解释较大文本单元(实体,描述性术语,事实,论据,故事)的含义的过程。

情感分析的传统方法是将句子视为一个词袋,并查阅“正面”和“否定”单词的策划列表,以确定该特定句子的情绪。这将需要手工设计的功能来捕捉情绪,这是非常耗时和不可扩展的。

用于情感分析的现代深度学习方法可用于形态学,语法和逻辑语义,其中最有效的是递归神经网络。顾名思义,递归神经网络开发的主要假设是递归是描述语言的自然方式。递归在消歧方面很有用,有助于某些任务引用特定的短语,并且对于使用语法树结构的任务非常有效。

递归神经网络非常适合具有嵌套层次结构和内部递归结构的设置。如果我们想到一个句子, 这不是有这样的结构吗?以 "一大群人暴力袭击手无寸铁的警察" 这句话为例。首先, 我们将这句话分成各自的名词短语和动词短语--"一大群人", "暴力攻击手无寸铁的警察"。但在这个动词短语里有一个名词短语, 对吧?"暴力袭击" 和 "手无寸铁的警察"对我来说似乎是相当递归的。

语法的句法规则是高度递归的。因此,我们利用具有特别依赖它的模型的递归结构!使用RNN对句子进行建模的另一个好处是,我们现在可以输入任意长度的句子,这对于在NLP中使用神经网络来说是一个巨大的难题,使用非常聪明的技巧使句子的输入向量具有相同的大小,尽管句子的长度不相等。

 该标准RNN是一种递归神经网络的最基本的版本。它具有最大边距结构预测架构,可以在复杂的场景图像和句子中成功地恢复这种结构。它用于为Penn Treebank的自然语言句子提供有竞争力的语法分析器。作为参考,Penn Treebank是第一个大型树库数据集,由华尔街日报三年(WSJ)收集的24,799个故事组成,共有98,732个故事,用于句法注释。此外,它优于语义场景分割,注释和分类的替代方法。

然而, 标准的 rnn 既没有捕捉到语言短语的完整句法, 也没有丰富的语义。语法上不绑定的 rnn(也称为组合向量语法 (cvg)) 是解决此问题的主要升级。它使用语法上不绑定的递归神经网络来学习句法语义和组合向量表示。该模型与标准的 rnn 一样高效地进行训练和实施。它学习了一个软性的头部单词概念, 并提高了需要语义信息的歧义类型的性能。

另一个演变是Matrix-Vector RNN,它能够捕捉甚至更长的短语的组成含义。模型为解析树中的每个节点分配一个向量和一个矩阵:向量捕获成分的固有含义,而矩阵捕获它如何改变相邻单词或短语的含义。该矩阵向量RNN可以在命题逻辑和自然语言中学习运算符的含义。

因此,该模型在三个不同的实验中获得了最先进的性能:

  • 预测副词 - 形容词对的细粒度情感分布。
  • 对电影评论的情感标签进行分类。
  • 使用它们之间的句法路径对名词之间的语义关系(例如因果关系或主题消息)进行分类。

迄今为止开发的用于情感分析的最强大的RNN模型是递归神经张量网络,其具有在每个节点处具有神经网络的树结构。该模型可用于边界分割,以确定哪些词组是正的,哪些是否定的。这同样适用于整个句子。在Sentiment Treebank上接受培训时,该模型在几个指标上的表现优于所有以前的方法超过5%。目前,它是唯一能够准确捕捉否定效果的模型及其在各种树级别对正面和负面短语的范围。

技巧5:问答系统(QA)

问答(QA)系统的想法是直接从文档,对话,在线搜索和其他地方提取信息,以满足用户的信息需求。QA系统不是让用户阅读整个文档,而是更喜欢简短而简洁的答案。如今,QA系统可以非常容易地与其他NLP系统(如聊天机器人)结合使用,并且一些QA系统甚至超越了对文本文档的搜索,并且可以从图片集合中提取信息。

事实上,大多数NLP问题都可以被视为一个问题回答问题。范例很简单:我们发出查询,机器提供响应。通过阅读文档或一组指令,智能系统应该能够回答各种各样的问题。很自然地,我们想设计一个可用于一般QA的模型。

 

一个强大的深度学习架构, 称为动态内存网络(DMN), 已经开发和优化专门针对 QA问题。给定一组输入序列 (知识) 和问题的训练集, 它可以形成插曲记忆, 并使用它们来生成相关的答案。该体系结构具有以下组件:

  • 语义记忆模块(类似于知识库) 由预先训练的嵌入字向量组成, 用于从输入句子创建单词嵌入序列。这些向量将作为模型的输入。
  •  输入模块将与问题相关的输入向量处理为一组称为事实的向量。本模块是使用门报递经常股实现的。gru 使网络能够了解目前正在考虑的句子是否相关或与答案无关。
  • 问题模块逐字逐句处理问题, 并使用与输入模块相同的 gru 和相同的权重输出矢量。事实和问题都被编码为嵌入。
  • 情节记忆模块接收从输入中提取的事实和问题向量, 并将其编码为嵌入。这使用了一个受大脑海马体启发的过程, 它可以检索由某些反应 (如视觉或声音) 触发的时间状态。
  • 最后,答案模块生成适当的响应。通过最后一遍,情景记忆应该包含回答问题所需的所有信息。该模块使用另一个GRU,使用正确序列的交叉熵错误分类进行训练,然后可以将其转换回自然语言。

DMN不仅在质量保证任务方面做得非常好,而且在情感分析和词性标注方面也优于其他架构。自成立以来,动态内存网络已经有了重大改进,以进一步提高其在问答环境中的准确性,包括:

  • 用于视觉和文本问题回答的动态记忆网络基本上是将 dmn 应用于图像。它的内存和输入模块进行了升级, 以便能够回答视觉问题。该模型改进了许多基准视觉问题应答数据集的最新状态, 但不支持事实监督。
  • 动态咨询网络的问题回答解决了从本地最大值恢复对应于不正确的答案的问题。它首先融合了问题和文件的相互依赖表示, 以便将重点放在两者的相关部分。然后, 动态指向解码器遍历潜在的答案范围。此迭代过程使模型能够从与不正确答案相对应的初始本地最大值中恢复。

技巧6:文本摘要

人类很难手动汇总大型文本文档。文本摘要是NLP中为源文档创建简短,准确和流畅的摘要的问题。在当今快速发展的信息时代,它已成为帮助和解释文本信息的重要而及时的工具。随着推送通知和文章摘要获得越来越多的牵引力,为长文本生成智能和准确的摘要的任务每天都在增长。

通过首先计算整个文本文档的单词频率来自动汇总文本。然后,存储和排序100个最常用的单词。然后根据它包含的高频词数对每个句子进行评分,更高频率的词值得更多。最后,根据它们在原始文本中的位置来获取和排序前X个句子。

 

通过保持简单和一般用途,自动文本摘要算法能够在其他实现可能会遇到的各种情况下运行,例如包含外语的文档或标准英语中找不到的唯一单词关联语料库。

文本摘要有两种基本方法:提取抽象。前者从原始文本中提取单词和单词短语以创建摘要。后者学习内部语言表示以生成更像人类的摘要,解释原始文本的意图。

提取摘要中的方法通过选择子集来工作。这是通过从实际文章中提取短语或句子以形成摘要来完成的。LexRankTextRank是众所周知的摘要总结。它们都使用了Google PageRank算法的变体。

  • LexRank是一种无监督的基于图形的算法,它使用IDF修改的余弦作为两个句子之间的相似性度量。该相似度用作两个句子之间的图形边缘的权重。LexRank还采用了智能后处理步骤,确保为摘要选择的顶级句子彼此不太相似。
  • TextRank是一种类似于LexRank的算法,具有一些增强功能,例如使用词形化而不是词干,结合词性标注和命名实体分辨率,从文章中提取关键短语,以及根据这些短语提取摘要句子。除了文章摘要外,TextRank还从文章中提取了有意义的关键短语。

抽象概括的模型属于深度学习的大范围。使用深度学习的文本摘要已经取得了一定的突破。以下是一些NLP领域最大公司最显着的公布结果:

  • Facebook的神经注意是一种神经网络架构,它利用基于本地注意力的模型,能够生成以输入句子为条件的摘要中的每个单词。
  • Google Brain的Sequence-to-Sequence模型遵循编码器 - 解码器架构。编码器负责读取源文档并将其编码为内部表示。解码器是一种语言模型,负责使用源文档的编码表示在输出摘要中生成每个单词。
  • IBM Watson使用类似的序列到序列模型,但具有注意力和双向递归神经网络功能。

神经网络中的注意力机制是以人类的视觉注意力机制为基础的。

人类的视觉注意力得到充分研究,虽然存在不同的模型,但它们都基本上归结为能够以“高分辨率”聚焦于图像的某个区域,同时以“低分辨率”感知周围的图像,然后随着时间的推移调整焦点。

想象一下,你正在阅读一篇完整的文章:你不是按顺序遍历每个单词或字符,而是潜意识地专注于几个最高信息密度的句子并过滤掉其余部分。您的注意力有效地以分层方式捕获上下文信息,这样就可以在减少开销的同时做出决策。神经网络中的注意机制松散地基于人类中发现的视觉注意机制。

那为什么这很重要?诸如LSTM和GRU之类的模型依赖于读取完整的句子并将所有信息压缩为固定长度的矢量。这需要基于文本统计属性的复杂特征工程。用几个单词表示的数百个单词的句子肯定会导致信息丢失,翻译不足等。

 通过注意机制,我们不再尝试将句子编码为固定长度的矢量。相反,我们允许解码器在输出生成的每个步骤处理源语句的不同部分。我们让模型根据输入句子以及它到目前为止产生的内容来学习要注意的内容。

根据上面从基于注意力的神经机器翻译的有效方法的图像,蓝色表示编码器,红色表示解码器,因此我们可以看到上下文向量将所有单元格的输出作为输入来计算每个单元格的源语言单词的概率分布。解码器想要生成单个字。通过利用该机制,解码器可以捕获全局信息而不是仅基于一个隐藏状态进行推断。

除了机器翻译之外,注意模型还可以处理各种其他NLP任务。在Show,Attend和Tell:使用视觉注意生成神经图像标题时,作者将注意机制应用于生成图像描述的问题。他们使用卷积神经网络对图像进行编码,并使用具有注意机制的递归神经网络来生成描述。通过可视化注意力量,他们可以在生成单词时解释模型正在查看的内容:

语法作为外语中,作者使用具有注意机制的递归神经网络来生成句子解析的树。可视化的注意力矩阵可以深入了解网络如何生成这些树:

阅读和理解的教学机器中,作者使用回归神经网络来阅读文本,阅读问题,然后产生答案。通过可视化关注矩阵,它们可以在尝试查找问题答案时显示网络的外观:

然而,注意力需要付出代价。我们需要计算输入和输出字的每个组合的注意值。如果您有一个100字的输入序列并生成一个100字的输出序列,那将是10,000个注意值。如果你进行字符级计算并处理由数百个令牌组成的序列,上述机制可能变得非常昂贵。

自然语言处理障碍

值得注意的是,在我讨论过的这7篇文章中,研究人员不得不处理各种障碍:算法的局限性,模型的可扩展性,对人类语言的模糊理解。。好消息是,这个领域的发展似乎是一个巨大的开源项目:研究人员不断构建更好的模型来解决现有问题并与社区分享他们的结果。由于最近的学术研究进展,以下是NLP中已经解决的主要障碍:

  • 没有单一的模型架构,跨任务具有一致的最新结果。例如,在Question Answering中,我们有强监督的端到端内存网络 ; 在情感分析中,我们有Tree-LSTM ; 在序列标记中,我们有双向LSTM-CRF。我之前在问题回答部分中提到的动态内存网络以某种方式解决了这一挑战,因为它可以在多个域中保持良好的性能。
  • 机器学习中一种强大的方法是多任务学习,它共享相关任务之间的表示,以使模型能够更好地概括原始任务。然而,全关节多任务学习很难,因为它通常仅限于较低层,仅在任务相关时才有用(如果任务不相关则通常会损害性能),并且在所提出的模型中具有相同的解码器/分类器。在联合多任务模型中:为多个NLP任务增长NN作者预先定义了一个由几个NLP任务组成的分层架构,作为多任务学习的联合模型。该模型包括字符n-gram和短路以及最先进的纯前馈解析器,能够执行依赖解析,多句子任务和联合训练。
  • 尽管没有收到任何关于该任务的训练样例,但零射击学习是解决任务的能力。没有多少模型能够为NLP进行零射击学习,因为只有在训练期间看到答案并且作为softmax函数的一部分才能预测答案。为了解决这一障碍,Pointer Sentinel混合模型的作者在混合模型中将标准LSTM softmax与指针网络相结合。指针网络有助于稀有字和长期依赖,而标准softmax可以引用不在输入中的字。
  • 另一个挑战是重复字表示的问题,其中模型中编码器和解码器的不同编码导致重复的参数/含义。对此最简单的解决方案是将单词向量联系在一起并联合训练单个权重,如“绑定单词向量” 和“单词分类器:语言建模的损失框架”中所示
  • 另一个重大障碍是,与诸如卷积神经网络或前馈神经网络相比,任何Deep NLP技术的基本构建块Recurrent Neural Networks相当慢。准递归神经网络采用RNN和CNN的最佳部分来提高训练速度,使用卷积跨越时间的并行性和跨越信道的并行性的逐元门控递归。这种方法比语言建模和情感分析中的任何其他模型更好,更快。
  • 最后,在NLP中,架构搜索  - 使用机器学习自动化人工神经网络设计的过程 - 非常缓慢,因为传统的手动过程需要大量的专业知识。如果我们可以使用AI为任何问题找到合适的架构怎么办?使用 Google Brain 进行强化学习的神经架构搜索是迄今为止开发的最可行的解决方案。作者使用循环网络生成神经网络的模型描述,并使用强化学习训练此RNN,以最大化验证集上生成的体系结构的预期准确性。

结论

你去吧!我向您展示了主要的自然语言处理技术的基本概要,这些技术可以帮助计算机从单个文本或文本序列中提取,分析和理解有用的信息。从跨文化连接人的机器翻译到帮助客户服务的对话聊天机器人; 从深刻理解人类情绪的情感分析,到可以模仿我们视觉注意力的注意机制,NLP的领域过于庞大而无法完全覆盖,所以我鼓励你进一步探索,无论是通过在线课程,博客教程,或研究论文。

我强烈推荐斯坦福大学的CS 224作为初学者,因为您将学习如何实施,训练,调试,可视化和发明自己的NLP任务神经网络模型。作为奖励,您可以从我的GitHub仓库获取所有演讲幻灯片,分配指南和源代码。我希望它能指导你改变我们未来的沟通方式!

编者注:想进一步了解机器学习如何改变我们使用语言的方式?查看这些有用的Heartbeat资源:

原始文章的地址:请点击

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/359965
推荐阅读
相关标签
  

闽ICP备14008679号