APP下载

面向开放文本的逻辑推理知识抽取与事件影响推理探索

2021-11-16刘焕勇薛云志任红萍

中文信息学报 2021年10期
关键词:三元组逻辑推理知识库

刘焕勇,薛云志,2,李 瑞,任红萍,陈 贺,张 鹏

(1.中国科学院软件研究所 智能软件研究中心,北京 100190;2.中国科学院软件研究所 计算机国家重点实验室,北京 100190;3.数据地平线(广州)科技有限公司,广东 广州 511458)

0 引言

随着当前信息化的迅猛发展,各行业的公开信息文本不断增加,门户网站、论坛社区、研究报告等多个信息源为各行业积累了丰富的语料资源。开放网络多为非结构化文本的语料资源,既为领域性结构化常识知识库提供了大规模的一手素材,也对新的结构化信息技术提出了更高的挑战。随着知识图谱的发展以及大规模常识知识库的构建,人们越来越关注如何利用知识图谱完成更高层级的知识推理任务。

基于已知知识进行知识推理,采用如事件驱动传导路径等方法进行知识发现,能够支持业务的推理和辅助决策,例如在智能投研方面进行未知风险预警、在舆情分析中对公司进行舆论控制和监控等。这些推理工作需要较大规模且具有推理性的知识库作为基础数据资源支撑,也需要在推理过程中以一种人类友好、可解释的知识推理展现方式以供人机交互,因此大规模推理知识库的建设显得更为迫切。

1 相关工作

目前逻辑类知识库资源的建设还相对较少,除了ConceptNet[1]等大规模常识知识库中也包含描述因果逻辑知识的三元组信息外,与此相关的工作主要集中在因果知识的抽取上。因果关系是一种语义关系、重要的知识形式以及推理逻辑,可以分成解释逻辑、预测逻辑和干预逻辑三种类型,通过挖掘因果事实,可以起到影响决策制定的作用。[2]

目前,因果事理知识库的构建逐步受到各界关注,在知识的提取上,杨攀飞[3]从句法和语义上总结了多种显式因果模式,郑巧夺等[4]采用了一种基于双层CNN-BiGRU-CRF模型的事件因果关系抽取方法。在因果知识库的构建上,提出了叙述性事件演化图谱。Ding等[5]和Li等[6]分别提出了事件逻辑图(Event Logic Graph)和事件演化图谱(Narrative Event Evolutionary Graph)概念,沙雨辰[7]提出了一个常识性因果知识库构建方法。

因果知识的应用方面,具有高可信度的因果知识可应用于决策支持、事件预测、问答系统、原因分析等多个场景,例如Giriu[8]利用因果知识来提升和优化问答系统。Radinsky等[9]利用事件之间的因果关系和属性之间的关联关系来进行事件的预测。在工业界也推出了相关的类似应用,典型的如Kensho[10]。

本文分成六个部分:第1部分介绍逻辑类知识库资源的研究情况;第2部分对逻辑性知识进行概述,对其定义、构成要素等进行介绍;第3和第4部分分别介绍实体描述逻辑知识和因果事件逻辑的抽取方法;第5部分讲述基于逻辑推理知识的事件影响推理;第6部分进行总结。

2 逻辑知识库概述

大规模开放文本中抽取逻辑性知识,可以形成大规模的,具有推理描述能力的知识库。

逻辑推理知识库,指具有逻辑刻画能力、由具有逻辑性推理因子组成的一类常识知识库。可形式化定义为:G(V,E),其中,V表示推理因子节点,常以名词、名词性词组或谓词、谓词性词组充当。E表示推理因子之间的有向逻辑演化关系边。给定知识库中的某个特定节点,可以通过节点之间的逻辑关系,为反事实推理、未来事实预测提供知识支撑。

目前,逻辑推理知识库中的推理因子主要包括产业链上下游关系、事件之间的逻辑演化关系(因果关系为主)以及实体之间的静态关联信息等几种类型。从不同的推理角度,可以将其分为产业链逻辑推理知识库、事件因果逻辑推理知识库、实体描述逻辑推理知识库三大类。知识库的示例如图1所示。

图1 逻辑推理知识库整体效果图

