S2SA-BiLSTM:面向法律纠纷智能问答系统的深度学习模型

2019-05-10 02:00彭敦陆
小型微型计算机系统 2019年5期
关键词:语义向量时刻

涂 海,彭敦陆,陈 章,刘 丛

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

随着市场经济的多样化发展和互联网飞速的发展,大到公司小到个体所面临的法律纠纷越来越趋向复杂化、多样化,各级法院每年处理的法律纠纷案件不计其数,如何根据以往案例给出符合当前案件的最优决策至关重要.因此通过智能的方式更好地解决法律纠纷问题日益被学术界和工业界所关注.本文结合人工智能、深度学习的方法,实现了一个高效、智能、便捷和精准的法律纠纷问答系统.该系统根据纠纷当事人所描述的自身情况,为纠纷当事人提供过往的相似案例并给予解答,让纠纷当事人作出理性且精确的判断,以取得在处理海量法律纠纷问题任务中的实质性突破,进一步智能化地帮助研究人员完成其领域知识之外的任务.

尽管深层神经网络是非常强大的机器学习模型,具有较好的灵活性和强大的功能,但由于它只适用于那些输入和目标可以用固定维度向量合理编码的问题.这是一个很重要的局限,因为许多重要的问题最好用长度未知的序列来表达[1].基于此,一种基于神经网络的序列学习模型就能很好的解决这个问题.最近几年,基于神经网络的序列学习在各种自然语言处理任务中取得了显着的成功,包括机器翻译、语法分析和对话系统等.Seq2seq本质是一个编码器-解码器模型[2],其中编码器先将输入序列向量化,然后解码器再将该向量化表示转换为输出序列.在此基础上,本文将attention(注意力)机制融合到seq2seq模型中,以显著改善法律纠纷问答的输入和输出序列以及各种任务的性能.最终的实验也证明,在编码器中采用attention机制将问题的词向量进行权重更新,使得该模型生成的答案更加符合用户需求.

迄今,seq2seq模型已经广泛应用于问答系统中答案的自动生成,其中源序列是问答历史,目标序列是响应.与机器翻译不同的是问答响应是具有创造性的,所生成答案的长度、连贯性和多样性仍然是一项具有研究意义的任务.多层的LSTM架构可以解决一般的序列到序列的问题,其方法是通过学习将答案转换为可变长度序列.编码器中LSTM读取输入序列,每次读取一个时间步长,从而获得较大的维度向量表示,然后在解码器中再用LSTM提取出向量的输出序列.实验证明,多层LSTM架构在seq2seq模型中应用于法律纠纷问答系统有显著的效果.

问答模型的建模是自然语言处理和机器学习的重要任务[1],它的建立需要在问题和答案之间进行复杂的映射,通过现有的循环神经网络(Recurrent Neural Network,RNN)来预测下一个序列继而将答案返回.但由于RNN梯度易消失的缺点,所生成的答案不够精准.为了实现法律纠纷问题的答案自动生成,本文提出的模型将问题和答案放入编码系统一起训练,并在解码器部分直接将源答案作为上一时刻的输出输入到下一时刻进行训练.用户可以通过所提纠纷问答系统得到符合自身案情的最优决策,进而来解决自身纠纷.此外,我们也能够根据所有用户的记录实现对标准的seq2seq模型进一步优化.论文的第五部分利用24种法律纠纷类型数据集对S2SA-BiLSTM法律纠纷问答模型进行测试与评估,该模型可以为提问者提供精准且有价值的答案.

2 相关工作

智能问答是NLP中具有重要研究意义的领域,尽管它是最古老的研究领域之一,但其应用范围十分广泛,在各种各样的任务中都有出色的表现,例如信息检索和实体提取.统计显示,问答模型主要是基于机器学习的浅层模型.最近基于深度学习的研究主要集中在大文本语料(如维基百科)的开放领域问答,应用信息检索来选择段落和阅读理解来提取答案短语[3].训练SR-QA和标准RC模型之间的主要区别在于用于训练的段落,在标准的RC模型训练中,文本被手动选择以保证在文本中包含和注释真实的答案[4].为了提高特征的丰富性和可提取性,以及增强问答模型中语句之间的语义匹配精度,这些相关的模型都引入了语义知识库和语义词典等外部资源信息[5,6].但是以上模型都依赖于大量特征工程的支持,缺乏强大的学习能力.

