知识图谱的创造与充实

发布时间 2023-06-02 17:38:16作者: Rswxgs

知识图谱的创造与充实

本节将讨论创建知识图谱的主要技术,并随后从从纯文本到结构化格式(以及二者之间的任何格式)的各种遗留数据源中丰富知识图谱。

创建知识图谱时要遵循的是适当方法取决于所涉及的参与者、领域、设想的应用程序、可用的数据源等。一般来说知识图谱的灵活性有助于从初始核心开始,可以根据需要从其他来源逐步丰富。

假设旅游局决定从头开始构建一个知识图谱,为了在最初描述主要的旅游景点--地点、事件等,在智利用以帮助来访游客确定他们最感兴趣的景点。委员会决定推迟添加更多数据,如运输路线、犯罪报告等。

6.1 人类协作


创建和丰富知识图谱的一种方式就是征求人类编辑的直接贡献。这种边界可以在内部找到(例如,旅游局的雇员),使用众包平台,通过反馈机制(例如,游客添加对景点的评论),通过写作编辑平台(例如,对公众编辑开放的经典维基)等

尽管人工参与的成本很高,但一些著名的知识图谱主要是基于人工编辑的直接贡献。然而根据征集的方式,进行知识图谱的创建有着许多缺点:主要是由于人为错误、分歧、偏见、故意破坏等。好的合作与创造进一步提出了关于许可、工具、文化的挑战。人类有时更倾向于被用来验证和管理通过其他方式提取的指数图谱的添加,定义来自其他来源的高质量映射,定义适当的高级模式等。

6.2 文本源


文本语料库--例如来源于报纸、书籍、科学文章、社交媒体、电子邮件、网路抓取等。然而为了创建或丰富知识图谱的目的,以高精度和高召回率提取这些信息是一个不小的挑战。为了解决这个问题,可以应用自然语言处理技术(NLP)和信息提取技术(IE)。但是不同的文本提取框架过程差异很大。下图中展示了对一个样例句子进行文本提取的四个核心任务

image-20230412131232603

6.2.1 预处理

预处理任务可能涉及将各种技术应用于输入文本,图28中展示了标记化,它将文本解析为原子术语和符号。

应用于文本语料库的其他预处理任务可包括:

  • 词性(POS)标记,用来识别表示动词、名词、形容词等术语

  • 依存分析,提取句子的语法树结构,其中叶节点表示组成短语的单个单词,这些单词构成短语(例如名词短语、动词短语),并最终构成从句和句子。

  • 词义消歧(WSD)以识别一个词的含义,将单词与含义词联系起来。

    (例如:WrodNet或BabelNet)其中例如单词flights可以与和wordnet联系起来,也就是an instance of travelling by air意思是乘飞机旅行的实例,而不是a stairway between one floor and the next(一层楼和下一层之间的楼梯)

对预处理方法的选择一般是根据后续任务的需求来确定

6.2.2 命名实体识别(NER)

NER任务识别文本中提到的命名实体,通常针对提及到的人物、组织、地点以及潜在的其他类型。各种各样的NER技术,其中许多基于学习框架的现代方法利用词汇特征(例如,POS标签、依赖解释树等)和地名录(常见的名字、姓氏、国家、著名企业等列表)

监督方法,需要手动标记训练语料库中提及到的所有实体,而基于自举的方法需要一小组实体提及的种子实例,从中可以学习模式并将其应用于未标记的文本。

远程监控使用知识图谱中的已知实体作为种子实例,通过这些示例可以检测到类似的实体。除了基于学习的框架之外,手工制定的规则有时候仍被使用,因为它们的行为更具可控性和可预测性。

由NER识别的命名实体可用于为知识图谱生成新的候选节点(称为新型实体,图28中用虚线表示)或根据下面描述的实体链接任务链接到现有节点。

6.2.3 实体链接(EL)

EL任务将文本中实体与目标知识图谱的现有节点相关联,目标知识图谱可以是正在创建的或外部知识图谱的核心。在图28中,假设节点Santiago和Easter Island已经存在与知识图谱中。然后EL可以将给定的提mentions链接到这些节点。

EL任务提出了两个主要挑战:

  • 可能有很多方法来提及同一实体。可以理解为一个实体可以对应多个mention比如:Rapa Nui和Easter Island,如果我们创建一个节点Rapa Nui来表示该提及,我们将在不同的节点上拆分两个以下的可用信息,因此对于目标知识图谱来说,捕获各种别名和多语言标签很重要,通过这些别名和多语言标签可以引用实体。

  • 不同语境的同一提法可以指不同的实体。可以理解为一个mention在不同的环境下可以指不同的实体。例如:Santiago可以指智利、古巴、西巴亚等城市。

