文本匹配方法及装置与流程

文档序号:18797257发布日期:2019-09-29 19:53阅读:217来源:国知局
文本匹配方法及装置与流程

本发明涉及自然语言处理技术领域,更具体地,涉及文本匹配方法及装置。



背景技术:

信息检索,是在日常生活中最为常用的一种自然语言处理技术,也是人类进入互联网时代中最为重要的技术之一。信息检索的根本目的是从大量的文本信息中,找到最关心也是和询问文本最为相关的信息。信息检索一项最重要的技术应用就是搜索引擎,互联网中最为常见的搜索引擎是从大量的网页文本信息中,找到与输入的搜索文本相关的网页并返回给用户。这里的相关在更多意义上是基于词语词性用法的相关,即认为一份文档是和输入的询问相关的往往是在这份文档包含了所询问的句子,或者这份文档的内容和询问的句子在用词上有交集的时候,会认为这篇文档是与询问的相关的。这样的一种方法被广泛应用到了各种各样的搜索引擎中,如搜狗、必应、幂律等搜索引擎中都使用到了信息检索的技术。

除开搜索引擎,信息检索的技术还被广泛应用在其他自然语言处理的下游任务中,例如推荐系统、问答系统等。在推荐系统中,可以把用户已有的操作行为当作所询问的输入特征,基于此去数据库中寻找相关的推荐的条目;而对于问答系统,则能够更为直接的应用信息检索的技术,把询问的问题输入给信息检索的系统,而信息检索系统的目的就是要从海量的知识库中找到最能匹配问题的答案。

除此之外,在法律领域有一个重要的课题便是类案匹配。所谓类案匹配,是想从海量的案件数据中,根据输入的事实描述,找到与输入事实最为相近的案件描述。类案匹配的重要意义在于如果能够准确而快速的找到与事实描述相类似的案件,那么对于有法学经验的人来说,他们可以在判案的时候充分参考已有的判例来避免一案多判的情况;而对于没有法学知识的人来说,历史上类似的相似的案件也能够为他们提供一个有力的参考。

因此,将信息检索的技术应用到类案匹配中是一个非常重要的解决方案。但是,传统的信息检索技术例如搜索引擎始终的信息检索的技术始终是基于文字匹配的方法,这样的方法并不能够应用到类案匹配之中,因为类案匹配更多时候是想要匹配输入的案件描述和已有的案件在事实层面上的类似性。这样的匹配更多是基于语义的匹配而非词语的匹配,所以传统的信息检索方法并不能够直接应用到类案匹配的问题上,需要提出一个基于语义匹配的信息检索的方法,以此来在类案匹配上达到更好的效果。



技术实现要素:

本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的文本匹配方法及装置。

第一个方面,本发明实施例提供一种文本匹配方法,包括:

对于文本集合中的任意一个文本,根据所述文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示;将所述文本输入至预先训练的深度双向转换编码器中,输出所述文本的语义表示;将所述文本的语法表示和语义表示组合为所述文本的文本特征;

从所述文本集合中选择待匹配文本,计算所述待匹配文本的文本特征与所述文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与所述待匹配的文本类似的文本;其中,k为正整数。

第二个方面,本发明实施例提供一种文本匹配装置,包括:

文本特征提取模块,用于对于文本集合中的任意一个文本,根据所述文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示;将所述文本输入至预先训练的深度双向转换编码器中,输出所述文本的语义表示;将所述文本的语法表示和语义表示组合为所述文本的文本特征;

匹配模块,用于从所述文本集合中选择待匹配文本,计算所述待匹配文本的文本特征与所述文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与所述待匹配文本类似的文本;其中,k为正整数。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。

本发明实施例提供的文本匹配方法及装置,将语义信息和语法信息进行了综合的考虑和计算,使得本发明实施例相比传递方法在文本匹配上具有更好的效果,并且在获取语法表示的过程中,由于没有使用已标注好的数据,而是采样词频-逆文本频率的方法,能够在无监督的情况下进行提取。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供文本匹配方法的流程示意图;

图2为本发明实施例提供文本匹配装置的结构示意图;

图3为本发明实施例提供的电子设备的实体结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例提供文本匹配方法的流程示意图,如图1所示,包括

