叮咚~你被福利砸中了!
现在起,「2020 AI开拓者万人大会」299门票免费送!
进入报名页面【2020 AI 开拓者万人大会(线上直播门票)-IT培训直播-CSDN学院】,点击“立即报名”,结算时利用优惠码“AIP1410”,价格就会变为“0"元!
作为人工智能时期最主要的知识表示办法之一,知识图谱能够冲破不同场景下的数据隔离,为搜索、推举、问答、阐明与决策等运用供应根本支撑。
比如美团大脑就环绕吃喝玩乐场景构建的生活娱乐领域的超大规模知识图谱,为用户和商家建立起全方位的链接,对运用处景下的用户偏好和商家定位进行更深度的理解,从而能够供应更好的智能化做事。
近日,AI科技大本营约请到了美团 AI Lab NLP 中央卖力人、大众点评搜索智能中央卖力人——王仲远博士,为大家讲解美团大脑的设计、构建以及寻衅,以及美团大脑在美团点评内的详细运用。
AI科技大本营将紧张内容整理如下:
▌知识图谱的主要性
这些年来人工智能正在快速地改变人们的生活,我们可以看到各家科技公司都纷纭推出人工智能产品或者系统,比如说在 2016 年的时候,谷歌推出的 AlphaGo ,一问世便横扫围棋界,完胜人类的冠军。又比如说亚马逊推出的 Amazon Go 无人超市,用户只需下载一个 App,直接走进这家超市,拿走商品,无需排队结账便可离开,这是人工智能时期的新零售体验。又比如说老牌的科技公司微软推出的 Skype Translator,它能够帮助不同国家、不同地区的人进行实时的语音互换。再比如说天下上最大的科技公司苹果推出的 Siri 智能助理,让每一个用苹果手机的用户都能够非常便捷地完成各项的任务。所有这些人工智能产品的涌现都依赖于背后各个领域突飞年夜进的进展,比如说机器学习、打算机视觉、语音识别、自然措辞处理等等。
作为一家领先的生活做事电子商务平台,美团点评在人工智能方面也积极地布局。今年 2 月份,AI 平台部 NLP 中央正式成立,我们的愿景是用人工智能帮大家吃得更好,生活更好。措辞是人类聪慧的结晶,而自然措辞处理是人工智能中最为困难的问题之一,其核心是让机器像人类一样理解和利用措辞。
我们希望在不远的将来,当用户揭橥一条评价的时候,能够让机器阅读这条评价,充分理解用户的喜怒哀乐。当用户进入大众点评的一个商家页面时,面对成千上万条用户评论,我们希望机器能够代替用户快速地阅读这些评论,总结商家的情形,供用户进行参考。未来,当用户有任何餐饮、娱乐方面的决策需求的时候,我们能够供应人工智能助理做事,帮助用户快速决策。
所有这统统都依赖于人工智能背后两大技能驱动力:深度学习和知识图谱。我将这两个技能做了一个大略的比较。
我们将深度学习归纳为隐性的模型,它常日是面向某一个详细任务,比如说下围棋、识别猫、人脸识别、语音识别等等,常日而言它须要海量的演习数据,以及非常强大的打算机,同时它也有非常多的局限性,比如说难以进行任务上的迁移,同时可阐明性比较差。
另一方面,知识图谱是人工智能的其余一大技能驱动力,它能够广泛地适用于不同的任务,比较深度学习,知识图谱的可阐明性非常强,类似于人类的思考。
我们可以通过上面的例子来不雅观察深度学习技能和人类是如何识别猫的,以及它们的过程有哪些差异。
2012 年,Google X 实验室宣告利用深度学习技能,让机器成功识别了图片中的猫。它们利用了 1000 台做事器,16000 个处理器,连接成一个 10 亿节点的人工智能大脑。这个别系阅读了 1000 万张从 YouTube 上抽取的图片,终极成功识别出这个图片里有没有猫。
我们再来看看人类是如何做的。对付一个 3 岁的小朋友,我们只须要给他看几张猫的图片,他就能够识别出不同图片中的猫,而这背后实在便是大脑对付这些知识的推理。
2011 年的时候,Science 上有一篇非常出名的论文,叫 How to Grow a Mind。这篇论文的作者来自于 MIT、CMU、UC Berkeley、Stanford 等美国牛校的教授。在这篇论文里,最主要的一个结论便是,如果我们的思维能够跳出给定的数据,那么必须有 another source of information 来 make up the difference。
这里的知识措辞是什么?对付人类来讲,实在便是我们从小到大接管的学校教诲,报纸上、电视上看到的信息,通过社交媒体,通过与其他人互换,不断积累起来的知识。
这些年来,不管是学术界还是工业界都纷纭构建知识图谱,有面向全领域的知识图谱,也有面向垂直领域的知识图谱。实在早在文艺复兴期间,培根就提出了“知识便是力量”,在当今人工智能时期,各大科技公司更是纷纭提出知识图谱便是人工智能的根本。
环球的互联网公司都在积极布局知识图谱。早在 2010 年微软就开始构建知识图谱,包括 Satori 和 Probase。2012 年,Google 正式发布了 Google Knowledge Graph。到目前为止,全体 Google Knowledge Graph 的规模在 700 亿旁边。目前微软和 Google 拥有全天下最大的通用知识图谱,Facebook 拥有全天下最大的社交知识图谱,而阿里巴巴和亚马逊则构建了商品知识图谱。
如果按照人类理解问题和回答问题这一过程来进行区分,我们可以将知识图谱分成两类。我们来看这样一个例子,如果用户看到这样一个问题,“Who was the U.S. President when the Angels won the World Series?”我想所有的用户都能够理解这个问题,也便是当 Angels 队赢了 World Series 的时候,谁是美国的总统?
这是一个问题理解的过程,它所须要的知识常日我们叫它 common sense knowledge(知识性知识)。其余一方面,我想很多网友们该当回答不出这个问题,由于它须要其余一个百科全书式的知识。
因此,我们将知识图谱分成两大类,一类叫 Common Sense Knowledge Graph(知识知识图谱),其余一类叫Encyclopedia Knowledge Graph(百科全书知识图谱)。这两类知识图谱有很明显的差异。针对 Common Sense Knowledge Graph,常日而言我们会挖掘这些词之间的 linguistic knowledge;对付 Encyclopedia Knowledge Graph,我们常日会在乎它的 Entities,和这些 Entities 之间的 Facts。
对付 Common Sense Knowledge Graph,一样平常而言我们比较在乎的 relation 包括 isA relation,isPropertyOf relation。对付 Encyclopedia Knowledge Graph,常日我们会预定义一些谓词,比如说DayOfbirth,LocatedIn,SpouseOf。
对付Common Sense Knowledge Graph 常日带有一定概率,但是 Encyclopedia Knowledge Graph 常日非黑即白,那么构建这种知识图谱的时候我们在乎的是 Precision(准确率)。
Common Sense Knowledge Graph 比较有代表性的事情包括 WordNet、KnowItAll、NELL,以及 Microsoft Concept Graph。而 Encyclopedia Knowledge Graph 则有 Freepase、Yago、Google Knowledge Graph,以及正在构建中的“美团大脑”。
在本日的课程中,我会跟大家先容两个代表性事情,分别是 Common Sense Knowledge Graph:Probase,以及我们正在做的美团大脑,它是一个 Encyclopedia Knowledge Graph。
▌知识性知识图谱(Common Sense Knowledge Graph)
Microsoft Concept Graph 于 2016 年 11 月正式发布,但是它早在 2010 年就已经开始进行研究,是一个非常大的图谱。在这个图谱里面有上百万个 Nodes(节点),这些 Nodes 有Concepts(观点),比如说 Spanish Artists(西班牙艺术家);有 Entities(实体),比如说 Picasso(毕加索);有 Attributes(属性),比如 Birthday(生日);有 Verbs(动词),有 Adjectives(形容词),比如说 Eat、Sweet。也有很多很多的边,最主要的边,是这种 isA 边,比如说 Picasso,还有 isPropertyOf边。对付其他的 relation,我们会统称为 Co-occurance 。
这是我们在微软亚洲研究院期间对 Common Sense Knowledge Graph 的 Research Roadmap(研究路线图)。当我们构建出 Common Sense Knowledge Graph 之后,主要的是在上面构建各种各样的模型。我们提出了一些模型叫 Conceptualization(观点化模型),它能够支持 Term Similarity、Short Text Similarity 以及 Head-Modifier Detection,终极支持各种运用,比如NER,文本标注,Ads,Query Recommendation,Text Understanding。
到底什么是 short text understanding?知识怎么用在 text understanding 里?下面我们可以看一些详细的例子。
昔时夜家看到上面中间的文本的时,我想所有人都能够认出这该当是一个日期,但是大家没办法知道这个日期代表什么样的含义。但如果我再多给一些高下文信息,比如 Picasso、Spanish,大家对这个日期就会有一些知识性的推理。我们会预测这个日期很可能是 Picasso 的出生日期,或者是去世日期,这便是知识。
比如说当我们给定 China 和 India 这两个 entity 的时候,我们的大脑就会做出一些知识性的推理,我们会认为这两个 entity 在描述 country。如果再多给一个 entity:Brazil,这时候我们常日会想到 emerging market。如果再加上 Russia,常日大家可能就会想的是金砖四国或者金砖五国。所有这统统便是知识性的推理。
再比如当我们看到 engineer 和 apple 的时候,我们会对 apple 做一些推理,认为它便是一个 IT company,但是如果再多给一些高下文信息,在这个句子里面由于 eating 的涌现,我相信大家的大脑也会一样地做出知识推理,认为这个 apple 不再是代表 company,而是代表 fruit。
以是这便是我们提出来的 Conceptualization Model,它是一个 explicit representation。我们希望它能够将 text,尤其是 short text,映射到 millions concepts,这样的 representation 能够比较随意马虎让用户进行理解,同时能够运用到不同场景当中。
在这一页的 PPT 里面,我们展示了 Conceptualization 的结果。当输入是 pear 和 apple 的时候,那么我们会将这个 apple 映射到 fruit。但是如果是 ipad apple 的时候,我们会将它映射到 company,同时大家把稳这并不是唯一的结果,我们实际上是会被映射到一个 concept vector。这个 concept vector 有多大?它是百万级维度的 vector,同时也是一个非常sparse的一个 vector。
通过这样的一个 Conceptualization Model,我们能够办理什么样的文本理解问题?我们可以看这样一个例子。比如说给定一个非常短的一个文本,Python,它只是一个 single instance,那么我们会希望将它映射到至少两大类的 concept 上,一种可能是 programming language,其余一种是 snake。当它有一些 context,比如说 Python tutorial 的时候,那么这个时候 Python 指的该当是 programming language。其余如果当它有其他的 adjective、verb,比如 dangerous 的时候,这时候我们就会将 Python 理解为 snake。
同时如果在一个文本里面包含了多个的 entity,比如说 DNN Tool,Python,那么我们希望能够检测出在这个文本里面哪一个是比较主要的 entity,哪一个是用来做限定的 entity。
下面我将大略地先容一下详细是怎么去做的。当我们在 Google 里搜一个 single instance 的时候,常日在右侧会涌现这个 Knowledge Panel。对付 Microsoft 这样一个 instance,我们可以看到这个赤色框所框出来的 concept,Microsoft 指向的是 technology company,这背后是怎么去做的?
我们可以看到,Microsoft 实际上会指向非常非常多的 concept,比如说 company,software company,technology leader 等等。我们将它映射到哪一个 concept 上最得当?
如果我们将它映射到 company 这个 concept 上,很显然它是对的,但是我们却没办法将 Microsoft 和 KFC、BMW 这样其他类型的产品区分开来。其余一方面,如果我们将 Microsoft 映射到 largest desktop OS vendor 上,那么这是一个非常 specific 的一个concept,这样也不太好,为什么?由于这个 concept 太 specific,太 detail,它可能只包含了 Microsoft 这样一个 entity,那么它就失落去了 concept 的抽象能力。
以是我们希望将 Microsoft 映射到一个既不是特殊 general(抽象),又不是一个特殊 specific(详细)的 concept 上。在措辞学上,我们将这种映射称之为 Basic-level,我们将全体映射过程命名为 Basic-level Conceptualization。
我们提出了一种打算 Basic-level Conceptualization 的方法,实在它非常大略但有非常有效。便是将两种的typicality做了一些领悟,同时我们也证明了它们跟 PMI 和 Commute Time 之间的一些关联。并且在一个大规模的数据集上,我们通过 Precision 和 NDCG 对它们进行了评价。末了证明,我们所提出来的scoring方法,它在 NDCG 和 Precision 上都能达到比较好的结果。最主要的是,它在理论上是能够对 Basic-Level 进行很好的阐明。
下面我们来看一下当 instance 有了一些 context 之后,我们该当怎么去进行处理。我们通过一个例子来大略地阐明一下这背后最紧张的思想。
比如说 ipad,apple,个中 ipad 基本上是没有歧异的,它会映射到 device、product。但是对付 apple 而言,它可能会映射到至少两类的 concept 上,比如说 fruit,company。那么我们怎么用 ipad 对 apple 做消歧呢?
方法实在也挺直不雅观的。我们会通过大量的统计去创造像 ipad 这样的 entity,常日会跟company、product 共同涌现。比如说 ipad 有可能会跟三星共同涌现,有可能会跟 google 共同涌现,那么我们就创造它会常常跟 brand,company,product共同涌现。于是我们就利用新挖掘出来的 knowledge 对 apple 做消歧,这便是背后最紧张的思想。
除了刚才这样一个general context 以外,在很多时候这些 text 可能还会包含很多一些分外的类型,比如说verb、adjective。详细而言,我们希望在看到 watch harry potter 时,能够知道 harry potter 是 movie,当我们看到 read harry potter 时,能够知道 harry potter 是 book。同样的,harry potter 还有可能是一个角色名称或者一个游戏名称。
那么我们来看一看该当若何去办理这样一件事情。当我们看到 watch harry potter 的时候,我们首先要知道,harry potter 有可能是一本 book,也有可能是一部 movie。我们可以算出的一个先验概率,这常日要通过大规模的统计。同时我们要知道,watch 它有可能是一个名词,同时它也有可能是一个动词,并且我们还须要去挖掘,当 watch 作为动词的时候,它和 movie 有非常紧密的关联。
以是我们实质上是要去做一些概率上的推理。在论文中我们就会将条件概率做非常细粒度的分解,末了做概率打算。
通过概率打算的方法,我们实际上就可以构建出一个非常非常大的离线的的知识图谱,那么我们在这个上面就可以有很多的 term,以及它们所属的一些 type,以及不同term之间的一些关联。
当我们用这样一个非常大的离线知识图谱来做 text understanding 的时候,我们可以首先将这个 text 进行分割处理,在分割之后,我们实际上是可以从这个非常大的离线知识图谱截取出它的一个子图。末了我们利用了 Random walk with restart 的模型,来对这样一个在线的 subgraph 进行分类。
我们再来看,如果一个文本里包含了 multiple entities,要若何处理?我们须要做知识挖掘,怎么做?首先我们可以得到非常多的 query log,然后我们也可以去预定一些 pattern,通过这种 Pattern 的定义,可以抽取出非常多 entity 之间 head 和 modifier 这样的 relation,那么在接下来我们可以将这些 entity 映射到 concept 上,之后得到一个 pattern。
在这个过程之中,我们要将 entity 映射到 concept 上,那么这便是前面所提到的Conceptualization。我们希望之后的映射不能太 general,避免 concept pattern 冲突。
但是它也不能太 specific,由于如果太 specific,可能就会短缺表达能力。最坏的情形,它有可能就会退化到 entity level,而 entity 至少都是百万的规模,那么全体 concept patterns 就有可能变成百万乘以百万的级别,显然是不可用的。
以是我们就用到了前面先容的 Basic-level Conceptualization 的方法,将它映射到一个既不是特殊 general,也不是特殊 specific 的 concept 上。
大家可以看一下我们能够挖掘出来的一些 Top 的 concept patterns,比如说 game 和platform,便是一个 concept 和一个 pattern。它有什么用?举一个详细的例子,当用户在搜 angry birds、ios 的时候,我们就可以知道用户想找的是 angry birds 这款游戏,而 ios 是用来限定这款游戏的一个 platform。苹果公司每年都会推出新版本的 ios,那么我们挖掘出这样的 concept pattern之后,不管苹果出到 ios 15或者 ios 16,那么我们只须要将它们映射到 platform,那么我们的 concept patterns 就仍旧有效,这样可以很随意马虎地进行知识扩展。
以是 Common Sense Knowledge Mining 以及 Conceptualization Modeling,可以用在很多很多的运用上,它可以用来算 Short text similarity,以是它可以用来做 classification,clustering,也可以用来做广告的 semantic match,Q/A system,Chatbot 等等。
▌美团大脑——百科全书式知识图谱(Encyclopedia Knowledge Graph)
在先容完 Common Sense Knowledge Graph 之后,给大家先容一下 Encyclopedia Knowledge Graph。这是美团的知识图谱项目——美团大脑。
美团大脑是什么?美团大脑是我们正在构建中的一个环球最大的餐饮娱乐知识图谱。我们希望能够充分地挖掘关联美团点评各个业务场景里的公开数据,比如说我们有累计 40 亿的用户评价,超过 10 万条个性化标签,遍布环球的 3000 多万商户以及超过 1.4 亿的店菜,我们还定义了 20 级细粒度的情绪剖析。
我们希望能够充分挖掘出这些元素之间的关联,构建出一个知识的大脑,用它来供应更加智能的做事。
那么下面我大略地先容一下美团大脑是如何进行构建的。我们会利用 Language Model(统计措辞模型)、Topic Model(主题天生模型) 以及 Deep Learning Model(深度学习模型) 等各种模型,希望能够做到商家标签的挖掘,菜品标签的挖掘和情绪剖析的挖掘等等。
为了挖掘商户标签,首先我们要让机器去阅读评论。我们利用了无监督和有监督的深度学习模型。
无监督模型我们紧张用了LDA,它的特点是本钱比较低,无需标注的数据。当然,它准确性会比较不可控,同时对挖掘出来的标签我们还须要进行人工的筛选。至于有监督的深度学习模型,那么我们用了 LSTM,它的特点是须要比较大量的标注数据。
通过这两种模型挖掘出来的标签,我们会再加上知识图谱里面的一些推理,终极构建出商户的标签。
如果这个商户有很多的评价,都是环绕着宝宝椅、带娃用饭、儿童套餐等话题,那么我们就可以得出很多关于这个商户的标签。比如说我们可以知道它是一个亲子餐厅,它的环境比较新奇,它的做事比较激情亲切。
下面先容一下我们如何对菜品进行标签的挖掘?我们利用了 Bi-LSTM 以及 CRF 模型。比如说从这个评论里面我们就可以抽取出这样的 entity,再通过与其他的一些菜谱网站做一些关联,我们就可以得到它的食材、烹饪方法、口味等信息,这样我们就为每一个店菜挖掘出了非常丰富的口味标签、食材标签等各种各样的标签。
下面再大略先容一下我们如何进行评论数据的情绪挖掘。我们用的是 CNN+LSTM 的模型,对付每一个用户的评价我们都能够剖析出他的一些情绪的方向。同时我们也正在做细粒度的情绪剖析,我们希望能够通过用户短短的评价,剖析出他在不同的维度,比如说交通、环境、卫生、菜品、口味等方面的不同的情绪剖析的结果。这种细粒度的情绪剖析果,目前在全天下都没有很好的办理办法。
下面先容一下我们的知识图谱是如何进行落地的。目前业界知识图谱已经有非常多的成熟运用,比如搜索、推举、问答机器人、智能助理,包括在穿着设备、反敲诈、临床决策上都有非常好的运用。同时业界也有很多的探索,包括智能的商业模式、智能的市场洞察、智能的会员体系等等。
如何用知识图谱来改进我们的搜索?如果大家现在打开大众点评,昔时夜家搜索某一个菜品时,比如说麻辣小龙虾,实在我们的机器是已经帮大家提前阅读了所有的评价,然后剖析出供应这道菜品的商家,我们还会用用户评论的情绪剖析结果来改进搜索排序。
此外,我们也将它用在了商圈的个性化推举。昔时夜家打开大众点评时,如果你现在位于某一个阛阓或者商圈,那么大家很快就能够看到这个阛阓或者商圈的页面入口。当用户进入这个阛阓和商户的页面时,通过知识图谱我们就能够供应千人千面的个性化排序和个性化推举。
在这背后实在利用了一个水波的深度学习模型,关于这个深度学习模型更详细的先容,大家可以拜会我们在 CIKM 上的一篇论文。
所有的这统统实在还有很多的技能打破等待我们的办理。比如全体美团大脑的知识图谱在百亿的量级,是天下上最大的餐饮娱乐知识图谱。为了支撑这个知识图谱,我们须要去研究千亿级别的图存储和打算引擎技能。我们也正在搭建一个超大规模的 GPU 集群,来支持海量数据的深度学习算法。未来当所有的这些技能都 ready 之后,我们希望能够为所有用户供应聪慧餐厅和智能助理的体验。