一种基于深度学习和规则结合的论据匹配及论证生成方法、设备和介质与流程

文档序号:30973017发布日期:2022-08-02 22:23阅读:397来源:国知局
一种基于深度学习和规则结合的论据匹配及论证生成方法、设备和介质与流程

1.本发明属于作文生成技术领域,特别是涉及一种基于深度学习和规则结合的论据匹配及论证生成方法、设备和介质。


背景技术:

2.论据匹配及论证生成任务是根据作文题目选择论据,并根据特定论据生成论证的文本生成任务。它可以分为两部分,论据匹配可以视作相关性判别任务,是构建搜索引擎过程中不可缺失的一环。目前的自然语言处理领域中没有专门研究过论证生成方法,但作为一种文本生成任务,其与某些文本生成任务有一定的相似之处。故事生成任务要求研究者利用给定的故事开头,使用自然语言处理方法将完整故事补全,在这个过程中没有全文整体的信息,而是需要模型或方法根据有限的内容进行推理,获得结果。而论证生成过程中,也无法获得与论证相关的整体信息,只能根据作文题目及论据等信息推理出完整样貌。
3.目前在自然语言处理领域中,论据匹配及论证生成相关研究存在着以下不足:
4.1、目前缺少相应的训练语料,因此缺乏针对论据匹配任务及论证生成任务的研究;
5.2、目前缺少对论据匹配任务及论证生成任务的分析与建模;
6.3、目前缺少论据匹配任务及论证生成任务用于比较性能的对比模型。


技术实现要素:

