掌桥专利:专业的专利平台
掌桥专利
首页

一种结合逻辑推理的辩论对分类方法及设备

文献发布时间:2024-01-17 01:14:25


一种结合逻辑推理的辩论对分类方法及设备

技术领域

本发明涉及自然语言处理技术领域,具体涉及对话系统中辩论对分类方法及设备。

背景技术

辩论机器人有广泛的应用场景,例如,在论文打分系统中,可以用辩论机器人对论文论点论据之间的逻辑关系进行判定,以此为依据之一来对论文打分。辩论机器人在识别及攻击假新闻的场景中同样具有用武之地,通过对消息之间的关系进行判定,来判断其是否符合逻辑条理,从而辨别出逻辑混乱前言不搭后语的假消息。在反驳论点的抽取研究中,可用辩论机器人对目标论点和论点池里的论点进行关系判定,从而帮助抽取反驳论点。在自动辩论机领域同样有用处,辩论机器人可以帮助抽取论点对之间的关系,从而帮助论点文本生成,对其关系风向等有一个限制的作用,即划定范围。在挖掘法律文件的领域中,辩论机器人中很重要的关系判定功能可以发挥用处,法律文件因为其固有的特点,条文之间的逻辑关系是非常清晰的,通过对法律条文之间的关系进行挖掘,以此为窗口进行法律文件的数据挖掘工作。

辩论机器人的重要工作是进行辩论文本挖掘,根据相关辩论文本之间的基本信息利用自然语言处理技术识别辩论点之间的关系,形成辩论对。目前大多数关于论点关系分类的工作着力于分析单个辩论文本中辩论单元之间的关系,而这些都是取自同一个文本。现有的辩论分类工作,大部分基于深度学习模型,小部分使用马尔可夫逻辑网络结合知识规则协助分类。通常,使用概率软逻辑(PSL)和一阶逻辑来编码逻辑规则,并将编码的逻辑与深度学习技术BERT结合,来训练深度学习模型;其中对每一项逻辑规则,都会训练本地分类器,用这种方式将逻辑规则结合进数据驱动的框架,因此该技术需要海量的有标签数据来训练不同的本地分类器,训练工程量大,且深度学习框架作为黑箱模型使用,不具有解释性。

发明内容

发明目的:本发明提出了一种结合逻辑推理的辩论对分类方法及设备,至少部分地解决现有技术的问题。

技术方案:为了实现上述目的,本发明采用如下技术方案:

第一方面,一种结合逻辑推理的辩论对分类方法,包括如下步骤:

根据辩论关系逻辑规则对现有辩论对语句对进行数据增强;

使用增强过后的数据训练交叉编码模型M,用于预测辩论对之间的关系;

利用交叉编码模型M对无标签的辩论对之间的关系进行预测,赋予其伪标签,利用反绎学习结合半监督学习获得符合逻辑规则的修正后的伪标签;

使用修正过后的伪标签更新交叉编码模型M,再次用交叉编码模型M对无标签的辩论对之间的关系进行预测,获得伪标签数据,直至无标签数据均得以运用。

进一步地,所述辩论关系逻辑规则如下:

Support(A,B)∧Support(A,C)→Support(B,C)

Attack(A,B)∧Attack(A,C)→Support(B,C)

Support(A,B)∧Attack(A,C)→Attack(B,C)

Attack(A,B)∧Support(A,C)→Attack(B,C)

其中,A、B、C表示任意三句辩论语句,support表示两个语句之间的内在关系是逻辑支持,Attack表示两个语句之间的内在关系是逻辑反对或逻辑反驳;

根据逻辑规则对现有辩论对语句对进行数据增强包括:对于现有辩论对语句中任意三句辩论语句,在存在第一语句和第二语句的关系,以及第二语句和第三语句的关系,但不存在第一语句和第三语句的关系的情况下,根据上述四条规则推导出第一语句和第三语句的关系,并补充进数据集。

进一步地,交叉编码模型M为深度学习框架sbert框架中的Cross-Encoder模型,所述Cross-Encoder模型由Bert模型以及多层感知器组成,所述Bert模型是用于提取语句的文本特征,所述多层感知器根据Bert模型所提取的特征对文本对进行分类;给定有标签的辩论对,基于梯度下降的方式训练交叉编码模型,所述有标签的辩论对为数据增强后的辩论对语句,所述标签为语句之间的关系。

进一步地,所述方法还包括:使用保序回归算法对交叉编码模型所输出的置信度进行校正。

