CN110275936B - 一种基于自编码神经网络的相似法律案例检索方法 - Google Patents

一种基于自编码神经网络的相似法律案例检索方法 Download PDF

Info

Publication number
CN110275936B
CN110275936B CN201910382234.XA CN201910382234A CN110275936B CN 110275936 B CN110275936 B CN 110275936B CN 201910382234 A CN201910382234 A CN 201910382234A CN 110275936 B CN110275936 B CN 110275936B
Authority
CN
China
Prior art keywords
output
text
legal case
word
decode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910382234.XA
Other languages
English (en)
Other versions
CN110275936A (zh
Inventor
冯远静
金佳佳
李建元
陈涛
吴越
王辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yinjiang Technology Co., Ltd
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Enjoyor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT, Enjoyor Co Ltd filed Critical Zhejiang University of Technology ZJUT
Priority to CN201910382234.XA priority Critical patent/CN110275936B/zh
Publication of CN110275936A publication Critical patent/CN110275936A/zh
Application granted granted Critical
Publication of CN110275936B publication Critical patent/CN110275936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于自编码神经网络的相似法律案例检索方法,构建了法律案例特征向量模型,采用逼近最近邻ANN算法计算待检索的法律案例与数据库中法律案例的相似度,输出相似法律案例,其中法律案例特征向量模型通过创建上下文三元组,采用自注意力机制和编解码器对法律案例数据集训练学习生成。本发明利用无监督学习方法省去数据标注过程的高成本,采用的编解码网络结构共享上下文语义,丰富文本的特征,提高了相似法律案例的检索效率。

Description

一种基于自编码神经网络的相似法律案例检索方法
技术领域
本发明属于自然语言处理领域,涉及一种基于自编码神经网络的相似法律案例检索方法。
背景技术
文档相似度计算是相似文档检索的重要环节,旨在比较文档对的相似程度。文档相似度计算的研究成果可以应用到很多自然语言处理任务中,例如信息检索、机器翻译、自动问答、复述问题以及对话系统等。在一定程度上,这些自然语言处理任务都可以抽象为文档相似度计算问题。例如,信息检索可以归结为查询项与数据库中文档的相似度计算问题。目前各种法律数据库已经存储了大量电子格式数据,但是现有的数据库仅能做简单的文档分类,所以通过数据库查询相似文档费时费力。如何从海量文档数据中更快、更方便地查询相似文档,是一项值得探讨的工作。当前法律领域下文档相似度计算存在以下难点:1、文档之间具有较强关联性,2、文档篇幅较长导致计算复杂,3、文档较长存在一词多义。
法律领域存在文档之间具有较强关联性的问题,单纯通过词级检索得不到相似文档推荐,文档相似度计算可以帮助人们准确地从数据库中查询到最相似的文档。一些学者已经在研究与机器学习相关的文档相似度计算方法,例如采用向量空间模型,最近邻算法,基于词频的贝叶斯统计方法等,这些方法均基于关键词(特征)和统计信息进行文档相似度计算,由于特征是根据特定任务人工设计的,因此在很大程度上限制了模型的泛化能力,同时提取的特征不够丰富全面。随着深度学习的发展,基于深度学习的文档相似度计算方法可以自动地从原始数据中抽取特征,根据训练数据的不同,方便地适配到其他文档相似度的相关任务中,已经取得了巨大的成功。但是值得注意的是,由于目前基于深度学习的文档相似度计算方法往往依赖于大型监督型数据集,存在数据标注过程的高成本与很多任务很难获得全部真值标签这样的强监督信息的问题。
随着文档数据的大量产生,人们针对文档相似度计算做了大量探索和实践。专利申请号CN 201811161158.1提出了一种文档相似度计算方法、装置、设备及介质,该方法基于预设规则将文档进行向量化表示,有效减少了较长文档相似度的计算复杂度,但是该方法提取的特征不够丰富,不能完全体现文本的语义信息;专利申请号CN 201410348547.0提出了一种文档语义相似度计算方法,该方法采用设定阈值的方法,分区间计算相似度,减小了文档检索工作量,提高了工作效率,但是该方法存在构建数据库的高人工成本问题。现有的文档相似度计算方法数据标注成本高,提取的特征不够全面。
发明内容
为了克服现有技术存在的数据标注成本高、提取的特征不够全面的问题,本发明提供一种基于自编码神经网络的相似法律案例检索方法,利用无监督学习方法省去数据标注过程的高成本,采用的编解码网络结构共享上下文语义,丰富文本的特征,提高相似法律案例的检索效率。
本发明采用的技术方案是:
一种基于自编码神经网络的相似法律案例检索方法,包括以下步骤:
I)输入待检索的法律案例;
II)利用法律案例特征向量模型获得待检索的法律案例和数据库中法律案例的特征向量;
III)采用逼近最近邻ANN算法计算待检索的法律案例与数据库中法律案例的相似度;
IV)输出相似度满足要求的数据库中法律案例;
所述步骤II)中,所述法律案例特征向量模型的生成步骤如下:
2.1)采集法律案例数据,进行数据预处理,获得法律案例数据集E;
2.2)根据法律案例创建[上文,文本,下文]三元组,根据词汇表字典中对应三元组的位置,生成三元组序列,并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列、三元组独热序列、三元组词嵌入序列;
2.3)利用自注意力机制构成编码器对文本进行编码,输出文本编码向量;
2.4)利用自注意力机制构成解码器对上文、下文进行解码;
2.5)以总损失最小为目标函数,训练编码器和解码器,生成法律案例特征向量模型。
进一步地,所述步骤2.1)中,数据预处理包括以下步骤:
2.1.1)文本分句处理,用正则方法提取法律案例的正文,按句号分割;
2.1.2)停用句处理,统计句子频率,去除停用句,所述停用句为句子频率超出阈值的句子;
2.1.3)文本分词处理,利用有用词典进行分词操作,去除停用词。
进一步地,所述步骤2.2)中,词汇表字典的第一个词为结束标志词,第二个词为未知标志词,第三个到第vocab_size个词,获取方法为:
统计法律案例数据集E的词汇频率,按照词频率从高到低的排序,截取vocab_size-2个词汇,其中vocab_size为预设的词汇表字典的词汇数量。
进一步地,所述步骤2.2)的过程为:
根据法律案例创建(上文,文本,下文)三元组,其中上文包含预设的sent_pre_size个句子,文本包含预设的sent_size个句子,下文包含预设的sent_post_size个句子,一个法律案例可以形成text_size-2个三元组,其中text为法律案例包含的句子数量,一个三元组可以表示为([P1,P2,…,Pp],[C1,C2,…,Cc],[S1,S2,…,Ss]),其中,Pp为上文中第p个词汇,Cc为文本中第c个词汇,Ss为下文中第s个词汇;
根据词汇表字典中对应三元组的位置,生成三元组序列([P’1,P’2,…,P’p,0],[C’1,C'2,…,Cc',0],[S’1,S'2,…,S’s,0]),其中P’p=vocab_dict[Pp]、C'c=vocab_dict[Cc]、S’s=vocab_dict[Ss],vocab_dict[Pp]表示上文中第p个词汇对应词汇表中的位置;
并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列(decode_pre_ids,encode_ids,decode_post_ids)、三元组独热序列(decode_pre_mask,encode_mask,decode_post_mask)、三元组词嵌入序列(decode_pre_emb,encode_emb,decode_post_emb),其中三元组词嵌入序列的输入是三元组词袋序列,如下:
[P’1,P’2,…,P’p,0]=[2,5,1,2,5,3,0]
decode_pre_ids=[1,1,2,1,0,2,0,…,0]
decode_pre_mask=[1,1,1,1,0,1,0,…,0]
Figure BDA0002053722420000041
进一步地,所述步骤2.3)中,利用自注意力机制构成编码器对三元组词嵌入序列中的encode_emb进行编码,输出文本编码向量,过程为:
第一个编码器以encode_emb作为输入值,输出值通过输入值乘以权重值直接得到,输出值带着第一个编码器学习的信息传递给下一个编码器,作为下一个编码器的输入,共encoder_num个编码器,输出文本编码向量encode_output;
所述权重值利用自注意力机制获得,包括以下步骤:
2.3.1)创建q,k,v三个矢量,初始化三个变量WQ,WK,WV
WQ_=[WQ_1 WQ_2…WQ_T]
WK_=[WK_1 WK_2…WK_T]
WV_=[WV_1 WV_2…WV_T]
Figure BDA0002053722420000051
Figure BDA0002053722420000052
Figure BDA0002053722420000053
q=[q1 q2…qT]
k=[k1 k2…kT]
v=[v1 v2…vT];
q,k,v根据encode_mask为零的对应索引上替换为同维度的零向量;
2.3.2)计算自注意力,根据(q1,k1,v1)计算文本中第一个词的自注意力,第一个得分
Figure BDA0002053722420000054
第二个得分
Figure BDA0002053722420000055
以此类推第vocab_size个得分
Figure BDA0002053722420000056
Figure BDA0002053722420000057
其中
Figure BDA0002053722420000058
为k1的维度;
2.3.3)Key Masking:对k进行求和为key_mask,记录key_mask为0时的索引,根据步骤2.3.2)输出的score在相同索引处替换为有区分度的小数字,保持关注的词或字的值不变并淹没不相关的词或字;
2.3.4)通过softmax将步骤2.3.3输出的分数标准化,由softmax分数乘以v1为z1,即第一个词的注意力向量,以此类推文本的注意力向量Z1=[z1 z2…zvocab_size],将第二头注意力至第T头注意力(q2,k2,v2)-(qT,kT,vT)重复步骤3.2至步骤3.3,得到注意力Z'=[Z1Z2…Z8],初始化权重WO,文本的编码向量为:encode_output=Z'WO
进一步地,所述步骤2.4)中,利用自注意力机制构成解码器对上文、下文进行解码,过程为:
第一个解码器以decode_pre_emb作为输入值,输出值通过输入值乘以权重值直接得到,输出值带着第一个解码器学习的信息传递给下一个解码器,作为下一个解码器的输入,共decoder_num个解码器,输出上文解码向量decode_pre_output;
所述权重值利用自注意力机制获得,包括以下步骤:
2.4.1)利用自注意力机制对上文进行解码,根据步骤2.2.3输出的decode_pre_emb输入到一个编码器中得到上文编码向量decode_pre_output;创建q',k',v'三个矢量,初始化三个变量WQ',WK',WV',
WQ’_=[WQ’_1 WQ’_2…WQ’_T]
WK’_=[WK’_1 WK’_2…WK’_T]
WV’_=[WV’_1 WV’_2…WV’_T]
q’1=decode_pre_output×WQ_1
k’1=encode_output×WK_1
v’1=encode_output×WV_1
q'=[q’1 q’2…q’T]
k’=[k’1 k'2…k’T]
v’=[v’1 v’2…v’T]
根据公式
Figure BDA0002053722420000061
计算上文中的每个单词与文本中的每个单词之间的关联度,更新上文解码向量;
2.4.2)同上步骤,获得下文解码向量decode_post_output。
进一步地,所述步骤2.5)中,以总损失最小为目标函数,训练编码器和解码器,生成法律案例特征向量模型,过程为:
上文损失,将上文解码向量重构为一维上文解码向量,利用全连接将一维上文解码向量转为与上文词袋序列decode_pre_ids维数相同的形式,利用softmax将维数相同的上文解码向量和上文词袋序列decode_pre_ids对齐,通过交叉熵函数得到上文损失,
Figure BDA0002053722420000071
利用decode_pre_mask屏蔽干扰信息得到新的上文损失losspre,losspre=lossespre×decode_pre_mask;
同上步骤,获得下文损失losspost
总损失为上文损失和下文损失之和:loss=losspre+losspost
训练编码器和解码器中的变量(WQ,WK,WV,WQ',WK',WV')反复迭代训练网络至总损失值不再减小为止。
所述步骤2.5)包括以下步骤:
2.5.1)解码后的上文对齐:将步骤2.4.1更新的上文解码向量decode_pre_output∈R20000×200重构为decode_pre_output∈R1×4000000,利用全连接将decode_pre_output转为decode_pre_output∈R1×20000,利用softmax将decode_pre_output与步骤2.2.3输出的decode_pre_ids对齐,通过交叉熵函数得到上文损失
Figure BDA0002053722420000072
利用步骤2.2.3输出的decode_pre_mask屏蔽干扰信息得到新的上文损失losspre
losspre=lossespre×decode_pre_mask (9)
2.5.2)解码后的下文对齐:同步骤2.5.1将步骤2.4.2更新的下文解码向量decode_post_output与步骤2.2.3输出的decode_post_ids对齐,并屏蔽干扰信息得到下文损失losspost
2.5.3)损失更新优化:根据步骤2.5.1与步骤2.5.2输出的上文损失与下文损失,得到总损失loss=losspre+losspost,根据总损失更新编码器与解码器中的变量(WQ,WK,WV,WQ’,WK’,WV’)反复迭代训练网络至总损失值不再减小为止,保存网络模型为M。
进一步地,所述步骤I)中,输入待检索的法律案例的过程为:
用正则方法提取待检索的法律案例的正文,按句号分割,根据停用句词典去除停用句,利用有用词典进行分词操作,去除停用词,获得文档doc=[A1,A2,…,AN],其中
Figure BDA0002053722420000081
为文档中的第N句文本,
Figure BDA0002053722420000082
为第N条句子中第n个单词;
创建[上文,文本,下文]三元组,根据词汇表字典中对应三元组的位置,生成三元组序列,并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列(doc_encode_ids)、三元组独热序列(doc_encode_mask)、三元组词嵌入序列(doc_encode_emb)
所述步骤II)中,将doc_encode_emb,doc_encode_mask输入法律案例特征向量模型,获得待检索的法律案例编码向量doc_encode_output。
进一步地,所述步骤III)中,采用逼近最近邻ANN算法计算待检索的法律案例与数据库中法律案例的相似度,过程为:
将待检索的法律案例在数据库中的法律案例里进行搜索,为了加快查找的速度,ANN算法通过对数据库中的法律案例空间进行分割,将其分割成很多小的子空间,在搜索的时候,通过基于树的方法、哈希方法或者矢量量化方法,快速锁定在某一(几)子空间,该(几个)子空间里的数据即近邻集合,通过归一化的欧氏距离:vectors=sqrt(2-2*cos(u,v))计算待检索的法律案例与近邻集合中的数据的距离并进行排序;
所述步骤IV)中,相似度从大到小排序,输出前M个数据库中法律案例。
进一步地,所述多个编码器和多个解码器之间的信息传递为前馈神经网络。
本发明与现有技术相比,其显著优点包括:(1)本发明采用的自编码神经网络是一种无监督学习算法,省去了监督学习数据标注过程的高成本,同时提高模型的泛化能力。(2)本发明采用的编码器与解码器为自注意力机制,将序列中的任意两个位置之间的距离缩小为一个常量,其次它不是类似RNN的顺序结构,因此具有更好的并行性,同时丰富了文本词语间的特征。(3)本发明采用的编解码网络结构共享上下文语义,能更准确的表示文档信息,使文档之间具有显著差异。(4)本发明采用的目标函数从句子级别上抽象了skip-gram模型,消除了词级上存在的一词多义问题,使用一个句子来预测它的上下句,精确地捕获了编码后句子的语义和结构,得到高质量的句子表示。
附图说明
图1为本发明实施例提供的法律案例特征向量模型生成的流程图。
图2为本发明实施例提供的相似法律案例检索的流程图。
图3为本发明实施例提供的法律案例特征向量模型的网络结构图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
参照图1~图3,一种基于自编码神经网络的相似法律案例检索方法,所述方法包括以下步骤:
I)输入待检索的法律案例;
II)利用法律案例特征向量模型获得待检索的法律案例和数据库中法律案例的特征向量;
III)采用逼近最近邻(ANN)算法计算待检索的法律案例与数据库中法律案例的相似度;
IV)输出相似度满足要求的数据库中法律案例;
所述步骤II)中,所述法律案例特征向量模型的生成步骤如下:
2.1)采集法律案例数据,进行数据预处理,获得法律案例数据集E;
2.2)根据法律案例创建[上文,文本,下文]三元组,根据词汇表字典中对应三元组的位置,生成三元组序列,并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列、三元组独热序列、三元组词嵌入序列;
2.3)利用自注意力机制构成编码器对文本进行编码,输出文本编码向量;
2.4)利用自注意力机制构成解码器对上文、下文进行解码;
2.5)以总损失最小为目标函数,训练编码器和解码器,生成法律案例特征向量模型。
所述步骤2.1中,法律领域数据预处理过程为:
2.1.1)文本分句处理:本实施例采集了1000万裁判文书(法律领域数据),根据裁判文书数据的特点,用正则提取了裁判文书的正文,去掉首尾无关数据(首:原告、被告、代理人等,尾:相关法律条文),提取的正文按句号分割,依次保存在列表中。
2.1.2)文本去高频句:本实施例根据步骤1.1输出的列表统计句子频率,删除频率大于p=0.1%的句子,并保存为停用句。
2.1.3)文本分词:本实施例根据步骤1.2输出的文本用jieba加载腾讯公开语料中的800万有用词典进行分词操作,同时去停用词(非汉字、单字),得到法律领域数据集E。
所述步骤2.2中,法律领域数据构建上下文三元组,包括以下步骤:
2.2.1)构建词汇表:根据步骤1.3输出的法律领域数据集E统计词频率,按照词频率从高到低的排序,预设的vocab_size=20000,截取前vocab_size-2=19998,大小的词保存到vocab.txt文件,在此文件的第一行添加词<eos>(每句话结束标志),第二行添加词<unk>(未知词标志)并保存,生成词汇表字典如下:
vocab_dict={<eos>:0,<unk>:1,企业:2,…,公司:19999}(1)
2.2.2)构建上下文三元组:根据步骤2.1.3输出的文本构建三元组(上文,文本,下文),第一个三元组为文本的(第一句,第二句,第三句),第二个三元组为文本的(第二句,第三句,第四句),以此类推文本可构造(文本句子数-2)个三元组。假设一个三元组的单词序列为([P1,P2,…,Pp],[C1,C2,…,Cc],[S1,S2,…,Ss]),Pp为上文中第p个单词,Cc为文本中第c个单词,Ss为下文中第s个单词,则根据步骤2.2.1中的词汇表字典构造文本矩阵如下:
Figure BDA0002053722420000111
其中P’p=vocab_dict[Pp]、C’c=vocab_dict[Cc]、S’s=vocab_dict[Ss],若单词Pp、Cc、Ss不在vocab_dict中,则P’p=1、C’c=1、S’s=1。
2.2.3)文本嵌入:根据步骤2.2.2输出的三元组转换为BOW格式和one-hot格式即decode_pre_ids,encode_ids,decode_post_ids∈R1×20000(保留词频信息)和decode_pre_mask,encode_mask,decode_post_mask∈R1×20000(无词频信息),利用Word Embedding模型将ids的每个单词分配一个固定长度为l=200的词向量表示即decode_pre_emb,encode_emb,decode_post_emb∈R20000×200,如下:
decode_pre=[2,5,1,2,5,3,0]
decode_pre_ids=[1,1,2,1,0,2,0,…,0]∈R1×20000
decode_pre_mask=[1,1,1,1,0,1,0,…,0]∈R1×20000
Figure BDA0002053722420000121
2.3)利用自注意力机制对文本进行编码,包括以下步骤:
2.3.1)创建q,k,v三个矢量:本实施例采用多头自注意力机制,经测试采用8头自注意力机制效果更好,首先初始化三个变量WQ,WK,WV∈R200×200,将WQ,WK,WV切分成H=8等分(8组初始化权重):
Figure BDA0002053722420000122
Figure BDA0002053722420000123
以此类推q,k,v三个矢量为:
Figure BDA0002053722420000124
本实施例通过记录步骤2.2.3输出的encode_mask=[1 0 1…0]进行扩充为
Figure BDA0002053722420000131
q,k,v根据encode_mask为零的对应索引上替换为同维度的零向量,屏蔽句子中不存在的词对应的向量,减少计算量。
2.3.2)计算自注意力:计算文本中第一个词的自我关注(第一头注意力q1,k1,v1),第一个得分
Figure BDA0002053722420000132
第二个得分
Figure BDA0002053722420000133
以此类推第20000个得分
Figure BDA0002053722420000134
Figure BDA0002053722420000135
(其中
Figure BDA0002053722420000136
为k1的维度)使梯度保持稳定;
2.3.3)Key Masking:对k进行求和为key_mask,记录key_mask为0时的索引,根据步骤3.2输出的score在相同索引处替换为有区分度的小数字,本实施例为-2047,保持关注的词或字的值不变并淹没不相关的词或字;
2.3.4)输出编码向量:通过softmax将步骤2.3.3输出的分数标准化,softmax分数即此词在该位置表达的程度,由softmax分数乘以v1为z1(即第一个词的注意力向量),以此类推文本的注意力向量Z1=[z1 z2…z20000]∈R20000×25:将第二头注意力至第八头注意力(q2,k2,v2)-(q8,k8,v8)重复步骤2.3.2至步骤2.3.3,得到注意力Z’=[Z1 Z2…Z8]∈R20000 ×200,初始化权重WO∈R200×200,即文本的编码向量:
encode_output=Z'WO∈R20000×200 (7)
2.3.5)本实施例通过单层前馈神经网络将文本编码向量作为输入,输出值通过输入值乘以权重值直接得到,输出值带着上一个编码器学习的信息传递给下一个编码器,作为下一个编码器的输入循环编码4次(经测试所得),得到最终的文本编码向量encode_output,提取的文本特征更加丰富全面。
所述步骤2.4中,利用注意力机制对上下文进行解码,包括以下步骤:
2.4.1)利用注意力机制对上文进行解码:根据步骤2.2.3输出的decode_pre_emb重复步骤2.3.1、步骤2.3.2、步骤2.3.3、步骤2.3.4得到上文编码向量decode_pre_output,同步骤2.3.1初始化三个变量WQ’,WK’,WV’∈R200×200,切分成H=8等分,根据步骤2.3.4输出的文本编码向量encode_output创建q',k',v'三个矢量如下:
Figure BDA0002053722420000141
同公式
Figure BDA0002053722420000142
计算上文中的每个单词与文本中的每个单词之间的关联度,更新上文解码向量decode_pre_output,本实施例通过前馈神经网络将上文解码向量传递下一个解码器循环解码4次(经测试所得),得到最终的上文解码向量decode_pre_output,学习更全面的上下文信息。
2.4.2)利用注意力机制对下文进行解码:同步骤2.4.1将步骤2。2.3输出的decode_post_emb重复步骤2.3.1、步骤2.3.2、步骤2.3.3、步骤2.3.4得到下文编码向量decode_post_output,根据步骤2.3.4输出的文本编码向量encode_output进行解码,计算下文中的每个单词与文本中的每个单词之间的关联度,更新下文解码向量decode_post_output,本实施例通过前馈神经网络将下文解码向量传递下一个解码器循环解码4次(经测试所得),得到最终的下文解码向量decode_post_output,学习更全面的上下文信息。
所述步骤2.5)中,利用目标函数学习上下文语义,包括以下步骤:
2.5.1)解码后的上文对齐:将步骤2.4.1更新的上文解码向量decode_pre_output∈R20000×200重构为decode_pre_output∈R1×4000000,利用全连接将decode_pre_output转为decode_pre_output∈R1×20000,利用softmax将decode_pre_output与步骤2.2.3输出的decode_pre_ids对齐,通过交叉熵函数得到上文损失
Figure BDA0002053722420000151
利用步骤2.2.3输出的decode_pre_mask屏蔽干扰信息得到新的上文损失losspre
losspre=lossespre×decode_pre_mask (9)
2.5.2)解码后的下文对齐:同步骤2.5.1将步骤2.4.2更新的下文解码向量decode_post_output与步骤2.2.3输出的decode_post_ids对齐,并屏蔽干扰信息得到下文损失losspost
2.5.3)损失更新优化:根据步骤2.5.1与步骤2.5.2输出的上文损失与下文损失,得到总损失loss=losspre+losspost,根据总损失更新编码器与解码器中的变量(WQ,WK,WV,WQ’,WK’,WV’)反复迭代训练网络至总损失值不再减小为止,保存网络模型为M。
所述步骤III)中,利用自编码神经网络模型进行文档相似度计算,过程如下:
3.1)文档预处理:将文档同步骤2.1.1、步骤2.1.2、步骤2.1.3进行分句、去停用句、分词预处理得到文档doc=[A1,A2,…,AN],其中
Figure BDA0002053722420000152
为文档中的第N句文本,
Figure BDA0002053722420000153
为第N条句子中第n个单词。
3.2)文档向量化:根据步骤2.2.1输出的词汇表字典构造文本矩阵
Figure BDA0002053722420000154
其中
Figure BDA0002053722420000155
将文本转换为BOW格式和one-hot格式即doc_encode_ids∈RN×20000,doc_encode_mask∈RN ×20000,利用Word Embedding模型将ids的每个单词分配一个固定长度为l=200的词向量表示即doc_encode_emb∈RN×20000×200
3.3)文档编码处理:加载步骤2.5.3输出的模型M,初始化编码层权重,将步骤3.2输出的doc_encode_emb,doc_encode_mask喂入到模型中,得到文档编码向量doc_encode_output∈RN×20000×200,重构文档编码向量为doc_encode_output∈RN×(20000×200),对文档编码向量求平均值并更新doc_encode_output∈R4000000
3.4)文档相似度计算:将数据库中的文档与查询文档重复步骤3.1、步骤3.2、步骤3.3输出文档编码向量,由于文档编码向量维度高、数据规模大,直接应用最近邻方法并不可行,因此,最佳实践是使用逼近最近邻ANN算法计算文档的相似度,本实施例采用开源hnswlib库计算文档的相似度,占用更少的内存。