表1从节点类型、关系类型以及用途三个方面对产业链逻辑推理知识库、因果事件逻辑推理知识库、实体描述逻辑推理知识库三大类知识库进行了介绍和对比。

表1 三大逻辑推理知识库综合对比图

2.1 产业链逻辑知识

产业链知识库,指面向具体行业利用行业上下游、主营产品、产品上下游等关联关系,将行业、公司、产品等节点进行关联形成的一类产业推理知识库。其中,产品上下游具有明显的传导关联关系,产业链中存在着大量上中下游关系和相互价值的交换,上游环节向下游环节输送产品或服务,下游环节向上游环节反馈信息,可以将知识图谱应用于产业链传导、事件驱动、发现重要性事件、分析资讯情感等垂直领域。目前,国内包括同花顺、万得等客户端都提供了关于行业、公司等实体之间的上下游关联关系,可以作为产业链逻辑知识的一手来源,本文对该类型的知识抽取不做具体说明。

2.2 事件因果逻辑知识

因果逻辑知识(Ding等[5]),是一种以事件为核心,通过事件之间逻辑关系进行组合形成的一类知识,在叙事性事件链(narrative event chain)的基础上提出,目标是揭示事件之间的演化性,关系上主要考虑顺承和因果两种,在事件节点的设置上倾向于事件的抽象性,以原文短句的形式作为字符串表示。

2.3 实体描述逻辑知识

现实情境下对特定实体进行的真实的实体描述隐藏着大量的潜在推理线索,是另一种十分有效的推理因子。其既可以填充现有逻辑的空隙,也可进一步拓宽推理逻辑的外延,例如,从智利是世界上已知锂储量最大、锂矿开采最多的国家,也是全球最大铜出产国、中国精炼铜最大供应国等描述信息可以折射出智利在锂矿和铜矿供应链上的关键地位。一个实体的描述信息中同时包含着大量的逻辑强度信息,可以通过使用“最”“极”等关键字进行过滤,找到与实体具有强逻辑关联的实体信息和事件信息。此外,还可以通过对齐所有描述信息、引入程度副词等方式进行描述的强度计算,进一步得到该实体与关联实体之间的逻辑强度。

3 实体描述知识抽取

实体描述是指在现实场景下对特定实体的真实描述,包含了实体的客观属性和专有特征,直接地描述了实体本身,抽取出这类实体描述信息可以帮助我们构建大规模的实体描述知识库。

对于实体描述任务,我们采用序列标注的思想,针对每一个涉及实体的句子,训练相应的实体和实体描述的识别模型,在字级别上进行实体及其所描述特征的学习。序列标注是指针对给定的文本字符串,输出该字符串中每个字符所对应的字符标签。

3.1 模型的选择

在模型结构上,我们采用基于BERT-BiLSTM-CRF模型结构的抽取方法。首先通过BERT预训练语言模型,本任务在预训练模型的选择中,采用BERT中文预训练模型文件chinese_L-12_H-768_A-12来作为预训练模型。在大规模文本上训练字符级别的词嵌入,将其输入BiLSTM模型以获得更多的字符间依赖,通过BERT和BiLSTM对段落进行特征编码,然后经过CRF解码的方式进行标签预测,识别出实体和描述体的边界,针对实体与实体描述信息之间的组合配对问题,采用规则组合分类的方法进行处理。

3.2 实体描述元组抽取

由于在使用序列标注模型后会出现多个实体和描述句的情况,本文方法采用配对原则进行组合,匹配组合规则如表2所示。

表2 实体描述元组抽取规则

3.3 模型的训练与评测

3.3.1 数据的标注

由于当前实体描述抽取工作还相对较少,没有直接可用的标注数据,因此,本文通过人工标注的方式,首先将句子中的实体以及实体对应的描述信息进行标注,构成训练数据。然后设定标注方案,采用BIO标注体系,对标注好的参数项进行序列转换。

本任务使用的标注策略是BIO的标注模式,即以B-X标记实体的起始,以I-X标记实体的中间,以O标记无关的字符。相比于BIOES五段标记法,BIO三段标记法最大的优点是支持逐字标记,不需要对数据进行分词处理。实体概念描述任务主要是抽取句子中的实体以及实体的描述信息,X可以分别取“Entity(实体)”“Trigger(触发词)”和“Desc(实体概念描述信息)”。因此,待预测的标签则分为7种,“B-Entity”“I-Entity”“B-Trigger”“I-Trigger”“B-Desc”“I-Desc”及“O”。