7.本发明目的是为了解决现有技术中的问题,提出了一种基于深度学习和规则结合的论据匹配及论证生成方法、设备和介质。
8.本发明是通过以下技术方案实现的,本发明提出一种基于深度学习和规则结合的论据匹配及论证生成方法,所述方法具体包括:
9.s1、将作文题目输入到生成系统中;
10.s2、系统根据输入内容在数据库中匹配得到论据;
11.s3、系统对没有对应论证过程的论据进行论证生成;
12.s4、对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果。
13.进一步地,在s1之前,还包括s0:使用标注好的数据训练深度学习模型。
14.进一步地,在s2中,数据库中存储的每条数据包含:题目、论据和论证;所述论证可为空。
15.进一步地,在s3中,进行论证生成时使用完整论据,论据关键词或论据关键词及软模板作为输入。
16.进一步地,在s3中,采用训练好的深度学习模型生成论证,具体为:encoder层利用深度学习模型将输入映射为向量,所得向量输入到decoder层,decoder层在词表中多次选择当前最可能生成词,这些词按顺序构成首段或尾段生成的结果。
17.进一步地,在s4中,当获得首段或尾段生成的结果后,将其中可能存在的特殊符号除去,得到最终的生成结果。
18.进一步地,在s0中,标注出议论文题目、例证部分的论据和论证过程,并对标记出的结果进行统计收集,然后使用它们分别训练深度学习模型;训练好的模型用于论据匹配及论证生成。
19.进一步地,所述特殊符号为表示句子边界的符号。
20.本发明提出一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述一种基于深度学习和规则结合的论据匹配及论证生成方法的步骤。
21.本发明提出一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现所述一种基于深度学习和规则结合的论据匹配及论证生成方法的步骤。
22.本发明的主要优点是:本发明的一种基于深度学习和规则结合的论据匹配及论证生成方法,针对当前缺少对议论文论据匹配及论证生成任务的分析与建模的现状,将论据匹配建模为相关性判别问题,将论证生成建模为故事生成任务,并标注得到语料。利用深度学习和规则结合的方法,可以自动根据给定的作文题目匹配得到论据,并根据题目及论据等相关内容对不含论证的数据生成论证过程,无需人工处理。该发明在节省了人力成本的同时,在应用到作文辅助写作的过程中,会使得参考结果更具有针对性,可以更好地为学生提供帮助。
附图说明
23.图1是论据匹配及论证生成流程示例示意图;
24.图2是使用完整论据生成论证的过程示意图;
25.图3是使用完整论据生成论证的结果示例示意图;
26.图4是使用论据关键词生成论证的过程示意图;
27.图5是使用论据关键词生成论证的结果示例示意图;
28.图6是在编码中引入指示编码示意图;
29.图7是深度学习根据论据关键词及软模板生成论证的训练过程示意图;
30.图8是使用论据关键词及软模板生成论证的过程示意图;
31.图9是使用论据关键词及软模板生成论证的结果示例示意图。
具体实施方式
32.下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.结合图1-图9,本发明提出一种基于深度学习和规则结合的论据匹配及论证生成方法,所述方法具体包括:
34.s1、将作文题目输入到生成系统中;
35.s2、系统根据输入内容在数据库中匹配得到论据;
36.s3、系统对没有对应论证过程的论据进行论证生成;
37.s4、对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果。
38.在s1之前,还包括s0:使用标注好的数据训练深度学习模型。
39.在s2中,数据库中存储的每条数据包含:题目、论据和论证;所述论证可为空。
40.在s3中,进行论证生成时使用完整论据,论据关键词或论据关键词及软模板作为输入。
41.在s3中,采用训练好的深度学习模型生成论证,具体为:encoder层利用深度学习模型将输入映射为向量,所得向量输入到decoder层,decoder层在词表中多次选择当前最可能生成词,这些词按顺序构成首段或尾段生成的结果。
42.在s4中,当获得首段或尾段生成的结果后,将其中可能存在的特殊符号除去,得到最终的生成结果。
43.在s0中,标注出议论文题目、例证部分的论据和论证过程,并对标记出的结果进行统计收集,然后使用它们分别训练深度学习模型;训练好的模型用于论据匹配及论证生成。
44.由于生成的结果中可能含有一定的表示句子边界的特殊符号,因此需要对系统生成结果进行一定调整(如删除特殊符号),获得最终的论据匹配及论证生成结果。
45.本发明提出了一种基于深度学习和规则结合的论据匹配及论证生成方法,根据论据生成过程中使用的内容不同,会有不同的方法。下面是具体实施例。
46.实施例一、在论证生成时使用完整论据
47.论据匹配及论证生成方法如下:
48.1、将作文题目输入到生成系统中;
49.2、系统根据输入内容在数据库中匹配得到论据;
50.3、系统对没有对应论证过程的论据进行论证生成;
51.4、对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果。
52.(1)将作文题目输入到生成系统中
53.系统需要使用者提供作文题目及首段的关键词内容,将其按照“作文题目,关键词”的顺序拼接起来,题目与关键词之间、关键词与关键词之间使用逗号分隔。
54.(2)系统根据输入内容在数据库中匹配得到论据
55.由于已经提前标注好题目、论据、论证(可为空)三元组,并存储在数据库中,因此需要根据题目进行匹配,找到合适论据。在匹配过程中,使用tf-idf方法。其计算方法如公式(3)所示:
[0056][0057][0058]
tfidf(t,d,d)=tf(t,d)
×
idf(t,d)
ꢀꢀꢀꢀ
(3)
[0059]
其中,t和t'都表示某一个词语,d表示某一个文档,count(t,d)表示某一个词语在给定文档中出现的次数。d表示全部文档的集合,|d|表示该集合中的文档数。|{d∈d:t∈d}|表示在文档集中含有词语t的文档数。最后,可以获得在当前文档集中,某一个词在某一个文档中的tf-idf值。将当前文档集中所有不同词的集合称为词表,通过这样的方法就可以
计算出词表中所有词在给定文档中的tf-idf值。进一步地,将文档表示为一个词表大小的向量,每一维表示对应词语在文档中的tf-idf值。当对所有文档都进行同样操作后,就可以将其对应向量乘积的结果作为衡量二者相关性的指标。最后选择乘积最大的三个结果作为论据匹配结果。
[0060]
(3)系统对没有对应论证过程的论据进行论证生成
[0061]
在进行生成前,首先需要训练生成模型。该模型接受议论文题目、论据,生成论证过程。该模型基于预训练模型bart,通过对bart微调得到。对于单条数据而言,损失函数loss
l
如公式(4)所示,该损失为交叉熵损失。需要注意的是,输入用“[mask]”间隔议论文题目及论据。
[0062][0063]
其中,len表示段落长度,在此处为字数,p
wordi
表示模型在第i个位置时预测目标字的概率。在训练好模型后,在预测时将模型视为简单的bart模型:encoder层利用深度学习模型将输入映射为向量,所得向量输入到decoder层,decoder层在词表中多次选择当前最可能生成词,这些词按顺序构成首段生成的结果。其生成过程如图2所示。
[0064]
需要注意的是,仅对无论证的数据进行论证生成。而对于有论证的数据则跳过本步骤。
[0065]
(4)对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果
[0066]
由于decoder端结果会添加“[cls]”及“[sep]”等特殊标识符,因此在获得论证生成结果之后,应当将其去除,最后得到的论据匹配及论证生成结果如图3所示。
[0067]
实施例二、在生成论证时使用论据关键词
[0068]
论据匹配及论证生成方法如下:
[0069]
1、将作文题目输入到生成系统中;
[0070]
2、系统根据输入内容在数据库中匹配得到论据;
[0071]
3、系统对没有对应论证过程的论据进行论证生成;
[0072]
4、对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果。
[0073]
(1)将作文题目输入到生成系统中
[0074]
系统需要使用者提供作文题目及首段的关键词内容,将其按照“作文题目,关键词”的顺序拼接起来,题目与关键词之间、关键词与关键词之间使用逗号分隔。
[0075]
(2)系统根据输入内容在数据库中匹配得到论据
[0076]
由于已经提前标注好题目、论据、论证(可为空)三元组,并存储在数据库中,因此需要根据题目进行匹配,找到合适论据。在匹配过程中,使用tf-idf方法。其计算方法如公式(7)所示:
[0077][0078][0079]
tfidf(t,d,d)=tf(t,d)
×
idf(t,d)
ꢀꢀꢀꢀ
(7)
[0080]
其中,t和t'都表示某一个词语,d表示某一个文档,count(t,d)表示某一个词语在给定文档中出现的次数。d表示全部文档的集合,|d|表示该集合中的文档数。|{d∈d:t∈d}
|表示在文档集中含有词语t的文档数。最后,可以获得在当前文档集中,某一个词在某一个文档中的tf-idf值。将当前文档集中所有不同词的集合称为词表,通过这样的方法就可以计算出词表中所有词在给定文档中的tf-idf值。进一步地,将文档表示为一个词表大小的向量,每一维表示对应词语在文档中的tf-idf值。当对所有文档都进行同样操作后,就可以将其对应向量乘积的结果作为衡量二者相关性的指标。最后选择乘积最大的三个结果作为论据匹配结果。
[0081]
(3)系统对没有对应论证过程的论据进行论证生成
[0082]
可以使用论据中的关键词代替论据,以突出论据中的重点内容。对于给定的论据,关键词获得方法步骤如下所示:
[0083]
(a)使用textrank方法对论据进行无监督关键词打分,得到词语排序结果;
[0084]
(b)保留名词、专有名词、动词、副动词、名动词、形容词;
[0085]
(c)保留得分前10%作为提取出的关键词;
[0086]
(d)保留分词结果中识别为人名的词语。
[0087]
接下来使用论据关键词代替论据。需要获得一个接受议论文题目和论据关键词作为输入,论证作为输出的模型。在进行生成前,首先需要训练生成模型。该模型基于预训练模型bart,通过对bart微调得到。对于单条数据而言,损失函数loss
l
如公式(8)所示,该损失为交叉熵损失。
[0088][0089]
其中,len表示段落长度,在此处为字数,p
wordi
表示模型在第i个位置时预测目标字的概率。在训练好模型后,在预测时将模型视为简单的bart模型:encoder层利用深度学习模型将输入映射为向量,所得向量输入到decoder层,decoder层在词表中多次选择当前最可能生成词,这些词按顺序构成首段生成的结果。其生成过程如图4所示。
[0090]
需要注意的是,仅对无论证的数据进行论证生成。而对于有论证的数据则跳过本步骤。
[0091]
(4)对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果
[0092]
由于decoder端结果会添加“[cls]”及“[sep]”等特殊标识符,因此在获得论证生成结果之后,应当将其去除,最后得到的论据匹配及论证生成结果如图5所示。
[0093]
实施例三、在生成论证时使用论据关键词及软模板
[0094]
论据匹配及论证生成方法如下:
[0095]
1、将作文题目输入到生成系统中;
[0096]
2、系统根据输入内容在数据库中匹配得到论据;
[0097]
3、系统对没有对应论证过程的论据进行论证生成;
[0098]
4、对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果。
[0099]
(1)将作文题目输入到生成系统中
[0100]
系统需要使用者提供作文题目及首段的关键词内容,将其按照“作文题目,关键词”的顺序拼接起来,题目与关键词之间、关键词与关键词之间使用逗号分隔。
[0101]
(2)系统根据输入内容在数据库中匹配得到论据
[0102]
由于已经提前标注好题目、论据、论证(可为空)三元组,并存储在数据库中,因此
需要根据题目进行匹配,找到合适论据。在匹配过程中,使用tf-idf方法。其计算方法如公式(11)所示
[0103][0104][0105]
tfidf(t,d,d)=tf(t,d)
×
idf(t,d)
ꢀꢀꢀꢀꢀ
(11)
[0106]
其中,t和t