s101、对于文本集合中的任意一个文本,根据所述文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示;将所述文本输入至预先训练的深度双向转换编码器中,输出所述文本的语义表示;将所述文本的语法表示和语义表示组合为所述文本的文本特征。

本发明实施例为了实现文本匹配,需要对每个文本抽取文本特征,为了保证抽取的文本特征涵盖语义的信息,本发明实施例的目标是同时抽取文本在语法上的特征和语义上的特征。

通常情况下,文本的语法特征往往可以由用词、用句和某些书写的习惯上来得到,所以本发明实施例选取了词频——逆词频的方法来提取文本的语法特征。具体来说,对于一篇文本,可以假设

d=(w1,w2,…,wn)

其中d为文本而w1,w2,…,wn代表这文本从头至尾的n个词,那么可以定义在所有文本上的词的集合为:

其中d为所有文本的集合,即遍历所有文本求到所出现词语的并集。那么对于每一个词(比如你好、中国等等),本发明实施例可以为这个词定义属于这个词的专属特征。例如想要考察的词为w,那么可以定义词w在文本d中的词频为w在文本d中的出现次数,表示为:

其中nw,d代表词w在文本d中出现的次数,w′代表文本d中的其他词。该式子对词w出现的次数做了归一化处理,这是为了使得最后的结果在不同文本上拥有同样的表示分布。这样便可以衡量一个词在文本中出现的频率。

此外,为了验证一个词的重要程度,本发明实施例还需要检查这个词在所有文本中出现的频率。定义一个词的逆文本频率为

即该词w出现的文本占总文本数量的比例,这样可以从另一个层面上反应出一个词的重要程度。通过文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示。

为了能够获取文本的深度语义信息并抽取文本深层含义的向量表示,辅助完成文本匹配的方法,本发明实施例采用深度双向转化编码器来进行语义提取。作为一种可选实施例,深度双向转化编码器通常可以通过样本文本以及样本文本的语义表示标签训练而成。

在获得文本的语法表示vd和语义表示zd后,就可以将文本的文本特征:xd=(vd,zd)。

s102、从所述文本集合中选择待匹配文本,计算所述待匹配文本的文本特征与所述文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与所述待匹配的文本类似的文本;其中,k为正整数。

对于文本匹配,本发明实际上希望能够通过给定待匹配文本的向量表示(即文本特征)找到k个文本,使得这k个文本的向量表示与待匹配文本的的向量表示的聚类尽量小,即:

其中dis(x,xd)为距离函数,本发明实施例使用欧几里得距离定义的距离函数,即:

通过遍历文本集合中的所有文本,即可获得所述待匹配的文本类似的文本。

需要说明的是,本发明实施例将语义信息和语法信息进行了综合的考虑和计算,使得本发明实施例相比传递方法在文本匹配上具有更好的效果,并且在获取语法表示的过程中,由于没有使用已标注好的数据,而是采样词频-逆文本频率的方法,能够在无监督的情况下进行提取。

需要注意的是,如果直接遍历所有文本求得与输入文本最相似的k个向量表示所需要的时间显然为o((k+d)|d|),这个值过于巨大,在实际应用中很难接受。因此,为了加速匹配过程,本发明实施例采用局部敏感哈希算法来完成。在一个可选实施例中,计算所述待匹配文本的文本特征与所述文本集合中其他文本的文本特征间的欧氏距离,具体为:

s201、预先确定r个哈希函数,将文本集合中各文本的文本特征代入每个哈希函数中,获得每个文本的r个哈希值。其中,r为正整数。

具体地,预先确定r个哈希函数(h1,h2,…,hr),其中hi=(ai,bi,ci)。在本发明实施例中,ai为一个维度与文本特征xd一致的一维向量,而bi,ci为常实数。则对文本表示xd的哈希函数为:

s202、搜索与所述待匹配文本的每个哈希值处于同一哈希槽的其他文本作为候选文本。

由局部敏感度哈希的假设可知,任何相似的点都有大概率拥有相同的哈希值,而任何距离较远的向量的哈希值表示只有小概率是相同的。基于局部敏感度哈希的这个性质,可以找到在r个哈希函数中与输入文本被哈希到同一个哈希槽的文本(作为本领域的公知常识,数据通过哈希函数计算得到的哈希值会被映射到一个哈希槽中),然后从这里面找到k个与输入文本最为相似的文本。用数学化的表示即为