根据深度学习的最新研究表明,神经网络模型对问答领域产生了积极的影响.GRU(Gated Recurrent Unit)和LSTM模型可以通过循环神经网络处理问答所需的较长文本.文献[7]提出了一种端到端的神经网络模型,称为神经生成问答(GENQA),它可以基于知识库中的事实生成简单的仿真问题的答案,该模型建立在编码器-解码器框架上,用于序列到序列学习,同时具备查询知识库的能力,并且在问答对的语料库中进行训练,并且知识中包含相关的三元组-基础.文献[1]使用了神经网络将序列映射到序列的模型,目前该框架已经被应用于神经网络机器翻译,并且实现了WMT'14数据集中英文-法文和英文-德文翻译任务的改进.最近,Yu[9]等和Lee[10]等提出基于神经网络的分块和排名理念的模型应用于问答.Sordoni[11]等和Shang[12]等使用循环神经网络来模拟在Twitter中聊天.

问答社区是一类比较成熟的互联网应用,国外的有Quora、StackOverflow等社区.当用户提出问题后,直接将答案交给用户,有些使用Word Embedding加上卷积神经网络来解决这个问答问题.首先把两个判断语义是否等价的句子转换为Word Embedding形式,作为整个神经网络的输入层.然后使用两个CNN(Convolutional Neural Networks)模型,其中CNN1通过卷积层和池化层来抽取一个句子的语义特征,CNN2抽取另外一个句子语义特征.之后将两个CNN的池化层拼接起来作为后续神经网络的输入.在后续结构中,模型利用隐藏层对上述所得两组语义特征进行非线性变换,并经过线性层的分类输出之后,最终得到两个句子语义是否相同的答案返回给用户.

针对法律纠纷问答模型,论文主要从以下几个结构阐述:第3部分简要介绍seq2seq模型和LSTM网络以及讲解如何将多层LSTM加入seq2seq模型中;第4部分给出本文所提出的问答模型的详细过程;第5部分采用基于法律纠纷数据集的实验对所提模型进行有效性评估;第6部分则是全文的总结与展望.

3 问题定义和描述

论文要解决的问题就是用户在遇到法律纠纷的时候,可以通过纠纷问答来判断如何应对自身情况.假设我们已知问答库QAset=()1≤i≤n,将该问答库放在S2SA-BiLSTM模型中训练,Qi是法律纠纷问答中的历史问题,Ai是Qi问题的答案.对于用户输入新的问题Qnew,通过S2SA-BiLSTM生成模型会生成一些候选答案.这些答案中语义与Ai最相似的答案将作为Anew返回给用户,这里使用的是BM25[13]来计算问题和答案的相似度.首先我们需要通过对24种纠纷类型的法律文本进行预处理从而提高算法的计算效率.在神经网络中,对于文本的数据预处理无非是将文本转化为模型可理解的数字.在这里我们需要加入以下四种字符,主要用来字符补全,都是用在Decoder端序列中,告诉解码器句子的起始与结束,则用来替代一些未出现过的词或者低频词.

3.1 序列到序列问答模型

Seq2seq技术突破了传统的固定大小输入问题框架,开创了将经典深度神经网络模型运用于翻译与智能问答这一类序列型任务的先河,并被证实在机器翻译以及人机短问答的应用中有着不俗的表现.Seq2seq解决问答的主要思路是通过深度神经网络模型在每个时间段不断的去学习输入的问题序列编码成向量,之后根据存储的信息向量解析成目标序列.Encoder通过学习输入,将其编码成一个固定大小的状态向量c,将c作为解码的每个时刻输入特征,Decoder再通过对状态向量c的学习进行输出.Encoder-Decoder框架看作一个对知识学习与应用的过程,早期主要做一些主题分类、情感检测等分类任务,近几年应用在智能问答、机器翻译和语音识别等各种问题.论文通过Encoder-Decoder结合BiLSTM以及注意力机制学习出问题序列的语境向量c即多个隐藏节点的加权总和,在解码器中进行training和predicting解析出答案序列.

3.2 双向长短时记忆网络问答模型

