在需要知识的后深度学习时代,如何高效、自动构建知识图谱

2024-04-13 -

1.知识图谱构建的现状(现状)

就像我们“领袖”概念中知识图谱的丑恶嘴脸一样,我们来谈谈这些奇怪又自以为是的想法:

(1)知识图谱本身就是一个应用

知识图谱是知识存储的空间。 它有点像数据库。 使用什么样的应用程序取决于里面放什么数据,而不是仅仅有一个数据库来制作应用程序。 同样,知识图谱能做出什么样的应用,取决于里面放了什么知识。

在各种人工智能文章的轰炸下,我们有时将一些开放领域知识图谱视为普遍应用。 总之,它们包含了数十亿个事实,就像一本百科全书,知道你所问的一切。 是的,就像百度百科一样。 这是一个悖论。 虽然百度百科是一个大型的知识图谱应用产品,但并不意味着知识图谱就和百度百科一样。 但从眼见为实的有限理解来看,知识图谱往往被等同于一本百科全书。

当然,为了迎合这个想法,我们原本想创建一个所谓的“背景知识”展示作为应用程序,并仿照百度百科提供简单的“SQL查询”。 领导似乎看穿了这个想法,否定了这个做法,然后直接取消了“申请”。 这让我们很烦恼。 一个存储数据、设计了数据结构但没有应用的数据库,未来是否可以直接支持未知的“应用”? 试想,如果让一个自以为知识渊博的人才带兵打仗,他能胜任吗? 因此,我认为首先有业务需求才有可能构建知识图谱。 那些开放领域的图肯定不适合垂直领域的业务需求。

(2)知识图谱是一个可移动的黑匣子

知识图谱是一次性产品吗? 就像铁锅一样,做好了就可以使用。 直到磨损为止,中间不会有任何变化。 就好比说我们做了一个《红楼人物知识图谱》。 《红楼梦》是一个完成的作品,不会再变,所以我们的知识图谱可以永远使用。 这是被网上程序员的知识图谱“实践”欺骗了。 看起来很有道理,但仔细想想,业务环境中的知识图谱绝非一本书那么小。 这种做法顶多是我所理解的。 知识图中的链接。 真实业务环境中的知识图谱是不断更新和积累的,能够适应数据流动,是具有“数据生态”的动态服务。 因此,它不是一个移动的黑匣子,而是一系列的生产系统,就像人类一样。 大脑一边学习一边工作。 如果你不学习,你还能应付一段时间,但久而久之你就会被下岗。

反观这个科研机构,却从未提及更新过程。 只说有助于训练和提取模型,圈定一小块区域,并将其填充到地图中。 从付钱、卖东西、领导希望看到的效果来看,确实够了。 比如说,一个学生上学这么长时间,毕业之后又去工作,为什么要给自己充电呢? 就按部就班地工作吧。 如果以后业务有变化,直接解雇他,多雇几个人就可以了。 领导甚至建议不要让他们学那些“高端的东西”,不然不学就会跑掉。 这个奇怪的想法让我想起了《资本论》。 我不会过多讨论它。 毕竟我自己的“身高”还不够。 “你必须这样做才能经营一家企业。” “如果你做得不好,怎么能做到这一点?” 这个怎么样?”

2、为什么要构建知识图谱的“数据生态”(必然性)

构建知识图谱的“数据生态”是在生产环境中使用知识图谱的需求。 根据《知识图谱标准化白皮书(2019)》中的描述,至少会有以下内在需求:基于增量数据的知识运维、图内容的统计监控、知识评审与修订、知识版本管理和知识安全管理。 总的想法是工厂不仅仅需要机器。 它必须有一个动作系统,如何保证安全,如何控制成本,如何操作维护,如何安排人力等等,完全符合常识。

构建知识图谱的“数据生态”是产业化的要求(方法论)。 企业想要发展吗? 是否要从一个工厂变成多个工厂? 那么就需要有迁移能力,尤其是管理系统的迁移。 那么知识图谱的“数据生态”不仅仅是一个项目的生态,更是一套概念模型,需要一个抽象总结然后推演提炼的过程。

构建知识图谱的“数据生态”是前沿技术发展的必要条件。 未来技术的发展会越来越快,新技术的加入必然会对原有的架构产生影响。 “数据生态”的概念通过架构级模块自治来应对这种变化。 原材料供应、各环节机器生产、成品销售等均通过接口连接。 更新替换部分只要仍然符合接口规范就可以使用。 。 这样,未来可以不断组合新技术来替代原有技术,甚至与新技术混合。

三、“数据生态”概念架构(需求、概念) (1)“数据生态”需求

引用《知识图谱标准化白皮书(2019)》中的描述:

1、知识图谱全生命周期质量保证