序列化后的数据格式,它的每一行由一个字及其对应的标注组成,标注集采用BIO,句子之间用一个空行隔开。序列化后的结果如表3所示。

表3 文本序列与数据标签格式

3.3.2 数据的准备

本文的数据集为自行搜集的包含实体以及实体描述信息的句子,针对该语料做如下处理:

首先,进行候选数据集的生成及扩充,生成候选集最简单有效的方法是利用模板匹配生成候选的描述性短语。通过观察描述性语句的特点,我们归纳了一些经常在描述性句子中出现的触发词,包括“是”“称为”“作为”等在内的词共67个,如为、为名、乃、乃是、何谓、作为、便是、俗名、俗称、别名等。

人工指定的模板虽然抽取的准确率较高,但其突出问题就是召回率比较低,因此可以通过命名实体识别等方法来扩大候选集的数量,然后再通过序列标注的方式人工标注数据10 813条,最后按照 8∶1∶1 的比例将数据划分为训练集、验证集和测试集,具体的数据集概况如表4所示。

表4 评测数据情况

3.3.3 模型的评测

实体概念描述抽取任务采用的评价指标为精确率(Precision)、召回率(Recall)和F1值。

最终,模型在1 172条测试集上的token-level测试结果如表5所示。

表5 模型测试结果

通过对49 079 726篇开放文本进行提取处理,我们共得到8 904 569个高质量的实体描述三元组。

4 事件因果逻辑知识抽取

根据因果描述语句中是否包含因果触发词(例如,导致、造成、因为...所以等),可将因果三元组分为显式因果和隐式因果两种类型。显式因果描述中包含明确的因果触发词,因果关系明确。隐式因果描述中则不包含因果触发词,因果关系比较模糊。

张牧宇等[11]对显式因果和隐式因果进行了统计,其中,显式因果为2 138条,占比58.35%,隐式因果达1 526条,占比41.65%;李培峰等[12]对ACE2005中来源为Broadcastnews的文档进行标注,其中,隐式因果为154条,占比6.98%,而显式因果为2 052条,占比高达93.02%。另外,根据因果触发词对应的因果对的数量可以进一步区分为单因单果、单因多果、多果单因、多因多果四种复杂情况。

4.1 模型的选择

为了对比实验效果,我们分别选择基于规则和基于序列标注的两种方法。

4.1.1 基于规则的抽取模型

该方法主要通过收集整理因果触发词、构建基于触发词的规则模板实现子句级别的因果抽取模型。其中,子句为文本中以逗号、分号、句号、问号、叹号切分的最短文本描述句。部分示例规则和抽取结果如表6所示。

表6 规则模板及抽取结果示例

4.1.2 基于序列标注的抽取模型

针对基于规则的因果抽取模型中的不足,我们设计了改进的深度学习模型:基于BERT微调的序列标注模型。

1)模型的设计

本模型采用了3.1节中的模型结构,本部分内容不再介绍。在序列标签的设计上,模型的序列标签采用BIO标签体系,标签类型主要为cause、triger、effect。

为了能方便地根据标签结果进行因果三元组组合,在设计标签体系时也对单因果、多因果进行了区分,设置为multi-cause、multi-effect。

2)数据集的构建

由于缺少公开、高质量的数据集,因此本文采用模板预标注+人工修正的方法构建显式因果数据集,具体步骤如下:

Step1:基于规则模型,识别出候选句及其预标注三元组;

Step2:对预标注数据进行人工修正,对每个句子分别标注出(最长原因描述,触发词,最长结果描述)和(最短原因描述,触发词,最短结果描述);

Step3:为了增强模型对句子的因果成立性的学习能力,对于人工标注后的句子,无论是否包含因果三元组,均保留为标注数据集。

通过这种方式,我们构建了10 000条综合性标注数据,包含单触发词、多触发词和无因果、单因果、多因果多种情况,表7显示了对各种数据类型的统计信息。其中,无因果句子2 240条,单因果句子6 300条,多因果句子1 460条,单触发词句子 5 180条,多触发词句子4 820条,长文本4 000条,短文本 6 000条。