循环神经网络本质是对一个序列信息的存储,每一步的输入各层都共享参数,包括对前一个状态信息的过滤和当前输入信息的整合,但是不足之处在于存取上下文信息范围有限.这时候双向长短时记忆网络就能很好的弥补这个不足,解决标准RNN长期距离依赖缺陷和梯度消失问题.例如对应Q:“我想要离婚怎么办?”,其中“离婚”这个词通过双向长短时记忆网络能够同时获取到它前后词的特征来存储并传递上下文信息,使得在解码阶段生成的答案更加聚焦.LSTM通过输入门、遗忘门和输出门三个结构来实现信息的保护和控制,在此使用多层LSTM能够更加抽象的表达特征信息增加生成准确率并减低训练时间,在减少神经元个数的同时,也让法律纠纷问答生成的答案更加准确.纠纷问题序列为x={x1,x2,…,xT},其中xt表示t时刻纠纷问题的词向量,t-1时刻的隐藏层输出为ht-1,在t时刻的LSTM内部记忆单元公式如下.

输入门:

it=σ(Wixt+Uiht-1+bi)

(1)

遗忘门:

ft=σ(Wfxt+Ufht-1+bf)

(2)

输出门:

ot=σ(Woxt+Uoht-1+bo)

(3)

t时刻内部状态:

(4)

cell state:

(5)

t时刻输出:

ht=ot⊙tanh(ct)

(6)

其中σ是sigmoid函数,W和U为参数矩阵,⊙代表逐元素相乘.输入门可以确定输入向量xt如何改变记忆单元的状态,输出门可以允许记忆单元对输出有影响.最后,忘记门允许记忆单元记住或忘记其先前的状态.由于单向的LSTM只能获取当前词之前词的特征,实验证明双向的LSTM比单向的LSTM效果更佳.上文的特征信息由正向LSTM获取,下文特征信息由反向LSTM获取,每一步的输出是两个方向输出向量的连接,这样相对于单向LSTM来说能够捕获更多的特征信息使得法律纠纷问答中的问题和答案更加有效.

3.3 注意力机制问答混合

在一些现有的神经网络问答模型中,问题和答案的词向量所占权重其实都是相等的,没有考虑到一些具有关键特征的词语在问答模型中对语义匹配的重要性.而且在一般的问答系统中问题和答案存在很多无关紧要的词,存在的噪音使得问答的准确度降低.而加入注意力机制的混合深度学习模型在产生输出的时候能够更加关注问题序列中携带的信息,所以论文中引入注意力机制来解决这种冗余所带来的问题.通过动态调整的方法来回答问题中更有用的信息部分,定义权值的大小来表示语义的重要性,权值越大,语义越为重要,反之亦然,譬如下面这个问答匹配对:

Q:一方为无民事行为能力人的,哪些人能为无民事行为能力人一方提起离婚诉讼?

A:当事人为无民事行为能力人的,其法定监护人作为法定代理人可以为无民事行为能力人提起离婚诉讼.

根据这个问题去匹配候选答案时,问题中的“无民事行为能力”和“离婚诉讼”这些词语为用户关注的焦点,而“法定监护人”和“法定代理人”这些词语的本身与问题的描述表现出更为共现的关系,所以论文在S2SA-BiLSTM模型中引入注意力机制以突显这些共现词语的重要性.

4 问答模型

4.1 基本模型

上一部分内容对法律纠纷的问题定义进行了描述,将神经网络的深度进行了拓展,在第一层BiLSTM基础上再叠加一层BiLSTM,就是在t时刻把每个输入对应BiLSTM层的输出作为下一层BiLSTM神经网络相应节点的输入.整个法律纠纷问答模型是建立在注意力机制和seq2seq架构之上的[14],在Encoder和Decoder端分别使用了两层的Bi-LSTM,并且加了一个注意力模型.当用户输入法律纠纷问题时,系统将为问题中的各单词分配不同权重来突出法律纠纷问题的重点,以确保用户能够得到合理的解决纠纷的答案,问答模型如图1所示.图1中的状态向量c是Encoder输出的最终状态,作为Decoder的初始状态.对于用户输入的法律纠纷问题可以用Q来表示,最终返回给用户的答案用A表示,Q和A由各自的单词序列构成Q=(q1,q2,…,qn)和A=(a1,a2,…,an),在Encoder端对Q进行编码,将输入句子通过非线性变换转化为中间语义c=φ(q1,q2,…,qn).通过纠纷问题序列Q表示的状态向量c和生成的前一时刻的信息a1,a2,…,ai-1

图1 seq2seq问答模型Fig.1 Seq2seq Q&A model