Claims (7)

1.一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述方法包括以下步骤:
I)输入待检索的法律案例;
所述步骤I)中,输入待检索的法律案例的过程为:
用正则方法提取待检索的法律案例的正文,按句号分割,根据停用句词典去除停用句,利用有用词典进行分词操作,去除停用词,获得文档doc=[A1,A2,…,AN],其中
Figure FDA0003227579630000011
为文档中的第N句文本,
Figure FDA0003227579630000012
为第N条句子中第n个单词;
创建[上文,文本,下文]三元组,根据词汇表字典中对应三元组的位置,生成三元组序列,并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列doc_encode_ids、三元组独热序列doc_encode_mask、三元组词嵌入序列doc_encode_emb;
II)利用法律案例特征向量模型获得待检索的法律案例和数据库中法律案例的特征向量;
所述步骤II)中,将doc_encode_emb,doc_encode_mask输入法律案例特征向量模型,获得待检索的法律案例编码向量doc_encode_output;
III)采用逼近最近邻(ANN)算法计算待检索的法律案例与数据库中法律案例的相似度;
IV)输出相似度满足要求的数据库中法律案例;
所述步骤II)中,所述法律案例特征向量模型的生成步骤如下:
2.1)采集法律案例数据,进行数据预处理,获得法律案例数据集E;
2.2)根据法律案例创建[上文,文本,下文]三元组,根据词汇表字典中对应三元组的位置,生成三元组序列,并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列、三元组独热序列、三元组词嵌入序列;
所述步骤2.2)的过程为:
根据法律案例创建(上文,文本,下文)三元组,其中上文包含预设的sent_pre_size个句子,文本包含预设的sent_size个句子,下文包含预设的sent_post_size个句子,一个法律案例可以形成text_size-2个三元组,其中text为法律案例包含的句子数量,一个三元组可以表示为([P1,P2,…,Pp],[C1,C2,…,Cc],[S1,S2,…,Ss]),其中,Pp为上文中第p个词汇,Cc为文本中第c个词汇,Ss为下文中第s个词汇;
根据词汇表字典中对应三元组的位置,生成三元组序列([P’1,P’2,…,P’p,0],[C’1,C’2,…,C’c,0],[S’1,S’2,…,S’s,0]),其中P’p=vocab_dict[Pp]、C’c=vocab_dict[Cc]、S’s=vocab_dict[Ss],vocab_dict[Pp]表示上文中第p个词汇对应词汇表中的位置;
并根据BOW模型、one-hot模型、Word Embedding模型分别生成三元组对应的三元组词袋序列(decode_pre_ids,encode_ids,decode_post_ids)、三元组独热序列(decode_pre_mask,encode_mask,decode_post_mask)、三元组词嵌入序列(decode_pre_emb,encode_emb,decode_post_emb),其中三元组词嵌入序列的输入是三元组词袋序列;
2.3)利用自注意力机制构成编码器对文本进行编码,输出文本编码向量;
所述步骤2.3)中,利用自注意力机制构成编码器对三元组词嵌入序列中的encode_emb进行编码,输出文本编码向量,过程为:
第一个编码器以encode_emb作为输入值,输出值通过输入值乘以权重值直接得到,输出值带着第一个编码器学习的信息传递给下一个编码器,作为下一个编码器的输入,共encoder_num个编码器,输出文本编码向量encode_output;
所述权重值利用自注意力机制获得,包括以下步骤:
2.3.1)创建q,k,v三个矢量,初始化三个变量WQ,WK,WV
WQ_=[WQ_1 WQ_2 … WQ_T]
WK_=[WK_1 WK_2 … WK_T]
WV_=[WV_1 WV_2 … WV_T]
Figure FDA0003227579630000031
Figure FDA0003227579630000032
Figure FDA0003227579630000033
q=[q1 q2 … qT]
k=[k1 k2 … kT]
v=[v1 v2 … vT];
q,k,v根据encode_mask为零的对应索引上替换为同维度的零向量;
2.3.2)计算自注意力,根据(q1,k1,v1)计算文本中第一个词的自注意力,第一个得分
Figure FDA0003227579630000034
第二个得分
Figure FDA0003227579630000035
以此类推第vocab_size个得分
Figure FDA0003227579630000036
Figure FDA0003227579630000037
其中
Figure FDA0003227579630000039
为k1的维度;
2.3.3)Key Masking:对k进行求和为key_mask,记录key_mask为0时的索引,根据步骤2.3.2)输出的score在相同索引处替换为有区分度的小数字,保持关注的词或字的值不变并淹没不相关的词或字;
2.3.4)通过softmax将步骤2.3.3输出的分数标准化,由softmax分数乘以v1为z1,即第一个词的注意力向量,以此类推文本的注意力向量
Figure FDA0003227579630000038
将第二头注意力至第T头注意力(q2,k2,v2)-(qT,kT,vT)重复步骤3.2至步骤3.3,得到注意力Z'=[Z1 Z2… Z8],初始化权重WO,文本的编码向量为:encode_output=Z'WO
2.4)利用自注意力机制构成解码器对上文、下文进行解码;
2.5)以总损失最小为目标函数,训练编码器和解码器,生成法律案例特征向量模型。
2.根据权利要求1所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述步骤2.1)中,数据预处理包括以下步骤:
2.1.1)文本分句处理,用正则方法提取法律案例的正文,按句号分割;
2.1.2)停用句处理,统计句子频率,去除停用句,所述停用句为句子频率超出阈值的句子;
2.1.3)文本分词处理,利用有用词典进行分词操作,去除停用词。
3.根根据权利要求1或2所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述步骤2.2)中,词汇表字典的第一个词为结束标志词,第二个词为未知标志词,第三个到第vocab_size个词,获取方法为:
统计法律案例数据集E的词汇频率,按照词频率从高到低的排序,截取vocab_size-2个词汇,其中vocab_size为预设的词汇表字典的词汇数量。
4.根据权利要求1所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述步骤2.4)中,利用自注意力机制和解码器对上文、下文进行解码,过程为:
第一个解码器以decode_pre_emb作为输入值,输出值通过输入值乘以权重值直接得到,输出值带着第一个解码器学习的信息传递给下一个解码器,作为下一个解码器的输入,共decoder_num个解码器,输出上文解码向量decode_pre_output;
所述权重值利用自注意力机制获得,包括以下步骤:
2.4.1)利用自注意力机制对上文进行解码,根据步骤2.2)输出的decode_pre_emb输入到一个编码器中得到上文编码向量decode_pre_output;创建q',k',v'三个矢量,初始化三个变量WQ',WK',WV'
Figure FDA0003227579630000052
Figure FDA0003227579630000053
Figure FDA0003227579630000054
q’1=decode_pre_output×WQ’_1
k’1=encode_output×WK’_1
v’1=encode_output×WV’_1
q'=[q’1 q’2 … q’T]
k'=[k’1 k’2 … k’T]
v'=[v’1 v’2 … v’T]
根据公式
Figure FDA0003227579630000051
计算上文中的每个单词与文本中的每个单词之间的关联度,更新上文解码向量;
2.4.2)同上步骤,获得下文解码向量decode_post_output。
5.根据权利要求4所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述步骤2.5)中,以总损失最小为目标函数,训练编码器和解码器,生成法律案例特征向量模型,过程为:
2.5.1)解码后的上文对齐:将步骤2.4.1更新的上文解码向量decode_pre_output∈R20000×200重构为decode_pre_output∈R1×4000000,利用全连接将decode_pre_output转为decode_pre_output∈R1×20000,利用softmax将decode_pre_output与步骤2.2)输出的decode_pre_ids对齐,通过交叉熵函数得到上文损失
Figure FDA0003227579630000061
利用步骤2.2输出的decode_pre_mask屏蔽干扰信息得到新的上文损失losspre
losspre=lossespre×decode_pre_mask (9)
2.5.2)解码后的下文对齐:同步骤2.5.1将步骤2.4.2更新的下文解码向量decode_post_output与步骤2.2输出的decode_post_ids对齐,并屏蔽干扰信息得到下文损失losspost
2.5.3)损失更新优化:根据步骤2.5.1与步骤2.5.2输出的上文损失与下文损失,得到总损失loss=losspre+losspost,根据总损失更新编码器与解码器中的变量(WQ,WK,WV,WQ',WK',WV')反复迭代训练网络至总损失值不再减小为止,保存网络模型为M。
6.根据权利要求1或2所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:所述步骤III)中,采用逼近最近邻ANN算法计算待检索的法律案例与数据库中法律案例的相似度的过程为:
将待检索的法律案例在数据库中的法律案例里进行搜索,为了加快查找的速度,ANN算法通过对数据库中的法律案例空间进行分割,将其分割成很多小的子空间,在搜索的时候,通过基于树的方法、哈希方法或者矢量量化方法,快速锁定在某一子空间,该子空间里的数据即近邻集合,通过归一化的欧氏距离:vectors=sqrt(2-2*cos(u,v))计算待检索的法律案例与近邻集合中的数据的距离并进行排序;
所述步骤IV)中,相似度从大到小排序,输出前MM个数据库中法律案例。
7.根据权利要求1或2所述的一种基于自编码神经网络的相似法律案例检索方法,其特征在于:多个所述编码器和多个解码器之间的信息传递为前馈神经网络。
CN201910382234.XA 2019-05-09 2019-05-09 一种基于自编码神经网络的相似法律案例检索方法 Active CN110275936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910382234.XA CN110275936B (zh) 2019-05-09 2019-05-09 一种基于自编码神经网络的相似法律案例检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910382234.XA CN110275936B (zh) 2019-05-09 2019-05-09 一种基于自编码神经网络的相似法律案例检索方法

