关于java:今天不写代码聊聊热门的知识图谱技术

2次阅读

共计 5768 个字符,预计需要花费 15 分钟才能阅读完成。

前一段时间,boss 交给我个工作,让我调研一下常识图谱技术。虽说有点 NLP 的底子,不过钻研起这个来还是满头的包,终于还是在收集了不少材料后划拉进去 50 多页的 PPT,那么明天就浅浅的给大家分享一下常识图谱的相干常识。

概述

诞生

常识图谱的概念诞生于 2012 年,由谷歌公司首先提出。大家都晓得,谷歌是做搜索引擎的,所以他们最早提出了 Google Knowledge Graph 后,首先利用常识图谱技术改善了搜索引擎外围。

留神下面的说法,尽管常识图谱诞生于 2012 年,但其实在更早的工夫它还有另外一个名字,那就是 语义。那么语义又是什么呢?援用《统计自然语言解决根底》中的两句话来解答这个问题:

语义能够分成两局部,钻研单个词的语义(即词义)以及单个词的含意是怎么联结起来组成句子(或者更大的单位)的含意。

语义钻研的是词语的含意、构造和谈话的形式。

那么,常识图谱到底是个什么货色呢?

你能够将它了解为是 在自然界建设实体关系 的常识数据库,它的提出是为了精确地论述人、事、物之间的关系。

目前在学术界还没有给常识图谱一个对立的定义,然而在谷歌公布的文档中有明确的形容:“常识图谱是一种用图模型来形容常识和建模世界万物之间关联关系的技术办法”

演进

谷歌的 Singhal 博士用三个词点出了常识图谱退出之后搜寻产生的变动:

“Things,not string.”

这寥寥的几个单词,点出了常识图谱的外围。以前的搜寻,都是将要搜寻的内容看作字符串,后果是和字符串进行匹配,将匹配水平高的排在后面,前面依照匹配度顺次显示。而利用常识图谱之后,将搜寻的内容不再看作字符串,而是看作主观世界的事物,也就是一个个的个体。

举个例子,当咱们在搜寻比尔盖茨的时候,搜索引擎不是搜寻“比尔盖茨”这个字符串,而是搜寻比尔盖茨这个人,围绕比尔盖茨这个人,展现与他相干的人和事。

在下面的图中,左侧百科会把比尔盖茨的次要状况列举进去,右侧显示比尔盖茨的微软产品和与他相似的人,次要是一些 IT 行业的创始人。这样,一个搜寻后果页面就把和比尔盖茨的根本状况和他的次要关系都列出来了,搜寻的人很容易找到本人感兴趣的后果。

三要素

在常识图谱中,通过三元组 < 实体 × 关系 × 属性 > 汇合的模式来形容事物之间的关系:

  • 实体:又叫作本体,指客观存在并可互相区别的事物,能够是具体的人、事、物,也能够是形象的概念或分割,实体是常识图谱中最根本的元素
  • 关系:在常识图谱中,边示意常识图谱中的关系,用来示意不同实体间的某种分割
  • 属性:常识图谱中的实体和关系都能够有各自的属性

这里所说的实体和一般意义上的实体略有不同,借用 NLP 中本体的概念来了解它会比拟好:

本体定义了组成 主题畛域 的词汇表的 根本术语 及其 关系 ,以及联合这些术语和关系来定义词汇表内涵的 规定

例如咱们要形容 大学 这一畛域时,对它来说 教工 学生 课程 就是绝对比拟重要的概念,并且教工和学生之间也存在肯定的关联关系,此外对象之间还存在肯定的束缚关系,例如一个系的教职员工数量不能少于 10 人。

在理解了下面的三元组后,咱们能够基于它构建上面这样的一个关系:

能够看到,女王和王储通过母子关系关联在一起,并且每个人领有本人的属性。

当常识图谱中的节点逐步增多后,它的表现形式就会相似于化学分子式的构造,一个常识图谱往往存在多种类型的实体与关系。

常识图谱将非线性世界中的常识信息进行加工,做到这样的结构化、可视化,从而辅助人类进行推理、预判、归类。