来生成t时刻答案序列at.编码和解码之间最大的局限性是一个固定长度的语义向量c,一是语义向量无法表示整个序列的信息;二是先输入的内容携带的信息会被后面输入的信息稀释掉,所以在编码阶段引入注意力机制,可以很好的避免这个问题.在训练过程中,解码器没有把每个时刻的预测输出作为下一时刻的输入,下一时刻的输入直接用目标数据,这样能保证生成的答案更加[16].

4.2 法律纠纷问答编码

Encoder算法如图2所示,最终输出结果为每个时刻隐藏层状态h1,h2,…,hT.前一时刻的隐藏层状态为si-1即位置i-1处输出的隐藏状态,由encoder所有时刻的输出ht结合si-1产生能量e1,e2,…,eT是注意力机制比较关键的过程.能量eT就是用户输入法律纠纷问题的词qt对即将生成答案的词at的影响力.针对此时每个输入词能量的大小,这时需要一个对齐模型就可以知道应该使用哪个词与当前的at进行对齐.

(7)

算法1.问答编码算法

输入:预处理后问答数据向量S

输出:带有上下文信息的状态向量c

图2 问答纠纷编码算法Fig.2 Q&A dispute decoder algorithm

在Encoder中引入注意力机制是希望得到一个context向量,所以依赖于h1,h2,…,hT用加权平均的方法将它们融合在一起.为了不使context向量缩放若干倍,不能直接将e作为权值,所以需要将et转换成概率∝t使得它们的和为1,同时可以用来表示问题序列中每个词与候选答案序列中每个词的匹配程度.

(8)

使用softmax函数求得概率如下:

(9)

ct是h1,h2,…,hT的线性组合,在得到输入序列每一个时刻的取值∝t后将其与各时刻的输出ht加权求和,即得到了当前时刻context向量ct,公式如下:

(10)

4.3 法律纠纷问答解码

Decoder算法如图3所示,答案生成如图4所示,Decoder与Encoder的交互在于context向量ci,ci包含了encoder部分更多的信息然后结合词向量和前一时刻隐藏层状态通过

算法2.问答解码算法

输入:状态向量c,targetdataT,

输出:A*

图3 问答纠纷解码算法Fig.3 Q&A dispute decoder algorithm

LSTM单元生成下一时刻的hidden_state,decoder在时刻i的hidden_state表示为si,pre_hidden_state表示为si-1.虽然经过LSTM生成的hidden_state已经包含了所要生成纠纷问答词的信息,但是要想知道生成具体的词,还需要计算目标语言中每个词的条件概率,在输出结果后将目标数据再输入下一阶段.si的维度可以认为是目标语言词典的大小,使用softmax算出每个词的概率,公式如下,

图4 S2SA-BiLSTM框架Fig.4 S2SA-BiLSTM framework

s(ωi)=Wωi[yi-1;si-1;ci]+bωi

(11)

(12)

与此同时通过计算困惑度(Perplexity)的值来判断候选答案是否符合语言规则和语句是否通顺,公式如下:

(13)

模型目标函数定义为:

(14)

A*代表模型生成的候选答案,Ai表示候选答案中的词,R(Ai,Atarget)是词与目标答案的相关度,Wi是词的权重.

5 实验与分析

5.1 数据来源

论文中法律纠纷问答模型实验数据来自某公司提供的24种法律纠纷问答对,每一种纠纷类型包含5000个问题答案对,其中80%为训练集,20%为测试集.首先对问题和答案进行预处理,使用Google开源的词向量计算Word2Vec[15]来训练24种纠纷类型的问题答案对词向量,事先去除特殊字符和标点符号以及去除一些常见无意义的停用词.所训练的词向量维数d设置为300,句子最大的长度设置为100.

5.2 实验结果分析

实验1.与Baseline model对比

本实验目的评估法律纠纷问答生成模型S2SA-BiLSTM在问答任务中不同规模数据集上的效果,使用Baseline model和法律纠纷问答生成模型S2SA-BiLSTM分别在法律纠纷问答数据集的20%、40%、60%、80%和100%的规模上进行了对比实验,Baseline model在seq2seq中编码和解码阶段使用了最简单的神经网络.S2SA-BiLSTM模型和Baseline model在同一个数据集上训练了同等数量的次数,并且在同一测试集上进行了测评,对比测评指标分别为:准确率(Precision)、召回率(Recall)和F值.实验结果如表1所示.

表1 对比实验结果
Table 1 Comparison of experimental results