进一步地,所述利用反绎学习结合半监督学习获得符合逻辑规则的修正后的伪标签包括:

根据交叉编码模型输出的预测置信度对辩论对进行排序,选取置信度符合指定条件的部分伪标签;

将所选择的辩论对的伪标签转为布尔数值,其中支持关系为0,反驳关系为1,置信度低于指定阈值的关系设为未知;

使用命题逻辑书写的SAT和MAXSAT算法,来进行辩论对之间的逻辑推导,在同一个话题内若存在不满足逻辑规则的辩论对,则修改置信度低的辩论关系,得到修正后的翻转值,即0被修正为1,1被修正为0,从而使得在一个话题内,在全部的辩论对之间,全部的逻辑推理规则都能被满足,同时将合适的1值或0值赋予曾经的未知标签上,进行覆盖,由此得到了经过修正的伪标签。

第二方面,一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如本发明第一方面所述的结合逻辑推理的辩论对分类方法的步骤。

第三方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的结合逻辑推理的辩论对分类方法的步骤。

有益效果:本发明根据四条基本逻辑原则对数据进行增强,获得扩充后更丰富的数据集,通过反绎学习实现了将机器学习数据驱动和逻辑规则知识驱动进行结合,修正伪标签,提高准确度。本发明实现了当数据集为少量有标签数据和大量无标签数据时,模型的训练和模型分类能力的仍有较为理想的效果。利用本发明的方法能够更快速准确地完成辩论对分类工作。

附图说明

图1是本发明的结合逻辑推理的辩论对分类方法流程图;

图2是本发明的逻辑规则下不符合实际的情况示意;

图3是本发明的反绎学习结合半监督学习的处理过程;

图4是本发明的反绎学习的示例过程。

具体实施方式

下面结合附图对本发明的技术方案做出更进一步的说明。

参照图1,本发明提出的一种结合逻辑推理的辩论对分类方法,包括以下步骤:

步骤S1,对现有辩论对数据对进行数据增强。

这里所述现有辩论对数据,是通过对某一话题的文本、语音等自然语言的处理提取出的辩论语句。所述的辩论对指的是存在支持(support)或反对/反驳(attack)逻辑关系的相关联的语句。对自然语言文本进行辩论挖掘,先根据一定的原则识别出展示论点的段落或句子,即文本定位工作,然后将这些文本抓取出来,再对它们之间的关系进行手动或自动识别处理,就形成了辩论对数据。这里提到的一定原则,是辩论挖掘领域的内容,以及一定的语言学知识,最关键的是如何判定一段文本能构成辩论句,这涉及到辩论遵循一定的结构,如前提、结论等,对文本进行结构化检测是识别辩论语句的一种方法。

本发明实施例中的辩论对数据是现有数据,是从网络中收集的一些辩论挖掘相关研究用到的数据,对其进行一定的处理,得到需要的形式。这里需要的数据组成形式是辩论对的形式,即两段文本以及它们之间的关系,本发明对数据用csv表格形式进行组织,表格的行数是数据对的数目,表格有三列,第一列是第一个辩论句,第二列是第二个辩论句,第三列是前两个辩论句之间的关系,在这里涉及到的关系仅有支持和攻击两种,暂时不讨论无关的关系。也就是说,数据是有标签的,标签是csv表格的第三列,即前两列数据文本之间的逻辑支持或逻辑攻击关系,标记为“support”或“attack”。

数据增强的原理是基于本发明所提出的四条辩论对关系推理链(也称为逻辑规则),通过数据增强可以得到扩充后的更丰富的数据集。

对于辩论语句A,B以及C,例如,其可以分别是一段自然语言文本,它们之间的逻辑关系符合以下规则:

Support(A,B)∧Support(A,C)→Support(B,C)

Attack(A,B)∧Attack(A,C)→Support(B,C)

Support(A,B)∧Attack(A,C)→Attack(B,C)

Attack(A,B)∧Support(A,C)→Attack(B,C)

“Support”表示两个语句之间的内在关系是逻辑支持,“Attack”表示两个语句之间的内在关系是逻辑反对或逻辑反驳。这里A、B、C分别表示一个辩论句,是自然语言文本本身。Support和Attack是辩论句之间的关系,分别如字面意思是支持和攻击,意思是两个辩论句之间的关系是互相支持还是互相攻击;支持指的是两个辩论句立场一致,观点态度一致,致力于说服同一个主题而努力;而攻击则是一个辩论句试图反驳另一个辩论句,从而攻击对方的立场态度,或指出对方的陈述不符合事实。

