编辑推荐: |
本文主要介绍知识图谱的应用场景以及知识图谱是如何进行落地的,希望对您的学习有所帮助。
本文来自于CSDN,由火龙果软件Alice编辑、推荐。 |
|
应用场景:征信、风控、问答、医疗、能源、舆情、反欺诈、市场营销、社交网络、企业关系等数据关系丰富的业务场景。
特征:千亿级节点关系的存储和计算,准实时响应节点搜索、多跳查询、最短路径分析等在线查询操作。支持PageRank、社群发现、相似度计算、模糊子图匹配等离线计算。
起源
2012 年 5 月 17 日,Google 正式提出了知识图谱(Knowledge
Graph)的概念,其初衷是为了优化搜索引擎返回的结果,增强用户搜索质量及体验。2013年以后开始在学术界和业界普及。
We hope this added intelligence will
give you a more complete picture of your interest,
provide smarter search results, and pique your curiosity
on new topics. We’re proud of our first baby step
— the Knowledge Graph—which will enable us to make
search more intelligent, moving us closer to the "Star
Trek computer" that I've always dreamt of building
. Enjoy your lifelong journey of discovery , made
easier by Google Search, so you can spend less time
searching and more time doing what you love.
https://googleblog.blogspot.com/2012/05
/ introducing - knowledge-graph-things-not.html
实际上,知识图谱并不是一个全新的概念。背后的本质思考,是宇宙万物之间互相连接、互相影响的思想。
https://www.youtube.com/watch?v=JlcGfwb6CDE
1998:语义网(Semantic Web) 和 关联数据(Linked
Data)
除了语义网络,人工智能的分支——专家系统,万维网之父Tim Berners
Lee于1998年提出的语义网(Semantic Web)和在2006年提出的关联数据(Linked
Data)都和知识图谱有着千丝万缕的关系,可以说它们是知识图谱前身。
目前,知识图谱并没有一个标准的定义(gold standard definition)。我在这里借用一下“Exploiting
Linked Data and Knowledge Graphs in Large Organisations”这本书对于知识图谱的定义:
A knowledge graph consists of a set of interconnected
typed entities and their attributes.
即,知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Object)。
在知识图谱中,我们用RDF形式化地表示这种三元关系。RDF(Resource Description
Framework),即资源描述框架,是W3C制定的,用于描述实体/资源的标准数据模型。RDF图中一共有三种类型,International
Resource Identifiers(IRIs),blank nodes 和 literals。下面是SPO每个部分的类型约束:
Subject可以是IRI或blank node。
Predicate是IRI。
Object三种类型都可以。
IRI我们可以看做是URI或者URL的泛化和推广,它在整个网络或者图中唯一定义了一个实体/资源,和我们的身份证号类似。
literal是字面量,我们可以把它看做是带有数据类型的纯文本,比如我们在第一个部分中提到的罗纳尔多原名可以表示为"Ronaldo
Luís Nazário de Lima"^^xsd:string。
blank node简单来说就是没有IRI和literal的资源,或者说匿名资源。关于其作用,有兴趣的读者可以参考W3C的文档,这里不再赘述。我个人认为blank
node的存在有点多余,不仅会给对RDF的理解带来额外的困难,并且在处理的时候也会引入一些问题。通常我更愿意用带有IRI的node来充当blank
node,行使其功能,有点类似freebase中CVT(compound value type)的概念。
2006:语义网(Semantic Network)
2006 年就有文献提出了语义网(Semantic Network)的概念,呼吁推广、完善使用本体模型来形式化表达数据中的隐含语义,RDF(resource
description framework,资源描述框架)模式和 OWL(Web ontology
language,万维网本体语言)就是基于上述目的产生的。用电子科技大学徐增林教授的论文原文来说:
知识图谱技术的出现正是基于以上相关研究,是对语义网标准与技术的一次扬弃与升华。
目前,随着智能信息服务应用的不断发展,知识图谱已广泛应用于智能搜索,智能问答,个性化推荐等领域。
知识图谱定义
知识图谱,本质上,是一种揭示实体之间关系的语义网络。
如果你看过网络综艺《奇葩说》第五季第17期:你是否支持全人类一秒知识共享,你也许会被辩手陈铭的辩论印象深刻。他在节目中区分了信息和知识两个概念:
1.信息是指外部的客观事实。举例:这里有一瓶水,它现在是7°。
2.知识是对外部客观规律的归纳和总结。举例:水在零度的时候会结冰。
“客观规律的归纳和总结” 似乎有些难以实现。Quora 上有另一种经典的解读,区分
“信息” 和 “知识” 。
有了这样的参考,我们就很容易理解,在信息的基础上,建立实体之间的联系,就能形成 “知识”。当然,我认为叫事实(Fact)更为合适。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Object)。
知识图谱实际上就是如此工作的。曾经知识图谱非常流行自顶向下(top-down)的构建方式。自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如
Freebase 项目就是采用这种方式,它的绝大部分数据是从维基百科中得到的。
然而目前,大多数知识图谱都采用自底向上(bottom-up)的构建方式。自底向上指的是从一些开放链接数据(也就是
“信息”)中提取出实体,选择其中置信度较高的加入到知识库,再构建实体与实体之间的联系。
从一开始的Google搜索,到现在的聊天机器人、大数据风控、证券投资、智能医疗、自适应教育、推荐系统,无一不跟知识图谱相关。它在技术领域的热度也在逐年上升。
目前,随着智能信息服务应用的不断发展,知识图谱已被广泛应用于智能搜索、智能问答、个性化推荐、情报分析、反欺诈等领域。另外,通过知识图谱能够将Web上的信息、数据以及链接关系聚集为知识,使信息资源更易于计算、理解以及评价,并且形成一套Web语义知识库。知识图谱以其强大的语义处理能力与开放互联能力,可为万维网上的知识互联奠定扎实的基础,使Web
3.0提出的“知识之网”愿景成为了可能。
知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。
知识图谱是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。它能为学科研究提供切实的、有价值的参考。
深度学习(Deep Learning)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
拥有全世界最大的社交知识图谱,而阿里巴巴和亚马逊则构建了商品知识图谱。
在人工智能历史上很多系统都是基于知识的系统,有一种系统更多的是针对比较小群体的行为,比如说使用基于规则的专家系统来检查信用的,且已经用了很多年了;还有一种系统,在进行机器学习之前做研究行为,我们见到的更多是经典的反应性机器学习。
来自:https://www.youtube.com/watch?v=mmQl6VGvX-c&feature=youtu.be
后来在90年代的时候,机器学习崛起,并在2000年之后变得更加的成功,也有很多的分类还有方法,我们现在的话在两侧都有机器学习。比如像谷歌的机器翻译,还有很多新的系统是用于自动驾驶,另外还有语音理解。
像人工翻译只能理解它能够理解的东西,但是谷歌的某些机器翻译是像鹦鹉学舌一样进行学习,他们学习特定的行为。但是,它们对语言本身没有任何理解,它们本身也没有的固有知识,有的只是隐性知识。因此它们无法理解中文或中文的属性。
另外,我们还有一种是IBM的Watson和聊天机器人,它们需要控制大量的结构化知识,而且这些知识是动态的,将这些知识放到深度学习多层神经网络中并不是优选的策略。DFKI也是这样一种系统。
未来我们会开发出一些可以作预测的超人类人工智能,可以更好地结合两者,这是我们接下来的重要一步。我刚才已经说过这些系统没有真正的知识,所以说我们把它叫做“狭义人工智能”。比如,系统不能做些其他系统的任务:能下围棋的系统不能做翻译,能翻译的系统不能做驾驶,能驾驶的系统不能做翻译。
机器可以模仿和学习人类的行为,比如说学习世界顶级棋手的下棋方式;我们驾驶的系统可以从人的驾驶行为中学习,并能避免发生事故;翻译的机器人可以同时翻译几十种不同的语言,人是做不到这一点的。
“数据、算法、算力”三位一体过去数十年的人工智能浪潮,主要基于深度学习的爆发,以语音识别、计算机视觉为代表的感知智能技术,享受“数据、算法、算力”三位一体的红利得到充分发展,而以自然语言处理、知识图谱等为代表的认知智能技术,目前形成的市场规模远不及前两者,尤其是相比于已经成长为庞然大物的计算机视觉。
智能商业
过程监督,比如说像生产、物流等;然后是偏差分析;
决策辅助措施选择。大部分决策由人类的决策者作出,但是有一些决策时可以自动生成;
为流程优化提供方案。这不是由人类进行的流程优化;
预测性分析。用以协助作出预测和规划,以及对半自动控制的预测性分析。在生产方面不需要人就可以进行优化的情况很少,比如说物流、机器部件的运动,材料的高效利用等,如果要做长期规划的话,还是需要由人类完成。
过程监督,比如说像生产、物流等;然后是偏差分析;
决策辅助措施选择。大部分决策由人类的决策者作出,但是有一些决策时可以自动生成;
为流程优化提供方案。这不是由人类进行的流程优化;
预测性分析。用以协助作出预测和规划,以及对半自动控制的预测性分析。在生产方面不需要人就可以进行优化的情况很少,比如说物流、机器部件的运动,材料的高效利用等,如果要做长期规划的话,还是需要由人类完成。
工业 4.0:
智能工厂另外的话还有智能工厂,这是工业4.0的一个概念,里面包含了很多组成部分。在智能工厂里面,所有的设备、产品都是通过物联网进行连接。所有生产是通过产品记忆来进行操作,产品在进行周转时,机器会告诉它要做些什么。无需对机器进行重新编程,机器通过产品学习。产品周转到一个设备之后,机器会告诉设备要对它进行什么操作,所有这些流程都是通过协作来完成的。比如说一个产品来了之后可以等待一段时间,这是通过技术互联来实现的。
另外我们还有智能移动、智能物流、智能电网、智能建筑,所有这些结合在一起形成一个空间。实际上商业分析就是要收集智能工厂里的数据。现在对商业分析最为重要的是把企业内部和外部的数据结合起来。但是却被大多数人忽视,因为现在人们主要关注的是怎么样把企业本身进行数字化,以及怎么把生产、规划、物流等企业运作流程数字化,利用算法来和数据流进行管理。
但是对公司来说,最为重要的是公司以外的东西,为什么是这样呢?因为出钱的客户在公司外,供应商也是,甚至工人下班之后也要回家,也是就是到了公司外部。另外政策制定者、税务人员等都是在企业外部。所以智能的核心就是把这些内部的信息和外部的信息结合在一起,先是把外部的数据和内部的数据进行对接。比如说我们产品的一些功能不太受欢迎,我们就生产大量没有改功能,这样才能够适合外部的需求,这样的话就可以简化问题。很多东西都是基于外部的,接下来我们来看下一点。
现在我们正利用人工智能化进行企业内外数据的连接,现在这两类数据结合的还不是很好。总体而言,社会完成数字化转型也包含两部分内容。一部分是内部的东西,比如说网络物理系统、物联网、智能企业,另外还有开放领域的东西,比如语义网络、数据和知识社区。我们在企业内部谈论的是数据库或数据中心,企业通常有很多关于消费者产品、财务的数据,在外面的话是完全不同的数据库,比如维基百科等。这些数据库属于不同的世界,现在还没有结合在一起。
结构化的知识
我想说明一下图中的“小泡”,也就是是开放数据连接“小泡”。我不知道你们有多少人从事这个领域,我之后可能会介绍。外部有很多东西,公司内部也有一些其他的东西,我们都知道公共知识有很大的增长,我们利用它可以做很多事情。如果说我们把整个维基百科中的东西都印刷出来,就像印刷出版《百科全书》那样,那会是多么庞大的工作。
公共知识为什么对我们来说会如此重要?这些非结构化的数据以文本形式储存在图书馆,因为收集整理这些数据是迈向数据结构化的重要一步。另外我们还有知识图谱,比如谷歌将最早的免费知识图谱进行完善,然后免费将其回馈给社会,还有像Bing、百度等也在做这项工作,这跟建造工厂不是一回事。
将企业内部数据与开放数据、开放知识和新媒体(比如新闻媒体、电视、社交媒体)内容进行整合;
将知识图谱和开源办法和工具连接起来;
将数据分析整合到强大的大数据技术中;因为不久以后数据就会变得非常庞大,无法用常规的技术进行处理。
结合使用结构化方法、统计方法和深度学习分析异构数据;
为新型数据价值链构建可行商业模型和法律框架。在欧洲几乎一切成果都受严格的知识产权保护,同时也受数据隐私和数据安全方面的权利保护。因此我们与律师们进行合作,如果没有他们,我们就无法在欧洲完成如此庞大的工作。
将企业内部数据与开放数据、开放知识和新媒体(比如新闻媒体、电视、社交媒体)内容进行整合;
将知识图谱和开源办法和工具连接起来;
将数据分析整合到强大的大数据技术中;因为不久以后数据就会变得非常庞大,无法用常规的技术进行处理。
结合使用结构化方法、统计方法和深度学习分析异构数据;
为新型数据价值链构建可行商业模型和法律框架。在欧洲几乎一切成果都受严格的知识产权保护,同时也受数据隐私和数据安全方面的权利保护。
基于机器学习的知识库的问答
这里面它的基本思想是把问题建模成一个 embedding,然后对知识图谱也做
embedding,变成一个个向量,这个问答就转换成了一个相似度匹配的问题,把知识库里的子图的向量跟问题对应子图进行相似度匹配。
知识图谱的架构知识图谱在架构上分,可以分为逻辑架构和技术架构。
逻辑架构
知识图谱在逻辑上可分为模式层与数据层两个层次。
模式层构建在数据层之上,是知识图谱的核心,通常采用本体库来管理知识图谱的模式层。本体是结构化知识库的概念模板,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。
模式层:实体-关系-实体,实体-属性-性值
数据层主要是由一系列的事实组成,而知识将以事实为单位进行存储。如果用(实体1,关系,实体2)、(实体、属性,属性值)这样的三元组来表达事实,可选择图数据库作为存储介质,例如开源的Neo4j、Twitter的FlockDB、sones的GraphDB等。
数据层:比尔盖茨-妻子-梅琳达·盖茨,比尔盖茨-总裁-微软
知识图谱架构
知识图谱的整体架构如下图所示,其中虚线框内的部分为知识图谱的构建过程,同时也是知识图谱更新的过程。
我们来一步一步的分析下这张图。
虚线框的最左边是三种输入数据结构,结构化数据、半结构化数据、非结构化数据。这些数据可以来自任何地方,只要它对要构建的这个知识图谱有帮助。
虚线框里面的是整个的知识图谱的构建过程。其中主要包含了3个阶段,信息抽取、知识融合、知识加工。
最右边是生成的知识图谱,而且这个技术架构是循环往复,迭代更新的过程。知识图谱不是一次性生成,是慢慢积累的过程。
信息抽取:从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达;
知识融合:在获得新知识之后,需要对其进行整合,以消除矛盾和歧义,比如某些实体可能有多种表达,某个特定称谓也许对应于多个不同的实体等;
知识加工:对于经过融合的新知识,需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分加入到知识库中,以确保知识库的质量。
其实我们的构建知识图谱的过程,就是信息抽取、知识融合、知识加工三个过程,但是这三个过程都有各自的难点,下文通过从这三个模块出发,解析这三个模块说要解决的问题,会遇到的难点。
信息抽取
信息抽取(infromation extraction)是知识图谱构建的第1步,其中的关键问题是:如何从异构数据源中自动抽取信息得到候选指示单元?
信息抽取是一种自动化地从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息的技术。
涉及的关键技术包括:实体抽取、关系抽取和属性抽取。
实体抽取(Entity Extraction)
实体抽取又称为命名实体识别(named entity recognition,NER),是指从文本数据集中自动识别出命名实体。实体抽取的质量(准确率和召回率)对后续的知识获取效率和质量影响极大,因此是信息抽取中最为基础和关键的部分。
2012年Ling等人归纳出112种实体类别,并基于条件随机场CRF进行实体边界识别,最后采用自适应感知机算法实现了对实体的自动分类,取得了不错的效果。
但是随着互联网中内容的动态变化,采用人工预定义实体分类体系的方式已经很难适应时代的需求,因此提出了面向开放域的实体识别和分类研究。
在面向开放域的实体识别和分类研究中,不需要(也不可能)为每个领域或者每个实体类别建立单独的语料库作为训练集。因此,该领域面临的主要挑战是如何从给定的少量实体实例中自动发现具有区分力的模型。
一种思路是根据已知的实体实例进行特征建模,利用该模型处理海量数据集得到新的命名实体列表,然后针对新实体建模,迭代地生成实体标注语料库。
另一种思路是利用搜索引擎的服务器日志,事先并不给出实体分类等信息,而是基于实体的语义特征从搜索日志中识别出命名实体,然后采用聚类算法对识别出的实体对象进行聚类。
关系抽取(Relation Extraction)
文本语料经过实体抽取,得到的是一系列离散的命名实体,为了得到语义信息,还需要从相关的语料中提取出实体之间的关联关系,通过关联关系将实体(概念)联系起来,才能够形成网状的知识结构,研究关系抽取技术的目的,就是解决如何从文本语料中抽取实体间的关系这一基本问题。
1.人工构造语法和语义规则(模式匹配)
2.统计机器学习方法
3.基于特征向量或核函数的有监督学习方法
4.研究重点转向半监督和无监督
5.开始研究面向开放域的信息抽取方法
6.将面向开放域的信息抽取方法和面向封闭领域的传统方法结合
属性抽取(Attribute Extraction)
属性抽取的目标是从不同信息源中采集特定实体的属性信息。例如针对某个公众人物,可以从网络公开信息中得到其昵称、生日、国籍、教育背景等信息。属性抽取技术能够从多种数据来源中汇集这些信息,实现对实体属性的完整勾画。
将实体的属性视作实体与属性值之间的一种名词性关系,将属性抽取任务转化为关系抽取任务。
基于规则和启发式算法,抽取结构化数据
基于百科类网站的半结构化数据,通过自动抽取生成训练语料,用于训练实体属性标注模型,然后将其应用于对非结构化数据的实体属性抽取。
采用数据挖掘的方法直接从文本中挖掘实体属性和属性值之间的关系模式,据此实现对属性名和属性值在文本中的定位。
知识融合
通过信息抽取,我们就从原始的非结构化和半结构化数据中获取到了实体、关系以及实体的属性信息。
如果我们将接下来的过程比喻成拼图的话,那么这些信息就是拼图碎片,散乱无章,甚至还有从其他拼图里跑来的碎片、本身就是用来干扰我们拼图的错误碎片。
拼图碎片(信息)之间的关系是扁平化的,缺乏层次性和逻辑性;
拼图(知识)中还存在大量冗杂和错误的拼图碎片(信息)
那么如何解决这一问题,就是在知识融合这一步里我们需要做的了。
知识融合包括2部分内容:实体链接,知识合并
实体链接
实体链接(entity linking):是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。
其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象。
研究历史:
仅关注如何将从文本中抽取到的实体链接到知识库中,忽视了位于同一文档的实体间存在的语义联系。
开始关注利用实体的共现关系,同时将多个实体链接到知识库中。即集成实体链接(collective entity
linking)
实体链接的流程:
从文本中通过实体抽取得到实体指称项。
进行实体消歧和共指消解,判断知识库中的同名实体与之是否代表不同的含义以及知识库中是否存在其他命名实体与之表示相同的含义。
在确认知识库中对应的正确实体对象之后,将该实体指称项链接到知识库中对应实体。
实体消歧:专门用于解决同名实体产生歧义问题的技术,通过实体消歧,就可以根据当前的语境,准确建立实体链接,实体消歧主要采用聚类法。其实也可以看做基于上下文的分类问题,类似于词性消歧和词义消歧。
共指消解:主要用于解决多个指称对应同一实体对象的问题。在一次会话中,多个指称可能指向的是同一实体对象。利用共指消解技术,可以将这些指称项关联(合并)到正确的实体对象,由于该问题在信息检索和自然语言处理等领域具有特殊的重要性,吸引了大量的研究努力。共指消解还有一些其他的名字,比如对象对齐、实体匹配和实体同义。
知识合并
在构建知识图谱时,可以从第三方知识库产品或已有结构化数据获取知识输入。
常见的知识合并需求有两个,一个是合并外部知识库,另一个是合并关系数据库。
将外部知识库融合到本地知识库需要处理两个层面的问题:
数据层的融合,包括实体的指称、属性、关系以及所属类别等,主要的问题是如何避免实例以及关系的冲突问题,造成不必要的冗余
通过模式层的融合,将新得到的本体融入已有的本体库中
然后是合并关系数据库,在知识图谱构建过程中,一个重要的高质量知识来源是企业或者机构自己的关系数据库。为了将这些结构化的历史数据融入到知识图谱中,可以采用资源描述框架(RDF)作为数据模型。业界和学术界将这一数据转换过程形象地称为RDB2RDF,其实质就是将关系数据库的数据换成RDF的三元组数据。
知识加工
在前面,我们已经通过信息抽取,从原始语料中提取出了实体、关系与属性等知识要素,并且经过知识融合,消除实体指称项与实体对象之间的歧义,得到一系列基本的事实表达。
然而事实本身并不等于知识。要想最终获得结构化,网络化的知识体系,还需要经历知识加工的过程。
知识加工主要包括3方面内容:本体构建、知识推理和质量评估。
本体构建
本体(ontology)是指工人的概念集合、概念框架,如“人”、“事”、“物”等。
本体可以采用人工编辑的方式手动构建(借助本体编辑软件),也可以以数据驱动的自动化方式构建本体。因为人工方式工作量巨大,且很难找到符合要求的专家,因此当前主流的全局本体库产品,都是从一些面向特定领域的现有本体库出发,采用自动构建技术逐步扩展得到的。
自动化本体构建过程包含三个阶段:
实体并列关系相似度计算
实体上下位关系抽取
本体的生成
比如对下面这个例子,当知识图谱刚得到“阿里巴巴”、“腾讯”、“手机”这三个实体的时候,可能会认为它们三个之间并没有什么差别,但当它去计算三个实体之间的相似度后,就会发现,阿里巴巴和腾讯之间可能更相似,和手机差别更大一些。
这就是第一步的作用,但这样下来,知识图谱实际上还是没有一个上下层的概念,它还是不知道,阿里巴巴和手机,根本就不隶属于一个类型,无法比较。因此我们在实体上下位关系抽取这一步,就需要去完成这样的工作,从而生成第三步的本体。
当三步结束后,这个知识图谱可能就会明白,“阿里巴巴和腾讯,其实都是公司这样一个实体下的细分实体。它们和手机并不是一类。”
知识推理
在我们完成了本体构建这一步之后,一个知识图谱的雏形便已经搭建好了。但可能在这个时候,知识图谱之间大多数关系都是残缺的,缺失值非常严重,那么这个时候,我们就可以使用知识推理技术,去完成进一步的知识发现。
我们可以发现:如果A是B的配偶,B是C的主席,C坐落于D,那么我们就可以认为,A生活在D这个城市。
根据这一条规则,我们可以去挖掘一下在图里,是不是还有其他的path满足这个条件,那么我们就可以将AD两个关联起来。除此之外,我们还可以去思考,串联里有一环是B是C的主席,那么B是C的CEO、B是C的COO,是不是也可以作为这个推理策略的一环呢?
当然知识推理的对象也并不局限于实体间的关系,也可以是实体的属性值,本体的概念层次关系等。
推理属性值:已知某实体的生日属性,可以通过推理得到该实体的年龄属性;
推理概念:已知(老虎,科,猫科)和(猫科,目,食肉目)可以推出(老虎,目,食肉目)
这一块的算法主要可以分为3大类,基于逻辑的推理、基于图的推理和基于深度学习的推理。
质量评估
质量评估也是知识库构建技术的重要组成部分,这一部分存在的意义在于:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量。
知识更新
从逻辑上看,知识库的更新包括概念层的更新和数据层的更新。
概念层的更新是指新增数据后获得了新的概念,需要自动将新的概念添加到知识库的概念层中。
数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性(是否存在矛盾或冗杂等问题)等可靠数据源,并选择在各数据源中出现频率高的事实和属性加入知识库。
知识图谱的内容更新有两种方式:
全面更新:指以更新后的全部数据为输入,从零开始构建知识图谱。这种方法比较简单,但资源消耗大,而且需要耗费大量人力资源进行系统维护;
增量更新:以当前新增数据为输入,向现有知识图谱中添加新增知识。这种方式资源消耗小,但目前仍需要大量人工干预(定义规则等),因此实施起来十分困难。
通过知识图谱,不仅可以将互联网的信息表达成更接近人类认知世界的形式,而且提供了一种更好的组织、管理和利用海量信息的方式。目前的知识图谱技术主要用于智能语义搜索、移动个人助理(Siri)以及深度问答系统(Watson),支撑这些应用的核心技术正是知识图谱技术。
在智能语义搜索中,当用户发起查询时,搜索引擎会借助知识图谱的帮助对用户查询的关键词进行解析和推理,进而将其映射到知识图谱中的一个或一组概念之上,然后根据知识图谱的概念层次结构,向用户返回图形化的知识结构,这就是我们在谷歌和百度的搜索结果中看到的知识卡片。
在深度问答应用中,系统同样会首先在知识图谱的帮助下对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化成结构化形式的查询语句,然后在知识图谱中查询答案。比如,如果用户提问:『如何判断是否感染了埃博拉病毒?』,则该查询有可能被等价变换为『埃博拉病毒的症状有哪些?』,然后再进行推理变换,最终形成等价的三元组查询语句,如(埃博拉,症状,?)和(埃博拉,征兆,?)等。如果由于知识库不完善而无法通过推理解答用户的问题,深度问答系统还可以利用搜索引擎向用户反馈搜索结果,同时根据搜索结果更新知识库,从而为回答后续的提问提前做出准备。
图数据存储
大规模领域知识图谱的存储与计算
基于图数据的混合存储
大规模领域知识图谱的存储方案一般都会使用到图数据库。
图数据库天然适合存储知识图谱中的实体和实体间的关系。
然而在大部分领域中,图存储并不等于知识图谱存储。绝大多数领域不光有实体关系数据,如时空轨迹、标签、推理规则等也是领域内重要的知识数据。
近来领域知识图谱的存储多采用混合存储模型,将知识库中的元素针对各自的特点使用多种数据结构存储,并保证数据的最终一致性。
下面这张图是当前图数据库的使用排名,单从数据库的角度出发,也可以看到越来越多支持图数据存储的数据库都已经支持多类数据模型。
知识图谱已成AI下一风口,但你知道它进展到哪了吗?
来源:https://db-engines.com/en/ranking/graph+dbms
在一些领域的知识存储中,很容易碰到超级节点和关系爆炸的问题。在数据推演过程中碰到超级节点或者超级边如何保证系统性能一直是一个挑战。
程序性知识的存储
目前基于通用知识图谱的推理技术已经取得了很多进展,推理技术可以分为基于符号的推理和基于统计的推理。
基于符号的技术指的是通过规则和经典逻辑,而基于统计的技术指的是应用机器学习算法。
我们常常将领域知识图谱比作领域的大脑,大脑是具有思维和学习能力的。
领域知识图谱中的数据可以分为陈述性知识和程序性知识,陈述性知识就像大脑中的记忆,而程序性知识则是大脑中的思维。程序性知识可以是领域专家的行业经验的程序化,也可以是一条行业规则或是一段行业逻辑,甚至是一个组合起来的复杂模型。
如何以一种统一的形式存储程序性知识,将人类的思维路径转化为机器的路径,也是当前业界常讨论的一个热点问题。
不断产生新知识数据
目前智能应用的需求越来越丰富,领域知识图谱为了支撑上层应用也需要更加智能,汇总更多的知识数据。知识图谱与数据挖掘的关系往往是相辅相成的。知识图谱不仅汇总经过治理的知识数据,还应该将产生的知识进一步应用到机器学习算法中,不断产生新的知识反哺知识库,就像大脑在不断学习的过程一样。下图展示了通过知识增强机器学习的过程来不断丰富知识图谱的内容,最终使应用更加智能。
知识图谱已成AI下一风口,但你知道它进展到哪了吗?
3. 知识图谱交互的进展
在领域知识图谱中获取知识除了使用查询语言,越来越多的研究也放在使用自然语言作为交互的入口,也就是实现基于领域知识图谱的问答。智能问答涉及的自然语言处理技术较多,需要做自然语言理解和意图识别等工作。
接受用户输入的自然语言,通过 NER 组件、duckling 规则模型、领域词典、biLSTM/CRF
等模型识别通用实体及领域实体,并完成实体标准化。
其次,通过内置的深度学习模型,对实体进行向量化表示、将句子转化为时序向量,输入
LSTM 层自动提取语言特征,特征通过全连接网络层进行意图分类。用户仅需提供特定业务领域的语料数据,启动在线训练,即可得到一个该领域的深度学习模型。通过该深度学习模型,可计算出自然语言对应的每个意图的概率,并将实体填入意图的标准化空槽(即检索条件),从而完成基于自然语言理解的意图操作。
知识图谱已成AI下一风口,但你知道它进展到哪了吗?
4. 落地领域知识图谱应用
领域知识图谱的应用目前集中在搜索、推荐、问答、解释和辅助决策等方面。也有越来越多的企业将知识图谱作为云平台或数据中台的基础数据服务提供给上层应用消费。
高效的落地领域知识图谱应用是一个工程性很强的工作,它不光要有效的解决上述技术上的难点,而且要有一套完整的方法论和落地流程。
知识图谱已成AI下一风口,但你知道它进展到哪了吗?
打通感知和认知
领域知识图谱是认知智能的基础,但人工智能在行业真正落地发挥威力,往往是打通感知和认知的结果,通过完整的人工智能能力为行业提供整合服务。感知计算本质上是为认知计算提供数据基础。目前行业中感知计算对各类结构化数据、非结构化数据、文本、图像、视频等多维数据的处理过程,处理的结果形成“符号”进入知识图谱。优秀行业智能解决方案需要链接行业中业已成熟的感知技术、认知技术以及其它所有组件。
知识图谱与推荐系统
知识图谱包含了实体之间丰富的语义关联,为推荐系统提供了潜在的辅助信息来源。知识图谱在诸多推荐场景中都有应用的潜力,例如电影、新闻、景点、餐馆、购物等。和其它种类的辅助信息相比,知识图谱的引入可以让推荐结果更加具有以下特征:
精确性(precision)。知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣;
多样性(diversity)。知识图谱提供了不同的关系连接种类,有利于推荐结果的发散,避免推荐结果局限于单一类型;
可解释性(explainability)。知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。
这里值得一提的是知识图谱和物品属性的区别。物品属性可以看成是在知识图谱中和某物品直接相连的一跳(1-hop)的节点,即一个弱化版本的知识图谱。事实上,一个完整的知识图谱可以提供物品之间更深层次和更长范围内的关联,例如,“《霸王别姬》-张国荣-香港-梁朝伟-《无间道》”。正因为知识图谱的维度更高,语义关系更丰富,它的处理也因此比物品属性要更加复杂和困难。
一般来说,现有的可以将知识图谱引入推荐系统的工作分为两类:
以LibFM为代表的通用的基于特征的推荐方法(generic feature-based
methods)。这类方法统一地把用户和物品的属性作为推荐算法的输入。例如,LibFM将某个用户和某个物品的所有属性记为x,然后令该用户和物品之间的交互强度y(x)依赖于属性中所有的一次项和二次项:
基于该类方法的通用性,我们可以将知识图谱弱化为物品属性,然后应用该类方法即可。当然,这种做法的缺点也显而易见:**它并非专门针对知识图谱设计,因此无法高效地利用知识图谱的全部信息**。例如,该类方法难以利用多跳的知识,也难以引入关系(relation)的信息。
以PER [2]、MetaGraph[3]为代表的基于路径的推荐方法(path-based
methods)。该类方法将知识图谱视为一个异构信息网络(heterogeneous information
network),然后构造物品之间的基于meta-path或meta-graph的特征。简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。这类方法的优点是充分且直观地利用了知识图谱的网络结构,缺点是需要手动设计****meta-path****或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。
知识图谱特征学习
知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。事实上,知识图谱特征学习是网络特征学习(network
embedding)的一个子领域,因为知识图谱包含特有的语义信息,所以知识图谱特征学习比通用的网络特征学习需要更细心和针对性的模型设计。一般而言,知识图谱特征学习的模型分类两类:
基于距离的翻译模型(distance-based translational
models)。这类模型使用基于距离的评分函数评估三元组的概率,将尾节点视为头结点和关系翻译得到的结果。这类方法的代表有TransE、TransH、TransR等;
基于语义的匹配模型(semantic-based matching
models)。这类模型使用基于相似度的评分函数评估三元组的概率,将实体和关系映射到隐语义空间中进行相似度度量。这类方法的代表有SME、NTN、MLP、NAM等。
由于知识图谱特征学习为每个实体和特征学习得到了一个低维向量,而且在向量中保持了原图的结构和语义信息,所以一组好的实体向量可以充分且完全地表示实体之间的相互关系,因为绝大部分机器学习算法都可以很方便地处理低维向量输入。因此,利用知识图谱特征学习,我们可以很方便地将知识图谱引入各种推荐系统算法中。概括地说,知识图谱特征学习可以:
降低知识图谱的高维性和异构性;
增强知识图谱应用的灵活性;
减轻特征工程的工作量;
减少由于引入知识图谱带来的额外计算负担。
知识图谱的建模方法及其应用:美团大脑
作为人工智能时代最重要的知识表示方式之一,知识图谱能够打破不同场景下的数据隔离,为搜索、推荐、问答、解释与决策等应用提供基础支撑。
下面我简单地介绍一下美团大脑是如何进行构建的。我们会使用 Language
Model(统计语言模型)、Topic Model(主题生成模型) 以及 Deep Learning
Model(深度学习模型) 等各种模型,希望能够做到商家标签的挖掘,菜品标签的挖掘和情感分析的挖掘等等。
为了挖掘商户标签,首先我们要让机器去阅读评论。我们使用了无监督和有监督的深度学习模型。
无监督模型我们主要用了LDA,它的特点是成本比较低,无需标注的数据。当然,它准确性会比较不可控,同时对挖掘出来的标签我们还需要进行人工的筛选。至于有监督的深度学习模型,那么我们用了
LSTM,它的特点是需要比较大量的标注数据。
通过这两种模型挖掘出来的标签,我们会再加上知识图谱里面的一些推理,最终构建出商户的标签。
如果这个商户有很多的评价,都是围绕着宝宝椅、带娃吃饭、儿童套餐等话题,那么我们就可以得出很多关于这个商户的标签。比如说我们可以知道它是一个亲子餐厅,它的环境比较别致,它的服务比较热情。
下面介绍一下我们如何对菜品进行标签的挖掘?我们使用了 Bi-LSTM
以及 CRF 模型。比如说从这个评论里面我们就可以抽取出这样的 entity,再通过与其他的一些菜谱网站做一些关联,我们就可以得到它的食材、烹饪方法、口味等信息,这样我们就为每一个店菜挖掘出了非常丰富的口味标签、食材标签等各种各样的标签。
下面再简单介绍一下我们如何进行评论数据的情感挖掘。我们用的是 CNN+LSTM 的模型,对于每一个用户的评价我们都能够分析出他的一些情感的倾向。同时我们也正在做细粒度的情感分析,我们希望能够通过用户短短的评价,分析出他在不同的维度,比如说交通、环境、卫生、菜品、口味等方面的不同的情感分析的结果。这种细粒度的情感分析果,目前在全世界都没有很好的解决办法。
下面介绍一下我们的知识图谱是如何进行落地的。目前业界知识图谱已经有非常多的成熟应用,比如搜索、推荐、问答机器人、智能助理,包括在穿戴设备、反欺诈、临床决策上都有非常好的应用。同时业界也有很多的探索,包括智能的商业模式、智能的市场洞察、智能的会员体系等等。
如何用知识图谱来改进我们的搜索?如果大家现在打开大众点评,当大家搜索某一个菜品时,比如说麻辣小龙虾,其实我们的机器是已经帮大家提前阅读了所有的评价,然后分析出提供这道菜品的商家,我们还会用用户评论的情感分析结果来改进搜索排序。
此外,我们也将它用在了商圈的个性化推荐。当大家打开大众点评时,如果你现在位于某一个商场或者商圈,那么大家很快就能够看到这个商场或者商圈的页面入口。当用户进入这个商场和商户的页面时,通过知识图谱我们就能够提供千人千面的个性化排序和个性化推荐。
在这背后其实使用了一个水波的深度学习模型,关于这个深度学习模型更详细的介绍,大家可以参见我们在 CIKM
上的一篇论文。
所有的这一切其实还有很多的技术突破等待我们的解决。比如整个美团大脑的知识图谱在百亿的量级,是世界上最大的餐饮娱乐知识图谱。为了支撑这个知识图谱,我们需要去研究千亿级别的图存储和计算引擎技术。我们也正在搭建一个超大规模的
GPU 集群,来支持海量数据的深度学习算法。未来当所有的这些技术都 ready 之后,我们希望能够为所有用户提供智慧餐厅和智能助理的体验。
知识图谱成为AI应用行业的先决条件
人工智能已受到各行各业的关注,不只是BAT在战略投资人工智能,金融、汽车、零售、娱乐、制造等等行业都在积极拥抱人工智能技术。然而,人工智能要在行业中得到应用的先决条件,首先要对行业建立起认知,只有理解了行业和场景,才能真正智能化。说白了,就是要建立行业知识图谱,才能给行业AI方案。
一个例子是零售行业,如果真要实现个性化的商品推荐,机器必须理解不同商品的特性,以及商品与销售场景(如季节、地区、时段)、与促销行为(打折、送券)、与用户需求之间的关系,才能推荐满足用户需求的产品。这也是一个优秀的推销员或商场导购的思考逻辑。然而,要理解这些要素之间的联系,就必须构建零售行业的知识图谱,且需要不断动态学习来完善认知,才能进行有效的推荐,这就是“零售知识图谱”。当然,针对不同的零售细分领域,比如美妆、3C、食品等,可能又要建立完全不同的知识图谱,就像人类社会的细分一样,在每个行业都建立起特有的知识图谱。
类似逻辑同样适用于客服、金融、制造、娱乐等场景,总而言之,人工智能要在一个行业得到应用的前提,就是要让机器建立起对应行业的认知,形成行业知识图谱。
“人工智能与传统产业融合的过程中,要想为这个行业提供更好的服务,就需要对这个行业进行定制化,要有行业知识,这时候就需要在通用知识图谱的基础上,有相应的行业知识图谱,进而帮助这个行业提升生产力,帮助这些行业、产业升级。”
机器通过人工智能技术与用户的互动,从中获取数据、优化算法,更重要的是构建和完善知识图谱,认知和理解世界,进而服务于这个世界,让人类的生活更加美好。
|