表7 数据集情况

基于序列标注的因果抽取如图2所示。

图2 基于序列标注的因果抽取

3)因果序列的组合

由于在抽取的过程中存在一因一果、多因多果的情况。在经过序列标注模型识别之后,会得到多个原因序列集合和结果序列集合。针对这种情况,通过构建基于序列标注结果的因果三元组抽取模板,分析原因描述、触发词、结果描述之间的对应关系,得到因果三元组结果。具体如下:

Step1:首先找到triger类标签,其中,triger-pre和triger-pos需要成对出现,且中间不能有cause类标签或effect类标签;

Step2:根据就近原则,找到triger类标签前后的cause类标签和effect类标签,三元组成立的条件为前后同时出现cause类标签和effect类标签;

Step3:对cause类和effect类标签,若是多因、多果则扩展找到邻近的其他multi-cause或multi-effect标签,得到触发词对应的原因列表、结果列表;

Step4:对触发词、原因列表、结果列表进行排列组合,得到一个或多个因果三元组结果。

4.2 模型的评测

4.2.1 模型评测方法

模型采用了准确率(Precision)、召回率(Recall)和F1值对因果三元组或二元组进行评价,并使用min-max匹配法对原因、结果进行匹配。

min-max匹配法:标注语料标注出待提取文本所在的最小语义范围和最大语义范围,当抽取结果在最小核心语义范围和最大描述语义范围中间时,则匹配成功。这种方法能够降低由于因果数据集标注困难、核心语义与描述语义不同带来的标注误差。

因果三元组评价:原因描述和结果描述采用min-max匹配方法、触发词采用完全匹配法。当三个元素同时匹配成功时,当前三元组抽取正确。

因果二元组评价:原因描述和结果描述采用min-max匹配方法、不对触发词进行匹配。当两个元素同时匹配成功时,当前二元组抽取正确。

4.2.2 模型评测结果

本工作对基于规则的因果抽取模型、单因果标签体系的序列标注模型和多因果标签体系的序列标注模型进行了对比。试验结果如表8所示,训练序列标注模型使用了10 000条数据集,其中,7 000条为训练集,2 000条为测试集,1 000条为验证集。

表8 因果抽取模型评测结果

单因果标签体系的序列标注模型,不对多因、多果做序列标签的区分,即采用了未引入multi-cause、multi-effect的序列标签体系;而多因果标签体系的序列标注模型,采用的是引入了multi-cause、multi-effect的序列标签体系。通过对实验结果分析,可以发现:

(1)基于BERT+BiLSTM+CRF算法的因果抽取模型明显优于基于规则的因果抽取模型;多因果标签体系能够在训练阶段学习到多因、多果之间的并列语义关系,模型效果优于单因果标签体系。

(2)基于规则的方法,基于规则的抽取模型实现简单、速度快,具有召回率高、模型解释性强的优点。但是该方法仍具有很大的局限性。首先,只能处理子句级别的因果逻辑;其次,原因描述和结果描述的语义边界无法进行准确的区分;最后,根据规则无法保证因果关系的成立。

本文通过对搜狐网、东方财富网等1 375个主流媒体网站进行新闻采集,形成49 079 726篇开放文本,通过提取处理,共得到高质量的12 904 569个实体描述三元组。

5 基于逻辑推理知识的事件影响推理

基于构建好的逻辑推理知识,本文探索了一种面向金融事件影响关联推理的方法。针对用户输入字符串,经过关联事件识别、事件关联实体识别、事件路径推理等模块提供事件影响查询。

5.1 系统实施技术路线

整体的技术流程图如图3所示。在算法实施上,首先基于事件因果逻辑知识库对用户输入字符串中的事件进行识别,再基于产业链知识库进行实体识别、实体链接,获取关联的实体集合,并基于因果逻辑知识库,获取后续影响事件结果集合,最后送入实体推理模块,通过情感分析、关联推理规则、推理路径生成规则,完成指定的生成结果。

图3 基于逻辑推理知识的事件影响推理路线图

5.1.1 基于产业链逻辑的影响推理

