"); //-->
出品 | AI科技大本营(ID:rgznai100)知识图谱的概念最早由 Google 在2012 年提出, 旨在架构更智能的搜索引擎,2013年之后开始在学术界和产业界普及,目前很多大型互联网公司都在积极部署本企业的知识图谱,Facebook、百度、阿里、腾讯、美团等企业的落地应用场景如下图所示。作为人工智能核心技术驱动力,知识图谱可以缓解深度学习依赖海量数据训练,需要大规模算力的问题,能够广泛适配不同的下游任务,且具有良好的解释性。目前,这一技术已广泛应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人等多个业务领域。
从落地行业来看,目前知识图谱的应用主要集中在电商、医疗、金融等商业和服务领域,关于汽车知识的语义网络及知识图谱构建缺少系统性的指导方法。本文以汽车领域知识为例,围绕车系、车型、经销商、厂商、品牌等实体及相互关系,提供一种从零搭建领域图谱的思路。
如何进行图谱构建?构建挑战知识图谱是真实世界的语义表示,其基本组成单位是“实体-关系-实体”,“实体-属性-属性值”的三元组(Triplet),实体之间通过关系相互联结,从而构成语义网络。图谱构建中会面临较大的挑战,但构建之后,可在数据分析、推荐计算、可解释性等多个场景中展现出丰富的应用价值。其中,构建挑战包括:
Schema 难定义。目前尚无统一成熟的本体构建流程,且特定领域本体定义通常需专家参与;
数据类型异构。通常情况下,一个知识图谱构建中面对的数据源不会是单一类型,面对结构各异的数据,知识转模及挖掘的难度较高;
依赖专业知识。领域知识图谱通常依赖较强的专业知识,例如车型对应的维修方法,涉及机械、电工、材料、力学等多个领域知识,且此类关系对于准确度的要求较高,需要保证知识足够正确;
数据质量无保证。挖掘或抽取信息需要知识融合或人工校验,才能作为知识助力下游应用。
构建后将获得的收益:
架构设计技术架构主要分为构建层、存储层及应用层三大层,架构图如下:
构建层。包括Schema定义,结构化数据转模,非结构化数据挖掘,以及知识融合;
存储层。包括知识的存储和索引,知识更新,元数据管理,以及支持基本的知识查询;
服务层。包括智能推理、结构化查询等业务相关的下游应用层。
构建步骤及流程
依据架构图,具体构建流程可分为四步:本体设计、知识获取、知识入库,以及应用服务设计及使用。
本体构建本体(Ontology)是公认的概念集合,本体的构建是指依据本体的定义,构建出知识图谱的本体结构和知识框架。基于本体构建图谱的原因主要有以下几点:
明确专业术语、关系及其领域公理,当一条数据必须满足Schema预先定义好的实体对象和类型后,才允许被更新到知识图谱中。
将领域知识与操作性知识分离,通过Schema可以宏观了解图谱架构及相关定义,无须再从三元组中归纳整理。
实现一定程度的领域知识复用。在构建本体之前,可以先调研是否有相关本体已经被构建出来,这样可以基于已有本体进行改进和扩展,达到事半功倍的效果。
基于本体的定义,可以避免图谱与应用脱节,或者修改图谱Schema比重新构建成本还要高的情况。
按照知识的覆盖面来看,知识图谱可以划分为通用知识图谱和领域知识图谱,通用图谱更注重广度,强调融合更多的实体数量,但对精确度的要求不高,很难借助本体库对公理、规则及约束条件进行推理和使用。而领域图谱的知识覆盖范围较小,但知识深度更深,往往是在某一专业领域上的构建。
考虑对准确率的要求,领域本体构建多倾向于手工构建的方式,例如代表性的七步法、IDEF5方法等[1],该类方法的核心思想是,基于已有结构化数据,进行本体分析,将符合应用目的和范围的本体进行归纳及构建,再对本体进行优化和验证,从而获取初版本体定义。若想获取更大范畴的领域本体,则可以从非结构化语料中补充,考虑手工构建过程较长,以汽车领域为例,提供一种半自动本体构建的方式。
构建详细步骤如下:
上述方法可有效利用BERT等深度学习技术,更好地捕捉语料间的内部关系,使用聚类分层次对本体各模块进行构建,辅以人工干预,能够快速、准确的完成初步本体构建。下图为半自动化本体构建示意图:
利用Protégé本体构建工具[2],可以进行本体概念类、关系、属性和实例的构建,下图为本体构建可视化示例图:Protégé可以导出不同类型的Schema配置文件,其中owl.xml结构配置文件如下图所示。该配置文件可直接在MySQL、JanusGraph中加载使用,实现自动化的创建Schema。
知识获取
知识图谱的数据来源通常包括三类数据结构,分别为结构化数据、半结构化数据、非结构化数据。面向不同类型的数据源,知识抽取涉及的关键技术和需要解决的技术难点有所不同。结构化知识转模结构化数据是图谱最直接的知识来源,基本通过初步转换就可以使用,相较其他类型数据成本最低,所以图谱数据一般优先考虑结构化数据。结构化数据可能涉及多个数据库来源,通常需要使用ETL方法转模,ETL即Extract(抽取)、Transform(转换)、Load(装载)。通过ETL流程可将不同源数据落到中间表,从而方便后续的知识入库。下图为车系实体属性、关系表示例图:车系与品牌关系表:非结构化知识抽取——三元组抽取除了结构化数据,非结构化数据中也存在着海量的知识(三元组)信息。一般来说,企业的非结构化数据量要远大于结构化数据,挖掘非结构化知识能够极大拓展和丰富知识图谱。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。