如何系统学习知识图谱-胖子哥的实践经验分享

2019-01-14 16:41:04 浏览数 (1)

一、 前言 这是之前一次线上活动的待分享内容,因为一些原因,没有成行。在此开放出来,算是对之前关心和关注朋友的一次补偿。这部分内容同时也是系列课程《知识图谱实战开发案例剖析》的学习导论。相关课程已经开放在网易云课堂,关注的朋友可以前往查看。 1.1 概述 任何一项新技术的学习,都需要学习者基于自身的情况,结合被学习内容的特点进行展开,其过程既具有特殊性,同时也具有一般性,知识图谱的学习同样如此。基于胖子哥自身的切身实践,总结出了一套系统的学习知识图谱的方法,在此分享给大家。其要点可以用简单的用两句话来概况: 1. 横向覆盖:了解知识图谱所涉及的内容有哪些,并具备初步的认知能力,实现这一步,就可以对知识图谱的全局有一个系统的把握。 2. 纵向深耕:基于特定技术点进行深度学习,重点攻关、学深、学透。 以上两个点其实也是学习的两个过程,可以交叉进行,反复迭代。 1.2 人工智能的系统架构 知识图谱是人工智能进步的阶梯,开始知识图谱的学习之前,我们需要先了解一下人工智能相关的知识。人工智能从业务视角可以分为感知能力、认知能力和服务能力三个层次,其中认知能力以语义理解和语言生成为核心。如下图所示:

图:人工智能的业务架构 人工智能技术视角,可以分为基础设施层、技术层和应用层。其中知识图谱位于基础设施层,与数据资源平齐。具体技术架构如下图所示:

图:人工智能的技术架构 1.3 智能对话与知识图谱 智能对话是人工智能时代最具代表性产品形态,而其中知识图谱起到了决定性的作用,具体体现在语义理解和语言生成两个方面。智能对话系统的抽象模型如下图所示:

图:智能对话业务模型 二、 学习方法论 2.1 PDCA模型:通用问题处理方法 2.1.1 概述

图:通用问题处理方法 2.1.2模型历史 PDCA循环是美国质量管理专家休哈特博士首先提出的,由戴明采纳、宣传,获得普及,所以又称戴明环。全面质量管理的思想基础和方法依据就是PDCA循环。PDCA循环的含义是将质量管理分为四个阶段,即计划(plan)、执行(do)、检查(check)、调整(Action)。在质量管理活动中,要求把各项工作按照作出计划、计划实施、检查实施效果,然后将成功的纳入标准,不成功的留待下一循环去解决。这一工作方法,这是质量管理的基本方法,也是企业管理各项工作的一般规律。 2.1.3模型说明 PDCA模型包括四大过程,八大步骤。四大过程如上图所示: Plan(P:计划):方针和目标的确定,已经活动计划的制定; Do(D:执行):具体运作,实现计划中的步骤,它只有一个步骤:执行计划; Check(C:检查):要总结执行计划的结果,分清哪些对了,哪些错了,明确效果,找出问题; Action(A:调整或改善):肯定成功经验,实现标准化,总结失败教训,以免重现。把没有解决的问题提给下一个PDCA循环; PDCA八大步骤如下图所示:

图:PDCA八大步骤

代码语言:javascript复制
第一为P(计划)阶段,其中分为四个步骤:

  a.分析现状,找出存在的质量问题;   b.分析产生质量问题的各种原因;   c.找出影响质量的主要原因;   e.针对影响质量的主要原因制订措施,提出改进计划,定出目标。   第二为D(实施)阶段:按照制订计划目标加以执行。   第三为C(检查)阶段:检查实际执行结果看是否达到计划的预期效果。   第四为A(总结处理)阶段,其中分二步:   a.总结成熟的经验,纳入标准制度和规定,以巩固成绩,防止失误;   b.把本轮PDCA循环尚未解决的问题,纳入下一轮PDCA循环中去解决。 2.1.4模型特点: 特点1:环环相扣,生生不息。大环套小环,小环保大环,互相促进,推动大循环。

