导读:知识图谱 ( Knowledge Graph ) 是Google于2012年提出的一种高效的知识表达模型,与传统的信息管理方式相比,知识图谱能够帮助人们更快速有效地获取所需的知识间的逻辑关系,有利于知识间智能推理的实现。垂直领域知识图谱面向特定的行业领域,能够被应用于搜索引擎、智能问答、知识挖掘和决策支持等业务中。因此,其构建技术的研究具有重要意义。本文的主题为面向垂直领域的OpenIE图谱构建技术,主要内容包括:
首先和大家分享下企业知识管理的现状以及痛点:
在原因层面,有许多传统企业有大量的纸质文档放在档案室,历史数据沉积严重;其次,基于自己的ERP系统或者知识管理系统与企业深绑,耦合性强,升级有重重阻力;最后由于业务数据分散严重,产生数据孤岛现象,数据管理困难。
从企业知识管理层面,主要有知识管理繁、知识管理散、知识交流杂、知识学习碎、知识培训慢、团队提升难的特点,对于企业的效率有带来了很大的挑战。
企业数据如何实现智能化管理是一个迫待解决的问题,接下来我们一起探讨一下知识图谱的技术来解决知识管理的相关问题。
首先看一下知识图谱的整个服务流程:
知识图谱主要分为为三个部分:知识抽取、图谱生成、图谱消费。知识抽取就是通过对半结构化、非结构化的数据进行信息抽取进而将知识转化为统一的格式。在图谱生成部分中将抽取出的知识构建具有关联性的图谱表示,这里包含了制订图谱的Schema规范、消除知识冲突、进行图谱维护等图谱生成所设计到的相关相关技术。最后就是图谱消费,任何知识图谱的构建都是服务于图谱消费,真正建立知识图谱的核心是从消费端去反推,根据消费场景以及诉求去构建知识图谱的形式以及知识抽取实现的方式。只要定位好图谱的消费场景,那么图谱的构建就一定具有价值,现有的消费场景主要有智能问答、知识搜索、关联分析、辅助决策,之后会简要分享我们公司在智能问答以及知识搜索场景的内容。
首先,主要介绍一下知识抽取。知识图谱分为面向企业的知识图谱以及面向行业的知识图谱,这两者有很大的区别。面向开放领域的知识图谱考虑地更多地主要是如何将知识有效地管理起来,对于企业知识图谱来说,更多地是以行业知识图谱为支撑,图谱的实体以及边的规模取决于数据的规模。
对于不同数据源、不同结构的数据可以采用不同的方式进行知识抽取。并不是所有的知识抽取都是对非结构化数据进行开放域信息抽取 ( OpenIE ) 来获取的,更多的是通过D2R的方式,从关系型数据库往图谱Relation Ship的关系进行转换,图谱中的大部分实体以及属性都是通过这种方式实现。对于半结构化数据,比如合同、表格等,包含了一定的结构化数据,不过其结构不像结构化数据一样是一个完整的图,符合第三范式的内容而是需要进行一些调整处理,这种类型的数据可以采用包装器的方式去进行知识抽取:
包装器类似于Python语言中的装饰器一样,通过写一些Code的方式,定义好一些配置、预处理、正则,对数据进行转换,进行一些定制化的处理。然而,这种方式对于纯文本知识抽取的效果就没有那么显著。
对于纯文本数据的知识抽取,主要有两种不同的方法,分为开放领域 ( OpenIE ) 以及封闭领域 ( CloseIE ) 的知识抽取。对于不同的领域,采用不同的方法进行处理 ( 如上图所示 )。在建模方案上面,常见的处理方式是将基于模板规则的方法以及基于模型的方法相融合,二者不存在好坏之分,需要结合具体的场景以及数据集的规模。一个常见的问题:在真实场景中,OpenIE多一些还是CloseIE多一些?其实真正在工业界中,CloseIE会更多一些,OpenIE的精度很难达到业务的真实使用场景,直接采用OpenIE去抽取精度低于30%甚至更低。原因主要有两点:一是由于训练数据样本差异大;二是由于之前很多都是英文数据集,而中文开放域信息抽取数据集相对来说比较少。
做知识图谱的第一个关键点是将实体识别,所有的前提都建立在实体识别高精度的基础之上。通过新词发现技术去识别出词语,但是一个词语是新词未必是需要的实体或者关注的实体。此时考虑用NER技术,基于现有词库做一个序列标注模型,利用两套算法分别识别出术语,再将两种方法进行Ensemble集成。
封闭域信息抽取主要是通过NER技术实现的,但是NER技术无法解决所有的信息抽取问题,在特定领域中基于规则/模板解析的方法也是非常有效的抽取方法。
接下来介绍一下事件抽取的任务:
事件抽取的特点是文本多,但是大部分文本描述的内容可以进行归纳。换个角度讲,可能我们关注的知识就是某几类,也就是某几类模板,更进一步地,即某几类Schema。因此,一定要定义好Schema结构,按照Schema去做知识抽取。此外,当文本信息差异性不是很大时,此时直接采用句式模板即可;当文档差异性比较大时,基于句法结构以及分词,可能效果不是很理想,需要结合深度学习模型去做抽取。总而言之,当标注数数据量小于1000时,Bert模型不一定比普通模型有很大的提升,需要结合时间、数据、业务需求等多方因素去完成建模方案的制定以及处理。
首先说一下SPO的定义,S表示Subject,也就是主语,P表示谓语,可以是关系或者属性。O表示宾语,但是它未必是一个实体,如果P是属性,O就是一个值,如果P是关系,此时O就是另外一个实体。为什么要对三元组进行抽取?如果三元组抽取得当,此时SPO可以直接进入图谱,完成图谱的扩充。
百度主办的SPO三元组抽取比赛,主要是针对纯文本进行处理,抽取出其中的SPO。来自苏剑林的一个优秀解决方案:将序列标注任务转化为头尾Span的形式。那么对于任意一篇文档,采用此模型,是否就可以对其进行抽取?这里面其实有一个很大的陷阱,百度三元组抽取比赛的数据集的优点是定义了大量的不同类型的SPO,缺点是数据集只有50类,不是面向OpenIe,当出现第51类时,如何处理?这次分享的题目是面向垂直领域的OpenIE抽取,这本身就是一个矛盾;如果是面向垂直领域,更像是一个CloseIE,与OpenIE是矛盾的。因此,对于垂直领域来说,如果有一种方法不要求必须是已经定义好的50类数据,然而还可以抽取出SPO,那么就是完成了面向垂直领域完成了OpenIE抽取。
接下来,介绍一下我们的建设方案:
对于Close-domain三元组的抽取,可以预先定义好SPO,一个重要的点是P在原文中是没有出现的,对于这些特殊的P,采用百度三元组的方案去进行抽取。对于一些特殊的P,有一些上下级关系、定义等是可迁移的,在其余领域也有一些良好的效果。
面向Open-domain的三元组抽取,其对应的P不一定是预定义好的,但是一定在原文中出现过。这种算法流程相对比较复杂,首先先识别出S,然后识别出P,最后结合S以及P去识别出O,可能会涉及到阅读理解、实体识别等,对模型进行一些联合训练。这样,用户上传自己文档,即可完成SPO的抽取。
图谱的构建一定是服务于消费场景,接下来介绍一些图谱的相关应用:
知识图谱的第一个应用是ChatBot聊天机器人上面,接下来简述一下知识图谱在ChatBot方向的分发。在大量数据的基础上面,通过OpenIE、CloseIE、D2R等相关技术作为图谱的整体建模;然后,通过一个前端机器人,调用图谱建模的技术与用户进行交互,其中会涉及到一些KBQA的查询等相关技术;最后通过风险决策模块,支撑业务发展的需求应用。
知识图谱的另一个重要发展是应用于知识搜索业务。图谱搜索跟之前关键词搜索有很大的区别,比如:图中的问题采用关键词搜索很难完成;此外,图谱智能搜索是行业Domain无关,不管什么行业,当知识图谱构建起来,即可以通过这种方式给用户一个更直观清晰的展现。
下面介绍一下云问公司在智能问答业务层面的架构设计:人工智能的一个终极形态可能是有一个虚拟的Bot,而这个虚拟Bot可以处理很多的内容,通过多策略路由的方式,采用多个机器人去解决用户的问题,比如任务型机器人、阅读理解机器人、图谱问答机器人等,每一个机器人都有自己需要关注的内容。此时,智能问答不再是一个面向关键词的问答FAQ匹配的方式机器人,而是一个认知层的处理,最终将多端数据答案进行综合处理去呈现出来。在不破坏原有系统的情况下,机器人作为一个插件去完成所有的知识消费和查询。
基于知识图谱进行行业知识表示,通过NLU等一系列的相关技术,对用户的问题进行解析,利用知识图谱独特的优势,对平台的知识、数据等信息通过知识图谱进行BI分析后将结果等给出一些图谱化地呈现,聚焦于让用户获取更多的信息,为客户和企业创造更多的价值。
嘉宾介绍:
杜振东,云问科技NLP研究院负责人,拥有8年机器学习与文本挖掘相关技术经验,6年中文自然语言处理相关项目实战经验,擅长pytorch、tensorflow等主流深度学习框架,擅长运用NLP前沿技术解决真实项目。在意图识别、新闻推荐、多轮人机交互领域有数年实战经验。参与百万级用户金融资讯新闻推荐项目,作为算法主要负责人及整体框架设计者,主导全新智能新闻推荐系统的落地,并优化线上推荐算法,整体线上相较原有系统精度提高10%。主要设计面向任务驱动的多轮对话引擎,主导参与搭建NLP底层能力平台,为企业提供底层能力的服务输出。参与多家企业问答机器人系统、知识图谱系统搭建,针对集团型知识管理与问答效果优化有丰富实战经验。参与制定国家人工智能标准化总体组《人工智能标准化与开源研究报告》、《人工智能-术语》、《人工智能-情感计算用户界面框架》;参与制定中国电子工业标准化技术协会《信息技术 人工智能 智能助理智能能力等级评估》;编写书籍《人工智能实践录》与《江苏省新兴产业战略丛书-人工智能分册》;入选国家标准委人工智能专家及AIIA人工智能技术专家。
原文链接:面向垂直领域的OpenIE图谱构建技术
领取专属 10元无门槛券
私享最新 技术干货