都表示某一个词语,d表示某一个文档,count(t,d)表示某一个词语在给定文档中出现的次数。d表示全部文档的集合,|d|表示该集合中的文档数。|{d∈d:t∈d}|表示在文档集中含有词语t的文档数。最后,可以获得在当前文档集中,某一个词在某一个文档中的tf-idf值。将当前文档集中所有不同词的集合称为词表,通过这样的方法就可以计算出词表中所有词在给定文档中的tf-idf值。进一步地,将文档表示为一个词表大小的向量,每一维表示对应词语在文档中的tf-idf值。当对所有文档都进行同样操作后,就可以将其对应向量乘积的结果作为衡量二者相关性的指标。最后选择乘积最大的三个结果作为论据匹配结果。
[0107]
(3)系统对没有对应论证过程的论据进行论证生成
[0108]
可以使用论据中的关键词代替论据,以突出论据中的重点内容。对于给定的论据,关键词获得方法步骤如下所示:
[0109]
(a)使用textrank方法对论据进行无监督关键词打分,得到词语排序结果;
[0110]
(b)保留名词、专有名词、动词、副动词、名动词、形容词;
[0111]
(c)保留得分前10%作为提取出的关键词;
[0112]
(d)保留分词结果中识别为人名的词语。
[0113]
在获得论据关键词后,对训练集中每条有论证过程的数据进行打分,其计算方法如公式(15)所示。
[0114][0115][0116]
embedding(datai)=αembedding(titlei)+βembedding(argi)
ꢀꢀꢀꢀꢀꢀꢀ
(14)
[0117]
score(input,datai)=simi(embedding(input),embedding(datai))
ꢀꢀꢀ
(15)
[0118]
其中,datai表示训练集中第i条数据,其由题目titlei和论据argi组成。char表示字符,而len函数会计算给定数据中的字符数。roberta(char)表示字符在使用roberta模型进行编码后得到的向量。embedding(datai)表示datai的向量表示结果,α和β表示常数权重,分别取0.7和0.3。input表示输入,也由题目和论据组成。simi函数用于计算两个向量的相似度,在本发明中使用余弦相似度,最终得到的score(input,datai)作为评分结果。
[0119]
选取评分最高者对应的论证作为软模板。在引入软模板的基础上,本发明进一步对bart模型进行了改动:添加指示编码,引入软模板匹配度预测任务。添加指示编码后的输入表示如图6所示。图中input表示字符串输入,token embeddings、position embeddings为bart原有字符编码以及位置编码。在此基础上,额外添加指示编码indication embeddings,对于题目、论据、软模板而言,会分别对应三个不同向量以区分三者。需要注意
的是,在输入端额外添加了三个“[mask]”标识符,在软模板匹配度预测任务中会用到它们。
[0120]
在引入软模板匹配度预测任务后,模型结构如图7所示。其中,title表示作文题目,argument表示论据,template表示找到的软模板。h1、h2、h3表示三个“[mask]”对应的隐藏层输出。可以看到,这三个“[mask]”分别使用了题目、论据、软模板的指示编码,在本任务中分别用来表示三者的语义信息。在得到对应的编码器输出后,题目和论据对应的向量会在连接后经过一层全连接网络,转换为维度与h3相同的向量h',然后根据公式(16)预测匹配度pi。
[0121][0122]
其中,sigmoid表示sigmoid函数。在得到pi后,进一步计算软模板匹配度预测任务损失,其计算方法如公式(17)所示。
[0123]
lossi=(p
i-si)2ꢀꢀꢀꢀ
(17)
[0124]
si为公式(15)得到的输入与数据的相似度得分。此时,模型的整体损失函数如公式(18)所示。
[0125]
loss=loss
l
+γlossiꢀꢀꢀꢀꢀ
(18)
[0126]
其中,loss
l
表示语言模型损失,本实施例中为交叉熵损失,其计算方法如公式(19)所示;γ表示常数权重,取1。
[0127][0128]
其中,len表示段落长度,在此处为字数,p
wordi
表示模型在第i个位置时预测目标字的概率。
[0129]
在训练好模型后,在预测时首先需要获得按公式(15)计算得到的分数最高的论证作为软模板,将题目、论据关键词、软模板作为输入,输出为论证。此时将模型视为简单的bart模型:encoder层利用深度学习模型将输入映射为向量,所得向量输入到decoder层,decoder层在词表中多次选择当前最可能生成词,这些词按顺序构成首段生成的结果。其生成过程如图8所示。
[0130]
需要注意的是,仅对无论证的数据进行论证生成。而对于有论证的数据则跳过本步骤。
[0131]
(4)对系统生成结果使用规则进行调整,获得论据匹配及论证生成结果
[0132]
由于decoder端结果会添加“[cls]”及“[sep]”等特殊标识符,因此在获得论证生成结果之后,应当将其去除,最后得到的论据匹配及论证生成结果如图9所示。
[0133]
本发明提出一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述一种基于深度学习和规则结合的论据匹配及论证生成方法的步骤。
[0134]
本发明提出一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现所述一种基于深度学习和规则结合的论据匹配及论证生成方法的步骤。
[0135]
本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性
存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本发明描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0136]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disc,ssd))等。
[0137]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
[0138]
应注意,本技术实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0139]
以上对本发明所提出的一种基于深度学习和规则结合的论据匹配及论证生成方法、设备和介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行
了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1