1.本技术属于法律咨询技术领域,具体涉及一种基于阅读理解和意图识别模型的法律文书生成方法及系统。
背景技术:2.在现代社会人们日常生活中,经常会遇到法律相关的问题,比如:婚姻方面、财产继承方面、劳动争议方面,借贷方面等等,当事人经常采取的方法是咨询当地律师,或者上网搜索相关答案,如果当事人采用咨询律师的途径,一方面律师个人资质不同,深入研究的领域不同,故每个律师给出的答案可能是不同的,这让当事人很难去做一个正确的决定;另一方面,律师的缺口非常大,现有律师的数量很难满足法律咨询问题日益增长的数量,这使得当事人很难获取到既准确、专业又满意的答案。如果当事人采用上网搜索相关答案的途径,经常当事人经理的过程与网上给出的过程难以具体匹配,进而无法获取到准确地答案。
3.现有技术中,存在一些法律文书生成系统,当事人可以通过该系统进行人机对话,最后获取到法律意见咨询书或者合同文书,但是通过该系统获取到的法律意见咨询书或者合同文书不是很准确,其原因是该系统无法准确理解当事人的意思,并且对当事人的意图不是很明确,而当事人需要输入的文本较长,使用传统的机器学习方法及基础的神经网络模型,例如rnn,lstm等,已经在性能和精度上远远不能满足要求。
4.针对现有技术中,当事人很难取到既准确、专业又满意的法律咨询相关答案的问题,目前未找到相关的解决方案。
技术实现要素:5.针对以上技术问题,本技术提出一种基于阅读理解和意图识别模型的法律文书生成方法及系统。
6.第一方面,本技术提出种基于阅读理解和意图识别模型的法律文书生成方法,包括如下步骤:
7.获取长段文字陈述;
8.将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素;
9.将所述初轮法律要素与所述法律要素库进行对比,得到咨询者想要咨询的法律场景;
10.根据法律场景获取遗漏要素,根据所述遗漏要素与咨询者发起多轮对话,得到多轮对话的结果;
11.将多轮对话的结果输入到意图识别模型中,得到意图识别结果;
12.根据意图识别结果以及初轮法律要素进行推理决策,自动生成法律咨询意见书或者合同文书。
13.所述将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素,包括如下步骤:
14.将所述长段文字陈述分别输入到抽取式阅读理解与选择题型阅读理解模型,分别得到抽取式阅读理解答案以及选择题型阅读理解答案;
15.将所述抽取式阅读理解答案以及选择题型阅读理解答案作为初轮法律要素。
16.所述将所述长段文字陈述输入到抽取式阅读理解模型,得到抽取式阅读理解答案,步骤如下:
17.将所述长段文字陈述与问题进行拼接,并且统一到固定长度,得到固定长度的拼接后结果;
18.使用bert预训练模型对所述固定长度的拼接后结果进行编码,并提取出编码后的特征向量;
19.将所述编码后的特征向量输入抽取式阅读理解模型的分类器当中,并最终计算出各个位置的逻辑值;
20.根据所述逻辑值,通过softmax函数选择出抽取式阅读理解答案。
21.所述bert预训练模型采用迁移学习的策略训练模型,包括两个阶段,使用两种数据集进行训练,并且两种数据集均带标注;在第一阶段,只使用第一数据集进行训练,得到第一bert预训练模型以及第一模型权重;在第二阶段,将所述第一模型权重作为第二bert预训练模型的初始权重;再使用第二数据集与一部分第一数据集再次进行训练,得到最终的bert预训练模型。
22.所述将所述长段文字陈述输入到选择题型阅读理解模型,得到选择题型阅读理解答案,步骤如下:
23.将所述长段文字陈述与问题进行拼接,并且统一到固定长度,得到固定长度的拼接后结果;
24.使用albert预训练模型对所述固定长度的拼接后结果进行编码,并提取出编码后的特征向量;
25.将所述编码后的特征向量输入阅读理解模型的分类器当中,并最终计算出各个位置的逻辑值;
26.根据所述逻辑值,通过softmax函数选择出选择题型阅读理解答案;
27.设置一个阈值t,判断阈值t与最大的逻辑值和次大的逻辑值的差值的大小;
28.若最大的逻辑值和次大的逻辑值的差值不大于阈值t,则认为得到的选择题型阅读理解答案为unknow答案;
29.若最大的逻辑值和次大的逻辑值的差值大于阈值t,则直接输出所述选择题型阅读理解答案。
30.所述抽取式阅读理解模型的分类器,具体为一个维度为2
×
d的线性分类器,其中,d为隐层状态维度;
31.所述阅读理解模型的分类器设置为两个全连接层,第一个全连接层是维度为 d
×
d的带有tanh激活函数的线性层;第二个全连接层是维度为d
×
1的没有激活函数的线性层。
32.所述将多轮对话的结果输入到意图识别模型中,得到意图识别结果,步骤如下:
33.所述将多轮对话的结果分别输入到基于混合注意力机制的原型网络模型与词向量相似度对比模型,分别得到第一结果与第二结果;
34.将第一结果与第二结果进行加权求和,得到最终的结果,所述第一结果、第二结果
与最终的结果均包含类别及其对应的概率;
35.将所述最终的结果进行排序,依次返回排序后的类别及其对应的概率。
36.所述将多轮对话的结果输入到基于混合注意力机制的原型网络模型,得到第一结果,其过程步骤如下:
37.将所述多轮对话的结果进行标识,分别标识为文字嵌入与位置嵌入;
38.将所述文字嵌入与位置嵌入进行拼接;
39.将拼接结果输入到cnn网络,并进行最大池化,输出的最大池化的结果即为所述多轮对话的结果的编码信息;
40.将所述编码信息输入所述支持集,采用改进的求解公式提取特征,得到n 个小类原型向量;
41.将所述多轮对话的结果的编码信息与n个小类原型向量进行相似度计算,得到n个相似度值;
42.将所述n个相似度值转换为每个类别以及每个类别的对应概率。
43.所述将多轮对话的结果输入到词向量相似度对比模型,得到第二结果,其过程步骤如下:
44.将场景库中实际场景数据分成s个类别;
45.对每个类别以类名为关键词,分别对应一个关键词向量k;
46.同时对每个类别中的语句进行分词、去除停用词,得到词向量,将词向量相加取平均值,得到每个类别的标志向量v;
47.将问题向量q分别与关键词向量k和标志向量v进行相似度计算,得到第一相似度计算结果与第二相似度计算结果;
48.将所述一相似度计算结果与第二相似度计算结果进行加权求和,最后得到每个类别的对应概率;
49.所述每个类别以及每个类别的对应概率为第二结果。
50.第二方面,本技术提出一种基于阅读理解和意图识别模型的法律文书生成系统,包括:数据获取模块、要素获取模块、场景获取模块、多轮对话模块、意图识别模块、文书生成模块;
51.所述数据获取模块、要素获取模块、场景获取模块、多轮对话模块、意图识别模块、文书生成模块依次顺序相连接,所述要素获取模块与意图识别模块分别与所述文书生成模块相连接;
52.所述数据获取模块用于获取长段文字陈述;
53.所述要素获取模块用于将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素;
54.所述场景获取模块用于将所述初轮法律要素与所述法律要素库进行对比,得到咨询者想要咨询的法律场景;
55.所述多轮对话模块用于根据法律场景获取遗漏要素,根据所述遗漏要素与咨询者发起多轮对话,得到多轮对话的结果;
56.所述意图识别模块用于将多轮对话的结果输入到意图识别模型中,得到意图识别结果;
57.所述文书生成模块用于根据意图识别结果以及初轮法律要素进行推理决策,自动生成法律咨询意见书或者合同文书。
58.有益技术效果:
59.本技术一种基于阅读理解和意图识别模型的法律文书生成方法及系统,使得当事人获取到既准确、专业又满意的法律咨询相关答案,本技术基于预训练模型的方案仅仅需要做一个迭代微调就可以满足不同nlp任务,这大大减少了模型的收敛时间,降低了训练成本,同时采用双向自注意力机制,这种机制的模型效果远远优于之前的rnn和lstm模型方案。
附图说明
60.图1为本技术实施例的法律文书生成方法流程图;
61.图2为本技术实施例法律文书生成方法流程示意图;
62.图3为本技术实施例的获取初轮法律要素流程示意图;
63.图4为本技术实施例的抽取式阅读理解模型示意图;
64.图5为本技术实施例的择题型阅读理解模型示意图;
65.图6为本技术实施例的意图识别模型示意图;
66.图7为本技术实施例的原型网络模型示意图;
67.图8为本技术实施例的个小类抽取原型过程示意图;
68.图9为本技术实施例的n个小类原型向量构造过程示意图;
69.图10为本技术实施例的相似度对比模型示意图;
70.图11为本技术实施例的特征级注意力提取器流程示意图;
71.图12为本技术实施例的获取初轮法律要素流程图;
72.图13为本技术实施例的抽取式阅读理解模型流程图;
73.图14为本技术实施例的择题型阅读理解模型流程图;
74.图15为本技术实施例的意图识别模型流程图;
75.图16为本技术实施例的得到第一结果流程图;
76.图17为本技术实施例的n个小类原型向量构造过程流程图;
77.图18为本技术实施例的得到第二结果流程图;
78.图19为本技术实施例的法律文书生成系统原理框图。
具体实施方式:
79.下面结合附图对本技术作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本技术的保护范围。
80.第一方面,本技术提出种基于阅读理解和意图识别模型的法律文书生成方法,如图1、图2所示,包括如下步骤:
81.步骤s1:获取长段文字陈述;
82.步骤s2:将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素;
83.步骤s3:将所述初轮法律要素与所述法律要素库进行对比,得到咨询者想要咨询的法律场景;
84.步骤s4:根据法律场景获取遗漏要素,根据所述遗漏要素与咨询者发起多轮对话,得到多轮对话的结果;
85.咨询者想要咨询的法律场景如民事咨询、离婚咨询、工伤咨询等,同时可能包含一些其它的事件信息。例如涉及的人物、地点、时间等。确定法律场景后,基于法律知识库及知识图谱,得到想要出具一份准确完整的法律文书还需要哪些信息,即遗漏要素,然后会基于缺失的信息与咨询人展开多轮对话。对话方式为主动提问的方式,咨询者仅需要使用语音回答或手动选择的方式回答相关问题即可,问题均以选择题和填空补充的形式,方便咨询者理解。当该场景需要的核心信息均以通过对话获取完成,对话就会结束,到此系统就已经完全理解了咨询者的咨询意图了。具体多轮对话的方法,可以采用语音回答,或回答文字或选择问题的方法进行多轮对话,均属于现有技术,本技术不再赘述。
86.步骤s5:将多轮对话的结果输入到意图识别模型中,得到意图识别结果;
87.步骤s6:根据意图识别结果以及初轮法律要素进行推理决策,自动生成法律咨询意见书或者合同文书。
88.推理决策就是根据前期提取到的法律要素和对话获取的关键信息结合法律知识图谱进行文书关键节点推理查询。如根据前期获取的地理位置信息获取当地的相关法案规定(不同地区的同一法律问题可能有不同的政策),并根据当地法律规定计算相关的文书数据(如交通事故中的理赔金额等)。完成整个推理过程即可输出一份准确标准的法律文书,其中推理决策有很多现有的算法,并不属于本技术的创新点,本技术不再赘述。
89.所述将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素,如图3、图12所示,包括如下步骤:
90.步骤s2.1:将所述长段文字陈述分别输入到抽取式阅读理解与选择题型阅读理解模型,分别得到抽取式阅读理解答案以及选择题型阅读理解答案;
91.步骤s2.2:将所述抽取式阅读理解答案以及选择题型阅读理解答案作为初轮法律要素。
92.选择题型的阅读理解以及抽取式阅读理解的文本长度较长,使用传统的机器学习方法及基础的神经网络模型,例如rnn,lstm等,从精度和运算时间上已经不满足需求,因此采用预训练模型完成本技术。使用预训练模型作为模型的编码器获取数据的表征并通过在预训练模型上的fine-tune训练模型,具体来说是在预训练模型后添加一个分类器并设计损失函数。最后针对实际应用,制定了模型回答“unknow”的策略。
93.本技术将抽取式模型命名为ttm-sq(transfer trained model for spanquestion),在训练中使用迁移学习策略,提高模型的鲁棒性的同时加速了模型训练速度。
94.所述将所述长段文字陈述输入到抽取式阅读理解模型,得到抽取式阅读理解答案,如图4、图13所示,步骤如下:
95.步骤s2.1.11:将所述长段文字陈述与问题进行拼接,并且统一到固定长度,得到固定长度的拼接后结果;
96.步骤s2.1.12:使用bert预训练模型对所述固定长度的拼接后结果进行编码,并提取出编码后的特征向量;
97.步骤s2.1.13:将所述编码后的特征向量输入抽取式阅读理解模型的分类器当中,并最终计算出各个位置的逻辑值;
98.步骤s2.1.14:根据所述逻辑值,通过softmax函数选择出抽取式阅读理解答案。
99.所述bert预训练模型采用迁移学习的策略训练模型,包括两个阶段,使用两种数据集进行训练,并且两种数据集均带标注;在第一阶段,只使用第一数据集进行训练,得到第一bert预训练模型以及第一模型权重;在第二阶段,将所述第一模型权重作为第二bert预训练模型的初始权重;再使用第二数据集与小一部分第一数据集再次进行训练,得到最终的bert预训练模型。
100.在本实施例中,使用迁移学习的策略训练模型,具体来说:训练共两个阶段,使用2种数据集进行训练。在第一阶段,只使用法研杯数据集进行训练。在第二阶段,将第一阶段训练好的预训练模型权重作为模型的初始权重。再使用标注的数据集与小部分法研杯数据集再次进行训练,得到最终的模型。该训练策略有以下优点:
101.(1)通过第一阶段的训练加速了模型在目标数据集上训练时的收敛速度;
102.(2)提高模型鲁棒性;
103.(3)第二阶段法研杯数据集较少,使模型更拟合甲方所需要的问题的形式,回答问题的准确率提升。
104.所述抽取式阅读理解模型的分类器,具体为一个维度为2
×
d的线性分类器,其中,d为隐层状态维度。本技术在经过编码后取出bert输出的最后一层r为输入序列长度。特征在通过分类器后会产生向量ls∈rr和ls∈rr, ls和le的每个维度上的数值代表该位置作为起始和终止位置的logit值(即逻辑值),即start_logit和end_logit,模型会根据logit值对答案进行判断。在选择答案时会去除如起始位置在终止位置之后等无效答案,并按照start_logit+end_logit 作softmax,softmax公式如下:
[0105][0106]
其中,zi为第i个节点的输出值,c即为n个相似度的值,
[0107]
取其中值最大的作为预测的答案。与此同时,如果unknow的softmax值为最大,则判断答案为unknow。根据bert的自注意力机制,编码后的[cls] 位置可以代表整个输入序列的语义,进而判断输入的两个句子之间的关系。所以在计算unknow的logit值时,模型使用[cls]位置对应的start_logit与end_logit 作加和。
[0108]
考虑到选择题型阅读理解的输入文本较长,如果使用bert作为编码器,训练预测的时间成本过高,albert相比bert具有体积小、训练速度快等优势。因此,经过多方面考虑,采用预训练模型albert作为ttm-mc模型的编码器。
[0109]
在具体使用时,将案例原文、问题与每个答案选项进行拼接后送入albert 模型进行编码,若长度与设定的输入序列长度不同,则进行截断或填充。取预训练模型的最后一层的输出作为下一步的输入。针对一个问题的若干个(n)选项,需要进行n次的编码。
[0110]
所述将所述长段文字陈述输入到选择题型阅读理解模型,得到选择题型阅读理解答案,如图5、图14所示,步骤如下:
[0111]
步骤s2.1.11.1:将所述长段文字陈述与问题进行拼接,并且统一到固定长度,得到固定长度的拼接后结果;
[0112]
步骤s2.1.11.2:使用albert预训练模型对所述固定长度的拼接后结果进行编码,
并提取出编码后的特征向量;
[0113]
步骤s2.1.11.3:将所述编码后的特征向量输入阅读理解模型的分类器当中,并最终计算出各个位置的逻辑值;
[0114]
步骤s2.1.11.4:根据所述逻辑值,通过softmax函数选择出选择题型阅读理解答案;zi为第i个节点的输出值,c即为n个相似度的值,得出的值即为每个类别的概率。
[0115]
步骤s2.1.11.5:设置一个阈值t,判断阈值t与最大的逻辑值和次大的逻辑值的差值的大小;
[0116]
步骤s2.1.11.6:若最大的逻辑值和次大的逻辑值的差值不大于阈值t,则认为得到的选择题型阅读理解答案为unknow答案;
[0117]
步骤s2.1.11.7:若最大的逻辑值和次大的逻辑值的差值大于阈值t,则直接输出所述选择题型阅读理解答案。
[0118]
所述使用albert预训练模型对所述固定长度的拼接后结果进行编码,包括:针对一个问题的n个选项,需要进行n次编码。
[0119]
在选择分类器的结构时,通过实验比较了使用相同编码器,不同分类器的模型的测试结果,并最终选择了a two-layer fcnn。man是一个可以进行多步推理的分类器,它作为复杂结构分类器的一个代表。模型使用的分类器由一个两层的前馈网络组成。实验结果表明,复杂分类器(man)与模型所使用分类器准确率差异非常小,且根据不同类型的问题,两种分类器的表现各有特点:复杂分类器在更需要推理的问题上表现更好,但在比较简单的问题中效果下降。考虑到实际业务使用中问题的分布与数据集略有差异,分类器结构对模型训练时间、预测时间的影响等多方面因素。本技术最终选择了2层前馈网络的简单分类器(a two-layer fcnn)作为ttm-mc模型最终的分类器。
[0120]
所述阅读理解模型的分类器设置为两个全连接层,第一个全连接层是维度为 d
×
d的带有tanh激活函数的线性层;第二个全连接层是维度为d
×
1的没有激活函数的线性层;
[0121]
在获取到编码器编码后的特征后,模型使用[cls]位(cls即classification 用于下游的分类任务)的m个向量v∈rn×d进行后续的计算处理,其中m代表选项的个数,m个选项即为m个向量。获取到v后,将v通过带有tanh激活函数的线性层后可以得到向量v
′
∈rm×d,其中tanh激活函数为:
[0122][0123]
其中,xh为激活函数的输入,然后v
′
再经过维度为d
×
1的线性层后即可得出m个选项的逻辑值。
[0124]
所述albert预训练模型采用迁移学习的策略训练模型,包括两个阶段,第一阶段使用自然语言推断数据集进行训练,第二阶段使用race数据集进行训练。
[0125]
与抽取式模型相同,在ttm-mc模型的训练过程中,同样使用迁移学习的策略训练模型。由于目标数据集race中含有大量推理型问题,第一阶段使用自然语言推断数据集进行训练,第二阶段使用race数据集进行训练。该训练策略有以下优点:
[0126]
(1)通过第一阶段的训练加速了模型在目标数据集上训练时的收敛速度;
[0127]
(2)通过自然语言推断任务的训练,模型回答问题的准确率提升。
[0128]
损失函数(loss function)用来评估模型的预测值与真实值的不一致程度。损失函数越小,模型的鲁棒性越好。损失函数放在神经网络训练前向传播的末尾,经过多层网络后得到的结果会与真值计算损失,然后通过反向传播更新网络中的参数,如果长时间训练无法降低损失函数值,一般会调整学习率、激活函数或更换损失函数,但对于本技术基于的预训练模型,一般不会出现,因为本技术只是在做微调。
[0129]
选用起始、终止位置与答案的交叉熵函数作为模型的损失函数。
[0130][0131]
其中,y代表句中每个位置,值为句长。p(y)代表答案的位置,若x位置为正确的起始/终止位置则值为1,否则为0。q(y)是模型预测的x位置的logit值(即逻辑值)。
[0132]
最后的损失函数为:
[0133]
h=(hs+he)/2
[0134]hs
和he分别代表起始位置与终止位置计算交叉熵所得。
[0135]
本技术实施例实验过程示例:
[0136]
硬件环境:linux服务器,配置为gpu:gtx1080ti,cpu:intel(r)xeon(r) cpu e5-2678。
[0137]
软件环境:服务器系统为ubuntu 16.04.5,python版本号为3.7,cuda版本为10.2。
[0138]
抽取式阅读理解数据集
[0139]
(1)法研杯数据集:该数据集是来自“中国裁判文书网”公开的法律文书,主要涉及民事和刑事的一审判决书,总共约1万份数据,并按比例划分训练、开发和测试。每份数据包括若干个问题,对于训练集,每个问题只包含一个标准回答,对于开发和测试集,每个问题包含3个标准回答。回答内容可以是案情片段,可以是yes或no,也可以拒答即回答内容为空。
[0140]
(2)甲方标注数据集(目标数据集):甲方所标注的数据集共计13603条,包含了3262条答案为yes或no的数据以及10341条可从文中找出答案的数据。其中大多数都是关于时间、金钱等的问答对,因此在训练的时候模型对这方面的问题回答的非常准确,但是该数据集缺乏文章中没有问题对应答案的问答对。数据格式如表1所示,数据格式图如表1所示。
[0141]
表1抽取式阅读理解数据格式说明表
[0142]
[0143][0144]
抽取式阅读理解参数选择抽取式阅读理解参数选择如表2所示。
[0145]
表2抽取式阅读理解训练模型参数说明表
[0146]
[0147][0148]
选择题型阅读理解数据集
[0149]
nli数据集:自然语言推断是判断句子对语义关系的任务,它包含对句子对的关系进行判断:中立、牵连、矛盾;句子对是否相似等任务,常用数据集有snli、multi-nli等数据集。stanford natural language inference(snli)自然语言推理最常用版本。包含了550152条训练样本,1000条验证样本,10000条测试样本。每条样本是一个句子对,每个句子对都被标注为这三个标签之一:中立,牵连,矛盾。multi-genre natural language inference(mnli)收集了433000条句子对。该语料库是snli的扩展,涵盖广泛,包括口语和书面语,并支持独特的跨类型概括评估。
[0150]
race数据集:race数据集收集了12-18岁年龄段的初中和高中学生的英语考试,其中包含近28000个段落和人类专家提出的100000个问题。共分为 middle,high,middle即为中考英语,high为高考英语。race-m,race-h与 race的train,dev与high的文章数与问题数统计如表3所示。race的文章长度,问题长度及选项长度统计表如表4所示。race中各种推理类型占比统计表如表5所示。数据集格式说明如表6所示。
[0151]
表3 race文章数与问题数统计表
[0152][0153]
表4 race文章、问题及选项长度统计表
[0154][0155][0156]
表5 race各种推理类型占比统计表
[0157][0158]
表6选择题型阅读理解数据格式说明表
[0159]
[0160][0161]
选择题型阅读理解参数选择
[0162]
选择题型阅读理解的模型使用了大量的超参数,如编码时的最大长度,训练次数,数据的存放路径,模型的存放路径等。因此用户需要对模型的参数表进行一定程度的了解,使得模型可以在目标数据集上发挥更大的优势。选择题型的阅读理解的参数选择如表7所示,分别介绍了模型使用参数的超参数类型,功能以及相应选取的值。
[0163]
表7选择题阅读理解训练模型参数说明表
[0164]
[0165][0166]
modeling_albert.py是ttm-mc模型的结构文件,它定义了模型结构、前向传播方法、损失函数等部分。
[0167]
本技术采用的是基于混合注意力机制的原型网络(hybrid attention-basedprototypical networks),相比于普通的原型网络(prototypical networks)能够很好的解决样本噪声对实验结果带来的影响。
[0168]
首先基于混合注意力机制的原型网络(prototypenetwork)构建每个细分法律各个类别的标志向量,然后计算用户的语句的特征向量与标志向量的语义距离,从而实现小样本分类。
[0169]
原始的原型网络计算原型的方法是在suppprtset中求实例句子的平均值作为每个关系的原型。任何原型网络求解原型的思想,但是直接求平均的方法对每个输入样本的权重默认为相同值,这样当输入样本很少时,并且样本中带有噪音的情况下会明显影响原型的求解。
[0170]
样本实例级的注意力机制:在少样本学习中若是训练过程样本带有噪音会明显影响原型的求解。本技术提出了样本实例级的的注意模块,将更多的注意力放在与查询相关的实例上,减少了噪声的影响。本技术将求解原型的公式进行修改。
[0171]
特征级的注意力机制:原始的原型网络使用简单的欧式距离作为距离函数。由于少样本学习中支持集中实例较少,从支持集中提取的特征存在数据稀疏的问题。因此,在特征空间中对特殊关系进行分类时,某些维度具有更强的区分能力。本技术采用了一种基于特征级的注意方法,以缓解特征稀疏性问题,并以更合适的方式测量空间距离。本技术将公式d(s
1-s2)=(s
1-s2)2修改为d(s
1-s2)= z1(s
1-s2)2,其中z1通过下图的特征级注意力提取器计算的。
[0172]
所述将多轮对话的结果输入到意图识别模型中,得到意图识别结果,如图6、图15所示步骤如下:
[0173]
步骤s2.1.21:所述将多轮对话的结果分别输入到基于混合注意力机制的原型网络模型与词向量相似度对比模型,分别得到第一结果与第二结果;
[0174]
步骤s2.1.22:将第一结果与第二结果进行加权求和,得到最终的结果,所述第一结果、第二结果与最终的结果均包含类别及其对应的概率;
修改为d(s
1-s2)=z1(s
1-s2)2,所以在计算距离的时候需要先根据原型向量通过卷积计算一个向量zi(如图11),然后计算距离。
[0195]
将求解原型的公式从修改为其中定义为
[0196][0197]
修改为
[0198][0199]
对于关系i,其样本数量为ni,其原型的特征向量为ci,j表示第i个关系中第j个样本(1≤j≤ni),αj表示第j个样本的权重,表示第i个关系中第j个样本经过编码后得到的特征向量。
[0200]
其中,αj定义为
[0201][0202][0203]
其中,aj由softmax函数得到(ej作为相应的参数);x为样本的特征向量, g(
·
)是一个线性层,是元素的乘积,σ(
·
)是一个激活函数,本技术选择tanh 作为σ(
·
),sumf
·
g是向量所有元素的和。
[0204]
公式d(s
1-s2)=(s
1-s2)2修改为d(s
1-s2)=z1(s
1-s2)2,d表示两个样本的距离函数,s表示样本的特征向量。
[0205]
如图11,特征级注意力提取器流程如下,输入为k个样本的特征向量,然后通过一个三层的卷积网络。第一层是32个channel的卷积层,第二层是64个 channel的卷积层,第三层是一个channel的卷积层,保证结果为一个独立的向量。中间的激活函数均采用常用的relu函数,经过这样一个简单的三层网络即可得到一个基于稀疏特征的注意力向量zi。
[0206]
词向量相似度对比模型效果要远远差于原型网络分类模型,但是增加这个模型,可以形成一种和原型网络分类模型互补的局面,有的时候原型网络模型没能够预测好,那么用这个词向量对比模型就可以对原型网络模型的预测结果进行补充。而由于这个模型在大多数时候预测效果都不太好,所以本技术只给他了很小的权重。
[0207]
所述将多轮对话的结果输入到词向量相似度对比模型,得到第二结果,如图 10、图18所示,其过程步骤如下:
[0208]
步骤s2.1.22.21:将场景库中实际场景数据分成s个类别;所述场景库中保存所有场景的集合。
[0209]
步骤s2.1.22.22:对每个类别以类名为关键词,分别对应一个关键词向量k;
[0210]
步骤s2.1.22.23:同时对每个类别中的语句进行分词、去除停用词,得到词向量,将词向量相加取平均值,得到每个类别的标志向量v;这里的词向量通过 word2vec词向量模型完成的向量转换。
[0211]
步骤s2.1.22.24:将问题向量q分别与关键词向量k和标志向量v进行相似度计算,
得到第一相似度计算结果与第二相似度计算结果;问题同样通过word2vec词向量模型进行向量化。
[0212]
步骤s2.1.22.25:将所述一相似度计算结果与第二相似度计算结果进行加权求和,最后得到每个类别的对应概率;
[0213]
步骤s2.1.22.26:所述每个类别以及每个类别的对应概率为第二结果。
[0214]
当场景库中的数据更新时,及时对词向量相似度对比模型w2vmodel进行更新,当场景库中的数据更新较多时,及时对原型网络模型进行重新训练,可以提高原型网络模型的准确率。
[0215]
其相似度计算公式如下:其中,a和b代表两个特征向量。如图10所示,最后进行加权求和最后得到该类别上的概率p1
′
,通过这样的方法,每个类别都有对应的概率p2
′
,
…
,pn
′
,作为w2vmodel的输出。
[0216]
本技术实施例实验示例:
[0217]
硬件环境:linux服务器,配置为gpu:gtx1080ti*4,cpu:intel(r)xeon(r) cpu e5-2678。
[0218]
软件环境:服务器系统为ubuntu 16.04.5,python版本号为3.6,cuda版本为10.2。所需环境依赖如表8所示。
[0219]
表8环境依赖表
[0220][0221]
数据集分为用于原型网络训练、词向量训练的训练数据集,实际场景中应用的场景数据集,模型效果测试的测试数据集。
[0222]
包含46个类别的法律咨询数据集,文件名为类别名,txt格式,且每个类别中的样本数不少于100条,均为用户咨询的语句,具有较强的口语化。具体形式如表9所示:
[0223]
表9训练数据集格式
[0224][0225]
在不同的大环境下,有着不同的场景数据集,以下提供某个大环境的数据集格式。初始总计25个类别,每个类别的样本数不少于20条,实际应用时可以对场景的类别进行增删,支持对场景内容的合并,例如“工伤赔偿”、“工伤认定”合并为“工伤”类别,同时又有能够明显区别于具体法律场景的“闲聊”数据集,具体格式如下:
[0226]
表10场景数据集格式
[0227][0228]
测试数据集用于对模型效果的测试,具体格式与场景数据集相似,且测试数据集中的类别必须要对应场景数据集中的类别,但没有样本条数的限制。
[0229]
第二方面,本技术提出一种基于阅读理解和意图识别模型的法律文书生成系统,如图19所示,包括:数据获取模块、要素获取模块、场景获取模块、多轮对话模块、意图识别模块、文书生成模块;
[0230]
所述数据获取模块、要素获取模块、场景获取模块、多轮对话模块、意图识别模块、文书生成模块依次顺序相连接,所述要素获取模块与意图识别模块分别与所述文书生成模块相连接;
[0231]
所述数据获取模块用于获取长段文字陈述;
[0232]
所述要素获取模块用于将所述长段文字陈述输入到长文本阅读理解模型,得到初轮法律要素;
[0233]
所述场景获取模块用于将所述初轮法律要素与所述法律要素库进行对比,得到咨询者想要咨询的法律场景;
[0234]
所述多轮对话模块用于根据法律场景获取遗漏要素,根据所述遗漏要素与咨询者发起多轮对话,得到多轮对话的结果;
[0235]
所述意图识别模块用于将多轮对话的结果输入到意图识别模型中,得到意图识别结果;
[0236]
所述文书生成模块用于根据意图识别结果以及初轮法律要素进行推理决策,自动生成法律咨询意见书或者合同文书。
[0237]
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。