图:PDCA特点1 特点2:步步高升,循环不止。PDCA循环是爬楼梯上升式的循环,每转动一周,质量就提高一步。

图:PDCA特点2 特点3:相对独立,相互依存。PDCA循环是综合性循环,4个阶段是相对的,它们之间不是截然分开的。 2.2 学习框架:知识图谱学习方法论 基于对通用PDCA模型的理解和认知,结合知识图谱的学习过程,个人总结出来一个完整的知识图谱的系统的学习方法。该方法包括两大学习目标和八大学习步骤,如下图所示:

图:系统学习方法论 两大目标: 目标一、横向拓展:全面系统的了解知识图谱相关的内容,包括知识图谱的概念定义、发展历史、关键技术、产品形态、工作机制、发展瓶颈等等。 目标二、纵向深耕:针对知识图谱特定的技术专题,比如知识建模、知识存储、知识应用、知识获取等特定的技术专题,展开深入的,特定方向的专题攻关,学深,学透,并达到熟练掌握的程度。 八大步骤: (1)发现问题:分析现状,包括自身现状(菜鸟、其他领域的专家)和领域现状(基础理论、产品形态、关键技术、企业战略和发展瓶颈等),以及自身对领域知识能力掌握的现状,发现待提升点(依赖于知识全局的横向覆盖)。 (2)分析原因:分析影响自身知识图谱能力提升的原因有哪些。 (3)识别主因:识别若干原因中的最关键因素。 (4)制定策略:基于以上分析,制定自己的学习策略和计划。 (5)计划实施:实施学习计划,计划的执行以特定场景驱动、从单个知识点切入,逐步拓展。 (6)检查:不通和不痛; (7)总结:知识沉淀和方向调整,启动新的一轮迭代。 三、 学习过程回顾 3.1 基础理论 知识图谱本质(Knowledge Graph)上是一种叫做语义网络(semantic network)的知识库,即具有有向图结构的一个知识库;图的结点代表实体(entity)或者概念(concept),而图的边代表实体/概念之间的各种语义关系,比如说两个实体之间的相似关系;知识图谱(Knowledge Graph)的概念由谷歌 2012 年正式提出,旨在实现更智能的搜索引擎,并且于 2013 年以后开始在学术界和业界普及,并在智能问答、情报分析、反欺诈等应用中发挥重要作用。 3.2 知识表示 知识表示(knowledge representation)是指把知识客体中的知识因子与知识关联起来,便于人们识别和理解知识。知识表示是知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上。知识表示包括知识因子的表示和知识的组织体系两部分内容。常用的知识因子的表示方法如下图所示:

图:知识因子的表示方法 常用的知识表示体系如下图所示:

图:知识单元的组织体系 知识表示是知识图谱中最重要的活动,也称之为知识建模。知识建模的方法如下图所示:

图:知识建模方法论 知识建模的方法论,包括知识建模的方法和知识建模的原则两部分内容。围绕业务规划产品是指脱离具体的业务需求场景,站在整个业务领域的视角,看问题。具体做法是分析完整的业务流程、识别全部的动态活动和静态对象,设计全领域相关的知识体系。基于团队选择方法的原则是:具备行业领域专家(标准 业务 技术)的情况下,选择专家法;具有同/异行业标准,而没有行业领域专家的情况下,选择参照法;既无行业标准,又无领域专家的情况下,选择归纳法;万法归宗,一种方法执行一段时间以后,可以选择换另外一种方法,二者寻找一个平衡点。 目前而言,知识图谱领域我们更能够看到和接触到的内容中,做的比较好的是医疗领域的UMLS(统一医学建模语言),可以作为我们构建知识图谱的时候,一个比较好的参考。统一医学语言系统( Unified Medical Language System,UMLS) 是美国国立医学图书馆( National Library of Medicine,NLM) 于1986 年开始建设的一体化医学知识语言,具有集成性、跨领域和工具化的特点。UMLS 在信息检索( Information Retrieval) 、自然语言处理( Natural Language Processing) 、电子病历( Electronic Patient Records) 、健康数据标准( Health Data Standards) 等方面得到了广泛的研究和应用。NLM 应用UMLS 的系统和项目主要有PubMed,提供对Medline 和其他相关数据库的免费检索; NLM Gateway,提供对NLM 多个系统的集成检索,包括Medline、OLD Medline、LocatorPlus、PubMed、AIDS Meetings、HSRProj 和MedlinePlus 等。 UMLS中对于语义类型、语义关系、本体对象的定义和表示,可以作为我们非常好的参考,对于医学领域是一个很好的行业标准,对于其他领域,是一个很好的跨域参考标准。 UMLS语义类型如下图所示:

图:UMLS语义类型 UMLS语义关系如下图所示:

图:UMLS语义关系 3.3 知识存储 知识存储是指知识内容的物理存储,知识建模解决了知识逻辑上的表示,知识存储则着手解决知识的物理表示。常用的知识存储方式包括:

图:知识存储的常用方法 关于知识图谱的存储,首先明确一个原则,没有图数据库之前,知识型的内容,同样有处理办法,因此图数据库只是知识图谱存储的方式之一。任何一种问题,都有不止一个解决方案,只是方案之间有着不同的优势而已。知识图谱的存储方式,在不同时期,不同场景下有不同的技术方案,有着明显的时间特征和场景特征。常用的知识图谱的方式包括:关系型数据(RDBMS)、三元组(RDF)和图数据库(Graph DB)。目前在图数据库领域排名比较靠前的如下图所示:

图:图数据库排行 其发展趋势如下图所示:

图:图数据库发展趋势图 图数据库之间各有优劣,Neo4j可视操作,文档支持,企业服务支持做的比较好,是无绝对开发能力团队的首选,同时因为社区版本的免费,特别适合新手学习。Titan是基于分布式存储模式提交下的开源系统,适合存储体量比较大需求场景,但是已经很久没有更新,适合技术团队能力比较强的组织采用。 3.4 知识应用 知识图谱的典型应用有很多种场景,常见的包括以下几种:

图:知识图谱的典型应用 关于知识图谱应用的行业最佳实践是Google在搜索引擎上的应用,根据Google对外公开的资料显示,知识图谱在Google的应用主要包括两种场景:

图:智能搜索 通过知识图谱的建设,智能搜索能够让用户获取更精准的信息、更有广度的信息和更有深度的信息。

而智能问答系统则是代表未来的一种服务模式,基于沟通工具的变化,语音模式下,人机交互方式必然转变为精准信息的交互,传统模式的搜索引擎模式必然遭到淘汰。人机交互的核心则在于语义理解,语义理解关键则取决于知识图谱,否则无从谈起,听清、听懂。 3.5 知识获取 知识图谱的建设,理想主义者比较多,而现实情况则不容乐观,动辄谈机器学习,网络爬虫的基本上门外汉的思路。从时间经验来看,知识体系的建设,包括众包法(靠网民众包完成),目前各种百科类的平台基本如此;专家法(行业领域专家完成),目前垂类领域的知识体系建设,以此为主;机器学习法(网络爬虫),多以爬取别人系统和百科类站点为主,多以个人爱好者,小团队为主,自身无资源,异想天开型,但占主流。 四、 学习经验总结 4.1 全面认知 学习任何知识,首先需要对其整体有一个全面的认知,然后才是其他,否则只见一木,未见森林。 4.2 单点突破 从某一个特定的技术点开始,纵向贯通,做深,做透,比如知识建模。而后横向拓展,因点成线,因线成面,因面而成体。 4.3 案例驱动 学习的过程,尤其是技术类的内容,特别枯燥,比较好的一个避免疲劳的方法则是,通过具体需求,场景和案例的引入,有助于知识理解和贯通。 4.4 能力迁移 术、法、道,是能力层次的三个境界。术的提升,无它法,唯勤尔;法则可以迁移,比如我们可以用设计数据主题域模型的方式,来设计语义类型,所需要做的只是能力的一种迁移而已。

0 人点赞