因此EL任务考虑歧义消除阶段,在此阶段mention和知识图谱的的候选节点相关联,候选节点被排序,并且最有可能被提及的节点被选择。在此阶段可以使用上下文,例如Easter Island可能和圣地亚哥一起被相应提及,我们可以增加提到智利首都的可能性,因为两个候选节点都位于智利。

其他用于消除歧义的启发式方法考虑先验概率,例如,圣地亚哥最常指智利的首都,知识图谱上的中心性度量可以用于这样的目的

6.2.4 关系抽取(RE)

关系抽取任务提取实体之间的关系。最简单的情况是在一个封闭的环境中提取二元关系,其中考虑了一组固定的关系类型。

  • 传统方法:使用手工制作的模式

  • 现代方法:使用基于学习的框架,包括对手工标记的例子进行监督的方法

    其他基于学习的方法使用引导的方法和远程监督来放弃手动标记的需要

    • 引导的方法需要一个手工标记的种子例子的子集

    • 远程监督的方法在一个大型我呢本语料库中找到提到具有已知关系/边缘的实体对的句子,用来学习。

二元关系抽取也可以在一个开放的环境中使用无监督的方法--通常被称为开放信息提取(OIE),其中目标关系集不是预先定义的,而是基于例如关系的依赖解析树从文本中提取的。

 

6.3 标记来源


网络是建立在相互链接的标记文件上的,其中标记(又称标签<dir>)被用来分隔文件的元素(通常是为了格式化)。网络上的大多数文件都使用超文本标记语言(HTML)。

image-20230413120357925

图29展示了一个关于智利世界遗产地的HTML网页的例子。

其他的标签还有:

  • 维基百科使用的Wikitext

  • 用于排版的TeX

  • 内容管理系统使用的Markdown等

这个和知识图谱有什么关系呢?

为了创建和丰富知识图谱,从标记文件中提取信息的一种方法是剥离标记(例如,HTML标签),只留下纯文本,在此基础上可以应用上一节的技术然而标记对于文本提取任务并不是其反面作用,它也是有益于在这些任务的,上面说的剥离标记的方法已经被调整为利用标记进行文本提取。

针对标记文档的提取技术一般分为三大类:

  • 一般的方法,这些方法独立于特定格式的标记,通常基于将文档中的元素映射到输出的包装器

    包装器定义:包装器是一个能够将数据从HTML网页中抽取出来,并且将他们还原为结构化的数据的软件程序。

    image-20230413123159669

    image-20230413123253608

  • 集中的方法,针对文档中特定形式的标记,最典型的是网络表格(有时也包括列表、链接等)

  • 基于表单的方法,按照深层网络的概念,提取网页中的数据。

这些方法通常可以从一个特定网站的网页所共有的规律性中获益,不管是由于在网页上发布信息的非正式惯例,还是由于在网页上自动生成内容的模板的重复使用

例如,从直觉上讲,虽然图29的网页是关于智利的,但我们很可能会发现其他国家的网页也有同样的结构。直观地说,虽然图29的网页是关于智利的,但我们很可能会在同一个网站上找到遵循同样结构的其他国家的网页。

6.3.1 基于包装的提取

许多方法都是基于直接从标记文档中定位和提取有用信息的包装器。传统方法的手动定义包装器(这一任务已经定义好了各种声明性语言和工具),但这种方法对网站布局的变化很脆弱,因此允许其他方法(半)自动地诱导包装器。

一种现代方法--用于丰富LODIE等系统中的知识图谱,就是应用远距离监督,由此,上面第二节提到的关系抽取EL就被用来识别网页中的实体并将其链接到知识图谱中的节点,这样,标记中连接已知边的节点对的路径就可以被提取、排序、并应用于其他例子。

远距离监督:

6.3.2 Web表提取

其他方法针对特定类型的标记,最常见的是网络表格,即嵌入HTML网页中的表格。然而网络表格的设计是为了提高人类的可读性,这往往和机器的可读性相冲突。许多网络表格用于布局和页面结构(如导航条),而那些包含数据的表格可能遵循不同的格式,如关系表、列表、属性-价值表、矩阵等。

因此,对网络表格信息的提取要分布进行

  1. 第一步,对表格进行分类,找到合适给定提取机制的表格

  2. 第二步,网络表格可能包含列跨度、行跨度、内部表格或者可能被垂直分割以提高人类审美,因此需要一个表格规范阶段来识别表头、合并拆分表、取消嵌套表、转置表格等

  3. 第三步,要识别主角即表格描述的主要实体,这个可在网页的其他地方找到。例如虽然世界遗产地图是图28表格的主角,但是他并没有被表格提及。

  4. 最后,可以应用提取过程,潜在地将单元格与实体、列于类型、以及列对与关系联系起来。

