领域应用 | 小米在知识表示学习的探索与实践

转载公众号 | DataFunTalk


导读:知识表示是知识获取与应用的基础,贯穿了小米知识图谱的构建与应用。本文将结合小米知识图谱的构建及小爱问答场景,介绍融合文本和知识图谱的知识表示学习方法,以及知识表示在知识图谱补全、实体链接、实体推荐等任务的落地。主要围绕以下3点展开:

  • 业务介绍,小米知识图谱的架构和业务;

  • 算法介绍,融合文本和知识图谱的表示学习方法;

  • 算法应用,知识表示学习在实体链接、实体推荐、知识补全的应用;

01

业务介绍

1. 小米知识图谱团队

小米知识图谱团队,旨在硏究知识图谱在开放领域和行业领域的构建和应用技术,把知识图谱推广到相关的业务场景上。目前团队已经构建了大规模、高质量的知识图谱,提供了实体检索、实体链接、概念图谱等服务,并且服务于小爱同学、小米网、小米信息流等业务方。

2. 知识图谱为小爱赋能

这是一个知识图谱为小爱赋能的例子。当用户询问巩俐籍贯的时候,我们从库中给出相应的答案,与巩俐相关的实体信息。下面简单介绍一下处理流程。

当用户询问一个问题(query)时,比如说问题是“武汉大学周边有什么好吃的?”,它的解答流程就是:

① 首先语言识别出这句话的文本内容;

② 然后通过分析发现用户的意图是想询问“美食”相关的事物;

③ 接着通过实体匹配去进行核心实体的识别,实体的歧义性消除以及属性的归一等处理,确定用户询问的是全国重点大学“武汉大学”这个实体的“周边美食”这个属性;

④ 据此从库中查询相应的结果,并且作为输出;

⑤ 另外我们还会针对该实体做实体的推荐,以此实现相似问题的推荐;

02

算法介绍

知识表示学习是指基于分布式的表示思想,将实体或者是关系的语义信息映射到低维、稠密、实值的向量空间中,使得语义相似的两个对象之间的距离也很相近。

最常见的表示学习方法是融合事实信息的方法,比如基于翻译、张量分解、神经网络和图神经网络的各种模型。但是这些模型并不善于处理大规模知识图谱中存在实体与关系长尾分布的问题。在图谱中,长尾分布体现为很多实体数量极少甚至没有关系事实,这就导致数据存在很严重的稀疏性。

对于这些长尾的实体和关系,在没有或者很少关系的情况下,仅基于传统的事实三元组(头部,关系,尾部)进行学习,是没有办法得到的。对此大佬们尝试了各种五花八门的解决办法,最简单直接的就是:

① 利用知识库中其他的信息,比如说文本描述信息、信息实体类型、关键路径、逻辑规则等,还包括实体的属性、时序信息、图结构等;

② 利用知识库外的海量信息,比如说互联网等,包含大量知识库实体和关系的有关的信息。

1. 融合文本描述的优势

融合文本描述的优势有哪些?

  • 发掘实体之间的语义相关性,精确的语义表述能够提升三元组的可区分性。在上面的例子中我们可以看到{撒贝宁,配偶,李白},而李白的描述文本中就存在“撒贝宁妻子”这样的关键信息。该情境下,融合文本描述的语义信息能够帮助发掘更多的语义之间的相关性;

  • 当一些实体对于现有的知识图谱来说是新的,并且仅仅带有描述性信息的时候,传统的知识图谱表示学习方法不能够表示这些新的实体,但是融入了文本描述的模型,就能够通过描述信息建立这些实体的表达。

文本描述如何构成呢?我们的处理方式是将实体的类型、文本描述和重要的三元组按照一定的规则进行拼接,构成一段文本,作为实体的描述文本,这段文本比简单的文本描述包含更多的信息。

2. 文本与知识图谱对齐

下面将会介绍两种经典的融合文本和知识图谱的知识表示学习方法,这两种方法都可以将实体向量、关系向量和词向量放到同一个语义空间下。为什么要把文本以及词向量放到一个空间中?因为如果我们遇到了需要同时处理文本和实体的任务,实体和文本中的词做内积等向量运算才会有意义,依靠这些运算方法我们就能比较实体和文本之间的词的关系。

