陈华钧 | OpenKG:愿景与挑战

本文改编整理自浙江大学计算机科学与技术学院教授陈华钧在杭州首届金融知识图谱论坛上的报告。

 

关于论坛

首先作为承办方之一,也代表浙江大学,欢迎各位的到来。特别感谢白硕老师和所有的嘉宾百忙之中抽空过来支持这次论坛。

刚才桂林教授已经介绍过,我们组织这类论坛的一个主要目的是促进跨领域的交流,让知识图谱能更多的在垂直领域落地。传统的KG仍然局限于搜索引擎和Bot问答,并以百科类常识类知识图谱为主。但我们相信KG会逐渐渗透到更多的垂直领域。金融则是十分有希望也备受关注的垂直领域之一。

另外这次论坛,我和鲍捷还有一个目的是希望去宣传“开放”对于KG发展的重要性。丁力和鲍捷都是语义网和KG领域十分资深的专家,现在也都在创业。如果讲KG怎么构建,我们经常会去争论是该以Top-Down的方式去设计构建,还是该以Bottom-Up的方式从粗糙数据中去总结和抽取。我相信他们俩可以争论三天三夜。但有一件事情,特别是做语义网出身的朋友,我们不太会去争论,就是“开放”对于KG发展的重要性。实际上每一个真正深入到 KG 这个领域的人,都会或早或迟的意识到开放对于KG发展的价值和意义。

我的报告也因此分为三个部分:先谈谈KG,再谈谈Open,最后谈OpenKG。我会从KG的发展历程、内涵概念、构建方法等多个角度,并通过一些事实来引证说明我们发起OpenKG这个项目不是因为情怀,而是因为Open与KG的确有着内生密切的联系。

关于KG的概念

经常会有其它领域的朋友来问:知识图谱和本体有什么区别?为什么有人叫知识库又有人叫知识图谱?语义网络和知识图谱是什么关系?数据库和知识库什么区别?KG和NLP是什么关系?

关于KG,如果说得直白一些,只是谷歌出于商业目的创造出的一个新概念,最早只是谷歌搜索引擎的一个辅助功能而已,更多的是一个工程产品概念。叫什么不重要,但任何一个新概念的产生都不是突然出现的,而是受到了历史上出现的很多其它相关事物的各种影响。我想首先把这些相关概念按历史发展脉络做个简单梳理,这包括:知识库与知识表示(Knowledge Base & Knowledege Representation)、语义网络(Semantic Network)、本体论(Ontology)、Semantic Web、链接数据(Linked Data)等。

首先说知识库(KB)和知识表示(KR)。KB/KR都是属于人工智能领域的经典概念。刚才白老师已经谈到很多KR的难题,如模态知识表示。三元组只是最简单的KR。今天大多数人谈AI,大部分时候说的都是深度学习和机器学习。人们太容易被下棋所吸引。但是了解AI历史的人都知道,AI不等于机器学习。从AI诞生的第一天起,知识表示和推理就一直是AI在符号这个方向的主要分支,但因为困难比较大而没落严重。但请不要轻视和忽视符号AI,即便是Hinton也在强调符号逻辑对于实现强人工智能的重要性。可以打个比方:深度学习能帮助我们构建聪明的AI,提升的是机器的感知和判断能力,如视觉、听觉、预测分析等;而KB则能帮助我们构建更有学识的AI,辅助提升机器的认知能力,如语言理解、常识推理、决策支持等。显然,聪明不等于有学问、感知不等于智能、计算不等于推理。后面我们还会谈到,实现高级别的人工智能仍然困难重重,很多关键的问题根本没有解决。

再说语义网络。语义网络(Semantic Network)有时会与Semantic Web(有时候会被翻译为语义网)混淆起来。语义网络是 1960年前后,作为一种知识表示的手段被提出来。典型的语义网络如WordNet和谷歌KG有些不一样。WordNet刻画的是词与词之间的关系,而谷歌KG强调是实体和概念之间的关系。像MIT的常识知识库ConceptNet,以及BabelNet大百科语义网络等都更加偏重于词语之间的关系刻画,主要用于辅助NLP自然语言处理。此外,在NLP领域也一直都在研究怎样自动的从文本抽取和构建语义网络。

再说本体论。Ontology实际上是个哲学概念。在上个世纪80年代,人工智能研究人员将这一概念引入到计算机领域用来研究知识表示。Tom Gruber把本体定义为“概念和关系的形式化描述”,这方面代表性的学术方向是描述逻辑(Decription Logic)。本体相关的语言或技术通常被用来为知识图谱定义Schema。