Publications (2)

Publication Number Publication Date
CN110275936A CN110275936A (zh) 2019-09-24
CN110275936B true CN110275936B (zh) 2021-11-23

Family

ID=67959867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910382234.XA Active CN110275936B (zh) 2019-05-09 2019-05-09 一种基于自编码神经网络的相似法律案例检索方法

Country Status (1)

Country Link
CN (1) CN110275936B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928987B (zh) * 2019-10-18 2023-07-25 平安科技(深圳)有限公司 基于神经网络混合模型的法律条文检索方法及相关设备
CN112925877B (zh) * 2019-12-06 2023-07-07 中国科学院软件研究所 一种基于深度度量学习的一人多案关联识别方法及系统
CN111209395B (zh) * 2019-12-27 2022-11-11 铜陵中科汇联科技有限公司 一种短文本相似度计算系统及其训练方法
CN111428091B (zh) * 2020-03-19 2020-12-08 腾讯科技(深圳)有限公司 一种编码器的训练方法、信息推荐的方法以及相关装置
CN111291190B (zh) * 2020-03-23 2023-04-07 腾讯科技(深圳)有限公司 一种编码器的训练方法、信息检测的方法以及相关装置
CN111460827B (zh) * 2020-04-01 2020-12-15 北京爱咔咔信息技术有限公司 文本信息处理方法、系统、设备及计算机可读存储介质
CN111858940B (zh) * 2020-07-27 2023-07-25 湘潭大学 一种基于多头注意力的法律案例相似度计算方法及系统
EP3964978A1 (en) 2020-09-02 2022-03-09 Tata Consultancy Services Limited Method and system for retrieval of prior court cases using witness testimonies
CN112287066B (zh) * 2020-10-22 2024-03-08 武汉大学 一种基于倒排索引与Seq2Seq模型的法律法规推荐方法及系统
CN112651853A (zh) * 2020-11-17 2021-04-13 四川大学 一种基于裁判文书的论辩观点挖掘方法及系统
CN112541340B (zh) * 2020-12-18 2021-11-23 昆明理工大学 基于变分双主题表征的弱监督涉案微博评价对象识别方法
CN113033197A (zh) * 2021-03-24 2021-06-25 中新国际联合研究院 一种建筑施工合同法规查询方法及其装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868786A (zh) * 2016-04-01 2016-08-17 山东正晨科技股份有限公司 一种基于自编码预训练深度神经网络的车标识别方法
CN106407387A (zh) * 2016-09-18 2017-02-15 华南师范大学 一种针对医疗诊断文本的概念连接方法
CN106980683A (zh) * 2017-03-30 2017-07-25 中国科学技术大学苏州研究院 基于深度学习的博客文本摘要生成方法
CN108171136A (zh) * 2017-12-21 2018-06-15 浙江银江研究院有限公司 一种多任务卡口车辆以图搜图的系统及方法
CN109190039A (zh) * 2018-08-29 2019-01-11 腾讯科技(深圳)有限公司 确定相似对象的方法、装置及计算机可读存储介质
CN109189933A (zh) * 2018-09-14 2019-01-11 腾讯科技(深圳)有限公司 一种文本信息分类的方法及服务器
CN109241268A (zh) * 2018-07-05 2019-01-18 腾讯科技(深圳)有限公司 一种相似信息推荐方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310218A1 (en) * 2013-04-11 2014-10-16 Nec Laboratories America, Inc. High-Order Semi-RBMs and Deep Gated Neural Networks for Feature Interaction Identification and Non-Linear Semantic Indexing
CN108427762A (zh) * 2018-03-21 2018-08-21 北京理工大学 利用随机游走的自编码文档表示方法
CN108959551B (zh) * 2018-06-29 2021-07-13 北京百度网讯科技有限公司 近邻语义的挖掘方法、装置、存储介质和终端设备
CN109145288A (zh) * 2018-07-11 2019-01-04 西安电子科技大学 基于变分自编码模型的文本深度特征提取方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868786A (zh) * 2016-04-01 2016-08-17 山东正晨科技股份有限公司 一种基于自编码预训练深度神经网络的车标识别方法
CN106407387A (zh) * 2016-09-18 2017-02-15 华南师范大学 一种针对医疗诊断文本的概念连接方法
CN106980683A (zh) * 2017-03-30 2017-07-25 中国科学技术大学苏州研究院 基于深度学习的博客文本摘要生成方法
CN108171136A (zh) * 2017-12-21 2018-06-15 浙江银江研究院有限公司 一种多任务卡口车辆以图搜图的系统及方法
CN109241268A (zh) * 2018-07-05 2019-01-18 腾讯科技(深圳)有限公司 一种相似信息推荐方法、装置、设备及存储介质
CN109190039A (zh) * 2018-08-29 2019-01-11 腾讯科技(深圳)有限公司 确定相似对象的方法、装置及计算机可读存储介质
CN109189933A (zh) * 2018-09-14 2019-01-11 腾讯科技(深圳)有限公司 一种文本信息分类的方法及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Measuring Similarity of Academic Articles with Semantic Profile and Joint Word Embedding;Ming Liu 等;《Tsinghua Science and Technology》;20171214;第22卷(第6期);619 - 632 *
基于自编码神经网络文本特征选择的研究;李时峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170715(第7期);I138-976 *