这一篇文章描述了比较经典的文本与知识图谱对齐的模型Jointly(联合模型),作者先后发表了两篇论文来优化该方法。文章研究的内容是融合文本信息到知识图谱中,实现知识图谱中的实体和实体描述文本联合嵌入表示。对齐模型的关键在于将实体向量、关系向量和词向量表示在同一个语义空间下。要求实体的表示向量不仅满足知识图谱的结构化约束,同时也要被文本描述中的词向量进行约束。模型一共分为三个部分:

  • 文本嵌入:采用skip-gram模型,利用欧式距离衡量两个单词之间的相似性,训练词与词之间的约束;

  • 知识嵌入:采用Trans-E模型,训练实体与实体之间的约束;

  • 对齐模型:利用文本描述对齐,训练实体和文本之间的约束,确保关系能够和文本的单词在同一个语义空间中。

第二篇论文也根据类似的原理,将基于平移的嵌入方法从特定的三元组嵌入扩展到了文本感知模型,提出了名为DKRL的模型。该模型的特点是:

  • 对于事实元组论文采用了典型的Trans-E模型,通过最大似然值获得实体和关系的嵌入;

  • 对于描述文本,论文使用了连续词袋模型和深度卷积模型对文本进行嵌入。连续词袋模型忽略了文本的词序,而卷积模型会考虑词序;

  • 对每一个实体,DKRL都会学习语义的嵌入和结构的嵌入,再通过右侧的一系列公式进行拟合。

3. 需求和实现

后续任务需要通过预训练得到词向量,实体向量,并且保证两者之间需要能够计算相似度,同时也要保证实体向量和实体向量之间可以计算相似度。上文介绍的两个模型均可以满足该需求。右上的表格展示了几个不同的模型在链接预测任务上的效果,联合模型,即第一篇论文中的模型展现了较好的效果,于是我们基于该模型对实体和词进行了训练,得到了词向量、关系向量以及实体向量。该模型的效果具体体现在:

  • 由图一(左上)可以看到“王者荣耀”这个词和“李白”的候选实体之间的相似度评分,该分数表明模型学习到了词和实体之间的关联;

  • 由图二(右上)可以看到虽然“唐代诗人李白”的文本描述中不存在“将进酒”一词,但是模型也学到了其关联;

  • 图三图四(左下和右下)显示,模型也学习到了实体向量与实体向量之间的关系,比如植物“小米”实体向量和水果“苹果”实体向量比较靠近,而“小米公司”的实体向量和“苹果公司”的实体向量比较靠近。

这些特性对完成后续的任务有很大的帮助。

03

算法应用

1. 实体链接

实体链接任务目标是把文本中的实体指称项,即实体名称,链接到知识库中对应的实体上。

举一个例子来帮助大家理解实体链接,比如问题“王者荣耀中的李白有哪些台词?”,为了解答这个问题我们需要:

① 识别句子中的核心实体“李白”;

② 从库中检索“李白”所有的候选实体;

③ 实体链接,从众多的候选实体中找到正确的实体,与句子中的“李白”进行关联;

实体链接的难点主要有两个方面:

  • 实体会有不同的表达方式(mention),比如“青莲居士、李太白”,也对应了李白这个实体;

  • 同一个表达方式也会对应不同的实体,比如说“王者荣耀中李白的技能是什么?”,“李白和杜甫并称为什么?”,这两句中实体的表达方式都是“李白”,但是对应了不同的实体。

左侧图中展示了实体链接的处理流程,这里详细介绍一下实体消歧部分。

实体消歧包括两个模块,第一个部分是粗排,第二个部分是精排。

关于粗排

为什么要做粗排处理?

在做候选实体生成时,我们希望从库中获取尽可能多的相关实体,确保没有遗漏正确实体。但这样做会导致消歧这一步骤被引入了太多的噪声,造成消歧效率的下降。所以需要粗排模型来降低候选实体的个数。经过实验,粗排后,消歧准确率提升了3%,预测的速度提升了50%,而召回率仅仅下降了0.4%。

举个例子,比如“王者荣耀中的李白有哪些台词?”这个问题,在我们的库中“王者荣耀”的候选实体有71个,“李白”的候选实体有59个。在粗排时,我们会为每一个候选实体进行打分,按照相关度从大到小进行排列,选择每一个mention所对应的最相似的n个实体(Top n),作为精排的输入。

如何实现粗排?

粗排模型,要求高召回、高性能。我们采用了上一节中融合多元信息知识表示学习方法所训练得到的实体向量和词向量,因为他们处在同一个向量空间中,我们可以对其进行向量计算。定义了三个特征,分别是Context和Coherence以及LinkCount:

  • Context 表示mention的上下文特征,它通过候选实体向量和问题中的每一个词向量进行乘积运算得到,用于发现问题中哪些词和候选实体相关;

  • Coherence 表示实体的一致性,通过计算候选实体和问题中其他mention的候选实体相关性来实现;

  • LinkCount 表示实体的先验知识,通过标注数据而来。