但我觉得对KG影响最大的还不是上面说的这些,而是 Web的发明。我们知道Web是新科图灵奖获得者Tim Berners-Lee 1989年在欧洲核子研究组织CERN发明的。在他最早的Web Proposal里面实际上就有KG的影子。他这样描述Web的愿景:Web是一个Linked Information System,Web以图的方式相互链接和关联,链接可以指向任何事物,包括文档、概念、实体等。在1994年的第一届WWW大会上,他就已经指出,Web不止是文本之间的互联,而应该是对象、事物或数据之间的互联。所以,他在1998年正式提出了Semantic Web:“The Semantic Web is a web of data, in some ways like a global database”。从某个角度看,谷歌KG是Semantic Web理念的一种商业化实现,但的确,谷歌KG还只实现了Semantic Web的一小部分愿景。还有一个概念叫 “链接数据Linked Data”也是Tim于2006年提出,是为了强调要更多的建立数据之间的链接,而非仅仅是把文本数据结构化。

所以KG有着Web、AI、NLP等多重基因。但知识图谱说到根子上还是得益于Web的发展,特别是Web发展所带来的大量的开放域数据(包括维基百科)。没有这些开放域的数据做基础,技术再怎么进步,谷歌也无法做出他们的KG产品。

关于KG的价值

第一个方面,KG辅助搜索。前面已经谈到KG最早就是谷歌搜索引擎的一个辅助功能。它所解决的刚需是:我们要搜索的是事物本身,而不是返回一堆的文档。所以当时谷歌KG的Slogan是:“Things, Not Strings!”。这和Semantic Web的理念非常Match。Web的理想是建立起万物和事物的相互链接,而搜索的理想则是万物和事物的直接搜索。

第二个方面,KG辅助问答交互。我想在目前这个时间点上,业界可能更加关心这一点。最近来了解KG的好像大多集中于这个方向,有做车载系统的、有做智能厨房的、有做智能家居的。KG在这些场景下,除了聊天机器人,很多都涉及到怎样通过KG提升人与IoT设备的智能交互能力。我觉得对于怎样实现IoT 设备的智能化,与其给它挂载一枚强芯片或增加一个高深的神经网络,还不如简单给它挂接一个背景知识库,这个智能化效果可能更加直接和有效。

第三个方面,KG辅助决策。这个方面可能是金融、医疗等领域关注的更多,包括Kensho、IBM Watson、Plantir 也都在做相关的工作。语义网早期很强调一个概念叫“More Machine-Understandable”。深度学习的流行造成一种错觉,觉得只要有足够好的算法和模型,机器就能读懂所有的数据。我这里引用了MSR闫俊博士最近写的一篇文章。我们很多所谓的大数据,首先要把它转变成一个可计算的大数据。我们先不要去谈一些高大上的算法和模型,比如我们首先对一些文本预先抽取一些语义,让数据的语义更加的规范,再逐步建立和增强数据之间的语义关联和链接。很多时候,我们只需要把各种数据有机的组织和关联起来,建一个知识图谱,就可以解决很多上层的决策问题了。从这个角度讲,KG就是更高质量的、表示更加规范、语义自描述、更加可计算、更加Machine-Understandable的大数据。

第四个方面,KG辅助AI。很多聊天机器人之所以体验差,一个原因就是还不具备足够的语言理解和常识推理的能力。人在听到一句话的时候,不只是做字面上的语法分析,“他要使用自己所有的知识和智能去理解,这不仅仅包括语法,还包含他自己的词汇知识、上下文知识,特别是对相关事物的理解”。Winograd Schema Challenge是一个新的AI评测竞赛,它主要是测试怎样能够让机器具备常识推理的能力。比如第一个例子,人很容易判断“it”指代的到底是Trophy还是Suitcase,是因为人的大脑里面还存有关于物体大小的知识。他不只是在解析文本,而是同时要利用大脑中的知识去做推理。这个问题需要叠加NLP、知识表示和推理技术。目前,用传统的NLP技术,正确率在50%上下,叠加知识库后也勉强到60%(而且还只是另外一个前置问题),但及格线是90%。也就是说这还是个远未被攻克的难题。让机器完全听懂人话,客观的说,还是个无法预测什么时候能解决的难题。

这其实涉及到AI的一些根本性问题。比如,人脑中的符号记忆和知识存储是结构化的吗?我想一定不是纯文本化的。再一个问题,人脑中的符号记忆是连续的还是离散的?分布式知识表示和知识图谱嵌入代表这方面的研究努力。还有一个问题,大脑利用符号记忆进行知识推理的过程又是什么?传统的 KR 在推理这块的确是举步维艰的,那么多推理机实际应用却不多。认知科学家认为人的记忆获取过程和感知是一样的,那么符号逻辑推理是否有新的实现方法?

