首页 > 编程知识 正文

自然语言处理 任务,自然语言处理的发展

时间:2023-05-03 07:38:34 阅读:142257 作者:2761

系列文章,主要是记录以前做的工作,想减少计算机空间。

自然语言处理

badhb说,语言理解是人工智能皇冠上的明珠。 在介绍自然语言处理之前,我先介绍人工智能。 人工智能经过61年的发展,跌宕起伏,曾经经历过两次寒冬,但随着云计算、大数据、深度学习以及实际应用场景的使用和反馈,人工智能又迎来了新的春天。

初识语言理解人工智能的重要部分之一是认知智能,包括理解和运用语言的能力、学习和运用知识的能力、基于语言和知识的推理能力。 认知智能主要集中在语言智能,也就是自然语言处理上。 自然语言处理是体现语言智能的重要技术,它能分析、理解或生成自然语言,实现人与机器的自然交流,同时也有利于人与人之间的交流。 自然语言处理包括三个部分,第一部分是NLP的基础技术,如分词、词性标注、语义分析。 二是NLP核心技术,包括词汇、短语、句子、篇章显示,还包括机器翻译、问答、信息检索、信息抽取、聊天对话、知识工程、语言生成、推荐系统。 最后是“NLP”,指将自然语言处理技术深入到各个应用系统和垂直领域。 它在垂直领域的——法律、医疗和教育等诸多方面有着广泛的应用,包括搜索引擎、智能呼叫、商务智能、语音助手等。

自然语言处理技术也经历过从过去的基于规则和统计到现在的广泛应用,目前在语言嵌入、机器翻译、答疑系统、会话系统等方面使用的主要技术也都是通过深度学习来表达的。

在机器翻译方面,微软的机器翻译在产品和学术界都非常活跃和领先。 例如,微软在2017年ACL的长篇《Sequence-to-Dependency Neural Machine Translation》中将语言知识引入机器翻译。 由于现有的encoder-decoder框架没有体会到内在的词汇和词汇之间的修饰关系,将句法知识引入到神经网络编码、解码中,得到了更好的翻译,指标大幅提高。 另外,考虑到在很多领域都存在知识图谱,2016年微软在ACL上发表的《Knowledge-Based Semantic Embedding for Machine Translation》篇文章中,计划将知识图谱编入传统的神经网络机器翻译中,进行语言理解的过程。 其假设是,虽然大家的语言可能不一样,但在知识图领域可能是一致的,所以可以用知识图加强编码、解码。 从产品的角度看,微软推出了一项新的翻译功能——Microsoft translator live feature。 该功能可以让观众用自己熟悉的语言演讲被惯坏的笑容,同时让观众用自己的语言接受被惯坏的笑容的内容,从而更好地理解和交流(现场演示效果很好)。

根据自然语言分类NLP的终极目标,可以大致分为http://www.Sina.com/(nlu )和http://www.Sina.com/) nlg )两种。 NLU侧重于如何理解文本,包括文本分类、实体识别命名、消歧、句法分析、机器阅读等。 NLG的重点是理解文本后如何生成自然文本,包括自动摘要、机器翻译、问答系统、对话机器人等。 两者之间不存在明确的边界。 例如,机器读取和理解实际上属于对话系统的子领域。

NLP可分为以下几个领域:自然语言理解:多用于大数据的检索,典型应用有搜索引擎。

自然语言生成:跨语言翻译,这一领域目前已经成熟。 目前,谷歌翻译已经使用机器翻译技术。

文本检索:本质上是分类问题。 虽然目前还很成熟,但难点在于多标签分类(即一个文本对应多个标签,找到所有这些标签)和细粒度分类)两极情感分类准确率较高,即好中之差三种,但五级情感分类准确率仍然较低,即好

机器翻译:从不规则文本中提取所需信息,如命名实体识别、关系提取和事件提取。 应用极为广泛。

文本分类/情感分析:为文本中的所有单词/单词添加适当的标签。 是分词、词性标注、关键词提取、命名实体识别、语义角色标注等大多数NLP底层技术的核心。 曾经是HMM、CRF的天下,但近年来逐渐稳定为BiLSTM-CRF体系。

信息抽取:从给定的文本中,聚焦最中心的部分并自动生成

成摘要。

问答系统:接受用户以自然语言表达的问题,并返回以自然语言表达的回答。常见形式为检索式、抽取式和生成式三种。近年来交互式也逐渐受到关注。典型应用有智能客服

对话系统:与问答系统有许多相通之处,区别在于问答系统旨在直接给出精准回答,回答是否口语化不在主要考虑范围内;而对话系统旨在以口语化的自然语言对话的方式解决用户问题。对话系统目前分闲聊式和任务导向型。前者主要应用有siri、帅气的樱桃等;后者主要应用有车载聊天机器人。(对话系统和问答系统应该是最接近NLP终极目标的领域)

知识图谱:从规则或不规则的文本中提取结构化的信息,并以可视化的形式将实体间以何种方式联系表现出来。图谱本身不具有应用意义,建立在图谱基础上的知识检索、知识推理、知识发现才是知识图谱的研究方向。