到这里,能够简略概括一下常识图谱的基本特征:

  • 知识结构网络化
  • 网络结构简单
  • 网络由三元组形成
  • 数据次要由知识库承载

场景

搜寻

后面提到过,以前的搜索引擎是从海量的关键词中找出与查问匹配度最高的内容,依照查问后果把排序分值最高的一些后果返回给用户。在整个过程中,搜索引擎可能并不需要晓得用户输出的是什么,因为零碎不具备推理能力,在精准搜寻方面也略显有余。而基于常识图谱的搜索引擎,除了可能间接答复用户的问题外,还具备肯定的语义推理能力,大大提高了搜寻的精确度。

举荐

在传统的举荐零碎中,存在两个典型问题:

  • 数据稠密问题:在理论利用场景中,用户和物品的交互信息往往是十分稠密的,预测会产生过拟合危险
  • 冷启动问题:对于新退出的用户或者物品,因为零碎没有其历史交互信息,因而无奈进行精确地建模和举荐

例如,在一个电影类网站中可能蕴含了上万部电影,然而一个用户打过分的电影可能均匀只有几十部。应用如此大量的已观测数据来预测大量的未知信息,会极大地减少算法的过拟合危险。

因而在举荐算法中会额定引入一些辅助信息作为输出,这些辅助信息能够丰盛对用户和物品的形容,从而无效地补救交互信息的稠密或缺失。在各种辅助信息中,常识图谱作为一种新兴类型的辅助信息,这几年的相干钻研比拟多。

上面就是一个基于常识图谱的举荐例子:

在将常识图谱引入举荐零碎后,具备以下劣势:

  • 精确性:常识图谱为物品引入了更多的语义关系,能够深层次地发现用户趣味
  • 多样性:常识图谱提供了实体之间不同的关系连贯品种,有利于举荐后果的发散,防止举荐后果局限于繁多类型
  • 可解释性:常识图谱能够连贯用户的历史记录和举荐后果,从而进步用户对举荐后果的满意度和接受度,加强用户对举荐零碎的信

此外,常识图谱技术还在问答与对话零碎、语言了解、决策分析等多个畛域被广泛应用,它被挂载在这些零碎之后,充当背景知识库的角色。总的来说,在这些场景下的利用,能够概括整个 AI 的发展趋势,就是从 感知 认知 的一个过程。

架构

常识图谱的构建目前已有一套比较完善的架构体系,能够先来看一下上面这张图,而后咱们再缓缓解释:

总的来说,整体过程能够分为上面 5 步:

  • 1. 数据获取:次要获取半结构化数据,为后续的实体与实体属性构建做筹备。结构化数据则为数值属性做筹备
  • 2. 常识获取:从文本数据集中自动识别出命名实体,包含抽取人名、地名、机构名等;从语料中抽取实体之间的关系,造成关系网络;从不同的信息源中采集特定的属性信息
  • 3. 常识交融:实现批示代词与后行词的合并;实现同一实体的歧义打消;将已辨认的实体对象,无歧义地指向知识库中的指标实体
  • 4. 常识加工:构建常识概念模块,抽取本体;进行常识图谱推理,并对常识图谱的可信度进行量化评估,评估过关的常识图谱流入常识图谱库中存储,评估不过关的常识图谱返回一开始的数据环节进行调整,而后反复雷同环节直到评估过关
  • 5. 常识存储与计算:存储是为了疾速查问与使用常识,需反对底层数据形容与下层计算,有的主体计算蕴含在存储中

上面,咱们拆解其中局部重要外围细节,来具体形容。

常识获取

数据是常识图谱的根基,间接关系到常识图谱构建的效率和品质。所以咱们先从数据源进行剖析它们的劣势与劣势:

  • 站内数据:劣势在于类别明确,结构化好,易于获取;而劣势在于类型无限,已有数据并不是狭义上的常识类型
  • 垂直网站数据:劣势在于类别明确;而劣势在于获取解析老本高,数据品质参差不齐
  • 百科类网站数据:劣势在于数据量大,内容丰盛;而劣势在于没有分类信息,构造不齐全固定
  • 人工创立的数据:劣势在于类别明确;而劣势在于类别明确

