知识图谱是知识工程的分支,在人工智能领域有重要的作用。我们日常使用的搜索引擎背后的工作逻辑****、电商平台的智能推荐等都运用了知识图谱,本文主介绍知识图谱的基本概念、相关技术,以及知识图谱构建流程。通过本文可以了解什么是知识图谱,知识图谱经历的怎样的发展,知识图谱的作用,知识图谱如何建立以及相关技术。相关技术的详细情况以后会慢慢更新。
什么是知识图谱
知识图谱的概念
知识图谱是人工智能的重要分支技术,在2012年由谷歌推出,是结构化的语义知识库,用于以符号形式描述知识库及其相互关系。其基本组成单位是实体—关系—实体”三元组,以及实体及其相关属性—值对,实体间通过关系相互联结,构成网状的知识结构。
上面的图展示了知识图谱的基本结构和单元,圆圈也就是节点,代表实体,箭头也就是边,代表关系。上图中表示的知识用自然语言可以表述为“于和伟 出演 了 觉醒年代”。
同时每个节点代表的实体还存在着一些属性,比如“《觉醒年代》”这个节点,我们可以把一些基本信息作为属性,比如影片名称、发行时间、影片类型、集数等。
知识图谱都是由这些节点和边组成的网络状知识库,知识图谱建立起来后的各种应用将在后面继续讨论。
知识图谱的分类
知识图谱按照功能和应用场景可以分为通用知识图谱和领域知识图谱。其中通用知识图谱面向的是通用领域,强调知识的广度,形态通常为结构化的百科知识,针对的使用者主要为普通用户;领域知识图谱则面向某一特定领域,强调知识的深度,通常需要基于该行业的数据库进行构建,针对的使用者为行业内的从业人员以及潜在的业内人士等。
知识图谱发展历程
知识图谱的起源可以追溯至1960年,在人工智能的早起发展中,有两个主要的分支,也就是两派系**,一个是符号派,注重模拟人的心智**,研究如何用计算机符号表示人脑中的知识,以此模拟人的思考、推理过程;一个则是连接派,注重模拟人脑的生理结构,由此发展了人工神经网络。这个时候提出了Semantic Networks,也就是语义网络,作为一种知识表示的方法,主要用于自然语言理解领域。
1970年,随着专家系统的提出和商业化发展**,知识库(Knowledge Base)构建和知识表示得到重视**[1]。专家系统的主要思想认为专家是基于脑中的知识来进行决策的,所以为了实现人工智能应该用计算机符号来表示这些知识,通过推理机来模仿人脑对知识进行处理。早期的专家系统常用的知识表示方法有基于框架的语言(Frame-based Languages)和产生式规则(Production Rules)。框架语言用来描述客观世界的类别、个体、属性等,多用于辅助自然语言理解;产生式规则主要用于描述逻辑结构,用于刻画过程性知识。
框架的语言规则
产生式规则
1980年**,哲学概念“本体”(Ontology)被引入人工智能领域来刻画**知识,我理解的本体大概可以说是知识的本体,**一条知识的主体可以是人,可以是物,**可以是抽象的概念,本体就是这些知识的本体的统称。1989年,Tim Berners-Lee在欧洲高能物理研究中心发明了万维网,人们可以通过链接把自己的文档链入其中,在万维网概念的基础上,1998年又提出了语义网(Semantic Web)的概念,与万维网不同的是,链入网络的不止是网页,还包括客观实际的实体(如人、机构、地点等)。2012年谷歌发布了基于知识图谱的搜索引擎。
知识图谱作用
搜索
互联网的终极形态是万物互联,而搜索的终极目标是对万物直接进行搜索。传统的搜索是靠网页之间的超链接实现网页的搜索,而语义搜索是直接对事物进行搜索,比如人、物、机构、地点等,这些事物可以来自文本、图片、视频、音频、物联网设备等。知识图谱和语义技术提供了关于这些事物的分类、属性和关系的描述,这样搜索引擎就可以直接对事物进行搜索。比如我们想知道“《觉醒年代》的导演是谁?”,那么在进行搜素时,搜索引擎会把这句话进行分解,获得“《觉醒年代》”,“导演”,再与现有的知识库中的词条进行匹配,最后展现在用面前。传统的搜索模式下,我们进行这样的搜索后得到的通常是包含其中关键词的网页链接,我们还需要在多个网页中进行筛选。可以看出基于知识图谱的搜索更加便捷与准确。
靠网页之间的超连接实现网页的搜索
问答
人与机器通过自然语言进行问答与对话也是人工智能实现的标志之一,知识图谱也广泛应用于人机问答交互中。借助自然语言处理和知识图谱技术,比如基于语义解析**、基于图匹配、基于模式学习、基于表示学习和深度学习的知识图谱模**型。
基于语义解析
基于图匹配
基于模式学习
基于表示学习和深度学习的知识图谱模型
辅助大数据分析
知识图谱也可以用于辅助进行数据分析与决策。不同来源的知识通过知识融合进行集成,通过知识图谱和语义技术增强数据之间的关联,用户可以更直观地对数据进行分析。此外知识图谱也被广泛用于作为先验知识从文本中抽取实体和关系,也被用来辅助实现文本中的实体消歧,指代消解等。
作为先验知识从文本中抽取实体和关系
实现文本中的实体消歧和指代消解
知识图谱的构建
概述
建立一个知识图谱首先要获得数据,这些数据就是知识的来源,它们可以是一些表格、文本、数据库等。根据数据的类型可以分为结构化数据、非结构化数据和半结构化数据。结构化的数据为表格、数据库等按照一定格式表示的数据,通常可以直接用来构建知识图谱。非结构化的数据为文本、音频、视频、图片等,需要对它们进行信息抽取才能进一步建立知识图谱。半结构化数据是介于结构化和非结构化之间的一种数据**,也需要进行信息抽取才能建立知识图谱**。
拿到了不同来源的数据时**,需要对数据进行知识融合**,也就是把代表相同概念的实体合并,将多个来源的数据集合并成一个数据集。这样就得到了最终的数据,在此基础上就可以建立相应的知识图谱了。
知识图谱通过知识推理等技术获得新的知识,所以通过知识推理可以不断完善现有的知识图谱。
知识抽取
知识抽取可以分为实体识别、关系抽取、属性抽取等。目前结构化的数据时最主要的知识来源。针对结构化的数据**,知识图谱通常可以直接利用和转化,形成基础数据集,再利用知识图谱补全技术进一步扩展知识图谱**。
直接利用和转化
知识图谱补全技术
针对文本型数据这种非结构化数据,知识获取的方式主要包括实体识别、关系抽取、属性抽取等。具体的方法又包括基于特征模版的方法、基于核函数的监督学习方法、基于深度学习的方法等。
实体识别
关系抽取
属性抽取
实体识别
实体识别指在一段文本中识别哪些词代表实体,并打上标签(进行分类)。例如“演员于和伟出演了电视剧《觉醒年代》”这句话中,“于和伟”和“《觉醒年代》”就是两个实体,将他们识别出来之后会分别给“于和伟”打上“演员”的标签,给“《觉醒年代》”打上“电视剧的标签”
关系抽取
识别文本(或其他数据)中实体之间的关系。例如“演员于和伟出演了电视剧《觉醒年代》”这句话中,“出演”为“演员于和伟”与“电视剧《觉醒年代》”之间的关系。
知识表示与建模
知识表示就是指用一定的结构和符号语言来描述知识,并且能够用计算机进行推理、计算等操作的技术。知识表示的方法有:
谓词逻辑表示法
这种方法将一句话,或者说命题,当中的句子成分分为个体词、谓词、量词,通过研究它们的逻辑关系,可以进行推理。例如“π是无理数”这个命题中,“π”就是一个个题词,“是无理数”就是一个谓词,“任意无理数都是实数”这个命题中,“任意”就是一个量词,根据这两个命题,我们可以做出推理:“π是实数”。
一阶谓词逻辑具有自然性、接近自然语言、容易接受、严密性、易于转化为计算机内部形式等优点,但同时也具有无法表示不确定性知识、难以表示启发性知识及元知识、组合爆炸、效率低等缺点。
框架表示法
框架是一种描述所讨论对象(事物、事件、概念等)属性和行为的数据结构。框架的最高层次是固定的,并且它描述对于假定情况总是正确的事物,在框架的较低层次上有许多终端–被称为槽(Slots)。在槽中填入具体值,就可以得到一个描述具体事务的框架**,每一个槽都可以有一些附加说明–被称为侧面(Facet),其作用是指出槽的取值范围和求值方法等。
框架系统的数据结构和问题求解过程与人类的思维和问题求解过程相似;框架结构表达能力强,层次结构丰富,提供了有效的组织知识的手段;可以利用过去获得的知识对未来的情况进行预测**,而实际上这种预测非常接近人的知识规律,因此可以加粗样式通过框架来认识某一类事物,也可以通过一些列实例来修正框架对某些事物的不完整描述(填充空的框架,修改默认值)。
但是同时框架表示法缺乏形式理论,没有明确的推理机制保证问题求解的可行性和推理过程的严密性;由于许多实际情况与原型存在较大的差异,因此适应能力不强;框架系统中各个子框架的数据结构如果不一致会影响整个系统的清晰性,造成推理的困难。
基于语义网络表示法
语义网络利用节点和带标记的边结构的有向图描述事件、概念、状况、动作及客体之间的关系。带标记的有向图能十分自然的描述客体之间的关系。语义网络具有联想性、易用性、结构性等优点,但是也存在无形式化语法、无形式化语义,缺少统一的描述形式和表示体系。
基于语义网的表示法
语义网通过扩展现有互联网,在信息中加入表示其含义的内容,提高计算机的自动化和智能化。万维网联盟W3C制定了一系列的标准语言来对知识进行表示和建模,如RDF、RDF- S和OWL。
RDF是一系列语义网标准的核心。RDF-S(RDF Schema),在RDF的基础上提供了对类和属性的简单描述,从而给RDF数据提供词汇建模的语言。RDF和RDF-S缺少的特征:对局部值域的属性定义;类、属性、个体的等价性;不相交类的定义;基数定义;关于属性特性的描述,于是发展了OWL作为RDF-S的扩展,表达能力更强的本体构建语言。
知识图谱的主要数据模型有RDF图和属性图两种,形成了RDF数据的三元组库和属性图的图数据库。知识图谱的查询语言分为声明式和导航式两类。RDF三元组库是语义网领域发展的数据库系统,它的数据类型是RDF图,用来查询的语言是SPARQL,属于声明式查询语言,都遵循W3C标准**;图数据库的数据类型为属性图,采用声明式查询语言Cypher、PGQL**等。
知识融合
当我们想建立一个知识图谱,需要从多个来源获取数据,这些来源不同的数据可能会存在交叉、重叠,同一个概念、实体可能会反复出现,知识融合的目的就是把表示相同概念的实体进行合并,把来源不同的知识融合为一个知识库。
知识融合的主要任务包括实体消歧和指代消解,它们都用来判断知识库中的同名实体是代表同一含义、是否有其他实体也表示相同含义。实体消歧专门用于解决同名实体产生歧义的问题,通常采用聚类法、空间向量模型、语义模型等。指代消解则为了避免代词指代不清的情况。
聚类算法
空间向量
语义模型
知识推理
推理是模拟思维的基本形式之一,是从一个或多个现有判断(前提)中推断出新判断(结论)的过程。基于知识图的知识推理旨在识别错误并从现有数据中推断新结论。通过知识推理可以导出实体间的新关系,并反馈以丰富知识图,从而支持高级应用。鉴于知识图的广泛应用前景,大规模知识图的知识推理研究成为近年来自然语言处理领域的一个研究热点[2]。
本文概述了知识图谱的概念和相关技术,但是涉及到的的知识仍然比较浅,所以主要用于对知识图谱的初步了解。知识图谱方面的技术研究我也正在学习中,以后也还会更新更多关于知识图谱的技术方面的讲解,希望和大家一起学习,一起进步。敬请大家批评指正。
总结
慢慢的将知识图谱全部都搞定。会自己建立模型