知识图谱构建的第一步|知识抽取
今天咱们聊聊知识图谱构建的第一步——知识抽取。这活儿说白了,就是从各种犄角旮旯的数据里,把有价值的知识给“捞”出来,再规整成结构化的知识,最后存到知识图谱里。当然,严格说起来,知识抽取虽然是第一步,但它得建立在先拿到数据的基础上。数据怎么来?常见的方法有众包、爬虫、机器学习、专家协作这么四种,标准化白皮书里对它们有详细说明,这里就不展开了,毕竟那更像数据采集的范畴。
知识抽取要处理的,是结构化、半结构化、非结构化的数据。它通过一系列自动化或半自动化的手段,从中提取实体、关系、属性这些知识要素,进而形成高质量的事实表达,为后续的模型层打好基础。日常生产中,我们碰到的绝大多数数据都是非结构化的,其中文本数据又是大头。为了把问题讲透,下面我们就以文本数据为例,把知识抽取的几大核心任务掰开揉碎了说。
实体抽取
实体抽取,也叫实体识别。它的工作就是从文本语料库里,自动抓取出那些专有名词——比如机构名、地名、人名、客户名、卡号啥的,以及有明确含义的时间或名词性短语。这些识别出来的命名实体、普通名词短语、代词等等,统称为实体。实体抽得准不准,直接决定了知识抽取的整体质量和效率,可以说,它是整个知识图谱构建最基础也是最关键的一环。
早期的实体抽取,目光基本都集中在单一领域,琢磨的是怎么识别文本里的机构名、人名、地名。当时主要靠规则,但规则的局限很明显:扩展性差,数据一变就得重写规则,还得投入大量人力去手工维护。为了解决这个问题,后来陆续出现了基于规则加监督学习的方法、半监督方法、远程监督方法,还有海量数据自学习方法。随着命名实体识别技术的进步,学术界也不再死磕特定领域,而是转向开放的互联网,研究如何在全网范围内做知识抽取。而要研究这种开放域的知识抽取,就得先建立一个科学、完备的命名实体分类体系,一方面指导算法研究,另一方面也方便对抽取出的实体数据进行管理。
关系抽取
相比实体抽取,关系抽取要复杂得多。大多数关系都藏得比较深,不那么明显,而且关系本身也很复杂——不同实体之间可能有多层关系,同一个实体也可能同时关联着多种不同的关系。统计机器学习方法通过给实体间的关系模式建模,来替代那些预先定义好的语法和语义规则。大量基于特征向量或核函数的有监督学习方法,也让关系抽取的准确率不断提升。不过,在相似度计算时,核函数方法对匹配约束卡得很严,导致召回率普遍偏低,所以后来很多研究都围绕提高召回率展开。
随着语料越来越多,深度学习在图像和语音领域大获成功,知识抽取这边也开始转向基于神经模型的研究。有人提出了联合抽取模型,利用神经网络不需要堆太多特征(词向量、位置信息就够)的特点,同时抽取实体和它们之间的关系。这种联合模型的优点,是能避免流水线模型那种错误层层累积的问题。但不管是流水线方法还是联合方法,都属于有监督学习,都需要海量的训练语料,特别是用神经网络方法,语料不够根本练不出来。所以这些方法并不适合用来构建超大规模的知识图谱。最近几年,关系抽取的研究重点逐渐转向半监督和无监督的学习方式,并且已经有了一些成果。
属性抽取
属性,主要是针对实体说的,目的是完整地描述一个实体。因为我们可以把实体的属性看作实体和属性值之间的一种名词性关系,所以属性抽取这个任务,本质上就可以转化成关系抽取任务。就属性抽取而言,虽然从百科类网站能捞到大量实体属性数据,但更多的属性数据还是藏在非结构化的公开数据里。如何从这些海量的非结构化数据中抽出实体属性,是个值得琢磨的问题。
目前主要有两种方案:一种是从百科类网站的半结构化数据里自动抽取,生成训练语料,训练出一个能标注实体属性的模型,再用这个模型去非结构化数据里提取属性。另一种是直接去文本里挖实体属性和属性值之间的关系,据此定位属性名和属性值在文本中的位置。这种方法的底层假设是:属性名和属性值在位置上是有内在关联的。事实上,在真实语言环境里,很多实体属性值附近,都会有一些限定或界定该属性值含义的关键词(也就是属性名),在自然语言处理中,这类属性被称为“有名属性”,利用这些关键词就能定位有名属性的属性值。
事件抽取
事件,指的是在某个特定时间点或时间段、某个特定地域范围内,由一个或多个角色参与的动作所引发的状态改变。目前像维基百科这些知识资源,描述的实体和它们之间的关系大多是静态的。但一个事件可能分散在好几个句子里,而且得同时考虑多个元素。不过,事件能描述粒度更大、更动态、更结构化的知识,它是对现有知识资源的一个重要补充。通俗地说,事件抽取技术就是从五花八门的非结构化信息里,抽取出实体之间那些有价值的事件,再用结构化的形式,来辅助实体的知识图谱构建。
事件抽取任务,可以进一步拆成4个子任务:触发词识别、事件类型分类、论元识别和角色分类。前两个步骤合起来可以叫事件识别,它要判断句子中每个单词属于哪种事件类型,是一个基于单词的多分类任务。后两个步骤合起来叫论元角色分类,这是一个基于词对的多分类任务,要判断句子中任意一对触发词和实体之间的角色关系。另外,事件抽取还能分成两大类型:元事件抽取和主题事件抽取。元事件,描述的是一个动作的发生或状态的变化,通常由动词驱动,但也能由表示动作的名词等其他词性的词来触发,它包含参与该动作的主要成分,比如时间、地点、人物等。主题事件则包括更宏大的事件或活动,它可能由多个元事件片段组合而成。目前,研究主要集中在元事件抽取上,对主题事件抽取的探索还相对较少。

-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名