实体抽取

实体抽取,是指从数据中辨认和抽取实体的属性与关系信息,这一过程还是针对不同构造的数据来看:

  • 结构化数据:包含站内 / 垂直网站信息、局部百科网站信息,能够利用策略模式,将抽取的具体规定用 groovy 脚本来实现
  • 半结构化数据:包含百科网站中的表格以及列表,能够利用基于监督学习的包装器演绎办法进行抽取
  • 非结构化数据:包含百科网站中的文本以及站内文本,能够利用自然语言解决的伎俩解决

关系抽取

回顾一下咱们后面提到过的常识图谱三要素,别离是实体、关系和属性。关系抽取咱们同样能够用一个三元组示意的 RDF graph:

这样的一个(S,P,O)三元组,就能够将一份常识合成为主语、谓语、宾语。这样的 SPO 构造,在配合常识图谱进行存储时能够被用来当做存储单元。

在 RDF 中能够申明一些规定,从一些关系推导出另一些关系,这些规定被称为 RDF Schema。规定能够用一些词汇示意,如 class、subClassOf、type、property、subPropertyOf、domain、range 等。

上面这个例子中,节点到节点之间的关系就能够了解为后面提到的本体中的分割,而这一关联过程就能够被称为常识图谱中的推导或关联推理:

常识交融

常识交融这一过程中,次要包含指代消解、实体对齐、实体链接等过程,咱们次要来看一下这个过程中比拟重要的实体对齐(Object Alignment)。

实现实体抽取后,存在实体 ID 不同但代表真实世界中同一对象的状况。常识交融即是将这些实体合并成一个具备全局惟一标识的实体对象,增加到常识图谱中。

  • 首先在索引中依据名字、别名等字段查问出若干个可能是雷同实体的候选列表,这个步骤的目标是缩小接下来流程的计算量
  • 而后通过实体判断模型,依据模型得分辨认出待合并对齐的原始实体
  • 最初通过属性交融模型,将各原始实体的属性字段进行交融,生成最终的实体。

这一过程能够用上面的图来示意:

实际上,这个流程中的合并判断模型大家都比拟相熟,它就是通过机器学习训练生成的二分类器。

常识图谱构建与补全

常识图谱普遍存在不齐备的问题,在这一步须要做的,就是基于图谱里已有的关系,去推理出缺失的关系。

在上面的这张常识图谱的实体网络中,黄色的箭头示意曾经存在的关系,红色的虚线则是缺失的关系。咱们能够依据实体之间的关系,来补全缺失的 e3 到 e4 之间的关系。

至于这一补全的过程,有很多现成的算法能够应用,例如基于门路查找的办法,基于强化学习的办法,基于推理规定的办法,基于元学习的办法等等。

常识存储

常识图谱的存储依赖于图数据库及其引擎,不同厂商的实现可能大有不同,例如能够选用的图数据库有 RDF4j、Virtuoso、Neo4j 等。例如爱奇艺的图数据库引擎抉择了 JanusGraph,借助云平台的 Hbase 和 ES 集群,搭建了本人的 JanusGraph 分布式图数据库引擎。

JanusGraph 通过借助内部的存储系统与内部索引零碎的反对,撑持了上游的在线查问服务。

补充

底层存储数据三元组的逻辑档次能够被称为数据层,通常通过本体库来治理数据层,本体库的概念相当于对象中“类”的概念。而建设在数据层之上的模式层,是常识图谱的外围,它借助本体库来治理公理、规定和约束条件,标准实体、关系、属性这些具体对象间的关系。

从不同的视角去扫视常识图谱,能够更不便咱们对其进行理解:

  • 在 Web 视角下,常识图谱如同简略文本之间的超链接一样,通过建设数据之间的语义链接,反对语义搜寻
  • 在自然语言解决视角下,常识图谱就是从文本中抽取语义和结构化的数据
  • 在常识示意视角下,常识图谱是采纳计算机符号示意和解决常识的办法
  • 在人工智能视角下,常识图谱是利用知识库来辅助了解人类语言的工具
  • 在数据库视角下,常识图谱是利用图的形式去存储常识的办法