这四条规则来源于辩论挖掘领域已有的研究,也是辩论领域固有的一些知识。

举例而言,假如有辩论句A“我认为社会应该禁止容易引发危险的防身器械,因为这些器械很容易危及人身安全”和辩论句B“危险的防身器械在市面上的流通对人们的生活安全构成了潜在的风险,人类被这些器械攻击会受到非常严重的伤害,甚至直接危及性命”之间便是一种逻辑支持的关系,它们之间的标签就应该贴上“Support”,即Support(A,B),这时有另外一个辩论句C“但如果不禁止这些危险的防身器械,每个人会多一种对自己的保护方式,每一个弱小的个体因为有了这些工具傍身会降低受到其他人侵犯的概率,因为这些器械有震慑作用,极端情况下还可以作为一层最后的自我保护”很明显和前述两个辩论句立场相悖,情感色彩也相悖,那么这时候该辩论句C将和前述的辩论句A和B之间贴上“Attack”的关系标签。它们之间的关系便是:Support(A,B)∧Attack(B,C)→Attack(A,C)。

需要说明的是,这里的A、B、C只是一个符号指代,并不是固定的。这里的示例写出的是Support(A,B)∧Attack(B,C)→Attack(A,C),就与上述的规则Support(A,B)∧Attack(A,C)→Attack(B,C)是一个意思,这里只需要将其中一个的“B”换成“A”,“A”换成“B”,两者的写法就可以完全一样。

还需要说明的是,这里的A、B、C只是一个符号指代,并不是固定的,例如,也可以写成X、Y、Z,但应了解的是符号指代自然语言文本本身。这里具体的一个辩论句文本和一个独一无二的字母相对应。也就是说,一个字母只能指代一个辩论句,不同的辩论句用不同的字母来表示。

根据上述辩论关系逻辑规则,容易发现只有四种情况是不符合实际情况的,如图2所示,即对于语句A、B以及C,当它们之间互为反驳关系的个数为奇数个时,是不符合实际的。例如,语句A和语句B为反驳关系,语句A和语句C为反驳关系,语句B和语句C同样为反驳关系,此时便不符合本文的逻辑规则。

本发明中数据增强是遵循前述四个规则对现有的数据对进行增强的过程。需要说明的是,数据增强工作只对同一个话题的辩论对起作用,因为这里的辩论关系逻辑规则只在同一个话题内有效。

在获取的数据里面,所涉及到的辩论句(这里指的是每一个具体的辩论句而不是A、B、C这些抽象的指代)中,可能存在诸如有A和B的关系,以及B和C的关系,但不存在A和C的关系这样的数据,数据增强要做的就是根据前述的规则推导出A和C的关系并补充进数据集,从而扩充数据集。

步骤S2,使用增强过后的数据训练交叉编码模型M,用于预测辩论对之间的关系。

期望的是,所训练的交叉编码模型M可以在预测出辨论对之间关系的同时可以输出一个相对合理的置信度,即模型预测的准确率等于其输出的置信度。因此在得到模型M后,对其所输出的置信度进行了校正。

这里的交叉编码模型M指的就是分类模型,该模型用的是sbert库里的Cross-Encoder模型,对该模型的训练就是输入增强后的数据集进行训练。Cross-Encoder模型由Bert模型以及多层感知器组成,Bert模型是一种语言模型,用于提取语句的文本特征,多层感知器则根据Bert模型所提取的特征对文本对进行分类。给定有标签的辩论对,基于梯度下降的方式去训练交叉编码模型。但通常情况下,交叉编码模型所输出的置信度往往会高于其预测的准确率,而实际上希望置信度基本等于其预测的准确率,为此需要对其输出的置信度进行校正。本发明中置信度的校正是根据保序回归(isotonic regression)算法完成。

步骤S3,利用交叉编码模型M对无标签的辩论对之间的关系进行预测,赋予其伪标签,利用反绎学习结合半监督学习获得符合逻辑规则的修正后的伪标签。

每个论点都有一个相应的立场,这是可以独立于辩论句子对的内在属性,如果将某种立场定义为正方,那么支持该立场的辩论将全部归属正方,同理反驳该立场的辩论将归属反方。一般情况下辩论关系分类和立场分类是分开进行的任务,在此基础上也可以探求将辩论关系分类和立场分类联合处理,即进行联合推理。