利用一个多层感知机对这三个特征进行融合,最终得到每一个候选实体的粗排分数。排列并选择每一个mention所对应的最相似的Top n个实体,作为精排的输入。

关于精排

在粗排之后,每一个mention的候选实体个数被大大降低,此时我们会对这些实体进行精排处理。精排模型中,我们利用Bert构建一个句子对二分类模型,用来判断候选实体和问题中的mention相关度。具体流程如下:

① 该模型的输入是一个句子对,text_a是标记了mention位置的文本,text_b是候选实体的描述文本。句子对经过Bert编码之后取[CLS]向量,再经过全连接层,得到上下文特征;

② 合并粗排的三个特征进行全连接的融合训练;

③ 对候选实体进行二次排序;

④ 判断是否为未知实体;

⑤ 选择Top 1的实体作为mention链接的实体;

在模型训练时,我们对训练方法进行了一些优化。利用知识图谱中的关系三元组构建消歧的样本,关系三元组包括头实体、关系和尾实体,头实体和尾实体有多种表达方式(mention),利用这些不同的表达方式,我们可以去构建大量的正负样本,来帮助我们去学习mention和实体之间的语义特征关系。经过第一次的预训练,只需要再训练少量经过标注的线上数据,模型就可以达到较好的消歧效果。

2. 实体推荐

实体推荐任务的目标是根据给定的实体推荐一系列相关的实体,这两张图展示了我们的实体推荐的应用场景。我们对实体推荐的工作暂时还处于起步的阶段,并没有考虑复杂的个性化推荐,目前只关注实体之间的相似度。

左图展示了实体链接如何应用于智能问答问题推荐,问题通过SLU处理之后会得到其意图和主实体,然后借助实体推荐得到相关的实体,相关实体被用来构建相关的问题,比如说”武汉大学周边好吃的?“,识别到其主实体为”武汉大学“、核心意图为”美食“,以此推荐实体相关的问题,比如说”华中科技大学周边有什么好吃的?“,”清华大学周边有什么好吃的?“,”武汉科技大学周边有什么好吃的?“。同时实现了推荐意图相关的问题,比如说”武汉大学周边有什么好玩的?“,”武汉大学周边有什么景点?“,”武汉大学周边有什么酒店?“等等。

右图展示了实体推荐在图谱自动化构建平台上的应用,当用户搜索一个实体的时候,平台会为其推荐相关的实体。

实体推荐的难点在于“冷启动问题”,即如何去寻找实体的相关实体。

我们发现百科页面关系三元组以及新闻中的共现实体,都可以作为相关实体进行推荐。于是我们对百科页面知识图谱中的关系三元组和经过实体链接处理的新闻中的实体进行抽取,以类别为标准进行筛分,作为实体推荐模型的正样本。而负样本可以从库中的其他实体中抽取。

实体推荐模型分为两个部分,表示模型和匹配模型:

  • 表示模型利用第二节中的DKRL模型进行知识表示学习。学习关系三元组中的结构化信息,编码部分使用Bert进行替换;

  • 匹配模型利用DSSM模型,复用了表示模型中学习到的参数,将两个实体编码成向量,通过计算余弦相似度来去衡量两个实体之间的相关度。

3. 知识补全

在构建知识图谱时,需要从半结构化或者非结构化数据中抽取三元组,但这些三元组难免会存在信息缺失情况,比如左图中,小米代表人物中林斌、王翔等人,都缺失了超链接,撒贝宁配偶、父母、妹妹也都缺失了超链接,这就导致在构建知识图谱时,不能获取完整的关系三元组。

实体补全任务可以概括为:针对已知的头实体、关系和尾实体mention的情况下,关联库中的实体以补全三元组。我们的设计方案如下:

① 利用Schema去确定尾实体的类别;

② 通过尾实体的mention筛选得到尾实体的候选实体,构造三元组;

③ 通过三元组分类模型判断构造的三元组是否正确;

④ 经过对这些三元组的分数进行排序之后,选择Top 1且预测正确的三元组。

三元组的构建也考虑了描述实体的文本,我们再次利用了神通广大的BERT完成模型的构建,参考了KG-BERT这篇论文。

将已知的关系三元组如上图所示进行构造,text_a是头实体的描述文本,text_b是关系的文本名称,text_c是尾实体的描述文本,这些输入经过BERT的编码之后,再经过一个全连接层,计算得到语义特征,并和另外一个结构化的特征进行融合,最终得到一个分数。这里的“结构化特征”由蓝色框中的方程进行表示,整个模型的loss,可以用红色框中的方程表示。

