• [其他] 自然语言处理--展望
    从历史角度来讲,模型越来越大。GPT-3已经这么大了,我们还能做得更大吗?当然如果未来计算设备的硬件的问题解决了,可以更大,但是近期内呢?更大的模型应该是什么样子?我设想的一种方式就是分布式,把模型分布到很多机器上计算,就像搜索引擎一样。像BERT这一类模型如何再把它训练的更大?现在最大的几个预训练语言模型都是GPT类的,BERT这一类模型很难做得更大,一些工程上的问题目前还是很难解决的。那么未来我们是否可能训练更大的BERT类的模型?小模型相反, BERT这类模型可以压缩的很小,GPT模型就很难压缩。BERT这个模型的压缩是不是还有潜力可以挖掘?另外知识融入是一个很有意思的问题。知识融入人们做了很多工作,实际上我是不太满意的。因为很多工作只是在解决知识类的问题效果比较好, 一般的 NLP的问题,知识融入的作用并不是那么大,所以希望知识融入能够解决一般的 NLP的问题。还有就是知识应该如何表示?现在大部分人认为知识都是三元组,我觉得这个是存在争议的,三元组实际上能够表达的知识其实非常有限。比如序列关系、空间关系、集合关系、数值关系等等关系知识都是很难学到的。关于搜索引擎,我希望以后预训练语言模型可以和搜索引擎结合起来,预训练语言模型就是个能够回答任何问题的搜索引擎。最后就是多模态预训练,希望将来它能带来无限的想象空间。
  • [其他] 自然语言处理--知识蒸馏
    TinyBERT知识蒸馏的基本流程包括两步,第一步叫做general distillation,即使用一个大的预训练语言模型,训练一个小的预训练语言模型。第二步叫做task-specific distillation,即使用一个大的预训练语言模型,去对一个小的预训练语言模型进行微调。在这里我们引入了一个新的技术,叫做数据增强,这个技术非常重要,如果没有这个技术的话,整个模型的性能会下降很多。TinyBERT知识蒸馏的损失函数中一个比较重要的就是,让中间层去学习隐藏状态和attention向量。TinyBERT知识蒸馏的选层策略就是,我们用4层或者6层的学生模型,去学习12层的教师模型。但是让哪一层去学习哪一层,这就是一个有关映射的策略的问题了。我们最早提出的是一个均匀映射模型,即用小模型的1,2,3,4层,去依次学习大模型的3,6,9,12层。后来我们就在想,是否可以让每一层都自动去搜索一个最合适的层次学习?我们就引入了进化学习算法。然后我们发现,对小模型来说,最好的学习层次是0,0,5,10。即小模型的第一层,第二层不要去学习,最好直接使用自动反向传播去调。用第3层去学大模型的第5层,第4层去学大模型的第10层,这样效果最好。6层的学生模型我们学到的是0,5,0,0,0,10。通过选层策略可以发现,选择好的层次的话就可以提高整体的效果。TinyBERT知识蒸馏数据增强是一个非常有效的技术。因为下游任务一般数据都比较少,那么我们在蒸馏小模型的时候,数据的数量经常是不足的。我们采取的办法,就是把用于下游任务的数据进行增强。数据增强实际上就是利用了BERT本身的特点,它的每个词都是可以替换成别的词的。我们采用一种替换策略,就是把每个词都去做一些替换,这样的话就会生成很多的跟原来的句子很相似的句子,比如10个词的句子换掉2个或者3个词,去生成增强的语料。最后,我们发现大概增强20倍的时候,即将原来的一个句子替换生成20个左右相似的句子,用来做下游任务的蒸馏的效果最好。这是我们的实验结果,我们看到在4层的模型,在GLUE上面,总的分数大概降低了2.5,从79.5降到77。6层的TinyBERT基本上是跟12层的没有什么变化。在参数量方面,BERT-base有109M,而4层的模型只有14.5M,只有原模型的13.3%。6层的模型只降到了原来的一半。在速度方面,我们也可以看到4层的模型提速了9.4倍,提速非常高。并且我们现在模型空间非常小,参数量是14.5M的模型大小只有50M左右,完全可以放入手机之中,并且它的推理速度比原来快将近快10倍。目前我们这个模型已经大量的运用在华为的设备与应用之中。我们还做了一个工作,在华为自研的BOLT深度学习加速库下,利用了底层的硬件再一次进行压缩和加速,使得TinyBERT最终的推理速度,可以达到1.3毫秒。我们的TinyBERT在中文的CLUE小模型排行榜上一直是第一名。然后我们参加了 NLPCC的小模型评测比赛,也是获得了第一名。
  • [其他] 自然语言处理技术难点
    内容的有效界定日常生活中句子间的词汇通常是不会孤立存在的,需要将话语中的所有词语进行相互关联才能够表达出相应的含义,一旦形成特定的句子,词语间就会形成相应的界定关系。如果缺少有效的界定,内容就会变得模棱两可,无法进行有效的理解。例如他背着母亲和姐姐悄悄的出去玩了。这句话中如果不对介词“和”作出界定,就很容易形成母亲和姐姐两个人不知道他出去玩,或者是母亲不知道他和姐姐出去玩。消歧和模糊性词语和句子在不同情况下的运用往往具备多个含义,很容易产生模糊的概念或者是不同的想法,例如高山流水这个词具备多重含义,既可以表示自然环境,也能表达两者间的关系,甚至是形容乐曲的美妙,所以自然语言处理需要根据前后的内容进行界定,从中消除歧义和模糊性,表达出真正的意义。有瑕疵的或不规范的输入例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字符识别(OCR)的错误。语言行为与计划句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。
  • [其他] 自然语言处理概念和技术
    信息抽取(IE)信息抽取是将嵌入在文本中的非结构化信息提取并转换为结构化数据的过程,从自然语言构成的语料中提取出命名实体之间的关系,是一种基于命名实体识别更深层次的研究。信息抽取的主要过程有三步:首先对非结构化的数据进行自动化处理,其次是针对性的抽取文本信息,最后对抽取的信息进行结构化表示。信息抽取最基本的工作是命名实体识别,而核心在于对实体关系的抽取。自动文摘自动文摘是利用计算机按照某一规则自动地对文本信息进行提取、集合成简短摘要的一种信息压缩技术,旨在实现两个目标:首先使语言的简短,其次要保留重要信息。语音识别技术语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的技术,也就是让机器听懂人类的语音,其目标是将人类语音中的词汇内容转化为计算机可读的数据。要做到这些,首先必须将连续的讲话分解为词、音素等单位,还需要建立一套理解语义的规则。语音识别技术从流程上讲有前端降噪、语音切割分帧、特征提取、状态匹配几个部分。而其框架可分成声学模型、语言模型和解码三个部分。Transformer 模型Transformer 模型在2017 年,由Google 团队中首次提出。Transformer 是一种基于注意力机制来加速深度学习算法的模型,模型由一组编码器和一组解码器组成,编码器负责处理任意长度的输入并生成其表达,解码器负责把新表达转换为目的词。Transformer 模型利用注意力机制获取所有其他单词之间的关系,生成每个单词的新表示。Transformer 的优点是注意力机制能够在不考虑单词位置的情况下,直接捕捉句子中所有单词之间的关系。模型抛弃之前传统的encoder-decoder 模型必须结合RNN 或者CNN(Convolutional Neural Networks, CNN)的固有模式,使用全Attention 的结构代替了LSTM,减少计算量和提高并行效率的同时不损害最终的实验结果。但是此模型也存在缺陷。首先此模型计算量太大,其次还存在位置信息利用不明显的问题,无法捕获长距离的信息。 基于传统机器学习的自然语言处理技术自然语言处理可将处理任务进行分类,形成多个子任务,传统的机械学习方法可利用SVM(支持向量机模型)、Markov(马尔科夫模型)、CRF(条件随机场模型)等方法对自然语言中多个子任务进行处理,进一步提高处理结果的精度。但是,从实际应用效果上来看,仍存在着以下不足:(1)传统机器学习训练模型的性能过于依赖训练集的质量,需要人工标注训练集,降低了训练效率。(2)传统机器学习模型中的训练集在不同领域应用会出现差异较大的应用效果,削弱了训练的适用性,暴露出学习方法单一的弊端。若想让训练数据集适用于多个不同领域,则要耗费大量人力资源进行人工标注。(3)在处理更高阶、更抽象的自然语言时,机器学习无法人工标注出来这些自然语言特征,使得传统机器学习只能学习预先制定的规则,而不能学规则之外的复杂语言特征。 基于深度学习的自然语言处理技术深度学习是机器学习的一大分支,在自然语言处理中需应用深度学习模型,如卷积神经网络、循环神经网络等,通过对生成的词向量进行学习,以完成自然语言分类、理解的过程。与传统的机器学习相比,基于深度学习的自然语言处理技术具备以下优势:(1)深度学习能够以词或句子的向量化为前提,不断学习语言特征,掌握更高层次、更加抽象的语言特征,满足大量特征工程的自然语言处理要求。(2)深度学习无需专家人工定义训练集,可通过神经网络自动学习高层次特征。 
  • [其他] 自然语言处理的发展史
    最早的自然语言理解方面的研究工作是机器翻译  。1949年,美国人威弗首先提出了机器翻译设计方案  。其发展主要分为三个阶段。早期自然语言处理第一阶段(60~80年代):基于规则来建立词汇、句法语义分析、问答、聊天和机器翻译系统。好处是规则可以利用人类的内省知识,不依赖数据,可以快速起步;问题是覆盖面不足,像个玩具系统,规则管理和可扩展一直没有解决。统计自然语言处理第二阶段(90年代开始):基于统计的机器学习(ML)开始流行,很多NLP开始用基于统计的方法来做。主要思路是利用带标注的数据,基于人工定义的特征建立机器学习系统,并利用数据经过学习确定机器学习系统的参数。运行时利用这些学习得到的参数,对输入数据进行解码,得到输出。机器翻译、搜索引擎都是利用统计方法获得了成功。神经网络自然语言处理第三阶段(2008年之后):深度学习开始在语音和图像发挥威力。随之,NLP研究者开始把目光转向深度学习。先是把深度学习用于特征计算或者建立一个新的特征,然后在原有的统计学习框架下体验效果。比如,搜索引擎加入了深度学习的检索词和文档的相似度计算,以提升搜索的相关度。自2014年以来,人们尝试直接通过深度学习建模,进行端对端的训练。目前已在机器翻译、问答、阅读理解等领域取得了进展,出现了深度学习的热潮。
  • [其他] 自然语言处理--GPT-3的冲击
    GPT-3有一个非常吸引人的地方,就是它几乎无需做微调,并且它的演示效果也很好。GPT-3给我们带来了非常大的冲击。这个模型有着极高的训练成本,使得实际上绝大部分的企业和科研机构都无力承担。它的1750亿参数比BERT-base模型大了100倍,比 GPT-2大了10倍。它单次训练需要1万亿单词的训练数据,以及1200万美元的训练成本,能够承担这种训练成本的企业在世界范围内也非常少。虽然它的训练成本如此之高,但是它的效果非常令人吃惊。以前我们解决特定的问题,都需要专门去找语料,做专门的训练才能做。现在这个模型,只要是需要的功能都可以直接实现,基本不用训练。还有一些我们原来觉得很难做到的事情,GPT-3也能做到,例如算术计算、写代码等等。它还能够很细致的区分56和49这两个词,甚至在数量上都能区分出来,如此的细腻度令人吃惊,这也给它的商业价值也带来巨大的想象空间。
  • [其他] 自然语言处理--预训练语言模型的做大
    预训练语言模型的做大不仅仅是带来量的提高,更带来了模型使用性质的变化。最早在词向量模型时期,整个自然语言处理就被带入了神经网络时代。在神经网络时代,单一的CPU已经不能满足需求了。可以通过GPU,在不需要进行过多额外计算的情况下,做到在整个词表上进行词的选择,这在以前的SMT上是不可想象的。正是有了GPU,我们才可以通过词向量模型这类神经语言模型来完成这类工作。如果没有GPU支持,或者用以前的统计方法,是难以想象的。预训练语言模型通过使用更大的GPU,更多的数据,也带来了更大的变化,即微调的模式。微调为下游任务大致规定了几种固定的模式,包括句子分类、句子关系的分类、词语序列标注,以及QA任务中常见的句子片段的提取等。以前解决每个NLP问题,都要先设计模型。现在通过微调这一简单的模式,我们不再需要去为每个任务去设计特定的NLP模型,而可以将所有的NLP任务都纳入几个模式。--固定模式 > 微调   这样将任务简单化了~
  • [其他] 自然语言处理--预训练的思想
    不管是统计方法还是神经网络方法,都是一种基于数据的方法。如果数据不够的话,模型就无法有效建立。但是现实生活中,数据永远是一个很大的问题。在实际应用场景中,我们得到的很多数据都是无标注的,在这种情况下传统模型就无法解决实际问题。预训练的思想是,在利用标注数据之前,先利用无标注的数据(也就是纯文本数据),去训练一个模型,这个模型能够学到一些潜在的跟标注无关的知识。然后在具体的任务上,预训练模型就可以利用大量的无标注数据训练所得到的知识。--到底是什么知识呢?第一代自然语言处理预训练模型是词向量模型。词向量模型是把大量的无标注的文本送到一个比较简单的神经网络里面,经过训练,每个词都会被赋予一个静态的向量。词的静态向量在空间分布上有一个非常好的特点,即相似的词会聚在一起。词与词之间的关系也会以一种向量的形式得到体现,从而实现了符号空间到向量空间的映射。
  • [其他] 分享NLP的丰富应用
    自然语言处理领域的研究现状令人欢欣鼓舞,因为我们在该领域开发的模型和工具有解决许多实际问题的潜力。看看本届会议展示的各种各样的 NLP 应用,这一点就愈发明显了。在这个充斥着假新闻和虚假的神经网络新闻的时代,验证陈述的真实性变得越来越重要。Shengli Hu 的工作「Detecting Concealed Information in Text and Speech」(https://www.aclweb.org/anthology/P19-1039)构建了一个利用声学和语言学特征识别文本和语音中的隐藏信息的系统,其性能相较于人类提升了 15%。在健康领域,Shardlow 等人(https://www.aclweb.org/anthology/P19-1037)开发了一种通过特定领域的短语表使得医生编写的临床文书对于患者来说更具可读性的神经网络模型。相关的工作还有,Du 等人(https://arxiv.org/pdf/1906.02239.pdf)提出了根据临床对话提取出疾病症状的任务,并给出了一些对比基线模型,这种手段可以减少初级保健医生花费在与临床文献记录系统交互的时间。今年的 ACL 还专门设立了一个将 NLP 技术应用于生物学问题的研讨会(https://aclweb.org/aclwiki/BioNLP_Workshop)。例如,Fauqueur 等人(https://arxiv.org/pdf/1907.01417.pdf)提出了用于在无需训练数据或手动设计的规则的条件下,从生物医学文献中提取出新的科学事实的技术。Rajagopal 和 Vyas 等人(https://www.aclweb.org/anthology/W19-5009)的另一篇优秀论文,则通过在大规模数据集上训练一个 LSTM-CRF 模型,然后在「低资源」(数据量较少的)语料库上进行调优,从而使语义角色标注系统适用于生物学过程,他们的模型性能在标准数据集上相较于以往的工作提高了 21 个百分点。除此之外,NLP 领域还有一些很酷炫的工作,包括 Zhang 等人的论文「This Email Could Save Your Life: Introducing the Task of Email Subject Line Generation」(https://arxiv.org/abs/1906.03497),他们介绍了电子邮件主题行生成的问题(不妨想一想电子邮件智能回复功能,只不过这里的任务是生成电子邮件的标题),并且针对该问题展示了第一个充满前景的模型,对该模型进行了自动和人工评估。
  • [其他] 自然语言处理(NLP)
    (1)研究内容  自然语言处理是一门让计算机理解、分析以及生成自然语言的学科,是理解和处理文字的过程,相当于人类的大脑。NLP是目前AI发展的核心瓶颈。整个NLP包括了句法语义分析、信息抽取、文本挖掘、机器翻译、信息检索、问答系统、对话系统等范畴。  NLP大概的研究过程是:研制出可以表示语言能力的模型——提出各种方法来不断提高语言模型的能力——根据语言模型来设计各种应用系统——不断地完善语言模型。自然语言理解和自然语言生成都属于自然语言理解的概念范畴。  自然语言理解(NLU)模块,着重解决的问题是单句的语义理解,对用户的问题在句子级别进行分类,明确意图识别(Intent Classification);同时在词级别找出用户问题中的关键实体,进行实体槽填充(Slot Filling)。  一个简单的例子,用户问“我想吃冰激凌”,NLU模块就可以识别出用户的意图是“寻找甜品店或超市”,而关键实体是“冰激淋”。有了意图和关键实体,就方便了后面对话管理模块进行后端数据库的查询或是有缺失信息而来继续多轮对话补全其它缺失的实体槽。  自然语言生成(NLG)模块是机器与用户交互的最后一公里路,目前自然语言生成大部分使用的方法仍然是基于规则的模板填充,有点像实体槽提取的反向操作,将最终查询的结果嵌入到模板中生成回复。手动生成模板之余,也有用深度学习的生成模型通过数据自主学习生成带有实体槽的模板。(2)应用场景  自然语言处理作为CUI(Conversational User Interface,对话式交互)中非常重要的一部分,只要是CUI的应用场景都需要自然语言处理发挥作用。除此之外,机器翻译、文本分类也都是自然语言处理的重要应用领域。但是自然语言处理的应用也是被吐槽最多的,经典的就是“智能客户不仅没增加效率,还降低了效率”,相比CV,NLP这一块带给人的直观震撼目前来看确实要小很多。(3)瓶颈1)词语实体边界界定  自然语言是多轮的,一个句子不能孤立的看,要么有上下文,要么有前后轮对话,而正确划分、界定不同词语实体是正确理解语言的基础。目前的深度学习技术,在建模多轮和上下文的时候,难度远远超过了如语音识别、图像识别的一输入一输出的问题。所以语音识别或图像识别做的好的企业,不一定能做好自然语言处理。2)词义消歧  词义消歧包括多义词消歧和指代消歧。多义词是自然语言中非常普遍的现象,指代消歧是指正确理解代词所代表的⼈或事物。例如:在复杂交谈环境中,“他”到底指代谁。词义消歧还需要对文本上下文、交谈环境和背景信息等有正确的理解,目前还无法对此进行清晰的建模。3)个性化识别  自然语言处理要面对个性化问题,自然语言常常会出现模棱两可的句子,而且同样一句话,不同的人使用时可能会有不同的说法和不同的表达。这种个性化、多样化的问题非常难以解决。(4)产品体验  自然语言识别:讯飞输入法(PC软件和手机APP),讯飞语记(手机APP),百度输入法PC软件和手机APP)  远场语音识别(智能音箱):亚马逊Echo,谷歌Home,苹果HomePod  机器翻译:google翻译  多轮对话机器人:苹果siri,微软小冰,百度度秘,小i,小黄鸡,图灵机器人
  • [其他] NLP 研究方向
    一  自然语言处理 (Natural Language Processing) 是人工智能(AI)的一个子领域。  自然语言处理是研究在人与人交互中以及在人与计算机交互中的语言问题的一门学科。二主要研究方向有:信息抽取:从给定文本中抽取重要的信息,比如时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。文本生成:机器像人一样使用自然语言进行表达和写作。依据输入的不同,文本生成技术主要包括数据到文本生成和文本到文本生成。数据到文本生成是指将包含键值对的数据转化为自然语言文本;文本到文本生成对输入文本进行转化和处理从而产生新的文本。问答系统:对一个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行某种程度的语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。对话系统:系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。涉及到用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。文本挖掘:包括文本聚类、分类、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面。目前主流的技术都是基于统计机器学习的。语音识别和生成:语音识别是将输入计算机的语音符号识别转换成书面语表示。语音生成又称文语转换、语音合成,它是指将书面文本自动转换成对应的语音表征。信息过滤:通过计算机系统自动识别和过滤符合特定条件的文档信息。通常指网络有害信息的自动识别和过滤,主要用于信息安全和防护,网络内容管理等。舆情分析:是指收集和处理海量信息,自动化地对网络舆情进行分析,以实现及时应对网络舆情的目的。信息检索:对大规模的文档进行索引。可简单对文档中的词汇,赋之以不同的权重来建立索引,也可建立更加深层的索引。在查询的时候,对输入的查询表达式比如一个检索词或者一个句子进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。机器翻译:把输入的源语言文本通过自动翻译获得另外一种语言的文本。机器翻译从最早的基于规则的方法到二十年前的基于统计的方法,再到今天的基于神经网络(编码-解码)的方法,逐渐形成了一套比较严谨的方法体系。
  • [其他] 什么是自然语言处理
      自然语言处理(Natural Language Processing,简称NLP)是一款基于人工智能技术,针对各类企业及开发者提供的用于文本分析及挖掘的云服务,旨在帮助用户高效的处理文本。自然语言处理包含如下子服务:自然语言处理基础(Natural Language Processing Fundamentals)。    为用户提供包括分词、命名实体识别、关键词提取、短文本相似度等自然语言相关的API,可用于智能问答、对话机器人、舆情分析、内容推荐、电商评价分析等场景中。语言生成(Language Generation,简称LG)。    为用户提供包括文本摘要等语言生成相关的API,可用于新闻摘要生成、文献摘要生成、搜索结果片段生成、商品评论摘要等场景中。语言理解(Language Understanding,简称LU)。    为用户提供包括文本分类、情感分析等语言理解相关的API,可用于情感分析、内容检测、广告识别等场景中。机器翻译(Machine Translation,简称MT)。    为用户提供快速准确的翻译服务,帮助用户跨语言沟通,可用于文档翻译等场景中。
  • [其他] 自然语言文本生成简介
    一  文本生成(Text Generation)为自然语言处理服务(Natural Language Processing Service ,简称NLP)的子服务。二  实现从数据(data)到文本(text)的转换。三  目前可支持三种数据源:JSON数据、表格数据、图谱数据。四  文本生成平台能够帮助您构建数据到文本的转换模板,根据不同输入数据进行动态生成。
  • [其他] 自然语言处理是啥东西呢?NLP?
    1、自然语言处理(NLP)是指机器理解并解释人类paralyzes写作、说话方式的能力。2、NLP 的目标是让计算机/机器在理解语言上像人类一样智能。最终目标是弥补人类交流(自然语言)和计算机理解(机器语言)之间的差距。3、自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。因此,自然语言处理是与人机交互的领域有关的。在自然语言处理面临很多挑战,包括自然语言理解,因此,自然语言处理涉及人机交互的面积。在NLP诸多挑战涉及自然语言理解,即计算机源于人为或自然语言输入的意思,和其他涉及到自然语言生成,下图为自然语言处理相关技术和内容。
  • [其他] 调用自然语言处理的API失败时怎么处理
    检查原因根据API调用返回结果或者错误码查找原因。检查Token是否填写正确或者已过期。检查API调用方法是否正确。联系服务人员如果无法确定原因和解决问题,请联系技术服务人员。
总条数:278 到第
上滑加载中