具有知识运维能力的知识图谱平台的主要功能应包括:本体构建,不同技术下从多个数据源获取结构化、半结构化、非结构化数据类型的知识,实体识别、关系识别的实现,实体链接、实体属性提取、本体概念与实体知识图谱之间的验证、构建和运维过程的监控、知识图谱构建过程中各种异常情况的记录和反馈、仓储知识图谱的人工审核。 另外,知识图谱平台的知识库以版本的形式进行管理,避免知识运维中新知识发布错误而对现有业务造成影响,并为运维人员提供之前的质量检查手段。上线发布,并经过严格测试验证的知识图谱版本正式上线,最终保证知识图谱全生命周期各环节的数据质量。

2、多种知识图谱的运维管理

此外,对于不同领域、不同范围的多种知识图谱的构建和运行,需要开发一个完整的平台,为多种不同的知识应用提供支持。 平台本身需要具备完善的安全控制和权限管理,能够满足多人协同构建动态本体、​​冲突检测和讨论确定统一版本的机制和功能的要求。 最终可以向上层应用开放,提高应用的智能化。 。 同时,以应用使用记录和问题反馈驱动知识图谱的运维优化,形成多个知识图谱之间的闭环全周期运维管控。

(2)概念结构

基于以上需求,结合我们现有的实践,地图的设计和监控部分暂时不包含在内,也不考虑多地图控制的情况。 粗略设计如下:

构建知识图谱的关键技术包括_知识图谱构建_图谱构建方法

图1 数据生态概念架构

操作流程如上图:(1)数据服务平台接入采集采购数据,调用人工智能索引服务进行数据索引,根据指标计算出未识别实体基础数据; (2)利用人工智能抽取引擎进行实体抽取,利用远程监督服务辅助实体对齐和消歧,再利用实体对齐和消歧服务进行实体识别,初步获得实体基础数据; (3)可以通过人工录入、远程监管发现和实体识别的方式获取实体基础数据,然后将这些基础数据提交给人工监管平台进行验证; (4)人工监管平台对数据进行人工监管和标注。 一方面将经过验证的基础实体数据保存到知识库中,另一方面将标注过的(尤其是修改过的)原始数据生成训练标注语料并发送给训练平台; (5)训练平台利用训练标注语料重新训练机器学习模型,并更新当前在线提取引擎以提高准确率(反馈); (6)知识库将实体基础数据转换进行知识融合,将知识保存到知识图谱(具体为图数据库)中,形成实体链接; (7)知识图谱对外提供知识计算服务,支持搜索推荐、图问答等应用。

“数据生态圈”的参与者可分为五种角色:知识运维管理员、数据评审注释者、服务管理员、人工智能调试者、数据运维管理员。

图2 “数据生态系统”参与者角色 四、“数据生态系统”建设面临的挑战(关键技术)

这里不提知识图谱(具体是图书馆数据库)的问题,因为它是由定型产品完成的,没有必要也没有能力改变它。 此外,还应重点关注以下几个方面:

(1)信息提取

信息抽取是知识抽取的关键步骤,可分为实体抽取、实体关系抽取和属性抽取。 从技术上来说,传统的机器学习、基于规则的提取和深度学习提取都有相应的开源项目。 理论上,基于规则的提取准确率高,但召回率低,但需要大量手动配置规则; 深度学习已经基本取代了传统的机器学习,召回率高但准确率低,并且关系到是否有足够的训练语料来保证分词的质量。 、训练参数调整等,不确定性较高。 因此,应该考虑两种方法的结合,以及随着时间的推移更新训练模型的问题。 这里将语料库、训练等深度学习部分统一为一个训练平台项目。 培训平台在功能上相对自主。 主要形成集语料管理、数据预处理、训练管理、模型管理于一体的自动化/半自动化训练平台。 它可以根据业务需求和时间演化来训练和应用模型,实现随时按需的人工智能。 智能数据处理功能。

(2)实体识别

命名实体识别(Named,NER)就是识别这些实体引用的边界和类别。 NER经常可以在开源项目中看到,无论是基于规则的还是基于深度学习的,甚至可以直接使用一些现成的库来实现。 但这里所说的实体识别更多的是指实体对齐和实体消歧这两个功能。 不仅要指出哪个词是实体,还要获取准确的实体(如实体链指向)。 实体对齐是指一个实体有多个表达式。 例如,Trump和Trump实际上是同一实体的不同表达。 实体消歧意味着相同的表达式可以根据上下文指向不同的实体。 例如:王东明去水利部视察。 这里的王东明指的是全国人大副委员长王东明,而不是辽宁第二巡视员王东明。 由于并不是文本中的每个实体都需要通过实体对齐和实体消歧来判断来确认实体,比如基于关键词的搜索,所以这个模块在之前的自然语言处理项目中经常被忽略,但是知识图谱是基于实体的,这意味着知识的基本单位是基于实体的(我也将事件视为实体),因此实体识别变得至关重要。 如果缺少这一步,后续的知识计算可能会在错误的基础上得出更加错误的结论。 还有一种手动确认所有实体的想法。 这种方法的成本非常高。 我们将在稍后的手动监督部分讨论它。

