当前位置: 首页 > 科技观察

百度NLP自然语言处理技术最全解析

时间:2023-03-18 17:34:55 科技观察

AI时代,我们希望计算机能够拥有视觉、听觉、动作、语言的智能。与听觉、视觉和行动相比,语言是我们与其他动物的区别。最重要的功能之一。语言是我们思维的载体,因此我们对语言的理解和加工就显得尤为重要。在计算机领域,自然语言处理(NLP,NaturalLanguageProcessing)就是研究如何让计算机理解并生成人类语言,从而与人类平等、流畅地进行交流。自然语言处理技术在百度有着悠久的历史。早在百度诞生之初,它就成为搜索技术的重要组成部分,并随着百度的发展而不断进步。从中文分词、词性分析、改写,到机器翻译、语篇分析、语义理解、对话系统等,NLP技术已成功应用在百度的多款产品中。近日,在由百度开发者中心主办、极客帮科技承办的第75届百度技术沙龙上,来自百度NLP和AI开放平台的多位高级工程师和产品经理围绕开发者如何利用百度NLP技术更好地解决实际应用问题,专门分享了.百度AI技术与生态部高级运营顾问张扬,通过具体的应用案例,让大家对百度NLP开放核心技术有一个感性的认识;分析;自然语言处理部高级研发工程师何博磊详细讲解了在海量场景的情感分析领域的技术应用;自然语言处理部高级研发工程师江迪详细讲解了概率图模型技术的应用;百度AI技术生态部高级产品经理张晶晶将指导大家如何使用百度AI开放平台。什么是自然语言处理?NLP是计算机科学和人工智能领域的一个重要方向。它研究各种可以利用自然语言实现人与计算机之间有效交流的理论和方法。自然语言处理是一门集语言学、计算机科学和数学于一体的学科。NLP包括两个主要的技术领域:自然语言理解和自然语言生成。自然语言理解的主要目标是帮助机器更好地理解人类语言,包括语法和句法等基本语义理解,以及对需求、文本和情感的高级理解。自然语言生成方向,主要目标是帮助机器生成人类可以理解的语言,例如文本生成、自动摘要等。NLP技术基于大数据、知识图谱、机器学习等技术和资源学习、语言学,并可以形成机器翻译、深度问答、对话系统的具体应用系统,进而服务于各种实际业务和产品。为什么我们需要NLP?在演讲中,为了让大家有一个更直观的感受,张扬首先举了一个生活中的例子:人们在百度上搜索生僻字时,会在不知道拼音的情况下进行搜索:“4Whatdoyousaidagain?”,我们发现搜索结果一定是告诉你“叕”这个词读的是什么,而不是“whatdoyousayagain”这个词的表面匹配结果,已经用自然语言理解帮助搜索引擎理解whatdoyousayagain用户需要搜索的是“4and组成的词”,而不是“whatare4”这几个孤立的词。由此可见,NLP技术确实可以知道你所说的深层语义是什么,这项技术也将人工智能推向了一个新的高度。那么NLP到底能做什么呢?它如何帮助实现业务?张扬继续介绍了百度NLP开放的几项典型技术:情感倾向分析可以自动判断文本的情感极性类别,并给出相应的置信度。情绪极性分为积极、消极和中性。情感分析可以帮助企业了解用户消费习惯、分析热点话题和监测危机舆情,为企业提供有力的决策支持。评论意见抽取自动分析评论关注点和评论意见,输出评论意见标签和评论意见极性。目前支持食品、酒店、汽车、景区等13类商品的用户评论意见提取,可帮助商家进行商品分析,辅助用户做出消费决策。词义相似度计算用于计算两个给定词的语义相似度,基于自然语言中的分布假设,即共现词越频繁,词之间的相似度越高。词义相似度是自然语言处理中一项重要的基础技术,是专有名词挖掘、查询改写、词性标注等常用技术的基础之一。词法分析百度词法分析为用户提供分词、词性标注、命名实体识别三大功能。该服务可以识别文本字符串中的基本词汇标签和词汇的词性,并进一步识别命名实体。百度词法分析的算法效果远远领先于已发布的主流中文词法分析模型。短文本相似度可以提供不同短文本之间相似度的计算。输出相似度是一个介于-1和1之间的实数,越接近1,相似度越高。这个相似度值可以直接用于排序结果,也可以作为更复杂系统的一维基本特征。DNN语言模型语言模型计算给定单词组成句子的概率,从而判断组成的句子是否符合客观语言表达习惯。广泛应用于机器翻译、拼写纠错、语音识别、问答系统、词性标注、句法分析和信息检索等系统。词向量表示词向量表示是一种将语言词汇表中的词映射成固定长度向量的训练方法。词汇表中的所有词向量组成一个向量空间,每个词都是这个词向量空间中的一个点。使用这种方法,可以计算文本。依存句法分析是用句子中词与词之间的依存关系来表示词的句法结构信息(如主谓、动宾、定中结构关系),用树结构来表示整个句子的结构(如主谓宾、定态增补等)。百度的语义计算技术是如何实现的?在各种NLP开放接口中,语义计算是一项非常基础的技术。百度NLP部门首席架构师孙宇主要着重分析了NLP语义计算的整体技术框架,介绍了语义表示技术和语义匹配技术。百度NLP语义计算的整体框架主要分为三个部分(如下图所示)。第一层依托大数据、网页数据和用户行为数据,以及高性能集群(GPU、CPU和FPGA),创建一个基于DNN和概率的网络。图模型的语义计算引擎可以通过将文本输入语义计算引擎得到文本的语义表示,然后基于这种语义表示进行语义层次的计算,包括语义匹配、语义检索、文本分类、序列生成和序列注释。目前,百度在语义方面开放了四项技术,包括词汇和句子层面的语义技术。词汇层面包括词语义向量表示和词义相似度计算;句子层面包括短文本语义相似度计算和DNN语言模型。孙宇详细介绍了这些技术背后的原理。语义表示技术在业界已经研究了很长时间。主要有两种流派,一种是形式化方法,一种是基于统计的方法。关于formalization-basedmethods,20世纪80年代,普林斯顿的一些科学家提出基于语言知识构建词图,通过词与词之间的关系将知识构建到这个图中。1990年代提出可以将自然语言表达为逻辑表达式,可以直接用于计算机计算和执行。但这两种技术都存在一个问题:自动化程度不高,适用性差。因此,百度NLP主要采用基于统计的方法。短文本语义相似度计算是他们关注并广泛使用的技术。核心模型使用他们2013年开发的SimNet语义匹配框架在千亿级真实点击数据上进行训练。该框架的基本匹配算法包含两种匹配范式,一种侧重于表现层建模,另一种更侧重于表现层建模。在匹配层建模。两种模型都有优势并解决不同的问题。此外,针对不同的应用场景,他们还拓展开发了字符级匹配和多视角匹配技术,广泛应用于百度内部产品。百度自然语言处理在情感分析领域有哪些技术和应用?何博磊在演讲中主要针对用户日常使用场景分析了情感分析技术的原理和实际应用。百度情感分析技术依托评论大数据、深度学习、语义理解等基础技术,建立了一整套情感分类和观点挖掘的核心技术。在情感分类方面,我们开发了情感分析、情感分析、情感对象识别、句子主客观分析等。在观点挖掘方面,我们可以通过情感搭配知识的自动构建和观点计算技术,有效地从文本数据中提取观点。百度正是依靠这些核心技术来开发用户产品。这里着重介绍两类核心技术:情感分析情感分析任务的目标是能够判断用户文本是正面的、负面的还是中性的。传统的方法有两类:一是利用情感词典进行规则匹配判断,二是基于情感词典和文本特征建立二分类任务。百度情感分析基于深度学习的方法,建立了句子级、实体级、章节级的多粒度和完整的分析任务。在句子级粒度上,基于Bi-LSTM分类方法,系统可以更好地捕捉情感极性语境下表达的信息,效果较传统方法有较大提升。实体级粒度任务的概念有点晦涩。例如:《成龙对战狼2的看法》一篇文章可能有多个主题。本任务是分析本文对“吴京”的态度。在本次任务中,我们建立了层次化的语义表达方法,使对整个系统的分析和判断更加准确。技术评论意见提取目标:给定文本,提取表达意见的信息。比如用户的评论:“这家酒店的服务还不错,就是房间比较简陋”,我们的目标是提取“服务不错,房间简陋”等关键点信息。评论意见抽取技术在目前的互联网产品中应用广泛,但召回率一直不高。百度的评论意见抽取技术将任务从应用需求中进行了仔细的分析和拆解。通过基于情感匹配和语义计算的方法、基于维度预测的方法和基于维度预测加情感极性分类的方法完美解决了应用中的各种问题。这也是技术与应用相结合的经典案例。概率图模型技术是如何应用的?姜迪分享的主题是《Familia可配置的主题模型框架》,Familia是家庭、家人的意思。顾名思义,这个框架的特点是涵盖了一系列具有巨大工业价值的主题模型。这样一来,一线工程师就有了很大的灵活性,可以根据具体任务选择适用的机型。百度有一个贝叶斯技术体系的框架,主要分为三类:第一类是主题模型,其特点是具有自配置功能;第二类是点击模型,主要应用于搜索引擎领域,量化分析用户的搜索行为以及搜索查询与网页的相关性;第三类是分类模型,包括最常见的基于贝叶斯网络的分类器。主题模型框架中有十几种主流主题模型,包括LDA模型、引入句子结构的SentenceLDA模型、引入监督信号的SupervisedLDA模型等具有工业价值的主题模型,支持用户根据需求设计相应的任务具体任务。模型。那么,为什么要设计Familia的主题框架呢?业界大部分的主题模型工具只支持两种模型,PLSA和LDA。模型用于应用于不同的场景,不支持用户基于特定任务的自定义扩展。当用户的数据本身与两种模型的假设相差较大时,其效果可想而知。另一方面,目前的主题模型工具对下游应用不是很友好。这些工作往往只关注模型的训练,而忽略了模型在具体任务中的应用。模型训练和应用之间有很长的距离。如何消除这种距离是我们工作的重点。Familia在百度有很多应用场景,包括大家熟悉的百度搜索、百度新闻、糯米、贴吧,也部署在百度的自然语言云处理平台上。该工具目前每天有3000万个响应请求。.Familia框架在工业场景中是如何应用的?第一步是数据预处理,可以支持多种类型的数据,包括常见的网页数据、新闻数据、糯米数据。在内部,数据预处理步骤和百度的分词进行了深度融合。我们还有分词前后的各种过滤器。用户可以根据自己的需要选择过滤掉哪些信息,保留哪些信息。第二步是概率图模型配置。Familia支持现有的多种主流主题模型,用户也可以自定义自己的主题模型。这个过程是通过存储各种图模型信息的数据组织抽象来实现的。第三步,自动推导抽样公式。Familia中的参数推导引擎可以自动推导采样公式,降低了主题模型应用的数学门槛。第四步,模型的后处理,Familia对训练好的主题模型进行了进一步的优化和压缩。第五步,Familia抽象出语义表示和语义匹配两种应用范式,用户可以根据具体任务使用相应的范式。目前,Familia已经在github上开源(https://github.com/baidu/familia)。一期将提供在网页、新闻、小说等多个垂直语料库上训练的工业级主题模型,提供语义表示、语义匹配两类应用范式的大量应用场景指导。对于开发者来说,如何更好的使用百度AI开放平台?张晶晶主要介绍了自然语言使用的相关问题以及整个百度AI开放平台的使用方法。目前,百度自然语言处理技术开放了8项语言处理基础技术。基于这些基础能力,百度对外开放了很多感知和认知层的技术,并在上面搭建了我们的开放平台。我们所有成熟的AI技术都在这里统一对外开放,让大家可以通过接口直接调用使用,比如语音识别、语音合成、文字识别、人脸识别等各种模板和接口等。另外,百度还将开放个性化定制服务,主要包括词法分析、评论提取和情感分析。词法分析的定制可以帮助我们的行业客户满足他们的个性化需求。如果有无法识别的词汇,您可以上传词汇来训练更适合您的模型。百度AI平台为开发过程提供了三个方面的支持,一是开发和组织,二是管理功能和配套资源。在开发和组织方面,每个技术领域都以标准的方式提供了API和SDK,并在一些方向上提供了参考代码。一些需要独立配置的模块,有单独的配置系统,方便开发者在平台上配置好后直接调用。后台管理方面,有基础的应用管理,也支持很多与企业业务相关的个性化配置,可以随时查看通话统计。开发者还可以在产品上使用百度LOGO标识百度AI技术。如果开发者利用百度的AI技术解决行业典型问题,百度也将扮演伯乐的角色,推广其案例。