举个例子,比如判断三元组{撒贝宁,配偶,李白}是否正确,“李白”的第一个候选实体是正确的,可以作为正样本,其他实体都是负样本,然后对模型进行训练,预测每一对自动构建的三元组的分数,按照从大到小的顺序进行排序,选择分数大于0.5且Top 1的三元组作为正确的三元组,补充到知识图谱当中。

04

总结与展望

本文简单介绍了知识表示学习在实体链接、实体推荐和知识补全中的应用;和word2vec一样,通过知识表示学习得到的实体向量可以应用到很多场景中;工业界实用最重要,很多场景下,对模型的复杂性很敏感,选择模型需要综合考量。知识表示学习的探索之路还有很长,同志们加油!!!

参考文献

1. Wang Z, Zhang J, Feng J, et al. Knowledge graph and text jointly embedding[C] //Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). 2014: 1591-1601.

2. Zhong H, Zhang J, Wang Z, et al. Aligning knowledge and text embeddings by entity descriptions[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. 2015: 267-272.

3. Xie R, Liu Z, Jia J, et al. Representation learning of knowledge graphs with entity descriptions[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2016, 30(1).

4. Xiao H, Huang M, Meng L, et al. SSP: semantic space projection for knowledge graph embedding with text descriptions[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2017, 31(1).

5. Reimers N, Gurevych I. Sentence-bert: Sentence embeddings using siamese bert-networks[J]. arXiv preprint arXiv:1908.10084, 2019.

6. Yao L, Mao C, Luo Y. KG-BERT: BERT for knowledge graph completion[J]. arXiv preprint arXiv:1909.03193, 2019.

7. 刘知远, 孙茂松, 林衍凯, 等. 知识表示学习研究进展[J]. 计算机研究与发展, 2016, 53(2): 247.

今天的分享就到这里,谢谢大家。


分享嘉宾:

峰会推荐:

7月10日,DataFun将举办自然语言处理峰会,届时将邀请包括来自小米等公司的多位重量级嘉宾,就NLP的基础技术、语义表示与计算、多模理解与生成、信息抽取与检索、人机对话与交互、产业创新与实践、机器翻译与同传等话题进行深度分享,欢迎小伙伴们识别二维码,了解详情,并报名参与,本次峰会将全程直播!


 

OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478260.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 563. 二叉树的坡度(DFS)

1. 题目 给定一个二叉树,计算整个树的坡度。 一个树的节点的坡度定义即为,该节点左子树的结点之和和右子树结点之和的差的绝对值。空结点的的坡度是0。 整个树的坡度就是其所有节点的坡度之和。 示例:输入: 1/ \2 3输出: 1 解释: 结点的坡度 …

多模态为什么比单模态好?第一份严谨证明来了!

文 | 橙橙子面试官: 听说你对多模态感兴趣,请问为什么多模态学习要比单模态学习效果好?候选人: 直观地,多模态学习可以聚合多源数据的信息,使得模型学习到的表示更加完备。以视频分类为例,同时使用字幕标题等文本信息、…

推荐:26种NLP练手项目(代码+数据)

1.分词 Word Segmentation chqiwang/convseg ,基于CNN做中文分词,提供数据和代码。 对应的论文Convolutional Neural Network with Word Embeddings for Chinese Word Segmentation IJCNLP2017. 2.词预测 Word Prediction Kyubyong/word_prediction &…

会议交流 | 最新NLP核心技术与前沿实践分享!

2021年7月10日,09:00-18:10,DataFunSummit:自然语言处理峰会将如约而至,本次峰会由3位主席和6位出品人精心策划而来,邀请来自业界的40余位嘉宾从NLP基础技术、语义表示与计算、多模理解与生成、信息抽取与检索、人机对…

LeetCode 504. 七进制数(进制转换)

1. 题目 给定一个整数,将其转化为7进制,并以字符串形式输出。 示例 1: 输入: 100 输出: "202"示例 2: 输入: -7 输出: "-10" 注意: 输入范围是 [-1e7, 1e7] 。来源:力扣(LeetCode) 链接&#xf…

领域应用 | 常识性概念图谱建设以及在美团场景中的应用

转载公众号 | 美团技术团队常识性概念图谱,是围绕常识性概念建立的实体以及实体之间的关系,同时侧重美团的场景构建的一类知识图谱。本文介绍了美团常识性概念图谱构建的Schema,图谱建设中遇到的挑战以及建设过程中的算法实践,最后…

美团数据库中间件DBProxy开源

随着数据量的不断增大,传统的直连数据库对数据进行访问的方式已经无法满足一般公司的需求。通过数据库中间件,可以对数据库进行水平扩展,由原来单台数据库扩展到多台数据库,数据库中间件通过路由规则将数据的访问请求路由到其中一…

不卷学术了,这次卷一波NLP实战落地经验

作为最典型的 AI 领域之一,NLP 这些年也是越来越热门,基本上是各大厂必备了。随着 OpenAI 等技术的诞生、迁移学习等技术的成功应用,使得 NLP 技术在搜索、推荐、信息流、互联网金融、社交网络等领域不断发展壮大。与此同时,NLP 工…

docker挂载文件躺过的坑

Docker 实现挂载的三种方式 docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “exec: “-v”: executable file not found in $PATH”: unknown. 看着启动成功了,但查日志启动失败 日…

美团团购订单系统优化记

团购订单系统简介 美团团购订单系统主要作用是支撑美团的团购业务,为上亿美团用户购买、消费提供服务保障。2015年初时,日订单量约400万~500万,同年七夕订单量达到800万。 目标 作为线上S级服务,稳定性的提升是我们不断的追求。尤…

论文浅尝 | emrKBQA: 一个面向临床医疗问答的KBQA数据集

笔记整理 | 谭亦鸣,东南大学博士生来源:BioNLP ’21 workshop, ACL ‘21链接:https://www.aclweb.org/anthology/2021.bionlp-1.7.pdf论文主要包含两个部分的核心工作:emrKBQA数据集,对应的benchmark。基于MIMIC-III …

Fine-tune之后的NLP新范式:Prompt越来越火,CMU华人博士后出了篇综述文章

文 | 刘鹏飞源 | 机器之心CMU 博士后研究员刘鹏飞:近代自然语言处理技术发展的第四范式可能是预训练语言模型加持下的 Prompt Learning。近几年,NLP 技术发展迅猛,特别是 BERT 的出现,开启了 NLP 领域新一轮的发展。从 BERT 开始&…

会议交流 | 世界人工智能大会“大数据关联”论坛举行

转载公众号 | 创邻科技2021年7月8日,由世界人工智能大会组委会与浙江创邻科技有限公司共同筹办的“大数据关联时代下的图数据库技术与应用论坛”在上海世博中心圆满落幕。论坛邀请了清华大学、北京大学、复旦大学、浙江大学、天津大学等多位学术届的思想领袖和工商银…

LeetCode 994. 腐烂的橘子(图的BFS)

1. 题目 在给定的网格中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂…

美团酒店直连产品数据一致性演进

美团酒店直连项目自2013年末开始,通过业务上的不断完善和技术上的不断改进,至今已经接入200多家供应商,其中在线酒店3万以上,在线SPU30万以上。经过两年的成长,美团酒店直连平台终于在2015年末发展为国内最大的酒店直连…

直击行业痛点!端侧模型部署的成熟解决方案有了!

深度学习经过多年发展,AI已经深入人心,事实上,在图像、文本领域,AI在多个产业已经落地了诸多应用,我们熟知的自动驾驶、语音助手,背后就大量运用了AI技术。当下,飞桨PaddlePaddle、TensorFlow、…

OpenKG开源系列 | 大规模中文概念图谱OpenConcepts (浙江大学)

OpenKG地址:http://openkg.cn/dataset/openconcept官网:http://openconcepts.openkg.cn(提供Dump)开放许可协议:CC BY-SA 4.0(署名-相同共享)OpenConcepts 介绍OpenConcepts (http://openconcepts.openkg.c…

LeetCode 594. 最长和谐子序列(map)

文章目录1. 题目2. 解题2.1 map两次扫描2.2 map一次扫描1. 题目 和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。 现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。 示例 1: 输入: [1,3,2,2,5,2,3,7] …

MTDDL——美团点评分布式数据访问层中间件

2016年Q3季度初,在美团外卖上单2.0项目上线后,商家和商品数量急速增长,预估商品库的容量和写峰值QPS会很快遇到巨大压力。随之而来也会影响线上服务的查询性能、DB(数据库,以下统一称DB)主从延迟、表变更困…

详解预训练模型、信息抽取、文本生成、知识图谱、对话系统技术

我们正处在信息爆炸的时代、面对每天铺天盖地的网络资源和论文、很多时候我们面临的问题并不是缺资源,而是找准资源并高效学习。其次,即便网络上的资源非常多,学习是需要成本的,而且越有深度的内容越难找到好的学习资源。如果一门…