首先,针对从用户输入字符序列中进行事件识别,使用基于依存规则和情感词典的事件情感分析方法,对事件进行情感方向和情感主体判定;其次,基于产业链知识库,根据事件关联的实体类型提取实体的不同关注点,如针对产品类实体识别出的库存、供需、销售价格等方面;最后,根据实体类别、实体关联方面、事件的情感方向,设置不同的推理规则,给出推理路径,以及实体的利好、利空方向。

5.1.2 基于事件因果逻辑的影响推理

首先,针对用户输入的字符序列进行事件识别,从底层积累的事件因果逻辑知识库中获取与此相关的相似事件,设定相似度阈值,将高于阈值的事件进行保留,形成目标事件集合。其次,基于目标事件集合,设定迭代的深度(结果事件的拓展深度,即结果事件的层级个数),分别迭代地找出相应的结果事件,并在结果事件中找到下一个结果事件,最终得到一个具有清晰路径的因果逻辑事件链条。最后,针对查找出来的事件,对事件进行产业链实体识别,通过对事件进行情感判定,来确定关联实体的利好、利空方向。

5.1.3 基于产业链和因果逻辑的联合推理

基于产业链和因果逻辑的联合推理,是对产业链逻辑和因果逻辑影响推理两个策略的统一,融合了两者的优势。在具体实施上,基于事件因果逻辑知识库,获取事件的因果逻辑链条,再对因果逻辑链条的各个事件进行实体识别,并将事件与产业链逻辑知识库进行关联,以产业链逻辑推理的生成方式,得到若干个实体利好、利空影响结果。

5.2 实验结果

我们以“螺纹钢价格下跌”为例,得到了以下推理结果(图4)。“螺纹钢价格下跌”这一事件发生后,导致了“成本铁矿石暴跌”,两个事件的情感方向均为负向,通过这两个事件进行实体识别和链接,分别连接到以“铁矿石”和“螺纹钢”为核心的产业链逻辑图中。

图4 基于逻辑推理知识的事件影响效果图

通过对事件进行情感判定、关联规则推理、影响路径规则推理等处理之后,我们可以针对 图中每一个产业链实体结点都给出一个“利空”和“利好”的信号。

6 总结

当前,面向中文领域的逻辑类知识库建设情况还处于初步阶段,建设具有逻辑推理能力的知识库,对推动知识推理以及行业风险预警、实体和事件影响决策等多个落地应用具有重大意义。本文主要完成了以下工作:

(1)面向知识推理领域,解释了逻辑推理知识库的定义和基本构成,并提出了一种面向大规模开放文本,进行实体描述逻辑、事件因果逻辑知识抽取的模型算法,并达到了较好的效果。基于大规模文本语料,进行加工处理,分别抽取形成了高质量的知识库,并将部分数据开源。

(2)在应用上,本文面向金融领域,构建了一套基于多策略的事件影响系统,提出了基于产业链逻辑知识、因果逻辑知识的推理策略,可实现针对用户所关心的搜索字符串序列,快速地给出相应实体利好、利空结果的功能,对投资研究等应用场景提供了可用的辅助工具。对于该类方法在其他领域的应用,本文提供的应用角度可给予参考。

本文为逻辑性知识库的构建和应用做了一些初步的探索,但在研究的内容上依然存在诸多不足,定量信息上的缺失是本文的一大缺点,如何将推理逻辑中事件发生的概率和大小进行量化,是逻辑推理类知识库建设和应用的一大难点,本文只是从定性的角度进行研究和分析。此外,不同领域之间的逻辑知识构建,还与领域属性有直接关系,在具体构建过程中需要做领域的适应。未来工作中,我们将进一步探索更多逻辑知识库构建以及应用的可能性。

猜你喜欢

三元组逻辑推理知识库
逻辑推理初步思维导图
特征标三元组的本原诱导子
关于余挠三元组的periodic-模
基于TRIZ与知识库的创新模型构建及在注塑机设计中的应用
小议逻辑推理在教学中的重要性
一个时态RDF存储系统的设计与实现
再谈立体几何教学中逻辑推理素养的培养
超难度逻辑推理大挑战
高速公路信息系统维护知识库的建立和应用
基于Drupal发布学者知识库关联数据的研究