作者介绍
@毛毛
产品经理
集颜值和才华于一身。
对AI了解深入,经验丰富。
1
为什么要了解知识图谱
AI核心要研究的是如何让计算机去完成以往需要人的智力才能胜任的工作,而人的智能性核心体现在对不同事物的感知能力、推理能力、决策能力。因此要想做出AI产品就离不开对感知的研究,推理机制的研究以及智能决策方向的研究。对感知智能而言,AI已经做了很多突破,例如机器对听觉、视觉、触觉的感知能力,通过摄像头、麦克风或者其他的传感设备,借助语音识别、图像识别的一些算法模型,能够进行识别和理解。
感知智能的发展能够采集到海量的不同来源及不同存储方式的数据,如果想要用这些数据做出具体场景化的应用,目前市面上常用的方式有两种,一种是统计分析,也就是在业务中做的最多的数据理解和分析,包括了语义分析、情感分析,及各种指标分析的数据可视化。另外一种是决策,基于收集或者产生的数据去做自动化决策,或者智能推荐、智能问答等。而在做这些内容时依赖的核心技术就是知识图谱相关的技术。
2
知识图谱是什么
了解知识图谱是什么之前,先了解数据、信息、知识之间的关系。
- 数据是指声音、图像、符号,通常指最原始的记录,数据间彼此孤立,没有经过加工和解释。
- 信息是指数据经过加工处理后,建立了某种联系或增加了某些属性; 信息可以经过加工和处理转化为数据进行存储,数据是信息的表现形式。
- 知识是通过实践获得的认识或经验的总和,可以是已经文本化的知识,也可以是存储在大脑中的认知。
eg:
「38.5」这是一条数据,不具有任何意义。
「小明测量体温为38.5度」这是一条信息,并且38.5是一个关键指标。
「正常人体的温度为36-37度,当体温超过基础体温1度及以上时,即认为发热,而不同的温度范围又可分为低热、高热...」这是一条知识,是通过许多病例、实验总结出的公认正确的。
「小明发热了,因为他体温为38.5度」这个结果是由知识推理而来的。
知识图谱是基于图模型来描述知识以及构建关联关系模型的技术手段,现实世界中常用到的知识,或者我们脑海中记住的知识,通常是一段描述性的话,而知识图谱就是将某段描述知识的话抽象成主体、属性、关系的三元组,并利用图谱的形式呈现出来。如下图即是一个简单的知识图谱。「张柏芝」、「谢霆锋」、「王菲」是人物主体;「出生年月」、「性别」、「年龄」为主体属性;「前妻」、「现任女友」、「情敌」为知识抽象出的关系。
知识推理过程
- “前妻”知识: 男女双方在法律上曾经成立过婚姻,后通过协议或诉讼的方式解除了婚姻,终止了夫妻间权利和义务,对男方而言称呼女方为前妻。
- 推理过程: 张柏芝和谢霆锋之间在法律上曾经成立过婚姻,后解除了婚姻,且张柏芝是女性,因此张柏芝是谢霆锋的前妻。
在知识图谱技术中,「张柏芝」、「谢霆锋」、「王菲」被称为节点,节点可以是实体也可以是抽象出的概念;加粗的黑线称为边,表现实体或概念之间的关系,如「张柏芝」和「谢霆锋」的关系是「前妻」。图中每一个圆都是一个节点,连接圆的直线都是边,可以看出知识图谱是由节点和边组成。而节点和节点之间的边,可以是属性、也可以是关系,例如「张柏芝」、「谢霆锋」之间的边代表的是关系,「张柏芝」、「性别:女」之间的边代表的是属性。
可以用来做什么?
最早知识图谱的应用是用来提升搜索引擎的能力,早期的搜索,是依赖网页间的超链接、搜索关键词与网页包含关键词的匹配关系进行精确或模糊搜索。但互联网终极形态是万物的互联,搜索的终极目的也是对万物的直接搜索,因此仅依靠关键词之间的匹配不足以满足日益丰富的搜索需求。在传统的搜索模式下,当我们搜索「谢霆锋的前妻是谁?」,检索结果可能是某个网页中包含了「谢霆锋的前妻是张柏芝」这句话,我们才能找到网页,在从网页中的信息中得知谢霆锋的前妻是张柏芝这个结论。
而上图知识图谱的建立,当搜索需求产生时会快速的返回「张柏芝」及个人信息。
知识图谱的构建原理及流程?
知识图谱的构建通常分为两类,一类是开放域的知识图谱、一类是垂直领域的知识图谱,像google、百度搜索等搜索引擎建立的知识图谱属于开放域的,像某个领域,电商、金融、图情、生活娱乐等基于具体领域和场景构建的知识图谱为垂直领域的知识图谱。两种图谱的场景应用不太一样,但涉及的底层逻辑和构建流程是相似的。
知识图谱的构建涉及了知识表示、知识获取、知识处理和知识利用等多方面。
- 知识表示: 简单理解就是设计者把得到的知识,针对各种问题的类型和场景,设计成多种表现形式,而使用者可以直接使用这种设计好的表示方法来代表这类知识信息。 例如我作为系统设计者,我定义了“V”为“或”的意思,其它使用者均可用“V”代表“或”。
- 知识获取: 指人通过设计、程序编码、人机交互使机器获取知识,例如人为建立知识库,让专家系统来获取知识,大部分都是通过人工的方式将人类的知识存储到机器中,这个过程就是知识获取的过程。
*知识库是相互关联的事实及数据的集合,常被用来支持专家系统,是专业领域内规则的集合,包含了规则所联系的所有关系和数据。
*专家系统是人工智能研究方向之一,是指利用人类某个领域专家解决问题的知识或者方法来进行程序化,依赖知识库中的知识体系来进行决策。
- 知识处理: 包含了知识的加工、逻辑判断、推理、知识输出的过程。 nlp自然语言处理是知识处理的核心。
- 知识利用: 将规范的知识结构应用到具体的场景之中,创造价值。
在构建技术上,数据和算法是知识图谱的底层支持,包含了信息表示、信息抽取、信息融合、信息推理和信息决策等多个阶段。
- 信息来源: 通常可以通过多个渠道或者来源来获取知识图谱的数据,包含了文本、结构化数据库、多媒体数据、传感器数据、人工众包数据等。
- 信息表示: 利用计算机语言来描述人脑或者文本中的知识,来帮助进行下一步推理。 应用到的技术手段,例如文本数据,通常会使用nlp自然语言处理技术,进行实体识别、实体链接、关系抽取、事件抽取等从文本中抽取出知识,在利用RDF把三元组作为基本的数据模型。 基本逻辑包含了实体、实体属性、实体之间的关系。
- 信息抽取: 结构化和文本化的数据是目前主要使用的数据形式,从结构化数据中抽取信息一般使用现有的D2R工具,如D2RServer。 从文本中抽取信息主要经历实体识别和关系抽取两部分,关系抽取一般可以使用基于特征模版的方法(人工打标签),或者机器学习的方式进行抽取。
- 信息融合: 通常自己的数据源或者知识库不足以构建解决实际问题时,会去从第三方的知识库或者收集其他渠道的结构化数据进行融合,主要包含了模式层的融合和数据层的融合,核心解决的问题是避免实体与关系的冲突,或者相同实体含义但使用的不同的数据标识符,造成了不必要冗余。
- 知识图谱补全与推理: 此环节核心是依赖于补全算法去实现,一种方法是基于本体推理的补全方法,另一种是基于图结构和关系路径进行补全。 通常推理和补全是一个相互协作的过程,通过推理发现有问题的地方,进行补全。
- 应用与决策: 语义检索、智能问答、智能决策系统、推荐系统。
下面通过具体示例来理解知识图谱的构建流程。
3
应用实例:电商知识图谱的构建
在目前电商的交易场景中,交易规模巨大,不仅涉及了线上、线下交易场景,还有各种新零售、多语言平台、线上线下相结合的各种复杂的购物场景,企业对数据的联通需求越来越强烈,因此电商的知识图谱对于行业而言变得很重要。
电商的知识图谱主要是围绕商品构建的,基于人、货、场的主要框架进行拆解。
在电商这个领域下进行知识表示时,首先需要确认共涉及多少个一级本体、二级本体,电商知识主要的获取来源是知识众包,核心涉及了本体的设计,围绕商品本身的属性、消费者的需求、平台运营管理的机制。在不同平台和渠道的数据采集工具不一样,采集上来的数据的存储形式也会略有差异,例如电商的卖点、详情、图片、评价,舆情信息中的品牌和口碑,涉及了大量的文本数据、图像数据。在进行知识表示时涉及了各种NLP、CNN技术。要求知识命名识别系统具有大规模实体类型识别的能力。并且把识别出的主体与知识图谱进行链接。以阿里电商认知图谱的示例主要包括:
- 商品域: 型号、尺码、大小、颜色、口感、材质..
- 用户域: 性别、年龄、风格、品牌、购买力...
- LBS域:购物场景、群体、泛品类……
然后需要对实体进行描述,除了基础的属性及属性值以外,需要通过实体标签进行实现,大部分实体标签变化比较快,通常是通过知识推理获取的。例如商品的标签中,可以通过材料的配比或者国家行业标准进行处理。例如:
- 低糖: 食品每100克或100毫升的糖含量不能超过5克;
- 无糖: 食品每100克或100毫升糖含量不能超过0.5克
通过知识推理,可以根据商品配料表中的数据转化为「无糖」、「低糖」的知识点,从而将数据转化为知识标签。大部分信息在提取之后会比较零散,需要将已建立好关系的知识库中或者第三方的知识库来源的信息做融合,以及实体对齐、实体消歧义的技术操作。
- 实体对齐: 例如迪奥是一个品牌名,DIOR为同一个品牌的英文名,虽然是同一个品牌由于文本不一样,会被计算机识别为两个实体,因此我们需要将类似的内容对齐和统一化。
- 实体消歧: 例如苹果是一种水果,在某些上下文中它可能表达苹果手机,这时需要根据上下文进行实体消歧。
完成上述操作后,才会进行实体的抽取,实体抽取的过程中会利用算法进行实体间的相似性计算,主要依赖于本体库中建立的本体之间的关系,进行推理和补齐。例如不同人买了同一件商品,或买了相似商品,该以怎样的节点进行知识图谱的关联。可以采用自动化抽取或者人工抽取的方式进行实现,自动化抽取可以大批量任务,以及在多源异构的数据处理中具有极大优势。但对于复杂场景的抽取和识别依旧需要人工的介入。
在初步的知识图谱构建成功之后,需要进行知识库的质量评估,当部分关系无法通过知识库进行抽取时,需要进行知识推理算法及知识图谱补全算法进行关系链路的优化。目前市面上已有部分技术上的解决方案,感兴趣童鞋可以查阅更多资料进行扩展。