上面,就是一张构建齐备后,比拟易于咱们了解的常识图谱举例:

看到这里,是不是感觉常识图谱的构建过程比较复杂,让咱们难于上手?

其实近些年来,深度学习和相干自然语言解决技术的迅猛发展使得非结构化数据的主动常识抽取少人化、乃至无人化成为了可能,当初曾经提出了一些前沿的常识图谱主动构建技术。

在深度学习的根底上,艾伦人工智能实验室和微软的钻研人员联合自然语言解决畛域较为胜利的预训练语言模型,提出了主动常识图谱构建模型 COMET(COMmonsEnse Transformers)。

该模型能够依据已有常识库中的自然语言内容主动生成丰盛多样的常识形容,在 Atomic 和 ConcepNet 两个经典常识图谱上都获得了靠近人类体现的高精度,证实了此类办法在常识常识图谱主动构建和补全方面代替传统办法的可行性。

难点

数据治理艰难

数据治理为常识图谱输送数据源,是常识图谱构建的前置环节与基础性工程。齐备良好的数据治理不仅能确保常识图谱在搭建过程中获取实在牢靠的数据原料,而且能从源头上改善信息品质,晋升常识的准确度,建设合乎人类认知体系的数据资源池。

然而,数据治理在常识图谱建设卡点中是一个陈词滥调的问题。常识图谱利用始终要围绕数据标签、数据荡涤、数据归一、数据销毁等数据治理环节开展,利用开发人员往往须要在后期的数据治理工作中投入大量工夫和人力,以确保数据源的真实性、可靠性、可用性、正确性。

以后,数据规范不对立、数据噪声大、畛域数据集缺失、数据可信度异样等数据治理难题仍然困扰着常识图谱研发者,继续进行数据治理工程是业内参与者艰巨的使命与职责。

专家不足

目前常识图谱行业整体处于开发资源待欠缺的场面,行业与技术专家资源稀缺属于其中的一部分状况。

一方面,短少具备深厚行业教训的专家。因为行业常识图谱与行业的关联度高,开发人员须要迅速理解业务与客户需要,在行业专家的领导下实现 Schema 构建,若波及到文本抽取工作还须要行业专家进行数据标注,而各行各业中的行业专家往往仅有极少数。对此,供给方企业须要锁定行业业务的强项畛域、提前招募造就行业专家、进行内外合作,以实现行业专家储备。

另一方面,短少技术复合型专家。整个常识图谱利用生产流程不仅波及常识图谱算法,生产流程的靠前环节还波及到底层的图数据存储与数据治理、NLP 文本抽取和语义转换,同时各环节都浸透着机器学习这一底层人工智能技术。这意味着整个生产流程须要多个技术畛域的工程师协同单干,而对整套技术均有理解的技术专家数量稀缺。

底层存储

因为常识图谱是二维链接的图构造而非行或列的表构造,其需以图数据的模式形容并存储,该形式能间接反馈常识图谱的内部结构,有利于常识查问,联合图计算算法进行常识的深度开掘与推理。

满足这一存储要求的数据库为近几年衰亡的图数据库。相比于传统的关系型数据库,图数据库的数据模型以节点和边来体现,可大大缩短关联关系的查问执行工夫,反对半结构化数据存储,展现多维度的关联关系。高效便捷的新技术往往意味着更高的研发门槛。

流程与算法

在常识图谱的搭建过程中,依然面临着各类算法难点,次要难点可归结为生产流程中的算法难点和算法性能上的难点。前者体现为常识获取受数据集限度、常识交融烦扰因素较多、常识计算的数据集与算力有余等问题。

而后者体现为算法泛化能力有余、鲁棒性有余、不足对立测评指标等问题。算法上的难点有赖于供需双方、学术界、政府继续攻坚,而非一方致力即可播种胜利。

正文完
 0