文本聚类:一个古老的领域,但现在仍未研究透彻。从大规模文本数据中自动发现规律。核心在于如何表示文本以及如何度量文本之间的距离。

 

基本技术

分词:基本算是所有NLP任务中最底层的技术。不论解决什么问题,分词永远是第一步。

词性标注:判断文本中的词的词性(名词、动词、形容词等等),一般作为额外特征使用。

句法分析:分为句法结构分析和依存句法分析两种。

词干提取:从单词各种前缀后缀变化、时态变化等变化中还原词干,常见于英文文本处理。

命名实体识别:识别并抽取文本中的实体,一般采用BIO形式。

指代消歧:文本中的代词,如“他”“这个”等,还原成其所指实体。

关键词抽取:提取文本中的关键词,用以表征文本或下游应用。

词向量与词嵌入:把单词映射到低维空间中,并保持单词间相互关系不变。是NLP深度学习技术的基础。

文本生成:给定特定的文本输入,生成所需要的文本,主要应用于文本摘要、对话系统、机器翻译、问答系统等领域。

自然语言发展现状

近几年,自然语言处理算法发展迅速,从时间线的角度主要有:

在2013年,word2vec提出,NLP的里程碑式技术。

2013年,CNNs/RNNs/Recursive NN,随着算力的发展,神经网络可以越做越深,之前受限的神经网络不再停留在理论阶段。在图像领域证明过实力后,Text CNN问世;同时,RNNs也开始崛起。在如今的NLP技术上,一般都能看见CNN/LSTM的影子。因为本世纪算力的提升,使神经网络的计算不再受限。有了深度神经网络,加上嵌入技术,人们发现虽然神经网络是个黑盒子,但能省去好多设计特征的精力。至此,NLP深度学习时代开启。

2014年,seq2seq提出,在机器翻译领域,神经网络碾压基于统计的SMT模型。

2015年,attention的提出可以说是NLP另一里程碑式的存在。带有attention的seq2seq,碾压上一年的原始seq2seq。记得好像17年年初看过一张图,调侃当时学术界都是attention的现象,也证明了attention神一般的效果。而2017年末,Transformer的提出似乎是为了应对Facebook纯用CNN来做seq2seq的“挑衅”,google就纯用attention,并发表著名的《Attention is All You Need》。初看时以为其工程意义大于学术意义,直到BERT的提出才知道自己还是too young。

2018年末,BERT提出,横扫11项NLP任务,奠定了预训练模型方法的地位,NLP又一里程碑诞生。光就SQuAD2.0上前6名都用了BERT技术就知道BERT的可怕。

 

目前研究难点

仍有很多制约NLP发展的因素,这些因素构成了NLP的难点。而且要命的是,大多数是基础技术的难点。

中文分词:这条是专门针对中文说的。众所周知汉语博大精深,老外学汉语尚且虐心,更别提计算机了。同一个任务,同一个模型在英文语料的表现上一般要比中文语料好。无论是基于统计的还是基于深度学习的NLP方法,分词都是第一步。分词表现不好的话,后面的模型最多也只能尽力纠偏

词义消歧:很多单词不只有一个意思,但这个在今年BERT推出后应该不成问题,可以通过上下文学到不同的意思。另一个较难的是指代消歧,即句子中的指代词还原,如“大胆的铃铛受到了老师的表扬,他很高兴”,这个“他”是指“大胆的铃铛”还是指“老师”。

二义性:有些句子,往往有多种理解方式,其中以两种理解方式的最为常见,称二义性。

OOV问题:随着词嵌入技术大热后,使用预训练的词向量似乎成为了一个主流。但有个问题就是,数据中的词很可能不在预训练好的词表里面,此即OOV(out of vocabulary)。主流方法是要么当做UNK处理,要么生成随机向量或零向量处理,当然都存在一定的弊端。

文本相似度计算:是的你没有看错。文本相似度计算依旧算是难点之一。不过与其说难点,主要是至今没有一种方法能够从理论证明。主流认可的是用余弦相似度。但看论文就会发现,除了余弦相似度外,有人用欧式距离,有人用曼哈顿距离,有人直接向量內积,且效果还都不错。

文本生成的评价指标:文本生成的评价指标多用BLEU或者ROUGE,但尴尬的是,这两个指标都是基于n-gram的,也就是说会判断生成的句子与标签句子词粒度上的相似度。然而由于自然语言的特性(同一个意思可以有多种不同的表达),会出现生成的句子尽管被人为判定有意义,在BLEU或ROUGE上仍可能会得到很低的分数的情况。这两个指标用在机翻领域倒是没多大问题(本身就是机翻的评价指标),但用在文本摘要和对话生成就明显不合适了。

 

 

参考文献

Hutchins, J. (2005). "The history of machine translation in a nutshell"

Goldberg, Yoav (2016). "A Primer on Neural Network Models for Natural Language Processing". Journal of Artificial Intelligence Research. 57: 345–420.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。