在本发明中引用了反绎学习的框架,反绎学习是一种结合机器学习框架和知识逻辑推理的新型框架,其试图将人工智能领域历来分开进行的数据驱动领域和知识驱动领域结合起来,从而实现互补互助。本发明通过反绎学习,将数据驱动领域的深度学习模型结合知识驱动领域的逻辑规则,从而相比以前的纯数据驱动工作,得以实现用逻辑规则指导分类工作。

经过有标签的数据集训练过的模型,再次输入无标签的辩论对,输出伪标签。

单纯的半监督学习获得的伪标签是基于少许的有标签数据训练出来的模型,因此其准确率可能并不乐观,需要对其进行提高准确率的修正,本发明引入逻辑推理规则,用反绎学习的框架将逻辑规则和数据驱动结合在一起。同时,为了更好的利用伪标签,在学习的过程中引入了课程学习,其大致流程如图3所示,即每次使用伪标签时,并非直接利用所有伪标签。而是优先使用置信度高的伪标签,随后在后续的训练过程中再逐步增加伪标签的利用比例。

具体地,首先利用训练好的交叉编码模型M对无标签的辩论对之间的关系进行预测,赋予其伪标签,并且给出一个相对合理的置信度。据置信度对辩论对进行排序,仅选取置信度较高的部分伪标签。随后将所选择的辩论对的伪标签转为布尔数值,支持关系为0,反驳关系为1,置信度低于一定阈值的关系设为未知;使用命题逻辑书写的SAT和MAXSAT算法,来进行辩论对之间的逻辑推导。SAT和MAXSAT算法主要是采取尽可能少的修改次数,从而实现在同一个话题内辩论对之间的逻辑关系均符合逻辑规则。在同一个话题内若存在不满足逻辑规则的辩论对,SAT和MAXSAT算法将优先修改置信度低的辩论关系。得到修正后的翻转值,即0被修正为1,1被修正为0,从而使得在一个话题内,在全部的辩论对之间,全部的逻辑推理规则都能被满足,同时将合适的1值或0值赋予曾经的未知标签上,进行覆盖,由此得到了经过修正的伪标签,此时的伪标签相比最开始的伪标签,准确度会有所上升。

如图4所示,本发明中反绎学习处理逻辑是使用算法(SAT和MAXSAT)去算模型输出的标签里,是否符合上述四条规律,若推出冲突,比如A和B的关系是支持,B和C的关系是支持,A和C的关系是攻击,那么三者之间不符合上述的规则,要进行修正处理。这里的修正就是翻转标签,因为用1和0指代支持和攻击,翻转时将1改为0或将0改为1。注意这里的修正只对A和B、B和C、A和C三者之间的一个进行修改即可。具体修改哪一个一般取决于整体而言修改哪一个最高效,例如,A和B多次出现冲突,把它改了最省事,那就修改它,保留三角关系里其他的不变。

步骤S4,使用修正过后的伪标签更新交叉编码模型M,再次用交叉编码模型M对无标签的辩论对之间的关系进行预测,获得伪标签数据,直至无标签数据均得以运用。

使用伪标签更新模型是一种半监督学习方法,如果所有的训练数据都有标签是监督学习,如果所有的数据都没有标签是非监督学习,而这里我们拥有少部分的有标签数据集和大部分的无标签数据集,因此采用半监督学习的框架。此时的无标签数据就是原始的数据集,该训练集由20%的有标签数据和80%的无标签数据组成。将原始数据中大量的无标签数据逐批次投入,利用模型实现辩论对分类。

本发明根据四条基本逻辑原则对数据进行增强,获得扩充后更丰富的数据集,通过反绎学习实现了将机器学习数据驱动和逻辑规则知识驱动进行结合,修正伪标签,提高准确度。本发明实现了当数据集为少量有标签数据和大量无标签数据时,模型的训练和模型分类能力的仍有较为理想的效果。利用本发明的方法能够更快速准确地完成辩论对分类工作。

本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的结合逻辑推理的辩论对分类方法的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的结合逻辑推理的辩论对分类方法的步骤。

本领域普通技术人员可以理解,实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中。在本发明的上下文中,所述计算机可读介质可以被认为是有形的且非暂时性的。非暂时性有形计算机可读介质的非限制性示例包括非易失性存储器电路(例如闪存电路、可擦除可编程只读存储器电路或掩膜只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如CD、DVD或蓝光光盘)等。

用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

技术分类

06120116072661