为了丰富知识图谱,再次应用远距离监督,首先将表格单元与知识图谱节点链接起来,用于生成类型和关系抽取的候选者。

针对特定网站上的表格也设计了专门的抽取框架其中较为突出的知识图谱,如DBpedia和YAGO侧重于从维基百科中的信息框表格中抽取。

6.3.3 深度网络爬取

深层网络提供了丰富的信息来源,只有通过对Web表单的搜素才能访问,因此需要深度网络爬取技术来访问。人们已经提出了从深层网络资源中提取知识图谱的系统,这些方法通常试图生成合理的表单输入--可能基于用户查询或从参考知识中生成然后使用上述技术从中生成的响应中提取数据。

6.4 结构化来源


许多组织内部和Web上可用的遗留数据都以结构化格式表示,主要是表——关系数据库、CSV文件等形式——但也有树状结构格式,如JSON、XML等。与文本和标记文档不同,结构化源通常可以映射到知识图,其中结构根据映射(精确地)转换,而不是(不精确地)提取

映射过程:

  1. 创建从源到图的映射

  2. 使用映射将源数据化为图或虚拟化源

6.4.1 表间映射

表格数据源非常普遍,例如,许多组织、网站等的底层结构化内容都保存在关系数据库中。图30是一个关系数据库的示例,我们要将其集成到正在构建的知识图中,有两种方法将内容从表映射到知识图:直接映射和自定义映射

image-20230413160809055

image-20230413160816076

直接映射从表自动生成图,图31是其映射结果,它为表的每个单元格创建了一条边,image-20230413161046653其中X表示单元格的行,y表示单元格的列名,Z表示单元格的值。当x

对于CSV和其他表格数据,已经定义了另一种直接映射,它允许指定列名、主键/外键和数据类型。

尽管直接映射可以自动应用于表格式数据源,并保留原始数据源的信息,即允许从输出图中重建表格式数据源的确定性反向映射(可以理解为从表格到图谱的逆过程即根据图谱能构造出来一个表格数据源)。在很多情况下,自定义映射是理想的,例如将边缘标签或节点与充实的知识图谱对齐等。沿着这些思路,声明性映射语言允许手动定义从表格源到图谱的自动映射。这方面的一种标准语言是RDB2RDF映射语言,它允许从表的各个行映射到一个或多个自定义的边,其中节点和边定义为常量,作为单独的单元格值,或者使用从行和静态子字符串中连接多个单元格值的模板。

还有一个类似的标准,用于将CSV和其他表格数据映射到RDF图,同样允许选择键、列名和数据类型作为映射的一部分。一旦定义了映射,

  • 一种选择是使用它们按照Extract-Transform-Load (ETL)方法将图数据具体化,其从而使用映射将表数据转换并显示序列化的图数据。

  • 第二种选择是通过查询重写(QR)方法使用虚拟化,通过这种方法,将图上的查询(使用SPARQL、Cypher等)被转换为对表格数据的查询(通常使用SQL)。

这两个选择ETL允许使用知识图谱中的任何其他数据一样的使用图数据。然而ETL需要更新底层的表格数据才能显式地传播到知识图谱,而QR方法只能维护一个待更新的数据副本。

6.4.2 从树映射

许多流行的数据格式都是基于树的,包括XML和JSON。尽管人们可以想象——先不考虑树中子节点的顺序等问题——通过简单地为源树中x的子节点y创建img形式的边来实现从树到图的简单直接映射,但通常不使用这种方法,因为它表示源数据的文字结构。相反,树结构数据的内容可以更自然地表示为使用自定义映射的图。沿着这些思路,GRDLL标准允许从XML映射到(RDF)图,而JSON- ld标准允许从JSON映射到(RDF)图。相反,混合查询语言(如XSPARQL)允许以集成的方式查询XML和RDF,从而在树状结构的遗留数据源上支持图形的物化和虚拟化。

6.4.3 其他知识图谱映射

建或丰富知识图谱的另一种方法是利用现有的知识图谱作为源。

例如,在我们的场景中,智利旅游局的大量兴趣点可能在现有的知识图中可用,如DBpedia、LinkedGeoData、Wikidata、YAGO、BabelNet等。然而,根据正在构建的知识图,并不是所有实体和/或关系都是相互关联的。

提取数据的相关子图的选取标准是使用生成图的SPARQL构造查询作为输出。为了更好地集成外部知识图谱,知识图谱之间的实体和模式对齐可能是必要的,基于外部标识符,可以使用图链接工具,也可以手动。例如,Wikidata使用Freebase作为源;Gottschalk和Demidova从Wikidata、DBpedia和YAGO中提取了一个以事件为中心的知识图;而Neumaier和Polleres利用Geonames、Wikidata和PeriodO(以及表格数据)构建了一个时空知识图。