即通过局部敏感度哈希的方法将需要搜索的解空间大大减小,缩小至d′的范围。

s203、计算所述待匹配文本的文本特征与所述候选文本的文本特征间的欧氏距离。

需要说明的是,本发明实施例通过局部敏感度哈希算法能够大大降低匹配时间,并且由于哈希函数是预先确定的,因此计算每个文本的哈希值的步骤可以离线完成,以进一步降低匹配时间。

需要注意的是,上述局部敏感度哈希算法仍然存在一种弊端,即为了达到一个较高的准确率,往往需要一个稍大的r即哈希函数的个数来保证不会有所遗漏,这个r的取值往往会大于100,而实际应用时的文本数量通常是千万级别的,这样的存储量使上述方法的应用的缺点较大。

在上述各实施例的基础上,作为一种可选实施例,采用多探头的局部敏感度哈希算法进行匹配,具体地,本发明实施例利用了另一种假设——相似的向量的哈希值表示的距离不会特别大。由此可以在哈希出来的值的空间附近进行广度搜索,将一个范围内的答案全部纳入考虑,即:

预先确定r个哈希函数,将文本集合中各文本的文本特征代入每个哈希函数中,获得每个文本的r个哈希值;

搜索与所述待匹配文本的每个哈希值处于相近哈希槽的其他文本作为候选文本;

计算所述待匹配文本的文本特征与所述候选文本的文本特征间的欧氏距离。

使用多探头的局部敏感度哈希方法,本发明实施例能够将所需要的哈希函数的数量从r≥100降低至r≈20,从而大大提升了特征匹配的效率,也让本发明实施例能够很好地投入实际的使用。

在上述各实施例的基础上,作为一种可选实施例,文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示,具体为:

对于文本中的任意词汇,将所述词汇在所述文本中的词频与所述词汇在文本集合中的逆文本频率的乘积,作为所述词汇在所述文本中的特征表示,将文本中所有词汇的特征表示进行组合,获得所述文本的语法表示。

需要注意的是,语法表示的长度是非常长的,和|w|的大小一致,但这显然是过于巨大,为了能够让这个向量表示能够应用到实际的类案匹配中,通过主成分分析法来对vd进行降维处理。即通过所有的向量数据,学习一个降维参数来抽取对于文本来说最重要的词语句法信息,即最终的向量表示为:

v′d=vd×w1

其中x1为降维之后的向量长度。

在上述各实施例的基础上,作为一种可选实施例,将所述文本输入至预先训练的深度双向转换编码器中,输出所述文本的语义表示,具体为:

s401、将文本中的每个词汇输入至所述深度双向转换编码器的编码层,输出对应每个词汇的词向量;

s402、将文本中的每个词向量输入至l层预先训练的双向转换编码器,将最后一次双向转换编码器的输出量作为文本的语义表示;

其中,在每一层双向转换编码器中,将输入量先使用多头的注意力机制进行编码,将编码后的结果输入残差网络,获得当前层的双向转换编码器的输出量。

具体来说,编码器的输入仍然是d=(w1,w2,…,wn),即文本信息,首先使用词向量编码层对所有的词语进行编码,即:

dvec=(emb(w1),emb(w2),…,emb(wn))

其中emb为词向量编码层,该编码层的参数会在整个训练过程中不断发生变化以此来起到自适应语言模型的作用。对于emb(w),编码层会把输入的词编码成一个xemb维度的向量,即对整个文本使用词向量编码层进行编码之后得到的向量应该满足:

在完成了对于词级别的编码之后,便要考虑进一步的对编码出来的矩阵进行编码。为了能够准确的让模型学习到语义的信息,在词语编码器之后连续接入l=12层的双向转换编码器来解决该问题。对于每一层的双向转换编码器,假设其输入为x,那么首先使用一个多头的注意力机制对其进行编码,即有:

x′=(head1,head2,…,headn)

headi=attention(xwq,xwk,xwv)

