人工智能 —— 知识图谱
引言初学者刚开始学习人工智能时,面对铺天盖地的概念,如,人工智能、机器学习、深度学习、计算机视觉等等,一时间可能就被这些“高深”的名称给唬住了,不知道如何下手。又或者有些同学在学习了很长时间后,问他学习的是人工智能的哪一方面,都不能清晰地回答出来,只能回答个大概,也基本上是名词堆砌。所以本篇文章的目的就是理清人工智能方面的概念,与人类智慧进行类比,让你直观感受到什么是人工智能,人工智能在做什么事,是怎样做的,一起来学习吧!
概念缩写全称音标含义AIArtificialIntelligence[ˌɑ:tiˈfiʃəlinˈtelidʒəns]人工智能MLMachineLearning[məˈʃi:nˈlə:niŋ]机器学习DLDeepLearning[diːpˈlə:niŋ]深度学习CVComputerVision[kəmˈpju:təˈviʒən]计算机视觉NLPNaturalLanguageProcessing[ˈnætʃərəlˈlæŋɡwidʒprəʊˈsesɪŋ]自然语言处理关系人工智能、机器学习、深度学习、计算机视觉、自然语言处理之间的关系:
人工智能VS人类智能上图把人工智能图谱和人类智能图片进行对比,让初学者很容易知道人工智能是什么,人工智能在做什么事,什么是真智能,什么是假智能等等。
真假智能的分辨假智能专家系统、决策树、归纳逻辑、聚类等等。人类能清楚地知道它们内部的分析过程,它们只是一个大型的复杂的程序而已。
真智能人工神经网络。它的内部是一个黑盒,它就像我们人类的大脑一样。我们不知道它内部的分析过程,不知道它是如何识别出人脸的,也不知道它是如何打败围棋冠军的。我们只是为它构造了一个躯壳而已,就像人类一样,我们只是生出了一个小孩而已,他脑子里是如何想的我们并不知道,这就是人工智能的神奇之处。
知识图谱基础概念
0.AI为什么需要知识图谱?人工智能分为三个阶段,从机器智能到感知智能,再到认知智能。
机器智能更多强调这些机器的运算的能力,大规模的集群的处理能力,GPU的处理的能力。
在这个基础之上会有感知智能,感知智能就是语音识别、图像识别,从图片里面识别出一个猫,识别人脸,是感知智能。感知智能并非人类所特有,动物也会有这样的一些感知智能。
再往上一层的认知智能,是人类所特有的,是建立在思考的基础之上的,认知的建立是需要思考的能力,而思考是建立在知识的基础之上,必须有知识的基础、有一些常识,才能建立一些思考,形成一个推理机制。
AI需要从感知智能迈向认知智能,本质上知识是一个基础,然后基于知识的推理,刚好知识图谱其实是具备这样的一个属性。
1.知识图谱发展历史与基本概念知识图谱本质上是一种大型的语义网络,它旨在描述客观世界的概念实体事件以及及其之间的关系。以实体概念为节点,以关系为边,提供一种从关系的视角来看世界。
深度学习是这个阶段大数据、人工智能火爆的原因,虽然深度学习的表示学习能力能够获得事物的底层空间特征,但这些特征是通过一个黑夹子获得,并且是一个连续的向量,人类根本无法理解,人类只能理解语义的场景。而知识图谱正是为深度学习和语义空间提供了连接,弥补了其中的沟鸿。
1.1语义网络(SemanticNetwork)语义网络可以理解为,现存的词汇都是可以串联起来的。用相互连接的节点和边来表示知识。节点表示对象、概念,边表示节点之间的关系。
语义网络的优点:
容易理解和展示。
相关概念容易聚类。
语义网络的缺点:
节点和边的值没有标准,完全是由用户自己定义。
多源数据融合比较困难,因为没有标准。
无法区分概念节点和对象节点。
无法对节点和边的标签(label,我理解是schema层,后面会介绍)进行定义。
简而言之,语义网络可以比较容易地让我们理解语义和语义关系。其表达形式简单直白,符合自然。然而,由于缺少标准,其比较难应用于实践。看过上一篇文章的读者可能已经发现,RDF的提出解决了语义网络的缺点1和缺点2,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。
1.2Ontology本体Ontology:通常翻译为“本体”。本体本身是个哲学名词。在上个世纪80年代,人工智能研究人员将这一概念引入了计算机领域。TomGruber把本体定义为“概念和关系的形式化描述”【4】。通俗点讲,本体相似于数据库中的Schema,比如足球领域,主要用来定义类和关系,以及类层次和关系层次等。OWL是最常用的本体描述语言。本体通常被用来为知识图谱定义Schema。
1.3TheSemanticWeb语义网语义互联网的核心内涵是:Web不仅仅要通过超链接把文本页面链接起来,还应该把事物链接起来,使得搜索引擎可以直接对事物进行搜索,而不仅仅是对网页进行搜索。谷歌知识图谱是语义互联网这一理念的商业化实现。也可以把语义互联网看做是一个基于互联网共同构建的全球知识库。
在万维网诞生之初,网络上的内容只是人类可读,而计算机无法理解和处理。比如,我们浏览一个网页,我们能够轻松理解网页上面的内容,而计算机只知道这是一个网页。网页里面有图片,有链接,但是计算机并不知道图片是关于什么的,也不清楚链接指向的页面和当前页面有何关系。语义网正是为了使得网络上的数据变得机器可读而提出的一个通用框架。“Semantic”就是用更丰富的方式来表达数据背后的含义,让机器能够理解数据。“Web”则是希望这些数据相互链接,组成一个庞大的信息网络,正如互联网中相互链接的网页,只不过基本单位变为粒度更小的数据,如下图。
1.4链接数据LinkedDataTimBernersLee于2006年提出,是为了强调语义互联网的目的是要建立数据之间的链接,而非仅仅是把结构化的数据发布到网上。他为建立数据之间的链接制定了四个原则【2】。从理念上讲,链接数据最接近于知识图谱的概念。但很多商业知识图谱的具体实现并不一定完全遵循Tim所提出的那四个原则。
链接数据起初是用于定义如何利用语义网技术在网上发布数据,其强调在不同的数据集间创建链接。TimBernersLee提出了发布数据的四个原则,并根据数据集的开放程度将其划分为1到5星5个层次。链接数据也被当做是语义网技术一个更简洁,简单的描述。当它指语义网技术时,它更强调“Web”,弱化了“Semantic”的部分。对应到语义网技术栈,它倾向于使用RDF和SPARQL(RDF查询语言)技术,对于Schema层的技术,RDFS或者OWL,则很少使用。链接数据应该是最接近知识图谱的一个概念,从某种角度说,知识图谱是对链接数据这个概念的进一步包装。
语义网和链接数据是万维网之父TimBernersLee分别在1998年和2006提出的。相对于语义网络,语义网和链接数据倾向于描述万维网中资源、数据之间的关系。
1.5RDF,RDFS与OWLRDF(ResourceDescriptionFramework),即资源描述框架,其本质是一个数据模型(DataModel)。它提供了一个统一的标准,用于描述实体/资源。简单来说,就是表示事物的一种方法和手段。
RDF由节点和边组成,节点表示实体/资源、属性,边则表示了实体和实体之间的关系以及实体和属性的关系。
1.6图数据库https://zhuanlan.zhihu.com/p/42351039
2.分类2.1CommonSenseKnowledgeGraph(常识知识图谱)对于CommonSenseKnowledgeGraph,一般而言我们比较在乎的Relation包括isARelation、isPropertyOfRelation。
2.2百科全书式知识图谱(EncyclopediaKnowledgeGraph对于EncyclopediaKnowledgeGraph,通常我们会预定义一些谓词,比如说DayOfbirth、LocatedIn、SpouseOf等等。
对于CommonSenseKnowledgeGraph通常带有一定的概率,但是EncyclopediaKnowledgeGraph通常就是“非黑即白”,那么构建这种知识图谱时,我们在乎的就是Precision(准确率)。
CommonSenseKnowledgeGraph比较有代表性的工作包括WordNet、KnowItAll、NELL以及MicrosoftConceptGraph。而EncyclopediaKnowledgeGraph则有Freepase、Yago、GoogleKnowledgeGraph以及正在构建中的“美团大脑”。
3.开源知识图谱当前世界范围内知名的高质量大规模开放知识图谱,包括
DBpedia[85][86]、Yago[87][88]、Wikidata[89]、BabelNet[90][91]、ConceptNet[92][93]MicrosoftConceptGraph[94][95]另外还有中文开放知识图谱平台OpenKG。
3.1OpenKG中文开放知识图谱联盟OpenKG旨在推动中文知识图谱的开放与互联,推动知识图谱技术在中国的普及与应用,为中国人工智能的发展以及创新创业做出贡献。联盟已经搭建有OpenKG.CN技术平台(图5),目前已有35家机构入驻。吸引了国内最著名知识图谱资源的加入,如Zhishi.me,CN-DBPedia,PKUBase。并已经包含了来自于常识、医疗、金融、城市、出行等15个类目的开放知识图谱。
4.应用场景知识图谱主要包含两层重要的信息:图数据结构+语义规则。
5.开发流程其中实现层大概分成六个步骤,分别是知识获取、知识抽取、知识融合、知识存储、知识推理、知识建模和知识发现,
知识获取是获取外部数据的方式,包括爬虫和实时入库的技术方法;知识抽取是对三元组进行知识的抽取,包括实体抽取、关系抽取和属性的抽取;知识融合就是在抽取出来之后,存在很多的数据冗余和噪声,要去做实体的消歧,数据的整合;知识存储实际是要构建一个三元组RDF的数据结构,如果把所有的顶点和边构造出来之后,要对他进行图数据库的存储;知识推理如果要做一些深层次的知识问答,就要做很多的训练,无论有监督的还是半监督的;知识建模更多的是去理解语义,涉及到属性的映射,实体的连接;知识发现两大主要的应用是知识的检索和知识的问答。这些构建了知识图谱的实现层。6.产品设计思路7.小结知识图谱的构建思路都差不多,首先需要从应用场景出发,结合数据情况以及技术团队的积累,探索适合产品的落地方案,在迭代过程中打磨产品和技术。
参考文献语义网络,语义网,链接数据和知识图谱科普|知识图谱相关的名词解释知识图谱基础之RDF,RDFS与OWL美团大脑:知识图谱的建模方法及其应用一文详解达观数据知识图谱技术与应用