本文目录一览:
知识图谱中的 三元组 是什么意思
举个例子,盐湖-矿藏-氯化钠(盐)XYZ,也就是盐湖是个拥有氯化钠的矿藏,三个要素穿插关联。
知识图谱概念是什么?
知识图谱的概念是:知识图谱是自顶向下(top-down)的构建方式。自顶向下指的是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。
该构建方式需要利用一些现有的结构化知识库作为其基础知识库,例如 Freebase 项目就是采用这种方式,它的绝大部分数据是从维基百科中得到的。
然而目前,大多数知识图谱都采用自底向上(bottom-up)的构建方式。自底向上指的是从一些开放连接数据(也就是 “信息”)中提取出实体,选择其中置信度较高的加入到知识库,再构建实体与实体之间的联系。
知识图谱的体系架构是:
知识图谱的架构主要包括自身的逻辑结构以及体系架构。
知识图谱在逻辑结构上可分为模式层与数据层两个层次,数据层主要是由一系列的事实组成,而知识将以事实为单位进行存储。
如果用(实体1,关系,实体2)、(实体、属性,属性值)这样的三元组来表达事实,可选择图数据库作为存储介质,例如开源的 Neo4j、Twitter 的 FlockDB、JanusGraph 等。
模式层构建在数据层之上,主要是通过本体库来规范数据层的一系列事实表达。本体是结构化知识库的概念模板,通过本体库而形成的知识库不仅层次结构较强,并且冗余程度较小。
大规模知识库的构建与应用需要多种智能信息处理技术的支持。通过知识抽取技术,可以从一些公开的半结构化、非结构化的数据中提取出实体、关系、属性等知识要素。通过知识融合,可消除实体、关系、属性等指称项与事实对象之间的歧义,形成高质量的知识库。
知识推理则是在已有的知识库基础上进一步挖掘隐含的知识,从而丰富、扩展知识库。分布式的知识表示形成的综合向量对知识库的构建、推理、融合以及应用均具有重要的意义。
技术 | 知识图谱构建关键技术点梳理
本文主要内容整理自知识图谱两篇代表性综述:
1. 徐增林,盛泳潘,贺丽荣,王雅芳. 知识图谱技术综述[J]. 电子科技大学学报(4期):589-606.
2. 刘峤, 李杨, 段宏, et al. 知识图谱构建技术综述 [J]. 计算机研究与发展, 2016(3):582-600,共19页.
文章从知识图谱的定义和技术架构出发,对构建知识图谱涉及的关键技术进行了自底向上的全面解析。本文是对涉及技术点的罗列,后续会针对单个技术点一一梳理。
1.1 所解决的问题
如何从半结构化和无结构数据中抽取实体、关系以及实体属性等结构化信息。
1.2 涉及的关键技术
1.2.1 实体抽取 Entity Extraction
也称命名实体识别(Named Entity Recognition, NER),指从文本数据集中自动识别出命名实体。
1.2.2 关系抽取 Relation Extraction
指从相关语料中提取出实体之间的关联关系,通过关系将实体(概念)联系起来。
1.2.3 属性抽取 Attribute Extraction
指从不同信息源中采集特定实体的属性信息,例如抽取某个公众人物的昵称、生日、国籍、教育背景等信息。
2.1 所解决的问题
将现实世界中的各类知识表达成计算机可存储和计算的结构。
2.2 涉及的关键技术
传统的知识表示方法主要是以RDF(Resource Description Framework资源描述框架)三元组SPO(subject,property,object)来符号性描述实体之间的关系,近年来,以深度学习为代表的表示学习技术也取得了重要的进展。
3.1 所解决的问题
信息抽取结果中可能包含大量的冗余和错误信息,数据之间的关系也是扁平化的,缺乏层次性和逻辑性,通过知识融合,可以消除概念的歧义,剔除冗余和错误概念,确保知识质量。
3.2 关键技术
3.2.1 实体链接 Entity Linking
指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。主要涉及两方面:
▪ 实体消歧Entity Disambiguation
用于解决同名实体产生歧义问题的技术。例如“李娜”(指称项)可以对应于作为歌手的李娜这个实体,也可以对应于作为网球运动员的李娜这个实体。
▪ 共指消解Entity Resolution
也称实体对齐(object alignment)、实体匹配(entity matching)、实体同义(entity synonyms)等,用于解决多个指称项对应于同一实体对象的问题。例如在一篇新闻稿中,“Barack Obama”,“president Obama”,“the president”等指称项可能指向的都是“奥巴马”这同一个实体。
3.2.2 知识合并
指从第三方知识库产品或已有结构化数据获取知识输入。
4.1 所解决的问题
信息抽取和知识融合可以得到一系列基本的事实表达。但事实不等于知识,要想最终获得结构化、网络化的知识体系,还需要经历知识加工的过程。
4.2 涉及的关键技术
4.2.1 本体构建 Ontology Extraction
本体(ontology)是对概念进行建模的规范,是描述客观世界的抽象模型,以形式化方式对概念及其之间的联系给出明确定义。
4.2.2 知识推理 Knowledge Inference
指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而拓展和丰富知识网络。
4.2.3 质量评估 Quality Evaluation
对知识的可信度进行量化,通过舍弃置信度较低的知识,保障知识库的质量。
5.1 所解决的问题
知识图谱的内容需要与时俱进,其构建过程是一个不断迭代更新的过程。主要包括概念层的更新和数据层的更新。
▪ 数据层更新: 主要是新增或更新实体、关系和属性值等。
▪ 模式层更新: 指新增数据后获得了新的模式,需要自动将新的模式添加到知识库的模式层中。
知识图谱基础(一)-什么是知识图谱
笔者是一只已经离职的AI产品经理,主要擅长的方向是知识图谱与自然语言处理,写这些文章是为了总结归纳目前已经搭建的知识体系,也在于科普。如有不对,请指正。
知识图谱在国内属于一个比较新兴的概念,国内目前paper都比较少,应用方主要集中在BAT这类手握海量数据的企业,这个概念是google在2012年提出的,当时主要是为了将传统的keyword-base搜索模型向基于语义的搜索升级。知识图谱可以用来更好的查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。
个人认为,知识图谱最大的优势是在于对数据的描述能力非常强大,各种机器学习算法虽然在预测能力上很不错,但是在描述能力上非常弱,知识图谱刚好填补了这部分空缺。
知识图谱的定义非常多,我这里提供一部分我自己的理解:
1.知识图谱主要目标是用来描述真实世界中存在的各种实体和概念,以及他们之间的强关系,我们用关系去描述两个实体之间的关联,例如姚明和火箭队之间的关系,他们的属性,我们就用“属性--值对“来刻画它的内在特性,比如说我们的人物,他有年龄、身高、体重属性。
2.知识图谱可以通过人为构建与定义,去描述各种概念之间的弱关系,例如:“忘了订单号”和“找回订单号”之间的关系
知识库目前可以分为两种类型:Curated KBs 和 Extracted KBs
Curated KBs :以yago2和freebase为代表,他们从维基百科和WordNet等知识库抽取了大量的实体及实体关系,可以把它理解城一种结构化的维基百科。
Extracted KBs :主要是以Open Information Extraction (Open IE), Never-Ending Language Learning (NELL)为代表,他们直接从上亿个网页中抽取实体关系三元组。与freebase相比,这样得到的实体知识更具有多样性,而它们的实体关系和实体更多的则是自然语言的形式,如“姚明出生于上海。” 可以被表示为(“Yao Ming”, “was also born in”, “Shanghai”)。直接从网页中抽取出来的知识,也会存在一定的噪声,其精确度低于Curated KBs。
a)“姚明出生于上海”
b)“姚明是篮球运动员”
c)“姚明是现任中国篮协主席”
以上就是一条条知识,把大量的知识汇聚起来就成为了知识库(Knowledge Base)。我们可以从wikipedia,百度百科等百科全书获取到大量的知识。但是,这些百科全书的知识是由非结构化的自然语言组建而成的,这样的组织方式很适合人们阅读但并不适合计算机处理。
为了方便计算机的处理和理解,我们需要更加形式化、简洁化的方式去表示知识,那就是三元组(triple)。
“姚明出生于中国上海” 可以用三元组表示为(Yao Ming, PlaceOfBirth, Shanghai)[1]。这里我们可以简单的把三元组理解为(实体entity,实体关系relation,实体entity)。如果我们把实体看作是结点,把实体关系(包括属性,类别等等)看作是一条边,那么包含了大量三元组的知识库就成为了一个庞大的知识图。
有些时候会将实体称为topic,如Justin Bieber。实体关系也可分为两种,一种是属性property,一种是关系relation。如下图所示,属性和关系的最大区别在于,属性所在的三元组对应的两个实体,常常是一个topic和一个字符串,如属性Type/Gender,对应的三元组(Justin Bieber, Type, Person),而关系所在的三元组所对应的两个实体,常常是两个topic。如关系PlaceOfBrith,对应的三元组(Justin Bieber, PlaceOfBrith, London)。
(图中蓝色方块表示topic,橙色椭圆包括属性值,它们都属于知识库的实体;蓝色直线表示关系,橙色直线表示属性,它们都统称为知识库的实体关系,都可以用三元组刻画实体和实体关系)
这里只是简单介绍一下数据结构,知识表达这一块会在《知识图谱基础(二)-知识图谱的知识表达系统》中详细讲解。
读者只要记住,freebase的基础知识表达形式:(实体)-[关系]-(实体),(实体)-[关系]-(值)即可,参考图3,姚明和叶莉的关系。
通过知识图谱,不仅可以将互联网的信息表达成更接近人类认知世界的形式,而且提供了一种更好的组织、管理和利用海量信息的方式。下图是笔者整理的知识图谱有关的应用,接下来的一些文章笔者会对下面的应用进行剖析。
从图4上看,知识图谱的应用主要集中在搜索与推荐领域,robot(客服机器人,私人助理)是问答系统,本质上也是搜索与推荐的延伸。可能是因为知识图谱这项技术(特指freebase)诞生之初就是为了解决搜索问题的。知识存储这一块可能是企查查和启信宝这些企业发现使用图结构的数据比较好清洗加工。
在语义搜索这一块,知识图谱的搜索不同于常规的搜索,常规的搜索是根据keyword找到对应的网页集合,然后通过page rank等算法去给网页集合内的网页进行排名,然后展示给用户;基于知识图谱的搜索是在已有的图谱知识库中遍历知识,然后将查询到的知识返回给用户,通常如果路径正确,查询出来的知识只有1个或几个,相当精准。
问答系统这一块,系统同样会首先在知识图谱的帮助下对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化成结构化形式的查询语句,然后在知识图谱中查询答案。
为什么知识图谱可以应用于问答系统
知识图谱与问答系统
摘要: 领域知识图谱,是下一代搜索引擎、问答系统等智能应用的基础设施,目前出现的产品有:百度“知心”、搜狗“知立方”等。本篇将介绍知识图谱基础知识,及其在自然语言处理方面(主要是问答系统)的应用。
1. 前言
知识图谱(knowledge graph),是下一代搜索引擎、问答系统等智能应用的基础设施,目前出现的产品有:百度“知心”、搜狗“知立方”等。本篇将介绍知识图谱基础知识,及其在自然语言处理方面(主要是问答系统)的应用。
2. 知识图谱概念
知识图谱,是一种基于有向图(directed graph)的数据结构,由节点(points)及有向边(directed edges)组成,图中的每个节点称为实体(Entity),边代表实体间的逻辑关系(Relation)。
举一个例子,这是一个简单地描述旅游景点的知识图谱:
现在来解释为什么“知识图谱是下一代搜索引擎、问答系统等智能应用的基础设施”,如果把智能系统看成一个大脑,那么知识图谱就是大脑中的一个知识库,它使得机器能够从“关系”的角度去分析、思考问题。以上图为例,从知识图谱中可以获取“泰山的海拔高度为1545米”、“衡山和恒山发音相同”等简单知识。
3. 知识图谱的表示
知识图谱可以使用三元组(entity-1,relation,entity-2)来表示,每一条记录描述一个事实,例如:(五岳,五岳之一,泰山)表示“泰山是五岳之一”这样一个事实。需要注意的是,如果relation 是确定的,那么entity-1与entity-2 的位置不能够颠倒的,因为一个三元组描述一条有向边(事实);实体不一定得是现实生活中的一个具体事物,也可以是事物的一个属性值,此时关系就是该属性。
我们用三元组来存储知识图谱,这时还需要考虑一个问题,那就是实体识别(Entity Recognition)与实体消歧(Entity Disambiguation)。例如,实体“苹果”有可能是指水果苹果,也可能是指iphone。这时,我们对知识图谱需要做一些处理,修改一下搜索策略。
在建立知识图谱过程中,若发现歧义,则再增添对应上级节点,在筛选“苹果”一词时使用上级节点来消歧。这里再次强调知识图谱仅是基础设施 。后面会通过几个例子说明知识图谱的应用价值;再介绍知识推理(Knowledge Reasoning)技术,即怎样通过与用户互动教会智能系统完善知识图谱。
4. 知识图谱的应用
传统搜索引擎只是简单地根据用户输入的关键词去筛选目标网页,然后给出一堆网页链接。知识图谱的应用,除了给出相应的网页链接外,还会尝试提供一些更加智能化的答案。例如,用户在必应搜索输入“taj mahal”将得到如下结果:
这里提供泰姬陵的近义词、旅游信息、地理位置、古代世界七大奇迹等,从而更好地发掘用户意图, 而不像传统搜索引擎那样死板,需要用户自己一条一条去筛选信息, 这样知识图谱技术就具有很大的商业价值了。
又例如,我直接在百度搜索输入“乒乓球”, 得到以下结果(其实我只是想搜索一下“张继科”,但是一时间忘了他的名字):
同时,知识图谱的应用能够使得搜索引擎获得一定的推理能力。举一个例子,在百度搜索输入“梁启超的儿子的妻子”,传统搜索引擎只是简单地匹配网页,很难真正地理解用户意图,更别说回答这个问题了。然而知识图谱却可以令问题变得简单起来,我们先从知识库中获取梁启超的儿子是梁思成,然后再获取梁思成的妻子是林微因。
这样就能增强搜索引擎与用户间的互动,逐步变成一个智能问答系统。
5. 知识推理技术
这里再次强调知识图谱仅是基础设施,因为它真的很简单,也没有什么高大上的技术,我们仅仅只是想将知识用这样一个形式存起来,以便由简单的知识学习出更高深的知识。举一个例子,知识图谱中仅存有如下信息:
那么智能问答系统是无法回答类如“康熙与乾隆之间是什么关系?”知识推理类的问题的,这时可以用过简单地加入人工规则:“父亲+父亲→祖父”来更新知识图谱,或者直接从用户互动中学习规则,当然用户互动时就需要上统计知识了,不能说有网友回答“国籍相同关系”那么所有的祖父与孙子都是“国籍相同关系”。
接下来我们来看一个更复杂的例子,在百度搜索引擎中输入“孕妇可以吃荔枝吗?”得到如下结果:
这时智能问答系统可以返回“59%的网友认为能吃,28%的网友认为不能吃,13%的网友认为不能吃”。若用户继续问“不能吃的理由是什么?”,那就返回“不能吃”的网友回答。下面通过这个例子来思考统计机器学习技术在知识推理中的应用。
我们分析一下,这些“网友回答”有些来自“宝宝树”,有些来自“有问必答网”,有些来自“育儿网”,我们可以利用爬虫去爬这些网站的问题及其回答,然后对问题做聚类,先构建如下知识图谱:
具体问题与回答之间的逻辑关系边一开始留空,我们再对语义边上分类技术,把空余的边填补完整,当然也可能误分类,例如百度例子中的第一个回答,“慎吃”被归为“能吃”。最后再对这些边做统计,就可以回答类似问题,利用语料库做知识推理,学习知识库里没有的知识,完善知识图谱。
Reference
知识图谱——机器大脑中的知识库
知识图谱的应用
知识图谱,为移动搜索而生