其中attention(xwq,xwk,xwv)为在这三者之间进行注意力机制的计算,wq,wk,wv均为模型中可以学习的参数。此外,注意到的模型的深度是非常深的,所以需要引入残差网络来避免网络中因为模型深度过深所导致的梯度消失,即:

xout=x+x′

重复使用该模型l次,便可以得到最终的文本d的语义表示zd。

需要注意的是,需要用优化的目标来让模型从无标注的文本中学习到语言和语义,并将其进行特征化的表示。为此,需要设计与之对应的训练任务来帮助模型进行学习。

在上述各实施例的基础上,深度双向转换编码器的训练方法为:

从样本文本中选定两句话,并设置所述两句话是否为连续上下文的第一标签,将所述两句话以及第一标签输入至深度双向转换编码器进行训练,直至所述深度双向转换编码器输出的两句话是否为连续上下文的判断结果符合预设要求;

将样本文本中的部分词隐去或者随机变换为其他已出现的词,将修改后的样本文本以及修改便签输入至深度双向转换编码器进行训练,直至所述深度双向转换编码器输出的样本文本的纠错结果符合预设要求。

在所有文本上设计了如下两个任务来帮助编码器学习到文本的语义信息。我第一个任务为给定文本中的两句话,让编码器判断这两句话是否为连续的上下文。这样的一个任务能够让编码器充分学习到编码器的上下文的语义信息,帮助编码器从整体上更好地理解文本。的第二个任务是会在处理文本数据的时候随机地将文本中的部分词语隐去,或者随机替换为其他出现过的词,并要求编码器检查以及修改这些被替换的词,进行纠错。这样的一个任务能够让编码器更加了解词语的在句子和文本之中扮演的是什么样一个成分,能够让编码器更加了解每个词语的意思,也能够让编码器更好地区分不同的词在文章中所表达的意思。结合这两个任务,本发明实施例成功地训练了在法律文本上的语义表示抽取编码器,并成功得到了每篇文本的语义表示。

图2为本发明实施例提供的文本匹配装置的结构示意图,如图2所示,该文本匹配装置包括:文本特征提取模块201和匹配模块202,其中:

文本特征提取模块201,用于对于文本集合中的任意一个文本,根据所述文本中的各词汇在所述文本中的词频以及所述文本中的各词汇在文本集合中的逆文本频率,获得所述文本的语法表示;将所述文本输入至预先训练的深度双向转换编码器中,输出所述文本的语义表示;将所述文本的语法表示和语义表示组合为所述文本的文本特征;

匹配模块202,用于从所述文本集合中选择待匹配文本,计算所述待匹配文本的文本特征与所述文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与所述待匹配的文本类似的文本;其中,k为正整数。

本发明实施例提供文本匹配装置,具体执行上述各文本匹配方法实施例流程,具体请详见上述各文本匹配方法实施例的内容,在此不再赘述。本发明实施例提供的文本匹配装置将语义信息和语法信息进行了综合的考虑和计算,使得本发明实施例相比传递方法在文本匹配上具有更好的效果,并且在获取语法表示的过程中,由于没有使用已标注好的数据,而是采样词频-逆文本频率的方法,能够在无监督的情况下进行提取。

图3为本发明实施例提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communicationsinterface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的文本匹配方法,例如包括:对于文本集合中的任意一个文本,根据文本中的各词汇在文本中的词频以及文本中的各词汇在文本集合中的逆文本频率,获得文本的语法表示;将文本输入至预先训练的深度双向转换编码器中,输出文本的语义表示;将文本的语法表示和语义表示组合为文本的文本特征;从文本集合中选择待匹配文本,计算待匹配文本的文本特征与文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与待匹配的文本类似的文本;其中,k为正整数。

此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的文本匹配方法,例如包括:对于文本集合中的任意一个文本,根据文本中的各词汇在文本中的词频以及文本中的各词汇在文本集合中的逆文本频率,获得文本的语法表示;将文本输入至预先训练的深度双向转换编码器中,输出文本的语义表示;将文本的语法表示和语义表示组合为文本的文本特征;从文本集合中选择待匹配文本,计算待匹配文本的文本特征与文本集合中其他文本的文本特征间的欧氏距离,将欧氏距离最近的k个其他文本作为与待匹配的文本类似的文本;其中,k为正整数。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1