梁家卿 | 百科知识图谱同步更新
本文转载自公众号知识工场。
本文整理自复旦大学知识工场梁家卿博士在IJCAI 2017 会议上的论文报告,题目为《How to Keep a Knowledge Base Synchronized with Its Encyclopedia Source》,作者包括:梁家卿博士(复旦大学,上海数眼科技发展有限公司),张圣硕士(复旦大学),肖仰华教授(复旦大学,上海互联网大数据工程技术研究中心,小i机器人)
IJCAI(International Joint Conference on Artificial Intelligence,国际人工智能联合会议)是人工智能领域最顶级的学术会议之一,被中国计算机学会推荐国际学术会议列表认定为 A 类会议。该会议聚集了人工智能领域最顶尖的研究者和优秀从业者,关注研讨领域涵盖机器学习、计算可持续性、图像识别、语音技术、视频技术等,对全球人工智能行业具有巨大影响力。8月19日-8月25日,IJCAI 2017在澳大利亚墨尔本正式开启。
梁家卿:大家下午好,我的这篇文章主要讲的是如何让百科知识库和它对应的百科数据源保持同步更新。
大家都知道,知识库在很多应用中都担任着非常重要的角色。有些知识库使用百科类网站(如:维基百科)作为数据源,像DBpedia、Freebase,CN-DBpedia等。由于百科类网站的质量都很高,所以在此基础上构建的百科知识图谱质量也很高。
知识库中的知识并不是一成不变的,很多事实都会发生变化。例如,美国总统从奥巴马变成了特朗普;特朗普的职业从商人变成了总统。这样一来,知识图谱的更新就显得非常重要。如果不知道特朗普是总统,机器在阅读最新文章时,可能只会把他认为是一个普通商人发表的政治意见。还有很多新词,比如说iPhone8,你将永远不知道它是什么。
我们都知道,很多数据源(维基百科)一直是志愿者在更新的,那么我们只需要将知识库与维基百科进行同步即可。这里的关键问题在于,如何保持知识库与在线百科网站的同步更新呢?
目前传统有两种方法来进行知识库与在线百科的同步,第一种方法是下载最新的网站Dump数据,但是这个方法要求我们下载GB级的数据,然后每个周期都会生成新的Dump数据,不仅如此,还有许多的百科类网站是不会提供Dump数据的。第二个方法是爬网站,但是这个方法的工作量太大了,有太多的网页需要爬,而且还会有很多网站会封锁我们的爬虫。
知识库的更新固然重要,但也不是说库中的每个实体都需要更新,因为大多数实体都具有稳定的性质,它的关系很少会发生变化,例如,“橙子”,这是一个基本概念;“牛顿”,这是一个不会改变的历史人物。
我们真正需要更新的是一些会发生改变的实体,像一些非常热门的实体就很有可能发生改变,比如特朗普。所以一个更好的策略就是先将实体区分为稳定实体和易变实体(比如:热门实体),然后把易变实体更新即可。现在有一个关键的问题,就是如何去估算百科网站中实体的更新频率?
我们将这套策略用在了CN-DBpedia知识库中。CN-DBpedia是一个以百度百科作为数据源构建的中文百科知识库。为了解决上述的这个问题,我们在CN-DBpedia上建立了一个系统,这个系统每天只需要更新很少的热门实体即可。
接下来是具体实现细节。我们首先将这个问题定义为一个最大化问题,选择最需要更新的K个实体。一个实体是否需要更新就看在线百科网站上实体的最近更新时间是否晚于我们知识库中的上一次同步时间。
为什么要设置K值呢?这主要是由于获取资源的能力是有限的,并且很多网站也有访问次数限制。所以我们设置了每天能访问的实体次数上限K。
现在,假设我们可以预测每个实体的更新频率,那么将如何找到这些待更新的K个实体呢?
一个基本方法是对每个数据库中的实体都预测它的更新频率,然后取最大的K个。但这种做法太耗时了,并且只能对已有的数据进行更新,无法更新新词。
一个改进的方法是对互联网上的热词进行监控。因为我们认为,一个实体之所以变成热词,会有两个原因。一个是新词,比如即将发布的iPhone8。另一个是旧词,但知识发生了变化,比如说特朗普变成美国总统了。
整体框架如下:首先监控热词获得种子实体,然后同步这些种子实体。接下来通过实体的相关实体来扩展得到更多的待更新实体,最后根据这些待更新实体的优先级来进行更新。
先来看种子发现和种子同步。
我们发现一个现象,如果一个实体突然频繁地出现在互联网上,关于它的知识很可能就会发生变化。因此,我们从互联网上搜集热门新闻,热门搜索关键字和热点话题,通过分词等方法,提取出其中的热门实体,然后加以同步。
但是,每天的热门话题数量太少,所以我们需要通过扩展的方式得到更多的待更新实体。
我们遵循的一个原则是:与最近更新的实体相关的实体更可能更新。例如,特朗普成为总统后,特朗普的妻子成为第一夫人。
我们做了一个实验来验证这一原则。
优先级设置的原则是这样的,如果是一个新词,那么优先级设置为最高,如果是一个旧词,估计其上一次更新结束到当前时间内可能更新的次数,将这个次数作为优先级的指标。指标为更新频率乘以更新间隔。
接下来,就是要估计每个实体的更新频率了。最开始,我们基于这样一个基本假设:实体更新频率遵循泊松分布。但后来实验发现,这个分布并不成立。
我们把这个问题看作是一个回归问题。选择了表中的8个特征,分别使用了线性回归和随机森林回归两种来估计更新频率。
最后,实验结果表明,我们提出的随机森林回归模型取得了最好的效果。
我们将系统部署到CN-DBpedia上,设置K值为1000。结果发现,68.7%的实体中的知识都发生了改变。
最后,我们再对本文进行一下简单的总结。
首先, 许多知识库都是使用百科网站作为数据源,但是这些知识库往往不能及时更新。每个都重新构建一遍代价巨大。
第二,我们提出了一个知识库更新系统,包含了一组有效的更新策略。
第三,我们将这套策略部署到了中文知识库CN-DBpedia中,提高了知识库的时效性。
最后,这个系统每天更新一千个实体,统计发现,其中70%的实体的知识确实发生了变化。
获取完整PPT
关注“知识工场”微信公众号,回复“20170819”获取下载链接。
以上就是梁家卿博士在IJCAI为大家带来的全部内容。知识工场实验室后续将为大家带来更精彩的文章,请大家关注。
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 博客。
梁家卿 | 百科知识图谱同步更新相关推荐
- 中文通用百科知识图谱(CN-DBpedia)
http://www.openkg.cn/dataset/cndbpedia 原始数据采用了中文通用百科知识图谱(CN-DBpedia)公开的部分数据, 包含900万+的百科实体以及6600万+的三元 ...
- dbpedia知识图谱java_中文通用百科知识图谱(CN-DBpedia)
介绍 CN-DBpedia是由复旦大学知识工场实验室研发并维护的大规模通用领域结构化百科,其前身是复旦GDM中文知识图谱. CN-DBpedia主要从中文百科类网站(如百度百科.互动百科.中文维基百科 ...
- 叮!请查收本周份「知识图谱」专题论文解读
本期内容选编自微信公众号「开放知识图谱」. TKDE ■ 链接 | https://www.paperweekly.site/papers/2194 ■ 解读 | 花云程,东南大学博士,研究方向为自然 ...
- 肖仰华谈知识图谱:知识将比数据更重要,得知识者得天下
肖仰华谈知识图谱:知识将比数据更重要,得知识者得天下 https://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247498869& ...
- 一文读懂知识图谱的商业应用进程及技术背景
原文地址 https://www.leiphone.com/news/201709/QlkeCEGmeXP3h9VZ.html 知识图谱(Knowledge Graph/Vault,以下简称KG)本质 ...
- CAS-KG——知识图谱概述
说明:CAS是国科大的简称,KG是知识图谱的缩写,这个栏目之下是我整理的国科大学习到的知识图谱的相关笔记. 课程目标 了解以知识图谱为代表的大数据知识工程的基本问题和方法 掌握基于知识图谱的语义计算关 ...
- 腾讯云大学大咖分享 | 腾讯云知识图谱实践
本文作者:腾讯云高级研究员 孟辉.毕业于中国科学院大学控制科学与工程系,具有丰富的机器学习与数据挖掘经验.加入腾讯云AI语义产品组后,主要负责知识图谱相关产品的研发与应用. 点击观看完整课程 知识图谱 ...
- 认知智能的突围:NLP、知识图谱是AI下一个“掘金地”?
作者 | 邵浩,上海瓦歌智能科技有限公司总经理,狗尾草科技人工智能研究院院长 责编 | 许爱艳 出品 | AI科技大本营(ID:rgznai100) 一.引言 最近,很多人邀请我回答下面的这些问题: ...
- 前沿技术探秘:知识图谱构建流程及方法
作者 | 郑毅 封图| CSDN│下载于视觉中国 出品 | CSDN云计算(ID:CSDNcloud) 随着AI技术的发展和普及,当今社会已经进入了智能化时代.与以往不同的是,在这一波浪潮中,企业不仅 ...
最新文章
- 计算机金融交叉学科考研,22考研:交叉学科可能成为新选择!它有哪些优势?
- hive分区用2个字段有何限制_关于Hive使用动态分区插入数据详解
- 【Python】开启Pandas进阶:图解Pandas透视表、交叉表
- C# 中文件路径的操作
- 访问数组元素进行获取
- ABAP web service schema node的处理
- linux的进程与库之间的通信两种方式
- GAE 随机获取实体
- 企业网站 源码 e-mail_临汾网站制作,B2B软件哪家好
- AGC018F. Two Trees
- C语言程序设计基础学习笔记简介
- PMP干货教你一秒选对PMP考试答案!
- 分析华为鸿蒙操作系统的特点,申万宏源-通信行业系列深度研究和分析报告之华为鸿蒙操作系统全景解构.pdf...
- windows10微软商店怎么重装?
- BZOJ 2037: [Sdoi2008]Sue的小球
- 宝塔下的服务器环境搭建步骤
- 医院预约挂号系统-系统结构
- CIO:人工智能将改变企业IT
- 【报告分享】2020中国民营企业500强调研分析报告-全国工商联(附下载)
- 从《三体》到Silkpunk,这些中式科幻用什么打动了西方人?
热门文章
- (待解)静态构造器和静态字段调用的相互嵌套
- select + 线程池 回应服务器(windows)
- 芯片IC附近为啥要放0.1uF的电容?看完秒懂~
- C++ 的几个for 循环,范围for语句
- 别人不让你发传单怎么办?
- ESP32 入门教学,不入门,不教学
- python3 numpy中矩阵np.dot(a,b)乘法运算
- linux can总线接收数据串口打包上传_关于串口,你需要知道这些!!
- LeetCode 1087. 字母切换(回溯)
- LeetCode 97. 交错字符串(DP)