(3)人工监管

无论是人工智能的基础数据还是模型训练,人工监督都是不可或缺的一部分。 后期无论是采用众包模式还是简单的人工审核,都需要一个平台来支撑。 传统的人工审核没有智能辅助,只是简单的人为操作,效率比较低。 目前的人工监管平台不仅要能够实现众包模式下灵活的线上线下操作、投票机制、模板机制,还要有人工智能的辅助,让大部分监管从填写变成判断,大大提高了监管效率。提高效率。 。 人工监管(或数据标注)是一个新兴市场,它也可以是功能自主的,甚至可以通过外部第三方模型引入。

(四)远程监管

远程监管其实就是利用一些开放的数据资源来丰富自己的数据。 一方面,我们可以直接参考别人的结构化数据来判断自己的数据,就像“使用主义”一样; 另一方面,我们的知识图谱某种意义上也可以提供这种远程监督,进而作用于信息抽取、人工监督等模块。 此外,它还可以作为数据更新的来源。 但是,如果并非所有“带来”的数据都可用怎么办? 其中包括远程监管源本身的可信度、数据时效性、数据结构差异、错误传播等因素,这些因素将在下面的初步尝试部分详细介绍。

(5) 数据更新

“数据生态”的核心是数据的动态性,因此数据更新是需要解决的关键问题。 其中,基于数据的不断流入,通过分析得到的类似于事件实体的动态数据,例如工厂中不断生产的产品,是比较容易实现的部分。 另一方面,基础实体数据的更新,比如工厂机器的更新,是比较困难的部分。 更新触发源可能包括:手动录入方式的更新仍然是一种选择; 另外,可以考虑从大数据中计算“热词”,然后与现有实体进行比较,补充新的实体; 使用远程监管,当监控远程数据资源发生变化时,监控自己的数据是否也发生变化。 当然,如果有固定的更新源就更好了。 例如,纪委官员是从中央纪委网站发布的。 使用爬虫来爬取最新的文章并进行分析会更加准确,是垂直领域最好的更新方式。

5、初步尝试和未来设想(实施与展望) (1)数据服务平台建设(数据流程控制)

早在一年半前,我们就开始搭建大数据平台。 在这个过程中,与数据过程控制相关的部分非常重要。 相关部分主要包括:数据接入和流消息队列、实时和离线计算部分、数据流程配置管理等部分。 这样数据流就有了底层,以后做计算或者推送的时候就不用过多考虑数据流的问题了。

当然,这部分视觉配置还需要慢慢开发。 所谓监控,就是部分监控状态,部分控制。 所有数据任务的整体管理可以与具体的业务能力解耦,这也有助于将来实现多个地图任务,以及多个地图任务之间相互数据交换的更复杂的业务构建。

(2)基于BERT的信息提取

因为预训练的深度学习模型已经成为当前人工智能的主流,而且经过一些实验确实比普通的机器学习和自训练模型要好很多。 特别是互联网上的一些开源项目已经大规模应用了BERT这样的模型框架,形成了服务。 我们在这里也做了一些尝试。 后续我们会加大这部分的比重,与规则引擎结合起来,全面提升实体抽取和事件处理。 信息抽取、实体关系抽取、事件关系抽取等的准确性和自动化。

(3) 比对消歧算法

现有的对齐算法基于流行的同义词模式,并以知识图中的别名为补充。 消歧算法主要计算关键词向量组之间的相似度,辅以一些实体词的加权。 这里可以尝试的东西有很多,比如结合知识图谱、利用实体属性和实体关系进行消歧等,都可以进一步优化。

(4)远程监管平台

远程监管是基于平台的接入方式,完成缓存、验证更新、多源监管等。目前仅使用百度百科的数据,其他百科API或引擎也已测试。 效果显然不如百度百科。 一方面不准确,另一方面更新不及时。 当然,如果有更准确、实时的垂直领域的结构化数据或者API就更好了。 因此,这里把远程监管平台分离出来,把它的功能抽象出来,以应对这个地方以后的改进和更新。

(五)人工监管平台建设

人工监管平台实际上是一个任务处理的众包平台。 真实监督或审核的界面采用模板化架构,根据需要配置不同的模板。 这里我们主要参考两个项目。 让人工监管成为一个独立的业务(甚至是数据标注公司),与其结合的人工智能技术(人脸识别、图像标注中的语义分割等)越多,效率就越高,成本就越低。

(6)图数据库及数据展示

在探索知识图谱的过程中,我的经验很少。 我首先使用了像 Neo4j 这样的流行工具。 由于应用部分没有太多实践,所以暂时无法判断哪种图数据更好。 这有点像使用MySql。 只是SQL语句查询,看不出两个数据库有什么区别。 只有深入使用才能产生差异。 从目前的需求来看,一是存储的数据总量,二是查询效率(尤其是复杂查询),这需要分布式和图数据库本身的性能。 暂时还没有考虑太多图数据的功能问题。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文