基于词迁徙学习的深度文本匹配方法及装置
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种基于词迁徙学习的深度文本匹配方法及装置。
背景技术
文本匹配是自然语言处理中一个重要的基础问题,自然语言处理中的许多任务都可以抽象为文本匹配任务。例如,网页搜索可抽象为网页同用户搜索Query的一个相关性匹配问题,自动问答可抽象为候选答案与问题的满足度匹配问题,文本去重可以抽象为文本与文本的相似度匹配问题。
传统的文本匹配技术(例如信息检索中的向量空间模型算法),主要解决词汇层面的匹配问题。而实际上,基于词汇重合度的匹配算法有很大的局限性,无法解决很多问题,如语言的多义同义问题、语言的组合结构问题(例如「从北京到上海高铁」和「从上海到北京高铁」)以及匹配的非对称问题(例如网页搜索任务中query端的语言表述形式和网页端往往具有很大的差别)。
深度学习技术兴起后,基于神经网络训练出的Word Embedding(词嵌入向量)来进行文本匹配计算引起了广泛的兴趣。Word Embedding的训练方式更加简洁,而且所得的词语向量表示的语义可计算性进一步加强。但是,只利用无标注数据训练得到的WordEmbedding在匹配度计算的实用效果上和主题模型技术相差不大,它们本质上都是基于共现信息的训练。另外,Word Embedding本身没有解决短语、句子的语义表示问题,也没有解决匹配的非对称性问题。
基于上述问题,目前提出了有监督的神经网络深度匹配模型,以提升语义匹配计算的效果,例如DSSM(Deep Structured Semantic Models,深度语义匹配模型)、CDSSM(Convolutional Latent Semantic Model,卷积潜在语义模型)、ESIM(EnhancingSequential Inference Model、增强顺序推理模型)等。在上述模型训练方法通常是监督学习任务,具体的,模型参数为随机的初始化参数,训练样本不仅包含输入同时包含对应标准答案输出,通过比对标准答案与输出答案,反向传播来更新模型的参数。但是,上述参数随机初始化的模型,对输入语句最终表示的向量与其对应的真实语义也相差较大,因此,这样不仅训练过程需要多次的迭代训练,并且还会影响模型的匹配效果。
发明内容
本申请提供了一种基于词迁徙学习的深度文本匹配方法及装置,以解决现有的深度匹配模型参数为随机初始化参数,影响训练后模型的匹配效果的问题。
根据本申请实施例的第一方面,提供了一种基于词迁徙学习的深度文本匹配方法,应用于深度匹配模型,该方法包括:
将从语料集抽取的语句序列输入至BERT(Bidirectional EncoderRepresentations from Transformers,Transformer的双向编码器表示)模型,对所述BERT模型进行预训练,其中,所述预训练的任务包括所述语句序列中两个语句是否为上下句的预测、两个语句中掩盖词预测和所述掩盖词的词性预测;
利用预训练后的BERT模型,将输入的句子对中的语句分别用词向量表示,得到所述句子对中各语句的词向量矩阵;
利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的语句向量;
根据各所述语句向量之间的匹配程度值,计算预设损失函数的损失值;
根据所述损失值,调整所述深度匹配模型的参数;
利用参数调整所最终得到的深度匹配模型,对输入的语句进行文本匹配。
可选地,将从语料集抽取的语句序列输入至BERT模型,对所述BERT模型进行预训练,包括:
将从语料集抽取的语句序列中的语句进行分词;
使用位置编码给分词得到的词语加上位置信息,并使用初始词向量表示添加所述位置信息的词语;
获取分词得到的词语的词性,使用词性向量表示所述词性;
将所述初始词向量与所述词性向量相加,得到所述语句序列中的语句的词向量;
将使用所述词向量表示的语句序列输入至Transformer模型中进行数据处理,得到所述语句序列中的语句的词矩阵;
使用所述词矩阵,预测所述语句序列中两个语句是否为上下句、两个语句中掩盖词和所述掩盖词的词性。
可选地,所述句子对由假设语句、正推理语句以及至少一个负推理语句组成,其中,假设语句与正推理语句的语义相关、与负推理语句的语义不相关。
可选地,根据各所述语句向量之间的匹配程度值,计算预设损失函数的损失值,包括:
分别计算所述假设语句与正推理语句、以及各负推理语句所对应的语句向量之间的匹配程度值;
利用Pointwise损失函数和Listwise损失函数组成的联合损失函数,计算各所述语句向量匹配程度值与标准值之间的损失值。
可选地,所述联合损失函数loss的计算公式为:loss=Lp+Ll+L2Regularization,其中:
Lp为Pointwise损失函数,Lp=max(0,m-s(rh;rp+)+s(rh;rp-));Ll为Listwise损失函数,
rh为假设语句的语句向量表示,rp+和rp-是分别为正推理语句和负推理语句的语句向量表示,s(rh;rp+)为假设语句和正推理语所对应的语句向量的余弦相似度,s(rh;rp)为假设语句和推理语所对应的语句向量的余弦相似度,m为预设的判定正负推理语句的阈值,n为由正推理语句和负推理语句组成的样本个数。
可选地,将所述句子对中的语句分别用词向量表示,得到所述句子对中各语句的词向量矩阵,包括:
将所述句子对中的语句分别进行分词并用词向量表示,得到初始词向量矩阵;
将词性、共现信息和位置编码向量添加至所述初始词向量矩阵,得到所述句子对中各语句的词向量矩阵。
可选地,利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的语句向量,包括:
利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的初始语句向量;
根据各所述初始语句向量所对应的语句的语境,重新对各所述语句向量进行编码,得到所述句子对中各语句的语句向量。
可选地,生成所述句子对中的语句彼此相似性加权后的语句向量之后,所述方法还包括:
将所述假设语句分别与正推理语句、各负推理语句彼此相似性加权后所得到各语句向量,进行归一化处理,得到一个所述假设语句对应的语句向量。
根据本申请实施例的第二方面,提供了一种基于词迁徙学习的深度文本匹配装置,应用于深度匹配模型,所述装置包括:
预训练模块:用于将从语料集抽取的语句序列输入至BERT模型,对所述BERT模型进行预训练,其中,所述预训练的任务包括所述语句序列中两个语句是否为上下句的预测、两个语句中掩盖词预测和所述掩盖词的词性预测;
词向量表示模块:用于利用预训练后的BERT模型,将输入的句子对中的语句分别用词向量表示,得到所述句子对中各语句的词向量矩阵;
相似性加权模块:用于利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的语句向量;
损失值计算模块:用于根据各所述语句向量之间的匹配程度,计算预设损失函数的损失值;
模型参数调整模块:用于根据所述损失值,调整所述深度匹配模型的参数;
文本匹配模块:用于利用参数调整所最终得到的深度匹配模型,对输入的语句进行文本匹配。
可选地,所述预训练模块包括:
分词单元:用于将从语料集抽取的语句序列中的语句进行分词;
第一词向量表示单元:用于使用位置编码给分词得到的词语加上位置信息,并使用初始词向量表示添加所述位置信息的词语;
词性表示单元:获取分词得到的词语的词性,使用词性向量表示所述词性;
第二词向量表示单元将所述初始词向量与所述词性向量相加,得到所述语句序列中的语句的词向量;
词矩阵表示单元:用于将使用所述词向量表示的语句序列输入至Transformer模型中进行数据处理,得到所述语句序列中的语句的词矩阵;
预测单元:用于使用所述词矩阵,预测所述语句序列中两个语句是否为上下句、两个语句中掩盖词和所述掩盖词的词性。
由上述技术方案可见,本实施例提供的基于词迁徙学习的深度文本匹配方法及装置,在训练深度匹配模型时,融合了BERT模型并对其做预训练;然后,利用预训练后的BERT模型,将输入的句子对中的语句分别用初始词向量表示,再将用初始词向量表示的句子对中的语句进行相似性加权,得到句子对中的语句彼此相似性加权后的语句向量;最后,根据句子对中语句的语句向量相似度值对应的损失值,调整深度匹配模型的参数。由于预训练后的BERT模型的参数不再是随机初始化的参数、并且在预训练BERT模型中还加入词性预测,丰富词向量语义信息。因此,用训练好的BERT模型对输入的句子对中的语句分别用词向量表示的语义更为准确,进而促进训练后深度匹配模型的匹配准确率提升。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于词迁徙学习的深度文本匹配方法的基本流程示意图;
图2为本申请实施例提供的一种深度匹配模型的基本结构示意图;
图3为本申请实施例提供的对BERT模型的训练过程示意图;
图4a为本申请实施例提供的将增添的信息向量与词向量按位相加的示意图;
图4b为本申请实施例提供的将增添的信息向量连接至词向量的示意图;
图5为本申请实施例提供的使用双向LSTM进行特征抽取时,共享权值和不共享权值的区别示意图;
图6为本申请实施例提供的利用卷积神经网络进行特征选择的示意图;
图7为本申请实施例提供的双向LSTM进行特征抽取时,选用不同的输出方式示意图;
图8为本申请实施例提供的一种基于词迁徙学习的深度文本匹配装置的基本结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
针对现有的模型参数为随机的初始化参数,影响模型的匹配效果的问题,本实施例提供了一种基于词迁徙学习的深度文本匹配方法的基本流程示意图,其中,该方法可适用于各种深度匹配模型。
图1为本申请实施例提供的一种基于词迁徙学习的深度文本匹配方法的基本流程示意图。如图1所示,该方法具体包括如下步骤:
S110:将从语料集抽取的语句序列输入至BERT模型,对所述BERT模型进行预训练,其中,所述预训练的任务包括所述语句序列中两个语句是否为上下句的预测、两个语句中掩盖词预测和所述掩盖词的词性预测。
图3为本申请实施例提供的对BERT模型的训练过程示意图。如图3所示,对BERT模型的训练过程可以采用如下步骤:
S111:将从语料集抽取的语句序列中的语句进行分词。
其中,该语料集可以使用神州泰岳AI研究院-北京师范大学联合实验室提供的22G中文语料训练。
BERT模型预训练时语料集抽取的语句序列包含两句话,中间使用”<SEP>”隔开,有若干词(如15%)被使用<mask>替换。本实施例设置初始训练任务有三个:一个是判断上下句是不是真实的上下句,另一个是预测被<mask>替换的词语的真实值;最后一个是所述掩盖词的词性预测。
数据处理样例如下:
输入文本:
猫躺在垫子上面。猫在睡觉。
将其分词后处理成如下格式,句子前后分别添加<cls>和<sep>标志:
<cls>|猫|躺在|<mask>|上面|。|<sep>|猫|在|睡觉|。|<sep>
S112:使用位置编码给分词得到的词语加上位置信息,并使用初始词向量表示添加所述位置信息的词语。
因为基于完全注意力的方法并不能像卷积神经网络或循环神经网络那样编码词与词之间的位置关系,因此为了令Transformer感知词与词之间的位置关系,本实施例还使用位置编码给每个词加上位置信息。
使用初始词向量表示添加位置信息的词语时,可以使用word2vec训练词向量,当然可用任意一种embedding训练方法。本实施例将Bert模型原有的segment embedding(句子表示向量,用于区分上句和下句),从原有的两类(0,1)变为(0,1,2),其中,1代表上句、2代表下句、0代表<PAD>。
S113:获取分词得到的词语的词性,使用词性向量表示所述词性。
本实施例词性的嵌入矩阵长114,即为共有114个词性,宽与词向量宽度相同,这是为了保证能与词向量相加。
S114:将所述初始词向量与所述词性向量相加,得到所述语句序列中的语句的词向量。
S115:将使用所述词向量表示的语句序列输入至Transformer模型中进行数据处理,得到所述语句序列中的语句的词矩阵。
输出至Transformer模型时,其会对词向量进行切分,切分数被称为“头”(head),比如原有词向量300维,共有5个head,那么每一个head就按顺序取300维中的60维,并将切分后的多个块分别放入不同的Transformer模型。
Transformer模型共使用12层,每一层包含4个结构:自注意力、正则化、全连接、正则化。
自注意力层使用如下公式计算:
在公式(1)中,为一个Q、K中一个向量的长度;Q、K、V为初始句子的词矩阵变换得到的,其公式分别为:
Q=XWQ 公式(2)
K=XWK 公式(3)
V=XWV 公式(4)
其中,W*为一个可学习的随机初始化的权重矩阵,X为输入的词向量。
BERT模型是里面Multi-head Attention,这里面Multi-head Attention其实就是多个Self-Attention结构的结合,每一个head是原始输入矩阵的一部分。head学习到在不同表示空间中的特征,多个head学习到的Attention侧重点可能略有不同,这样给了模型更大的容量。
S116:使用所述词矩阵,预测所述语句序列中两个语句是否为上下句、两个语句中掩盖词和所述掩盖词的词性。
其训练任务分别使用整个输出矩阵预测下一句任务,使用除mask的其他词词向量预测mask词。
对BERT训练完成后,将预训练的BERT模型用在深度匹配模型中作为表示层继续进行迁徙训练。
S120:利用预训练后的BERT模型,将输入的句子对中的语句分别用词向量表示,得到所述句子对中各语句的词向量矩阵。
图2为本申请实施例提供的一种深度匹配模型的基本结构示意图。如图2所示,该深度匹配模型主要由输入层、BERT层、交互层、特征选择层、编码层、匹配层以及输出层组成,需要说明的是本实施例提供的方法并不限于该结构的深度匹配模型,还可以为其它结构,但是以输入层、BERT层、交互层、匹配层以及输出层为基础结构。
现有的方式通常输入的句子对中只包含两个语句,记为句子A、句子B,存在匹配结果正确率低的问题。因此,本实施例除了输入句子A、句子B外,还输入若干与句子A、句子B语义不相关的句子,其中,句子A、句子B在本实施中认用作为正例、即假设语句与正推理语句,若干语义不相关的句子用作负例、即各负推理语句。另外,本实施例中负例的数量不受限制,负例可以为在其他匹配句子对中随机生成的样例。
例如,输入句子样例如下所示:
假设语句:今天阳光;
正推理语句:今天天气很好;
负推理语句1:今天下大雨;
负推理语句2:……
进一步的,由于深度匹配模型对于各句子的编码是单独进行的,为增加数据输入量,本实施例将句子A和B的角色调换顺序进行两次输入,具体如下:
首先,选取被作为假设语句和正推理语句,且语义相关的两个正例语句,如句子A和句子B;然后,选取被作为负推理语句,且与所述正例语句的语义不相关的多个负例语句,如句子C、句子D……;最后,分别从两个正例语句中选取一个正例语句作为假设语句、另一个正例语句作为正推理语句,并与各负例语句组成句子对。这样,输入的句子对中便包括<句子A、句子B、句子C、句子D……>、<句子B、句子A、句子C、句子D……>。然后,对各句子对中的语句进行分词处理,将分词的结果输入到BERT层。
为了增加输入信息量,本实施例在词向量的基础上,还增添了一些信息向量,其中,包括词性、共现信息和位置编码向量。具体的,每种向量的表示方法为:
词性向量:每种词性使用一个固定长度的随机向量来表示
共现信息向量:共现信息是指假设和推断语句共同出现的词语,如上述假设和正推理语句中的“今天”一词。在本实施例中,共现信息有0,1,2三种表示,其中,0:代表<PAD>增加的句子维度,即句子在此位置本无值,为了可以放入深度匹配模型填补的空值;1:代表该词语在句子和词中共同出现;2:代表该词语在假设和推断语句中未共同出现。本实施例设置共现信息向量为一维长的向量。
位置编码向量:位置编码可使用公式计算,也可使用可学习的随机初始化的向量来表示。
在公式(5)和(6)中,pos表示分词在输入句子中的位置,d1表示词向量的维度,C为周期系数,PE(pos2i)表示第pos个位置的分词的第2i个维度的位置编码,PE(pos2i+1)表示第pos个位置的分词的第2i+1个维度的位置编码。
另外,使用可学习的随机初始化的向量来表示位置编码向量的方式时,可以将一个随机初始化的向量输入到模型里,模型会自己学习调整该向量到一个比较合理的值,并将调整后的向量作为位置编码向量。
得到上述词性、共现信息和位置编码向量后,便可以将其添加至词向量,其中,本实施例命名由Word Embedding得到的初始词向量。具体的,在添加方式上可以选择将上述向量与初始词向量相加,图4a计为本申请实施例提供的将增添的信息向量与词向量按位相加的示意图,或者,还可以将上述向量连接到初始词向量之后组成一个更长的向量,图4b为本申请实施例提供的将增添的信息向量连接至词向量的示意图。
S130:利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的语句向量。
对应于图2中模型的交互层中,使用Attention机制,先获取各句子对的相似度矩阵,并根据该相似度矩阵重新生成句子对中的假设H和推断P的表示,该步骤也可以理解为在词向量表示之后,在当前的语境下重新编码,得到新的词向量,如下公式(7)和(8)。
在公式(7)和(8)中,len(H)和len(P)分别指两个句子的长度,和为加权后的句子表示,和为原有的句子表示,e为权重、由相似度矩阵的对应值获取。。
需要说明的是,多种句子交互Attention机制均可用于本实施例。本实例使用双向LSTM(Long-Short-Term Memory,长短期记忆)结构,其表示公式如下:
yt=g(VAt+V'A't) 公式(9)
At=f(Uxt+WAt-1) 公式(10)
A't=f(U'xt+W'At-1) 公式(11)
在公式(9)至(11)中,V、V'、U'、U、W、W'为权重矩阵,f、g为激活函数,x为输入,A为隐状态参数,y为输出,t为时刻。
利用上述双向LSTM结构,首先,将各句子对中的两句子进行词对齐,得到两个句子之间的相似度矩阵;然后,进行两句话的局部推理,用上述得到的相似度矩阵并结合句子对中的两句子,互相生成彼此相似性加权后的句子。
另外,如果可以做句子的语法分析,那么这里的双向LSTM也可以使用树形LSTM。另外还可以根据各词向量所在语句中的语境,重新对各词向量进行编码,得到所述句子对中的语句新的词向量表示。
具体的,该步骤可以采用多种特征抽取结构进行,如卷积神经网络(CNN,Convolutional Neural Network)、RNN(Recurrent Neural Network,递归神经网络)、Attention机制等。本实施例仍采用双向LSTM结构,图5为本申请实施例提供的使用双向LSTM进行特征抽取时,共享权值和不共享权值的区别示意图,如图5所示,在特征抽取时假设和推理语句可以共享权值,也可以不共享,在具体实施过程,可以根据训练速度要求以及训练数据量进行选择。
进一步的,由于将各句子对中的语句分别用词向量表示之后,N个推理语句将对应,假设语句可以得到N个词向量表示,为方便后续的操作,本实施例在特征选择层中,对假设语句可以得到N个词向量内容进行归一化处理。
本实施例采用最基本的求平均的方式:
在公式(12)中,N为所有假设句的数量,为表示层输出的假设语的词向量表示。
当然,在具体实施过程中,除了上述方式,还可以是使用可学习的权值对模型进行加权求和方式,或者,还可以利用卷积神经网络、递归神经网络等进行特征提取。图6为本申请实施例提供的利用卷积神经网络进行特征选择的示意图,如图6所示,将多个词向量横向拼接后使用卷积神经网络进行卷积表示、然后进行池化输出。
进一步的,使所述句子对中的假设语句均用一个语句向量表示之后,所述方法还包括:
根据各所述词向量所在语句中的语境,重新对各所述词向量进行编码,得到所述句子对中的语句新的词向量表示。
具体的,本实施例还是采用双向LSTM结构进行特征提取和编码,图7为本申请实施例提供的双向LSTM进行特征抽取时,选用不同的输出方式示意图,如图7所示,本实施例可以采用向LSTM结构输出的隐状态结果作为新的词向量表示,或者,利用双向LSTM每一时刻的输出,分别按位求最大值、均值并连接作为新的词向量表示。
S140:根据各所述语句向量之间的匹配程度值,计算预设损失函数的损失值。
对应于图2中模型的匹配层和输出层中,分别计算上述得到的各所述句子对中假设语句H的语句向量和推理语句P的语句向量的匹配程度值,可以得到N个输出值,如图2中的Score1、Score2……ScoreN,其中,N为所有推理语句的数量、包括正例和负例。然后,可以根据N个输出值的排序结果计算损失函数,调整模型参数并继续训练,其中,为了减少计算量,可以只关注匹配程度最高的是否为假设语句和正推理语句。
为了更好的的评价上述匹配程度值,本实施例融合Pointwise和Listwise思想,具体的,利用Pointwise损失函数和Listwise损失函数组成的联合损失函数,计算各语句向量匹配程度值与标准值之间的差距值,并根据该差距值,调整深度匹配模型的参数。其中,Pointwise损失函数的计算公式如下:
Lp=max(0,m-s(rh;rp+)+s(rh;rp-)) 公式(13)
在公式(13)中,s(rh;rp+)为假设语句和正推理语所对应的语句向量的余弦相似度,s(rh;rp)为假设语句和推理语所对应的语句向量的余弦相似度,m为预设的判定正负推理语句的阈值,n为由正推理语句和负推理语句组成的样本个数。
根据上述公式可知,Pointwise损失函数在假设语句和正推理语句的匹配程度低时,对应的损失值大,并且假设语句和负推理语句匹配程度高时,对应的损失值也大。因此,单用Pointwise损失函数会有较好的排序效果,但是相似度的值并不够准确。基于上述原因,本实施例还结合了Listwise损失函数,其计算公式如下:
为了防止对模型的过拟合,本实施例在损失函数中加入L2正则(L2Regularization),得到的最终的联合损失函数loss如下:
loss=Lp+Ll+L2Regularization 公式(15)
S150:根据所述损失值,调整所述深度匹配模型的参数。
具体的,在训练过程,可以最小化上述损失值为目标,对模型不断训练,得到最终的深度匹配模型
S160:利用参数调整所最终得到的深度匹配模型,对输入的语句进行文本匹配。
例如,可以利用不断参数调整所得到的深度匹配模型,将测试集中语句输入至该模型中进行文本匹配,并计算其匹配准确率。
本实施例提供的深度文本匹配方法,在训练深度匹配模型时,融合了BERT模型并对其做预训练,由于该模型的参数不再是随机初始化、并且在预训练BERT模型中还加入词性预测,丰富词向量语义信息。因此,用训练好的BERT模型对输入的句子对中的语句分别用词向量表示的语义更为准确,进而促进训练后深度匹配模型的匹配准确率提升。另外,模型输入的句子对不仅包含假设语句与正推理语句组成的句子对,还包含假设语句分别与各负推理语句组成的句子对,这样,将句子对扩展为句子对序列、并且包含正例和负例两种类型的数据,扩展了模型的输入数量和类型,进而使得模型的拟合速度加快,有助于增强模型的泛化能力。最后,本实施例还融合Attention机制,生成各句子对中的语句彼此相似性加权后的语句向量,由于对个句子对中的语句之间的词语进行了关联,进而可以模型的性能水平得到提升。
基于上述方法,本实例还提供了深度文本匹配装置。图8为本申请实施例提供的一种基于词迁徙学习的深度文本匹配装置的基本结构示意图。如图8所示,该装置包括:
预训练模块810:用于将从语料集抽取的语句序列输入至BERT模型,对所述BERT模型进行预训练,其中,所述预训练的任务包括所述语句序列中两个语句是否为上下句的预测、两个语句中掩盖词预测和所述掩盖词的词性预测;
词向量表示模块820:用于利用预训练后的BERT模型,将输入的句子对中的语句分别用词向量表示,得到所述句子对中各语句的词向量矩阵;
相似性加权模块830:用于利用各所述词向量矩阵所对应的相似度矩阵,生成所述句子对中的语句彼此相似性加权后的语句向量;
损失值计算模块840:用于根据各所述语句向量之间的匹配程度,计算预设损失函数的损失值;
模型参数调整模块850:用于根据所述损失值,调整所述深度匹配模型的参数;
文本匹配模块860:用于利用参数调整所最终得到的深度匹配模型,对输入的语句进行文本匹配。
可选地,所述预训练模块810包括:
分词单元8101:用于将从语料集抽取的语句序列中的语句进行分词;
第一词向量表示单元8102:用于使用位置编码给分词得到的词语加上位置信息,并使用初始词向量表示添加所述位置信息的词语;
词性表示单元8103:获取分词得到的词语的词性,使用词性向量表示所述词性;
第二词向量表示单元8104:用于将所述初始词向量与所述词性向量相加,得到所述语句序列中的语句的词向量;
词矩阵表示单元8105:用于将使用所述词向量表示的语句序列输入至Transformer模型中进行数据处理,得到所述语句序列中的语句的词矩阵;
预测单元8106:用于使用所述词矩阵,预测所述语句序列中两个语句是否为上下句、两个语句中掩盖词和所述掩盖词的词性。
利用上述方法训练得到深度匹配模型,在现有某金融语料测试集中能达到95%的正确率,在相同的训练集和测试集中,传统模型正确率仅为88%。因此,实验结果证明,本方法训练得到的模型效果要高于常规方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。