Web已经帮助我们形成了一个开放、超级巨大、相互链接的文档知识库,是否也能够帮助我们逐渐形成一个开放、超级巨大、相互链接的结构化知识库?这个结构化的知识库连同巨量的文本知识库一起会成为一种更加接近人脑知识组织形式的Global Brain或Open Mind吗?这当然需要极长时间的累积,但只有这种长久的累积才有可能帮助我们去构建真正有学识和懂知识的机器大脑。

我们总结一下 KG 的本质。从 Web 的视角,它是讲Web of Data和Linked Data。从 NLP 的视角,讲的更多是怎样从文本中抽取结构化的数据。从 KR 的视角,考虑的是怎么表示和处理人脑的知识。从 AI 的视角,更多是讲我们怎么用知识库来辅助理解人的语言。另外还有包括从数据库的角度,考虑的是怎么用图来存储知识。做好KG需要兼容并蓄。

现有主要KG的数据来源

我们前面已经不止一次提到了“开放”。接下来我们先来看看现在主流的几个大KG是怎么构建出来的。KG构建涉及知识表示、知识抽取、实体链接、实体融合、链接预测、推理补全、语义嵌入、知识存储等多方面的技术。这里我们不去介绍这些具体的构建技术,而是看看现实的KG有哪些获取来源。

我们首先来看谷歌的KG。谷歌KG有很多数据来源,其中最有名的一个是Freebase。语义网这个领域的人很早就都知道这个项目,做了很多年后,最终被谷歌用到了它的搜索引擎里面。Freebase主要来源于开放社区的贡献,包括开放网页的抽取、已有的开放数据进行格式转换和社区成员的数据贡献。因为Freebase来源于开放社区或开放域的数据,所以它也是免费开放的。谷歌收购的不是Freebase,而是构建Freebase的团队MetaWeb。

像很多其它语义知识库如DBPedia、Yago等一样,Freebase的很多数据来源于维基百科。维基百科于2013年启动了一个新项目叫WikiData,它组织了一个相对小众的专业群体(约4000人)采用维基协作的方式,目标是构建全球最大规模的结构化知识库。WikiData采用CC0最为自由的开放许可协议,意味着任何人可以免费下载、修改和进行商业化应用。谷歌于2016年5月正式关闭了Freebase,转过来支持WikiData,并逐步把Freebase的数据导入到WikiData,但导入遇到不少问题。我相信WikiData将逐渐发展成为世界上质量最高的一个开放域的结构化知识库。这里有一个问题:为什么谷歌要支持WikiData这么个完全开放还没有任何商业化约束的项目?我不认为是因为情怀。

谷歌KG还有一个数据来源是Schema.Org。一会丁力博士会介绍OpenKG CN-Schema的工作。Schema.Org支持用户直接在网页、邮件和Web应用程序中嵌入语义数据。这些以RDFa,JSON-LD和HTML5 Microdata格式存在的语义数据可以非常容易被聚合和搜集起来,并帮助提供这些数据的企业或个人优化他们的搜索结果。Schema.Org的优点是数据质量比较高、且更加容易更新,但缺点是能够采集的数据类型相对有限,对于那些涉及SEO的数据是有效的。

还有像MIT的ConceptNet常识知识库,最早源于MIT媒体实验室的Open Mind Common Sense (OMCS)项目。OMCS项目是由著名人工智能专家Marvin Minsky于1999年建议创立。ConceptNet综合了专家构建、NLP抽取、游戏众包、外部开放数据导入等各种技术手段。它是完全免费开放的,采用的是CC SA-BY 4.0开放许可协议,也就是说你只要署名致谢并采用相同的协议就可以进一步使用,包括商业化。

另外一个著名项目是CMU的NELL,它主要强调利用机器学习的方法去从Web上不断抽取开放域的三元组知识。但它面临抽取知识的质量、可靠性和完整性问题。

KG的知识缺失问题

KG构建的瓶颈其实是数据来源问题,技术反而居于其次。前面谈到WikiData的数据质量是不错的,但却还是面临知识缺失严重的问题。高质量和高覆盖面很难兼得。事实上,知识缺失严重是所有KG所面临的共同问题。下面谈谈几个关于KG的事实。

