一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的文献检索方法和系统与流程

2022-12-20 22:04:16 来源:中国专利 TAG:


1.本发明涉及文献检索技术领域,更具体地,涉及一种基于深度学习的文献检索方法和系统。


背景技术:

2.文献检索是检索对象为文献的一种信息检索技术,是根据学习和工作需要通过检索来获取文献的过程。随着现代网络技术的发展,文献检索通常通过计算机技术来完成。文献的检索语言可划分为分类语言、主题语言等。使用规范的文献检索语言可以快速准确地检索出所需文献资料,但规范的文献检索语言使用门槛较高,普通用户由于不了解分类规则或检索关键字表达不准确等原因不能较好的使用规范的文献检索语言。如何通过分析用户输入的自然语言,直接检索到最需要的文献一直是学术界和工业界关注的问题,相关学者也提出许多方案来尝试解决这个问题。
3.在一项研究成果中,提出了基于平滑倒频率的词向量加权平均匹配检索方法(sif)。首先将检索文本和文献中的语句转换为词向量表示,然后对句子中所有的词向量进行加权平均,得到平均向量;接着,对平均句向量减去所有句向量组成矩阵的第一个主成分。该方法是一种无监督的方法,不需要有标注的数据,训练成本较低,但是由于是基于无监督的方式,学习到的是所有数据在空间的分布,而对于特定的两个文本,很难捕捉它们之间的语义关系,输出结果具有一定参考价值,但作为最终结果输出效果并不理想。
4.在另一项研究成果中,构造了交互的基于注意力的双向编码器(bert)的检索模型,将问题和文档字符拼接并输入模型,使用模型输出的分类表征向量作为交互向量,再通过全连接层输出相关性得分。这种方法使用了标注数据,且由于是将拼接文本输入到模型中,具有一定的交互能力,但由于拼接文本的长度限制在512个字,在拼接时会截断文本,从而丢失大量语义信息,不适用于长文本与长文本的交互。
5.在现有技术中,文本检索主要包括两类模型,即无监督文本检索模型和有监督文本检索模型。无监督文本检索模型是先将文本中词转换成为词向量的形式,然后通过一系列的算法基于词向量生成文本向量,最后根据文本向量求出文本对之间的相似度。该方法的缺点是:1)分词效果在很大程度上影响词向量效果,而通用的分词器无法满足法律领域对于词的颗粒度的需求,无法对一些法律词组进行准确的切分,导致训练出了较差的词向量,最终影响到检索效果;2)无监督模型学习到的是数据整体的分布,无法有效捕捉到文本之间内在的联系,文本之间的交互性不强。
6.有监督文本检索模型通常基于预训练语言模型。例如,基于注意力的双向编码器(bert)模型,这种模型是将用户输入的文本和库中文本进行拼接,然后计算他们的交互特征,最后根据交互特征,计算问题和文档的相关性得分。在这种方案中,模型本身对输入具有长度限制,超过该长度的文本采用截断处理,因而丢失语义信息,不适用于长文本匹配长文本的场景。并且由于模型交互无法离线进行,难以在大规模数据中应用此类模型。


技术实现要素:

7.本发明的目的是克服上述现有技术的缺陷,提供一种基于深度学习的文献检索方法和系统。
8.根据本发明的第一方面,提供一种基于深度学习的文献检索系统。该系统包括:
9.召回模块:用于针对用户输入的查询文本,基于预存储的词向量和文本向量,生成多个候选文本;
10.重排模块:用于将用户输入的查询文本和所述多个候选文本输入到经训练的长文本编码器,获得查询向量以及候选文本向量,并计算查询向量与候选文本向量之间的相似度,获得排序的检索结果。
11.根据本发明的第二方面,提供一种基于深度学习的文献检索方法。该方法包括以下步骤:
12.针对用户输入的查询文本,基于预存储的词向量和文本向量,生成多个候选文本;
13.将用户输入的查询文本和所述多个候选文本输入到经训练的长文本编码器,获得查询向量以及候选文本向量,并计算查询向量与候选文本向量之间的相似度,获得排序的检索结果。
14.与现有技术相比,本发明的优点在于,有效解决了文本检索中无监督模型排序效果不理想、有监督文本检索模型无法在大量文书中直接检索的问题,显著提升了检索速度和准确度。并且,本发明可以运用到涉及以长文本检索长文本的领域,在所需标注数据量较少的前提下,同时具有较高的检索准确率以及较高的检索速度,从而具有广泛的应用前景。
15.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
16.被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
17.图1是根据本发明一个实施例的基于深度学习的文献检索系统的架构图;
18.图2是根据本发明一个实施例的基于深度学习的文献检索方法的流程图。
具体实施方式
19.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
20.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
21.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
22.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
23.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
24.本发明提供基于深度学习的文献检索系统,以法律领域类案为例,用户给定一篇判决书,检索系统要从数据库中找出与该判决书最相关的若干篇判决书返回给用户,从而快速获得所需的相关判决书资料。在下文的描述中,为清楚起见,将以法律类案为例介绍,但应理解的是,本发明同样适应于涉及以长文本检索长文本的其他领域,例如,论文查重、专利检索等。
25.法律类案检索主要面临三个难题:1)案例文书的数据量非常大,根据最新数据,文书总量已超过一亿三千万份,且每天仍以上万份的速度增加。这庞大的数据量使得无法直接使用深度模型对整个案例库进行检索或排序。2)在法律领域类案检索的场景中,用户的输入内容是一篇案例,文本长度普遍数千字,使用传统的基于倒排索引的elasticsearch数据库进行召回的速度非常慢并且无法考虑到同义词等问题,同时检索文本的长度也超过已有检索模型的输入长度限制,使得模型进行文本交互变得困难。3)法律领域类案检索涉及案由多、涉及知识深入、人工标注难度大、成本高,导致标注数据少,因此,如何在少量标注数据上得到快速且准确的基于深度学习的检索系统是一个亟待解决的问题。
26.本发明针对法律领域类案检索的特点,所提供的基于深度学习的文献检索检索系统采用先召回后排序的两阶段方案,该系统整体上包含召回模块和重排模块。
27.召回模块的主要目的是快速召回多个候选答案,并输出给重排模块进行排序,由于用户的输入的文本较长,无法使用传统的elasticsearch数据库进行检索,因此采用了向量检索方式。
28.例如,召回模块首先采用基于无监督向量检索模型生成离线文本向量。该模型通过平滑倒频率对词向量进行加权,生成文本向量。为了更好生成法律领域的词向量,召回模块使用基于法律领域标注数据训练的法律专用分词器,极大提升了分词效果,随后使用usif算法生成相应的文本语义表示,以提供召回时计算相似度使用。召回模块极大提升了案例的召回率以及召回速度。
29.重排模块采用有监督的深度检索模型,该模型允许的文本输入长度达数千字,训练时结合对比学习使得在少量数据集下模型具有更准确的文本表示能力,进一步提升系统整体的检索效果。
30.例如,为了解决长文本交互时超出有监督模型的最大输入长度导致语义信息丢失的问题。重排阶段使用面向长文本的基于稀疏自注意力机制的预训练语言模型(longformer)作为基础文档编码器,扩展输入序列长度上限至数千字,同时降低注意力机制计算复杂度,经过法律领域预训练和对比学习的方法训练模型捕获长文本语义特征。重排召回模块中所产生的多个候选文本,从而提升检索效果。
31.以下将结合图1具体介绍召回模块和重排模块的实施例。
32.在一个实施例中,召回模块执行以下步骤:
33.步骤s1,生成词向量。
34.使用基于法律领域标注数据训练的分词器进行分词,在大规模数据上进行分词并进行词向量训练。例如,随机抽取两千万分案例,使用法律领域专用分词器进行分词,将分好词的文本输入到fasttext中训练词向量,最后将训练好的词向量存入redis中进行持久化操作。
35.步骤s2,生成文本向量。
36.例如,对于全部的案例数据,使用法律领域专用分词器进行分词后在redis中获取每个词的向量,组成词向量矩阵输入到usif算法生成原始文本向量,对原始文本向量进行奇异值分解得到前5个主成分,原始文本向量减去前5个主成分得到最终文本向量,即所有文本向量减去共性部分得到其特性,将最终文本向量存入到milvus向量数据库中进行持久化操作。
37.具体地,对于一个已分词的案例,从redis中取出其每个词的向量vw并拼接得到文本的词向量矩阵,通过usif算法将其转换成文本向量具体包括:
38.首先,计算α,α表示词库中的单词的出现概率大于阈值t的概率。t表示一个单词在一篇文档中出现的概率,n表示文本平均长度。
[0039][0040][0041]
其中,表示词汇表;表示词汇表大小;表示指示函数,当括号内逻辑为真时取1,否则取0;p(w)表示词w在语料中出现的概率。
[0042]
接着,对文本中每个词的词向量vw附加权重计算原始文本向量权重部分称为光滑逆频率。
[0043][0044][0045]
其中,s表示文本;|s|表示文本词汇量;z表示所有词向量到文本向量距离之和的期望。公式(4)由给定文本向量生成词的概率函数在0点处的泰勒展开推导得到。p(w)表示词w在语料中出现的概率。
[0046]
通过减去语料库中文本的共性表达(共性表达为预料中的一些高频字或词,例如“的”),提高句子的语义表达能力。对语料库中的所有文本,获得他们的文本向量并排成文本向量矩阵对得到的矩阵进行奇异值分解,得到矩阵的前5个主成分。由此得到了最终的文本向量表达cs,公式如下所示:
[0047][0048][0049]
其中,σi表示特征值,λi表示每个主成分的权重。表示原始文本向量,c
′i表示矩阵a的奇异向量。proj表示投影操作。m是主成分的数量,应用时值为5。
[0050]
上述过程描述了将一个文本转换成文本向量的过程。
[0051]
最后,为了方便向量的检索,将生成好的向量存入milvus向量数据库中进行持久
化操作。
[0052]
步骤s3,对于用户输入的新文本,检索出最相关的多个向量,作为召回文本。
[0053]
召回流程与向量生成流程类似,首先对用户输入的案例(或称输入文本)使用法律专用分词器进行分词,而后在redis中查找每个分词所对应的向量,输入到usif算法中得到文本原始向量,并减去向量生成模块得到的主成分得到最终文本向量,最后利用milvus数据库检索出语义上最相似的k个向量及其对应的文档id。
[0054]
第二、重排模块:
[0055]
在一个实施例中,重排模块使用面向长文本的基于稀疏自注意力机制的深度模型(longformer)作为基础编码器,由法律检索标注数据集构造正负样本三元组作为学习模块训练数据,采用基于表示的框架,每个案例文本被文本编码器单独编码为一个向量,最终对召回模块输出的k个案例与案例进行相似度计算得到重排分数。重排模块包含训练模块和排序模块。
[0056]
1)训练模块:
[0057]
为了进一步提升长文本编码器(longformer)生成文档向量的质量,缓解其原生句子表示向量空间的各向异性,以及训练数据少带来的问题,在一个实施例中,使用对比学习对长文本编码器进行微调。从案例标注数据集中构造训练数据,对于某查询文本,与其相关的案例为正样本而不相关的为负样本,从而每条查询与其正负样本构成一个三元组对于一批训练数据,xi的正样本仅为而负样本除外还包含其他文本的正负样本,每条文本通过长文本编码器(longformer)编码后,经平均池化层得向量表示,经余弦相似度计算构建相似度矩阵,矩阵每一行代表xi与同批数据的所有和的相似度得分,训练目标为交叉熵,表示为:
[0058][0059]
其中,li表示第i个文本产生的损失;e是自然常数;sim()是余弦相似度函数,用于计算两个向量的相似度;hi为文本xi的向量表示,为文本的向量表示,为文本的向量表示。τ表示温度超参数。
[0060]
通过上述对比学习的训练,可以提高模型生成向量的对齐性以及均匀性,即相近实例之间有相近的向量且向量表示在空间中分布更加均匀,从而使得向量之间的相似度计算可以很好地代表文本间的相似度。
[0061]
2)排序模块
[0062]
长文本编码器(longformer)在少量数据集上使用对比学习微调后,已经能较好地捕获长文本的语义并生成高质量的向量表达,将用户输入的查询文本和召回阶段召回的候选文本分别输入到长文本编码器(longformer),获取首个令牌(token)即[cls]令牌的输出作为查询向量以及候选文本向量,使用余弦相似度计算查询向量与候选文本向量相似度并将结果按由大到小排序即可得到最终排序结果。
[0063]
综上,本发明提出了一种基于深度学习的文献检索系统,通过将文本处理为向量,
使不同文本长度的文本能统一表示,而后使用向量检索召回多个文本作为候选答案,最后使用基于稀疏自注意力机制的预训练语言模型(longformer)作为基础文档编码器结合对比学习生成更准确的文本向量表示,最终使用相似度函数对候选文本进行重排。所提供的系统结合了向量检索以及深度模型的优点,在保证检索速度的前提下,大幅度提升了类案长文本检索的效果。
[0064]
相应地,本发明还提供一种基于深度学习的文献检索方法,用于实现上述系统的一个方面或多个方面。例如,参见图2所示,该方法包括:步骤s210,针对用户输入的查询文本,基于预存储的词向量和文本向量,生成多个候选文本;步骤s220,将用户输入的查询文本和所述多个候选文本输入到经训练的长文本编码器,获得查询向量以及候选文本向量,并计算查询向量与候选文本向量之间的相似度,获得排序的检索结果。
[0065]
为了进一步验证本发明的效果,根据裁判文书网所公开的法律案例文书长文档数据,基于900个真实场景的用户提问,其中民事、刑事、行政各300个提问,使用本发明进行了检索。总共进行了三组实验,第一组为使用通用分词器,使用向量召回模块,不使用重排模块;第二组为使用法律专用分词器,使用向量召回模块,不使用重排模块;第三组为使用法律专用分词器,使用向量召回模块,使用重排模块。评估实验效果的指标采用平均精度均值(map)和平均互惠等级(mrr)以及归一化折损累计增益(ndcg)。经过法律专业人士的人工审核,第三组实验效果最佳,第二组其次,第一组最次。实验结果表明,法律专用分词器及重排模块均能提升系统检索效果,即提升了检索速度以及准确度。
[0066]
综上所述,本发明提出一种基于深度学习的文献检索系统,有效解决了深度模型进行类案检索的问题,结合类案检索的特点,使用召回和重排两阶段进行案例检索,提高了检索的速度和准确度。召回模块采用基于无监督向量检索模型,不限制文本长度,具有较高的召回率及召回速度。重排模块采用有监督的深度检索模型,允许用户输入长达数千字的案例文书,在少量标注数据的情况下使用对比学习增强深度模型的文本表示能力,进一步提升系统整体的检索效果。具体而言,本发明的优势主要包括体现以下几个方面:
[0067]
1)在词向量生成时使用了法律专用分词器,能够对法律领域数据更准确的分词。
[0068]
2)在文本向量生成阶段使用了usif作为向量生成算法,能够生成更准确的案例语义向量且不限制输入长度。
[0069]
3)在向量召回阶段使用了usif作为向量生成算法,milvus作为检索数据库,能够生成更准确的案例语义向量、不限制输入长度,并且能快速检索到语义相关的文本。
[0070]
4)重排阶段采用了对比学习框架训练长文本编码器(longformer),使其在少量数据集上具有良好的泛化效果,并且使得其在向量空间中分布更加均匀,一定程度消除了各项异性,提升了模型的语义表达能力。
[0071]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0072]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩
盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0073]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0074]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 、python等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0075]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0076]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0077]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0078]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0079]
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献