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

编辑时间: 2018-01-24 12:46:35    关键字:
    百度语义计算技术是如何实现的?
 
    在各个NLP开放接口之中,语义计算是一个非常基础的技术。百度NLP部门的主任架构师孙宇主要围绕NLP语义计算整体技术框架展开分析,核心介绍了语义表示技术和语义匹配技术。百度NLP语义计算整体框架主要分三大部分(如下图),最底层依托于大数据、网页数据和用户行为数据,以及高性能集群(GPU、CPU和FPGA),打造了基于DNN和概率图模型的语义计算引擎,通过文本输入到语义计算引擎当中,可以得到文本的语义表示,进而基于这个语义表示,进行语义层面的计算,包括语义匹配、语义检索、文本分类、序列生成以及序列标注。
 
    大数 
 
    目前,百度在语义方面开放了四个技术,囊括了词汇和句子两个层面的语义技术。词汇层面包括了词语义向量表示,词义相似度计算;句子层面的包括短文本语义相似度计算和DNN语言模型。孙宇对这些技术背后的原理进行了详细的介绍。
 
    语义表示技术业界很早就开始研究,主要有两种流派,一个是形式化的方法,一个是基于统计的方法。关于基于形式化的方法,在上世纪八十年代普林斯顿有科学家提出:基于语言学知识构建一个词图,把知识通过词与词之间的关系构建到这个图里。九十年代又有人提出,将自然语言表示成一种逻辑的表达式,可以直接用于计算机计算和执行。但这两个技术都存在一个问题:自动化程度不高,适用性较差,因此,百度NLP主要采用基于统计的方法。
 
    短文本语义相似度计算是他们重点打造、应用广泛的技术。其中的核心模型是利用他们2013年开始研发的SimNet语义匹配框架,在千亿级别真实点击数据训练得到。该框架的基础匹配算法上包含两种匹配范式,一种侧重于表示层建模,另外一种则更侧重于匹配层建模。这两种模型各有优势,可解决不同问题。另外,针对不同应用场景他们还扩展研发了基于字符级别匹配和多视角匹配技术,这些技术都广泛应用于百度内部各产品中。
 
    百度自然语言处理在情感分析领域有哪些技术和应用?
 
    在演讲中,何伯磊主要针对用户日常的使用场景,分析了情感分析技术的原理和实际应用。百度情感分析技术依托于评论大数据、深度学习、语义理解等基础技术,建立了一套完整情感分类与观点挖掘的核心技术。在情感分类方面,我们研发了情感倾向性分析、情感的情绪分析,情感对象识别以及句子的主客观的分析。在观点挖掘方面,我们通过情感搭配知识自动构建和观点计算技术,我们能有效的进行文本数据的观点抽取。百度依托这些核心的技术,进行用户产品开发。
 
     大数据 
 
    这里重点介绍两类核心技术:
 
    情感倾向性分析
 
    情感倾向分析任务目标是能够判断用户文本是积极、消极或是中性的情感。传统方法有两类:一类利用情感词典进行规则匹配的方法进行判断,另外一类基于情感词典和文本特征建立一个2分类任务的方法 。百度情感倾向性分析基于深度学习的方法,分别建立了句子级、实体级、篇章级多粒度完整的分析任务。句子级粒度上,通过基于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技术解决了行业中的典型问题,百度也会担任伯乐的角色,将其案例进行宣传推广。

 

 

关键词阅读:
延伸阅读
推荐热图

合作推荐

热图推荐

更多

2010-2018 可思数据版权所有 About SYKV | ICP备案:京ICP备14056871号