第一,是前面已经谈到的,现有的大规模知识图谱很多都依赖开放社区的协作和开放域的数据抽取,包括大家所熟知的DBPedia、Yago、包括国内的 Zhishi.me, CN-DBPedia, X-lore 等,也包括谷歌自己的知识图谱。

第二,不能指望 NLP 和机器学习能自动构建你真正所需要的知识图谱。NLP的确对KG构建十分的重要。正如今天白老师所讲的主题,让NLP去对接KR是当前KG构建最基础的技术路线。但你如果指望有这么一种深度NLP算法,给它吃进大量的文档,它就能自动给你转成真正能用的KG,那你一定会非常失望。此外文本也只是KG的一种来源,还包括多媒体、Crowds和IoT传感器等等,这都需要用各种传统的数据处理技术去对接KR。

第三,单一机构无法构建覆盖全面的知识图谱,即便是单一的垂直领域如金融也是这样。构建高质量高覆盖面的KG成本是比较高的。但一旦你有这样的高质量的KG,的确可以帮助你形成竞争门槛。现在一般做KG比较迅速的是那些手里已经有不少数据资源的企业,但即使你有不少数据,也同样会面临知识缺失的问题。

开放域数据 VS 封闭域数据:OpenKG Open Data

接下来我们开始具体谈“Open”。我们对外介绍OpenKG所遇到的第一个质疑通常是“我的数据不能开放”。对于OpenKG的“Open”有三个层次的解读。首先是指“开放域数据的图谱化”。所谓开放域数据就是那些已经开放的数据。目前Web上你能看到的所有的数据都是开放域数据,这些数据不存在开放与不开放的问题。但是我们要解决这些数据的可利用性问题。怎样解决?我们要把文本数据结构化,把已经结构化的数据转化为语义更加规范的知识图谱,并增加和增强这些结构化数据之间的链接,这样才能让数据更加容易被利用、被链接和被计算,更加Machine-Understandable。仅仅这一件事做好已经十分不容易,意义也非常大,也不存在开放数据的囚徒困境。而且这件事情每个垂直领域都应该有人去做。

每个领域当然有自己不能开放的数据,这叫做封闭域的数据,例如医疗领域的病患数据,金融领域的决策支持数据等。封闭域的数据也需要图谱化和语义规范化,但那是各个企业自己的事情。开放域数据可以有效的弥补封闭域数据知识不完全的问题。每个企业的封闭域数据也需要与开放域的数据互相链接,需要与其它领域的数据相互链接才能更大的发挥其价值。

开源的数据和可发现性

经常遇到的第二个质疑是“我不愿意开放我的数据”。即便是从开放域抽取的数据,也付出了代价和劳动,为什么要开放呢?这里第二个层面是指“开源的数据”,这有点像开源的软件。很多软件提供商之所以选择开源一方面是因为它本身依赖开源社区,如Cloudera,其解决方案高度依赖Hadoop开源社区;另外一方面开源的目的也是为了提高自己的可发现性,免费的先给你用,用深了再收钱。这种通过免费来吸引用户扩大自身影响力的模式在互联网环境下司空见惯。

与开源软件一样,人们也已经开发出不少可选用的开源数据许可协议,如Creative Common的CC系列,Open Knowledge Foundation的开放知识许可协议等。其实这个许可协议问题是每一个做KG的朋友都应该关注的问题。不管你开放不开放,你都需要懂得怎样保护自己的数据,也需要知道怎样做才能不侵权,因为你做KG一定会用到别人的数据。

此外,KG和普通开放数据还不一样,因为KG强调链接。知识图谱的本质就是用规范化的语义去链接更多的数据。开放你的KG能促进KG之间的链接。这有点像Web的形成过程:人们在Web上发布自己的网页无非是为了让别人能发现自己,而这种发布促进了网页之间的链接,搜索引擎利用基于链接关系的PageRank进一步提升网页的可发现性。开放可能不是刚需,但链接可以进一步提高你的数据的可发现性,并增加数据的价值。

所以,我们同时也希望能传播这样的理念:所谓“开放”和“链接”的含义还指的是提高你的数据的可发现性和流动性。这也是鲍捷经常提到的观点。

关于OpenKG

接下来谈OpenKG。OpenKG是国内一些在第一线从事知识图谱研究和开发的朋友共同发起的。几个主要发起人都是国内资深的KG专家,比如东南大学的漆桂林教授,狗尾草CTO、公子小白和琥珀机器人的技术负责人王昊奋,海知智能的CEO谢殿侠和CTO丁力,这次论坛的联合主席文因互联创始人鲍捷,从事脑科学研究的中科院自动化所的曾毅研究员等等。丁力我多介绍两句,他其实是这个领域功底非常深厚的专家,他是全球首个语义搜索引擎Swoogle的作者,美国开放政府数据Data.gov语义技术核心贡献者,RPI Linked Data项目的主要负责人,前高通研究院科学家, 斯坦福大学博士后。当然还有好多其他的朋友,都有比较接近的兴趣和价值观,也都感觉到这件事情的价值和意义,所以自发组织起来一起去推动这件事情。

