自然语言理解是人工智能的核心技术,在智能客服、聊天助手、文本推荐、语义理解等领域都有非常多的应用。但自然语言理解相比图像识别、语音识别,一直没有找到很好的深度学习构型,所以进展也比较缓慢。今天推荐的 Google 论文,在 NLP 的关键任务(接续语句预测)上,能做到 20% 的提升。除此之外,在接续词语预测、语句话题预测方面也有不错的成绩。
编译:新智元(AI_era) 来源:arXiv 译者:王嘉俊 王婉婷 李宏菲
作者:Shalini Ghosh Oriol Vinyals Brian Strope Scott Roy Tom Dean Larry Heck
自然语言理解(NLP)是人工智能领域使用程度最高的技术之一。受益于最近 自然语言理解技术的发展,现在已经可以应用在很多领域,例如航班预定、客服服务、任务管理、聊天助手等。
“自然语言处理已经成为了数据经济掌控之战的制高点,其具有的重要性远远高于目前的市场规模,”Tractica的分析师Bruce Daley说道,“虽然NLP有许多应用,全球最成功也最野心勃勃的企业中有一部分已经开始试图使用NLP来创造完全个性化、生产上却又无需定制的应用。”
但相比图像识别、语音识别等技术得以于深度学习的推动,NLP 一直没有找到深度学习的构型。这方面的进展,并没有我们期待的那么理想。
所以在 NLP 领域的任何显著进步,都值得我们特别关注。今天新智元推荐一篇来自 Google 的论文,在 NLP 的关键任务(接续语句预测)上,能做到 20% 的提升。这是问答系统得以发展的重要基础。
标题:Contextual LSTM (CLSTM) models for Large scale NLP tasks
文档在多种抽象层面上都展现出了一种序列结构(例如,语句、段落、章节)。这些抽象的层面组成了一种天然的、表征内容的层级结构,可以用来对文本中的词语或是更大的片段进行意义推理。在这篇论文中,我们展示了CLSTM(语境LSTM)模型,这是一种递归神经网络LSTM(长短期记忆模型)的扩展版本,我们在模型中整合入了语境特征(例如话题)。我们用了3个自然语言处理(NLP)任务来评估CLSTM模型:
1.接续词语预测
2.接续语句预测
3.语句话题预测
实验材料有两批,一批是来自维基百科的英文文档,另一批是近期的谷歌英文新闻快照(snapshot)数据集中的一个子集;实验结果显示,将词语和话题都作为特征,能够在这些任务上提高CLSTM模型的表现,使其超过基线LSTM模型的表现水平。例如,在接续语句预测任务中,我们实现了在维基百科数据集上准确率提升21%,在谷歌新闻数据集上准确率提升18%。这清楚地表明,语境信息的正确使用对于自然语言任务来说十分有益。这对于大量的自然语言应用(比如问题回答、语句补完、文本复述(paraphrase generation)、以及对话系统中的接续语句预测)都有启示意义。
1)我们提出了一个新的语境 LSTM 模型(CLSTM),并展示出它在词语预测、接续语句预测和语句话题预测的任务中是有用的,我们的实验展示了把语境纳入到 LSTM 模型中(通过CLSTM),相比于基准的 LSTM 模型能带来效果提升。这和你可能给 NLP 任务带来广泛的应用,因为这些任务和句子完成、问答系统、复述和对话系统都有很多相关。
2)我们使用两个大规模文档集训练了 CLSTM(和相应的基准 LSTM)模型:维基百科的英文材料和最近关于 Google 新闻的快照。我们在模型中处理的词汇量也非常大:为维基百科准备了 13 万的词汇,为 Google 新闻准备了 10 万的词汇。我们的实验和分析展示了 CLSTM 模型,把话题的力量和单词级别的特征进行了融合,并相比只使用单词级别特征的基准 LSTM 模型有好得多的表现。例如,在接续语句预测中,CLSTM 相比 LSTM 模型在英文维基百科上获得了 21% 的提升,在 Google 新闻数据集上获得了 18% 的提升。
3)我们展示了最初可喜的结果,这个模型我们学会把想法嵌入到非监督学习的模型框架中,而不是使用外在的信息来做监督学习。
文档在不同层级的抽象水平上都维持着序列结构:一个典型的文档由有顺序的章节构成,而章节又是由有顺序的段落构成;段落在本质上是语句的序列,语句则是短语的序列,而短语是词语的序列,等等。在语言模型(LM)中捕捉到这种层级序列结构可能会给予模型更高的预测准确度,就像我们在之前的研究中见到的那样。
文本中有一种能被用于改进LM表现的因素——长程语境(long-range context)。比如,让我们来考虑一下这三段文本:
1)Ahmed Salman Rushdie爵士是一位印度裔的英国小说家和散文家。他被认为将魔幻现实主义(magical realism)融入了历史小说中。
2)Calvin Harris和HAIM合力打造了一个魔幻MV(a magical music video)。
3)草药有着巨大的魔幻力量(magical power),因为它们蕴藏着大地的能量。
想象一下,有一个LM基于一个含有以上三段文本的数据集进行了训练——在给出“魔幻”这个词后,LM选择的下一个接续的词语最有可能是什么:现实主义、MV、还是力量?在这个例子里,这将取决于这个文本片段所处、出现了“魔幻”这个词的长程语境。简便地捕捉语境的一种方法是,使用文本片段的话题(例如,语句的话题或是段落的话题)。如果语境中有“文学”这个话题,那么最有可能出现的接续词语就应该是“现实主义”。这个发现促使我们去探索如何在LM中使用文本片段的话题来捕捉文本的层级语境以及长程语境。
在这篇论文中,我们的长短期记忆模型(LSTM)指的是一种特殊的递归神经网络(RNN)。LSTM模型以及它的各种变体在不同的序列学习问题上取得了让人印象深刻的成就,包括语音、图像、音乐、以及文本分析,LSTM在对序列的长距离依赖性(long-range dependencies)进行捕捉方面非常有用。LSTM切实地提高了我们掌控长距离依赖性的能力,虽然这些模型在这个方面仍然有一些局限性存在。
基于RNN的语言模型(RNN-LM)是由Mikolov等人提出的,而Sundermeyer等人基于此提出了使用LSTM的变体。在这篇论文中,我们致力于研究基于LSTM的语言模型。用于语言建模的LSTM通常都只将词语作为特征。Mikolov等人提出了一种条件式RNN-LM,将语境也加入特征中——我们进一步拓展了这个方法,将其范围从RNN-LM延伸到了LSTM,用大规模数据来训练LSTM模型,并且在接续词语预测的任务之外又提出了新的任务。
我们将语境特征(也就是说,基于不同文本片段得出的话题)整合入了LSTM模型,将得到的最终模型命名为语境LSTM(CLSTM)。在这次研究中,我们评估了在CLSTM中增添语境特征对于以下任务有怎样的改进幅度:
1)词语预测:在已有的句子中给定词语和话题,预测最有可能的下一个词语。这个任务的重要之处在于,应用中例如键盘预测,可以通过它来完成句子。在移动端的文本输入中,更长范围的文本可以提高词语/短语预测的准确度。
2)接续语句预测:给定句子的序列,从一组候选中找到最可能的下一句。这在问答系统中很有用,从一组模板的答案中筛选出话题的最佳答案。这个任务也很其他应用有关,例如智能回复,从一组备选的回复中预测邮件最好的回复。
3)语句话题预测:在已有的句子中给定词语和话题,预测下一个句子的话题。我们考虑了两种方案:
(a)我们不知道下一句说了什么。
(b)我们知道下一句说了什么。
方案(a)适用于这种情况,应用中我们不知道用户的下一句话是什么。例如在聊天系统中预测用户回复的话题,这对知道用户的意图有帮助。
方案(b)我们尝试预测已知话语的话题和目的,这种我们的话题建模任务中很常见。
我们也在一些文件样本上做了实验,这些文件正是最近一次谷歌新闻英语语料库内部的一个快照。这个子集包含430万个文件,并且我们将这个子集划分成三部分,分别是训练集、测试集和验证集。关于数据集的一些相关统计在下表中给出。考虑到给了我们10万个词汇,在保证实验样本数量充足的情况下,我们去除了那些出现少于100次的词条。
表5:用思维向量(Thought vector)预测测试集中语句样本的话题,基于测试结果计算模型的复杂性,结果如下表所示:W表示词汇(W=Word,PST=PrevSentThought)
输入(Inputs) | #256个隐含层单元(#Hidden units=256) | #512个隐含层单元(#Hidden units=512) | #1024个隐含层单元(#Hidden units=1024) |
W
W+PST |
24.50
24.38 |
23.63
23.03 |
23.29
22.59 |
表6:基于谷歌新闻(Google News)数据集(M=million 百万)各个子集的统计
数据集(Dataset) | #段落(#Para) | #句子(#Sent) | #单词(Word) |
训练集80%(Train 80%) | 6.4M | 70.5M | 1300M |
验证集10%(Validation 10%) | 0.8M | 8.8M | 169M |
测试集 10%(Test 10%) | 0.8M | 8.8M | 170M |
对于不同的任务,我们分别用基准的LSTM和CLSTM模型进行训练,这两个模型都有1024个隐含层单元,下面是基于这两种模型得到的关键结果:
1)单词预测任务:LSTM仅仅将单词作为其特征,完成单词的预测任务,其模型的复杂度大约为37。CLSTM模型用单词、句子分割话题以及段落中句子的话题作为其训练时候的特征,其复杂度相对于LSTM模型有2%的改善。
2)接续语句预测:LSTM模型的准确率约为39%。CLSTM模型的准确率约为46%,其在平均水平上有了18%的提高。
3)接续语句话题预测任务:LSTM模型仅仅用当前句子的话题作为特征,模型的复杂度约为5。CLSTM用单词和当前句子的话题作为特征,模型的复杂度相对于LSTM模型的复杂度,大约有9%的改善。
正如我们所看到的,不论是基于维基百科数据集中的自然语言处理(NLP)任务还是谷歌新闻(Google News)数据集中的自然语言处理任务,CLSTM模型相对于LSTM模型,都能得到相似的提高。
我们已经展示了用上下文语境作为CLSTM模型的输入特征,实现像是单词的预测、接续语句预测以及语句话题的测等不同自然语言处理任务是多么有优势。
对于单词的预测任务,CLSTM模型相对于顶尖的LSTM模型,在模型的复杂度方面有2%—3%的改善;
对于接续语句预测任务,相对于LSTM模型,CLSTM的准确率比平均准确率提高了20%;
对于语句话题的预测任务,相对于LSTM模型,CLSTM模型的准确率比LSTM模型的准确率提高了10%。(并且比BOW-DNN模型的准确率提高了7%)。
这些结果全部都具有非常重要的意义,并且我们在谷歌新闻(Google News)数据集上得到了相似的结果。这正显示了我们所使用的模型具有较好的泛化能力。
通过用上下文语境作为CLSTM模型的输入特征,得到的结果在多个重要的自然语言处理(NLP)应用的性能改善方面有着重大的暗示。这些自然语言处理(NLP)应用包括:完成句子,提出问题/回答问题以及对话系统中解释各种应用的释义生成等。
结合了思维向量和句子层次结构的LSTM模型
我们最初的实验是基于CLSTM模型中能够捕捉远距离上下文语境的思维向量实现的。这个实验得到了一个令人满意的结果。图9是思维向量模型的一个自然扩展。扩展之后的模型在隐含层与隐含层之间有连接,这个连接能够对“思维的连续性”进行建模。图10 展示了一个层级结构的LSIM模型,包含一个2级的层次结构。低层的LSTM模型对一个句子中的单词进行建模,更高一层的LSTM对一个段落中的句子进行建模。LSTM模型中第n层的LSTM细胞与第n-1层的LSTM细胞的思维向量连接能够促进从前面上下文语境中获得的概念向前传播,从而使得一个句子的“思维”向量影响下一个句子的单词。句子层隐含节点的连接也推动模型捕捉到了思维的连续性。将来我们要用这种模型做实验。
我们也将要探索将上下文语境特征用在其它语言建模上的收益,例如:通过运用单词和话题特征能够生成更好的释义。另一个有趣的应用可能是对话建模中话题层信号的使用,例如:例如用Dialog-Act(对话时的动作)作为主题特征来预测下面要说的话。
致谢:
我们要感谢Louis Shao和Yun-hsuan Sung 对我们实验的帮助。我们也谢谢Ray Kurzweil,Geoffrey Hinton,Dan Bikel,Lukasz Kaiser 以及Javier Snaider 对我们工作所给出的非常有用的反馈。
·氧分子网(http://www.yangfenzi.com)延伸阅读:
在谷歌上搜索”世界上最快的鸟是什么”,它会告诉你:“游隼。根据YouTube上的视频,游隼的飞行时速最快可达389公里每小时。”
这就是正确答案,但是这个结果并非基于谷歌什么酷炫的数据库。当你输入一个问题的时候,谷歌搜索引擎会在某个YouTube的视频里精准地截取你所需要的信息,例如从视频“世界上最快的五种鸟类”里抽取出最快的鸟儿的信息,而且还会自动屏蔽另外四种鸟。
借助深度神经网络(deep neural network)的技术,谷歌成功地做到了这点。这项突破不仅将重塑谷歌搜索引擎的面貌,也直接影响到整个公司的未来技术发展,同时还给其他互联网巨头,像Facebook和微软这些公司施加了不小的压力。
深度神经网络是一种模式识别系统,它可以通过分析庞大的数据,而学会如何完成特定的指令。上面的例子说明它已经掌握了如何从网路上截取相关网页内的长句或段落,用来回答你的问题,而且可以准确地找到问题的重点。
也就是说“句子压缩算法”(Sentence compression algorithms)正是该项技术的核心。这种语义解释对于人类来说很简单,然而机器学习起来一直很困难。深度学习目前正在语言自然理解方面高速发展,也就是如何理解以及回应人类语言的能力。
谷歌研究院产品经理戴夫·奥尔(David Orr)说:“执行这种任务必须使用神经网络算法,或者这么说吧,这是目前为止我们所知的唯一方法。我们当然必须要动用手上已有的所有最先进的技术了。”
更别说你还得需要一堆聪明的脑袋,这些聪明的脑袋还都拥有博士学位。谷歌就拥有这么一支强大的语言学博士团队,名叫皮格玛利翁(Pygmalion)。他们正在手把手地训练谷歌如何使用神经网络算法。
首先得让机器通过一遍又一遍地重复观察人类如何从一篇长文抽取相关信息。这艰辛的学习过程说明了深度学习的力量与其局限性。要训练这种人工智能系统,那你得先由人类亲自来不辞劳苦地筛选巨大的数据库。这种数据库可不简单,也不便宜。而且,现在就说机器可以自主学习了,那话可说得太早了。
“黄金数据”与“白银数据”
为了训练谷歌人工智能的问答能力,该团队让机器阅读了大量的旧新闻,通过新闻标题可以学会如何总结归纳一篇长文章。就目前来说,谷歌极度依赖着这个语言学家专家组。他们不仅可以示范压缩语句,同时也给语言成分分为不同词类,来帮助神经网络学习人类语言的奥秘。全球大约有100名这样的语言学家正在共同创造这些被称为“黄金数据”的库存,那些旧的新闻报道则是“白银数据”,它们的用途当然也很大,因为它们量大。但是黄金数据才是最精髓的。
皮格玛利翁团队负责人林奈·哈(Linne Ha)透露,近几年这个团队将会需要越来越多的语言学家。
这种需要人工辅助的人工智能系统被称为“监督学习”(Supervised learning),当下的神经网络都是这么运作的。有时候公司也可以将这项业务众包出去,更多时候它其实已经自发地在进行中了。例如,互联网上就有无数人将有猫咪的照片添加了“喵咪”的标签,这便使得神经网络学习识别喵咪变得异常简单。但更多情况下,研究人员们不得不自己亲自手动添加标签。
深度学习初创公司Skymind的创始人Chris Nicholson指出,长远看来,这种人工手动添加标签的方法是不可行的。“未来肯定不会是这样的,这得是多么无聊的一项工作呀!我简直想象不出来比这个更无趣的工作了。”
更大的问题还在于,如果谷歌手上的语言学家不包含世界上的所有语言的话,那这个系统在其他语言环境下就无法运转。目前谷歌团队涵盖了差不多20到30种语言,也就是说只能指望将来可以开发出来更加自动化的人工智能,例如“无监督学习”(unsupervised learning)。
如此一来,机器就可以自主学习,而不再需要人工手动给数据做标签了。“无监督学习”可以通过互联网或者其他渠道的海量信息自行分析与学习。Google, Facebook还有Elon Musk创办的OpenAI 这些巨头公司都正在展开这个领域的研究,但离它成为现实仍有大段距离,目前,人工智能还是需要一个像皮格玛利翁这样的语言学家团队。
理解文本中特定单词的不同含义对于语言的理解是一个关键。例如,在句子“他将获得重组后的公司的股票”中,我们知道,根据牛津英语字典(NOAD)的定义,这一语境下,“股票”(stock)一词指的是“商业或公司通过发行和认购股份筹集的资本”。但是,在牛津英语字典中,stock 还有超过10种其他的定义,比如“商店中的货物”或者“中世纪一种用于惩罚的的工具”。对于计算机算法来说,区分这些含义非常困难,以致于这一任务过去通常被描述为“AI 完全问题”(AI-complete)。
为了进一步解决这一挑战,谷歌1月19日宣布,基于常用的MASC和SemCor 数据库的词义注释正式发布,这些注释是基于牛津英语词典人为注释的。谷歌还同时发布了从NOAD 词义到English Wordnet 转换的描述,这是一个在研究者社区更加常用的数据库。这是最大的全词义注释英语语料库之一。
监督式词义消歧
分辨文本中的单词含义对于人类来说非常简单,因为关于世界是如何运转的、这些机制与语言有什么联系,我们已经积累了大量的常识。举例来说,在商业中,“stock” 指的是金融,而在商店中,“stock”更可能指货架上的商品,虽然商店从某种程度上来说也是商业的一部分。以机器可以使用的形式获取足够的知识,然后将其应用于理解文本中的单词,这是一个挑战。
监督式词义消歧(WSD)是使用人类标记的数据构建机器学习系统中的一个难题,该系统可以为文本中使用的所有词语对应词典义项(与实体消歧相反,它主要聚焦于名词,并且大部分是正确的) 。打造一个监督式模型,并且要比简单地分配最常见的词义而不考虑文本背景有更好地表现,这是相对更难的,但是,监督式模型在拥有海量的训练数据时,可以表现得更好。
谷歌工程师Colin Evans 和 Dayu Yuan 在博客上说,通过发布这一数据库,他们希望整个研究社区能够进一步改进算法,进而让机器更好地理解语言,让更多的应用成为可能:
比如:
推动从文本中自动构建数据库,以回答问题和联系文本中的知识。例如,理解“半引擎”是一种汽车机械,“机车引擎”是一种火车,或者“Kanye West是一个 star ”,意味着他是一个名人,但“Sirius 是一种star “意味着它是一个天文物体。消除搜索中的词语含义,使得“date palm ”和“date night ”或“web spam”和“spam recipe”在不同的场景下有不同的解释,并且从查询返回的文档具有相同搜索时蕴含的相同含义。
人工标注
在我们发布的人工标注的数据集中,每个义项的注释由5位评估者进行标记。为了确保义项标注的高质量,评估者首先使用金注释进行训练,也就是在开始标记注释任务之前,在一个单独的试验研究中,由经验丰富的语言学家进行标记。下图是我们的注释工具中,评估者工作页面的一个示例:
页面的左侧列出了单词的所有词典义项(这里以单词“general”为例),还提供了从词典中抽取的例句。例句中突出显示的是待注释词汇,显示在工作页面的右侧。除了为待注释词汇标注词典里的义项外,评估者还可以标注三种例外情况:(1)单词拼写错误;(2)词典义项中没有符合的;(3)无法确定。评估者可以检查该词在该句子里是否是一个比喻用法,并留下评论。
该语料库里的释义标注任务在评分者间信度评分(inter-rater reliability score)中得到 0.869 的分数,使用 Krippendorff 的 α 方法(α> = 0.67 被认为是可接受的再现性水平,α> = 0.80 被认为是高度可重复的结果)(Krippendorff,2004 )。注释计数如下表所示:
Wordnet 映射
我们的语料库还包括了从 NOAD 到 Wordnet 的两组映射。在一个2200词的较小型语料集中,使用与上述注释过程类似的方式进行人工的映射,并通过算法创建一个更大的集合。这些映射允许将 Wordnet 里的资源应用到 NOAD 语料库,并对使用 Wordnet 构建的系统使用该语料库进行评估。
有关使用基于LSTM的语言模型和半监督学习对这个语料库的完整研究结果,可以查看我们的论文“Semi-supervised Word Sense Disambiguation with Neural Models”
致谢
数据集是在 Eric Altendorf,Heng Chen,Jutta Degener,Ryan Doherty,David Huynh,Ji Li,Julian Richardson 和 Binbin Ruan 的帮助下创建的。
美国加州当地时间2月5日,人工智能顶级会议暨 2017 届 AAAI大会召开,AAAI今年首次设置了AI in Practice (应用人工智能)环节,百度副总裁王海峰应邀做了名为“百度的自然语言处理”(Natural Language Processing at Baidu)的主题演讲。AI 科技评论根据王海峰现场演讲整理成本文,由亚萌、夏睿、三川共同编辑。
大家好,我是来自百度公司的王海峰。在介绍百度NLP工作之前,我想先谈谈语言对于AI意味着什么。
思考和获得知识的能力成就了今天的人类,这种能力需要通过语言来找到思考的对象和方法,并外化为我们看、听、说和行动的能力。而语音、视觉、行为和语言等正是现在AI领域的重要研究内容。
相对于看、听和行动的能力,语言是人类区别于其他生物最重要的特征之一。语言是人类思考的载体,通常我们的思考语言是母语。当我们学习外语时,老师希望我们要努力使用外语来思考。另一方面,从人类历史之初,知识就以语言的形式进行记录和传承,用来书写语言的工具不断改进:从甲骨到纸张,再到今天的互联网。
所以我们说,语言是思想和知识的载体,而对语言的处理和理解就显得尤为重要。计算机领域中自然语言处理(Natural Language Processing: NLP)的目的,就是让计算机能够理解和生成人类语言。
在百度,基于大数据、机器学习和语言学方面的积累,我们研发了知识图谱,我们分析理解query、篇章及情感,我们构建了问答、机器翻译和对话系统。NLP技术已经应用在百度的众多产品上,比如搜索、Feed、o2o和广告等。
| 知识图谱
基于不同的应用需求,我们建立了三类知识图谱,包括实体图谱(entity graph)、关注点图谱(attention graph)和意图图谱(intent graph)。
在实体图谱里,每一个节点都是一个实体,每个节点都有几个属性,在这个例子中,节点之间的连接是实体之间的关系。目前我们的实体图谱已经包含了数亿实体、数百亿属性和千亿关系,这些都是从大量结构化和非结构化数据挖掘出来的。
这儿有一个例子,搜索的问题是:窦靖童的爸爸的前妻的前夫。
这句话里包含的人物关系是非常复杂的,然而,我们的推理系统可以轻松地分析出各实体之间的关系,并最终得出正确答案。
除了实体图谱之外,我们还建立了关注点图谱和意图图谱,稍后我在篇章理解和对话系统的部分将给大家介绍。
| 语言理解
-Query理解
基于实体识别、语法和语义分析等技术,我们研发了query、篇章和观点分析和理解技术。接下来,我将进一步介绍query理解。我们结合“依存句法分析(Dependency Parsing)”和“语义理解(Semantic Understanding)”来实现query理解。
在上图所示例子里,左边用户输入的query是“给我推荐一家可以听见蛙声的餐馆”。我们使用了依存句法分析技术,来分析该语句的句法结构,帮我们找到句子里的各个组成成分。比如,“推荐、餐馆”是核心成分,表明了用户的主要意图,而“听见、蛙声”是修饰成分,对用户的意图进行了修饰和限定。
右边用户输入的query是“妹妹结婚出嫁哥哥给妹妹红包多少钱”,说明我们是如何提升query和网页之间的语义匹配(semantic matching)。首先,我们基于依存句法分析识别出这条query中的搭配,这种词语搭配相比于单个词语更能够准确表征query的语义,进而可以将其应用到query与网页的精确匹配中。
另外,基于语义理解技术,我们可以理解一个query的语义,实现语义级的搜索而不仅仅是字面匹配。
上图里前两句话是:
英达的儿子是谁
英达是谁的儿子
这两个句子里包含着相同的词语,只是词语的语序不同。如果使用传统的基于关键词的搜索技术,我们将会得到几乎相同的搜索结果。然而,经过语义理解技术的分析,我们可以发现这两个句子的语义是完全不一样的,相应地就能从知识图谱中检索到完全不同的答案。还有第三句话:
谁是英达的父亲
在字面上来看,这跟第二个句子并不一样,但是经过语义理解技术,我们发现这两个句子要找的是同一个对象,所以我们可以从知识图谱中检索到相同的答案。
我们同样开发了基于深度学习的语义理解技术,实现了一个基于深度学习来计算query和文本语义关联。我们使用了超过1000亿的用户数据来训练模型,对于一个query,包括用户点击过的正例和未点击的负例。我们使用了BOW、CNN和RNN模型来学习语言的语义表示。为了提升模型对语义的表征,我们融合进多种句法和语义结构,将“依存关系结构”融合进模型中。
下图是在不应用深度学习模型时的搜索结果,结果是不相关的。
应用了深度学习模型之后,搜索结果里的前3个都是相关性的。从2013年开始应用DNN模型至今,我们已经对这个模型进行了几十次的升级迭代,DNN语义特征是百度搜索里非常重要的一个特征。
篇章理解
用户获取信息另一个重要渠道就是Feed,里面的资讯是个性化的,这其中,篇章理解技术发挥了重要作用。现在,我来为大家介绍一下我们在篇章理解方面的一些工作。
我们给文档打上各种各样的标签,包括:主题、话题和实体标签。主题标签表示抽象的概念,话题标签表示具体发生的事件,实体标签表示人、地点等实体信息。这些标签,从不同角度描述一个文档的内容,以满足不同应用需求,并与不同的query相关联。
融合了话题标签和实体标签,我们形成了关注点标签图谱。这种关注点标签能更好地描述用户与文档之间的关系,因为它能同时对用户和文档进行表征。我们也在不同类型的关注点标签之间建立关系,这样我们可以对用户关注点进行推理和计算。在下图所示例子里,“AI”话题与“科技”、“VR”等话题及“乌镇峰会”等事件关联在一起。
以下是关注点标签图谱应用在百度Feed里的一个例子,在左图中,标签表征了文章里的内容,用户可以点击标签进入到以一个话题为主题的聚合页(第二张图)。然后第三张图是基于关注点标签图谱进行个性化推荐,更能契合用户的关注点,带来了更高的点击率。
情感分析是篇章理解里另一个有趣的话题。情感分析技术也被称为“观点挖掘”(opinion mining),用来分析人类对各种对象(比如产品、组织机构等)的观点、情感和情绪。下面是我们在“观点挖掘”和“观点摘要”方面的一些工作。以“酒店评价”为例子,我们从已有的在线评论数据中抽取评论句,并进而从中提取用户观点。基于这些观点,我们可以生成标签级的观点摘要和句子级的观点摘要。我们也可以以此为基础来进行酒店推荐。
这里是一些关于情感分析应用于百度产品的例子,观点自动摘要技术为用户提供观点标签,在左边的例子里,我们提供了关于“八达岭长城”的多个维度的评价,在右边的例子里,我们在观点分析的基础上为用户提供了精炼的推荐理由。
| 语言生成
-自动新闻写作
自动新闻写作,即从结构化和非结构化数据里生成新闻文章。这里面共涉及四个步骤:
数据分析(data analysis):确定要生成文章所需包含的关键信息
文章规划(document planning):确定生成文章的内容和结构
微观规划(micro-planning):生成单词、语句、段落和标题
文章实现(surface realization):生成最终的文章内容
以下是我们自动写作的新闻。左边第一个例子,是一般的新闻,第二个是生成汽车领域的新闻,第三个是体育新闻,目前我们的自动写作系统已经完成了数千篇文章的写作,在百度Feed产品中得以被数百万的用户阅读。
AI 篮球解说员
我们的AI解说系统,可以像人类解说员一样,生成一场比赛的实时解说并与观众互动。这里面的实现主要包括四个步骤:
信息搜集(information gathering):从网上实时收集和提取比赛的关键信息
生成结构化数据(structured data generation):基于不同消息源的比赛信息,生成结构化解说数据
比赛场景推理(game scene inference):基于比赛数据(比如得分和统计),推断出现场比赛场景
生成直播解说(live commentary generation):基于解说模型,生成直播解说
以下是我们AI解说员生成的关于一场真实比赛的解说。
中间这个图,显示出这个AI解说员也可以进行推理,它在其中的一段解说中提到“考辛斯抢到了进攻篮板”,“进攻篮板”这个短语表明我们的AI解说员通过已有的知识了解到考辛斯所在球队目前处于进攻阶段,经过推理从而得出“进攻篮板”的结论。
最右边的例子,说明了我们的AI解说员除了解说,还可以同时回答多个观众的提问,而这是人类解说员所不能做到的。
诗歌生成
语言生成技术还可以应用在另一个方面:中国诗歌生成,而且文采并不比一般诗人差。中国诗歌有超过两千年的历史,是中国文化重要的组成部分,但对普通人来说,作诗还是很有难度的。
我们提出了两步生成中国诗歌的方法:首先对每一行诗的主题进行规划,然后进行具体诗句的生成。
举个例子,如果用户想要写一首和春天有关的诗,那么诗歌规划模型就会首先生成一个内容概要,包括春天,桃花,燕和柳这四个主题,然后由RNN模型根据这四个主题生成四句诗,来完成整首诗歌的创作。
在下面展示的这三首诗中,中间这首是由AI诗人完成的,而其他两首的作者都是中国古代诗人(白居易,刘因)。有意思的是,在我所询问的人中,多数人都无法分辨出这三首诗中到底哪一首出自AI诗人之手。历史学者和《中国诗词大会》嘉宾蒙曼教授也说,“这个人工智能诗人是诗坛小超人,能和人类诗人一样在诗中表达感情色彩。”
文本摘要
另外,我们还研发了文本摘要技术。具体来说,包括一般的文摘(general summarization)和基于query的文摘(query summarization)如下表中展示的具体过程:
文本分析(document analysis):分析文本结构
句子排序(sentence ranking):通过句子的表层含义和深层含义来实现对句子的排序
句子选择(sentence selection):从句子重要性、句子间是否连贯,以及去除冗余等角度来考虑如何选择文摘中的句子。
生成文摘(generation):把选定的句子进行压缩,并整合成最终的结果
一般文摘和基于query的文摘这两种技术的不同之处在于“句子排序”环节。在基于query的文摘里,我们对query的特征进行计算,以使得最终文摘体现出与query的相关性。
这里有两个文摘在搜索结果中体现的例子。左图显示,输入query“天空为什么是蓝的”,系统可以挑选出与这句话相关的网页,从中抽取出摘要并显示出来;右图中的例子也是同样道理。
| 自然语言处理应用系统
下面介绍三种自然语言处理的应用系统:问答、机器翻译和对话系统。
问答
当用户在提出问题时,系统可基于知识图谱加以回答。
比如,当用户在搜索框内输入“珠穆朗玛峰高度”时,网页就会出现有关珠穆朗玛峰的图片和其高度说明;用户也可以输入“琅琊榜演员表”,那么百度搜索网页上就会直接出现《琅琊榜》的演员表及其照片。
除了基于知识图谱的问答,我们还设计了一种基于网络的深度问答系统。该系统对网页搜索结果中的内容进行分析,并识别用户问题中的关键词。然后系统会从网页中分析出和问题相关的文档,从中抽取出问题的答案,并展现在搜索结果页的最上方。
比如,用户可以搜索“糖尿病患者应该吃什么”,那么系统则会回答“饮食建议、饮食禁忌”等内容。这些信息来自于网上的医疗领域数据,经过信息挖掘和匹配,生成答案呈现在用户面前。
机器翻译
如今,基于神经网络的机器翻译十分火热,不过,传统的机器翻译方法仍有价值。所以,我们的系统结合了新旧四种方法:
神经网络机器翻译(neural MT)
基于规则的机器翻译(rule-based MT)
基于实例的机器翻译(example-based MT)
基于统计的机器翻译(statistical MT)
2015年5月,百度将神经网络机器翻译技术应用到百度在线翻译服务中,推出了全球首个基于深度学习的大规模在线翻译系统。同年,百度还在百度翻译app中上线了离线翻译功能,让用户在没有网络连接的情况下也可以使用翻译服务。
目前,百度翻译已可支持全球28国语言、756个翻译方向之间的互译,每日翻译次数达1亿以上。
不仅如此,我们还提供多样化的功能以满足用户的不同需求——除了文字翻译,百度翻译还能进行语音翻译以及利用OCR技术进行图片内容翻译。所以,以后到国外旅行就不用担心语言不通这个问题了。去餐馆吃饭时,只要用手机照一下菜单,立刻就能将其翻译成你所需要的语言。
同时,我们已经为超过2万个企业和开发者提供百度翻译API,让他们提升自己的产品功能,为用户提供更优质的服务。
另外,我们还把百度翻译和百度搜索引擎结合在一起——当用户在搜索框内输入外语时,百度搜索引擎会自动识别出翻译需求并将翻译结果显示在搜索结果最上方。
在2015年的ACL会议上上,百度的智能机器人“小度”还担任了ACL终身成就奖获得者李生教授的同声传译。在问答环节,小度将现场观众提问的英文问题立刻翻译成中文,然后将李教授的中文回答翻译成英文呈现给观众。现场观众(大部分是自然语言处理方面的专家学者)对小度的表现大为赞叹,并对机器翻译目前的成就感到欣喜。
对话系统
接下来,我会介绍百度的对话系统。该对话系统能与用户进行多轮交互(multi-turn interaction)。首先,用户的输入经过自然语言理解(NLU)模块,进入对话管理系统。该系统识别出当前的对话状态(dialogue state),并确定下一步的对话行为(dialogue action)。我们的对话策略( policy) 模块,包含通用模型和领域模型,即前者负责处理通用的交互逻辑,后者则处理特定领域的交互逻辑。最后,该系统会为用户生成交互回复。
这里有一个例子,是高考之后,百度智能助理“度秘”和用户之间的对话。当用户问:“我能进入哪所大学?”度秘会反问他问题,以进一步了解情况。度秘问:“你是文科还是理科?”对方回答:“理科”。度秘接着问:“你考了多少分?”他回答:“620 分。” 度秘随即根据这些信息,推荐适合他填报志愿的学校。在 2016 年的全国高考期间,度秘处理了480 万百用户的 3000万个请求。
接下来我要谈一谈我们的意图图谱技术。与我之前讲过的实体图谱不同,意图图谱的节点代表一个个意图节点。这些“意图”之间的关系包括需求澄清(disambiguation)、需求细化(depth extension)、需求横向延展(breadth extension )等。在下图所示例子中,当“阿拉斯加”的意思是“阿拉斯加州”时,与之关联的意图是城市、旅游等信息。当“阿拉斯加”的含义是“阿拉斯加犬”时,它延伸的意图是宠物狗、宠物狗护理,以及如何喂食等。
这样的意图图谱可用于人机对话系统当中,下面让我们来看一个度秘基于意图图谱的用户引导例子。
用户想要查询关于“金毛”的信息,基于意图图谱,度秘提供给用户关于金毛的一般信息;接着进入第二轮,用户点击了“我想要一只金毛”的选项,度秘便可以猜测用户接下来会想要知道“如何喂养一只金毛”、“什么样的人适合养此类犬”等信息,并将这些引导项展现给用户。然后用户点击了“喂养一只金毛容易吗”的选项。对话进行到此轮,用户的需求基本被满足了。
以上,我介绍了百度在NLP领域的诸多工作,包括知识图谱、语言理解、语言生成和几个
应用系统(包括问答、机器翻译和对话),我们已经将这些技术应用在百度的产品当中,另外我们也通过平台化的方式对更多产品进行支持,比如我们开发的NLPC(NLP Cloud)平台,现在已经可以提供20多种NLP模块,每天被调用超过1000亿次。
最后我想说的是,我们今天在NLP领域里的探索和追求,将会对我们逐步实现人类的人工智能梦想产生至关重要的影响。谢谢大家。