Also Published As

Publication number Publication date
CN110275936A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110275936B (zh) 一种基于自编码神经网络的相似法律案例检索方法
CN112214599B (zh) 基于统计学和预训练语言模型的多标签文本分类方法
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
CN111291188B (zh) 一种智能信息抽取方法及系统
CN111178053B (zh) 一种结合语义和文本结构进行生成式摘要抽取的文本生成方法
CN113282711B (zh) 一种车联网文本匹配方法、装置、电子设备及存储介质
CN113239663B (zh) 一种基于知网的多义词中文实体关系识别方法
CN112256727B (zh) 基于人工智能技术的数据库查询处理及优化方法
CN113065341A (zh) 一种环境类投诉举报文本自动标注和分类方法
CN113836896A (zh) 一种基于深度学习的专利文本摘要生成方法和装置
CN115169349A (zh) 基于albert的中文电子简历命名实体识别方法
CN115098673A (zh) 基于变体注意力及层次结构的业务文书信息抽取方法
CN111145914A (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN110955745A (zh) 一种基于深度学习的文本哈希检索方法
CN113987175A (zh) 一种基于医学主题词表增强表征的文本多标签分类方法
CN116842934A (zh) 一种基于持续学习的多文档融合深度学习标题生成方法
CN113312903B (zh) 一种5g移动业务产品词库的构建方法及系统
Jing et al. Chinese text sentiment analysis based on transformer model
CN111191455A (zh) 一种交通事故损害赔偿中法律条文预测方法
US11822887B2 (en) Robust name matching with regularized embeddings
Liu et al. A Method Combining Text Classification and Keyword Recognition to Improve Long Text Information Mining
CN112926340A (zh) 一种用于知识点定位的语义匹配模型
CN110909547A (zh) 一种基于改进深度学习的司法实体识别方法
Tang et al. Research on multi-label long text classification algorithm based on transformer-LDA
CN117874175B (zh) 一种基于信息瓶颈的信息检索方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: The city Zhaohui six districts Chao Wang Road Hangzhou City, Zhejiang province 310014 18

Patentee after: ZHEJIANG University OF TECHNOLOGY

Patentee after: Yinjiang Technology Co., Ltd

Address before: The city Zhaohui six districts Chao Wang Road Hangzhou City, Zhejiang province 310014 18

Patentee before: ZHEJIANG University OF TECHNOLOGY

Patentee before: Yinjiang Co., Ltd

CP01 Change in the name or title of a patent holder