开放之于KG的价值和理念

接下来谈一下OpenKG做些什么。首先我们需要做的是传播和宣传开放之于KG的价值及理念。我们这帮教授的力量是有限的,我们首先能做的当然是呼吁这一点,比如金融领域那么多机构对KG感兴趣,有没有一个大佬能站出来说组织圈内的朋友一起来支持金融开放域的知识库的构建?不是在谈胸怀,而是要意识到,只靠自己的团队很难做得出真正有用的KG,KG要有足够的规模和足够的质量才能真有价值。

每一个垂直领域都应该扶持一个开放社区去共同支持开放域的知识库建设。开放域这块可以分享,但比拼的是你封闭域的知识库和将知识库变现的速度和能力。我想谷歌去支持WikiData也是类似的考量。谷歌已经拥有全世界最大的知识图谱,但它很清楚自己的图谱知识缺失仍然非常严重,所以它去扶持开放社区。Freebase和WikiData数据都是免费的,但谷歌可以迅速的把这些数据集成进自己的搜索引擎并变现,这不是每家公司都能做得到的。因为它深知,没有这个开放的Web,也就用不着有谷歌。真想做好KG不能只从技术层面去想问题,方法和思路上需要有新的理念和突破。

开放的知识图谱社区

第二个方面,我们也希望从我们自身做起去努力培育开放的知识图谱社区。这方面也有不少工作都在开展,包括OpenKG.CN的资源库,国内最大的知识图谱社群,比如像今天这样的知识图谱沙龙和论坛是每月一次的,以及我们专委会在组织的一年一度的全国知识图谱大会CCKS等。

在OpenKG的资源库中,我们正在不断搜集、整理和聚集国内外主要的开放知识库,有些直接提供Dump,有些至少提供开放的API。我们也在组织整理与知识图谱有关的各种开放的工具。知识图谱是一个产品概念,它的构建和使用涉及各种技术及工具的综合使用,这包括知识表示、知识抽取、知识存储、知识链接、知识推理、知识众包、知识问答等等。我们把这些工具组织整理出来,条件成熟的时候可以开展技术评测,出版技术评测报告。这些开放的资源对于那些刚刚进入这个领域的团队或企业会有参考价值和帮助。

开放域的链接知识图谱

第三个方面,我们也会利用自身的一些资源去推动开放域的链接知识图谱的建设。首先我们考虑可以做、并正在做的一件事情是把国内几家最主要的中文百科类知识图谱链接起来。这包括Zhishi.me,CN-Dbpedia,Belief Engine、Xlore、PKUPie等等。这些百科知识图谱都已经对外提供了开放免费的API服务,有部分也会提供原始的Dump,在OpenKG.CN上都能找到。

至少在百科类的这些知识图谱中,我们已经具备了这种基础,我们已经聚集齐了国内最主要的百科知识图谱。在这些百科的知识库的基础之上,我们会逐步延伸到其他垂直领域,例如:金融、医疗、电商、气象等。我们会慢慢地去扩展,我们希望随着社区的成长,会有更多的数据接入到这个开放域的链接知识图谱中。

我想应该以我们现有的力量至少可以帮助建立这样的一个种子和示范,质量可能不一定高,但让那些想从事相关工作的朋友,至少有一个起点和基础。

CN-Schema:开放的Bot Schema

这是另外一个OpenKG在努力的工作,一会丁力博士会做更为具体的介绍。

OpenKG所面临的挑战

OpenKG其实有很多可以做的事情,前面列举的只是我们目前正在着手做的几件事,我们有不少考量和想法,会逐步寻求资源支持去尝试实施。

OpenKG是一件基础性、长期性的工作,显然需要长时间积累。我们不期望两三年就做出成效,这不是Startup。即便是Freebase从我第一次听说这个项目到2012年谷歌正式推出它的知识图谱都有差不多八年的时间。这是件需要持久耐心的事情,我想不论后期推进顺利与否,我们这几位还在高校的朋友都会托底去支撑这件事的发展,也希望有更多的朋友能参与进来支持我们。

谢谢大家!

发表评论

邮箱地址不会被公开。 必填项已用*标注