模型训练集大小准确率P(%)召回率R(%)F值(%)BaselineS2SA-BiLSTM20%63.1665.2341.2463.1649.8964.19BaselineS2SA-BiLSTM40%64.3268.9151.1866.4357.0167.65BaselineS2SA-BiLSTM60%71.3675.4268.5772.2469.9473.80BaselineS2SA-BiLSTM80%81.2484.6376.2579.1678.6781.80BaselineS2SA-BiLSTM100%89.6291.3285.6890.6787.6190.99

由表1可以看出,S2SA-BiLSTM模型比Baseline model在不同规模的训练集上的准确率、召回率和F值均有一定的提升,如图5所示,准确率分别提升了2.07%、4.59%、4.06%、3.39%和1.7%.实验表明随着数据集的增大,S2SA-BiLSTM模型能增强自身学习语义特征的能力从而提高了其生成的候选答案与目标答案的匹配度.

实验2.与其他神经网络进行比较

本实验的目的是为了验证S2SA-BiLSTM模型生成的候选答案的有效性,使用平均准确率(Mean Average Precision,MAP)和平均倒数排序(Mean Reciprocal Rank,MRR)作为评价指标在同一测试集上与问答任务中其他神经网络作对比.实验结果如图6所示.

图5 精确度P的对比Fig.5 Comparison of accuracy P

由图6可以看S2SA-BiLSTM模型的MAP和MRR比其他神经网络均有一定的提升,平均准确率MAP反映的是从所有生成的候选答案检索出与目标答案相似的准确率的平均值,生成出来的相似候选答案越靠前MAP就越高.平均倒数排序MRR是将用户输入5个问题的5个目标答案作为Query,放在被S2SA-BiLSTM模型生成所有候选答案中相似度最高的5个候选答案的排序取倒数作为它的准确度,再对它们的倒数求和取平均.从S2SA-BiLSTM模型的MAP和MRR两个评价指标可以看出,生成的候选答案在有效性上比其他神经网络又提升了一个档次.

图6 MAP和MRR对比Fig.6 Comparison of MAP and MRR

表2是本文模型实验与其他模型的对比结果,从表中可以看出,基于深度学习的BLSTM模型在问答匹配领域的效果明显优于基于机器学习的SVM分类排序方法.同时,本文提出的S2SA-BiLSTM模型又在传统BLSTM基础上提高了MRR值,有效证明了在Seq2Seq模型中使用双向长短期记忆网络结合注意力机制能够学习到句子中更多的隐藏的语音特征,从而提高答案的准确率.此外,我们发现Wang等[18]模型的实验中,Word overlap和Average word Embedding这两个方法存在一个共同的问题,即无法像深度学习神经网络一样学习句子中抽象的语义信息,从而影响其实验的MRR值.

实验3.与其他神经网络运算性能的比较

为了证明S2SA-BiLSTM模型在生成候选答案具有明显的速度提升,在相同的测试集上与其他神经网络生成问答模型对运算速度进行比较,运行时间明显小于其他四种模型,如图7所示.

表2 与其他相关模型的MRR比较
Table 2 Experimental evaluation results compared with other relevant models

模型方法MRRWu模型[17]Edit distanceTFISF sumRe-estimate query likelohood modelBLSTM20.9845.3169.3666.34Wang模型[18]Average word embeddingWord overlapEmbedding-based featuresAll features46.1051.5474.7080.08本文模型S2SA-BiLSTM84.41

图7 运算性能的比对Fig.7 Comparison of computing performance

6 结 论

互联网为人们提供海量法律信息的同时,一些法律纠纷问题也随着人们日益增长的生活水平而来.根据用户提出的法律纠纷问题有效地生成法律知识答案,这一措施有助于快速获取相应的法律纠纷知识并为自身提供解答有一定的现实应用意义.论文结合深层长短时记忆网络融入注意力机制,成功构建了面向法律纠纷答案自动生成的深度学习模型--S2SA-BiLSTM.最终实验也表明,本文所提出的S2SA-BiLSTM模型在处理大规模法律纠纷问答数据集时,具有很好的生成效果,其准确率和召回率均有显著提升.此后的研究将围绕构建知识图谱自动问答以及对抗式生成网络(GAN)自动问答来展开.

猜你喜欢
语义向量时刻
真实场景水下语义分割方法及数据集
向量的分解
冬“傲”时刻
捕猎时刻
聚焦“向量与三角”创新题
向量垂直在解析几何中的应用
“吃+NP”的语义生成机制研究
向量五种“变身” 玩转圆锥曲线
汉语依凭介词的语义范畴
一天的时刻