CN111310439B - 一种基于深度特征变维机制的智能语义匹配方法和装置 - Google Patents

一种基于深度特征变维机制的智能语义匹配方法和装置 Download PDF

Info

Publication number
CN111310439B
CN111310439B CN202010103560.5A CN202010103560A CN111310439B CN 111310439 B CN111310439 B CN 111310439B CN 202010103560 A CN202010103560 A CN 202010103560A CN 111310439 B CN111310439 B CN 111310439B
Authority
CN
China
Prior art keywords
sentence
matching
layer
word
training
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
CN202010103560.5A
Other languages
English (en)
Other versions
CN111310439A (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.)
Qilu University of Technology
Original Assignee
Qilu University of Technology
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 Qilu University of Technology filed Critical Qilu University of Technology
Priority to CN202010103560.5A priority Critical patent/CN111310439B/zh
Publication of CN111310439A publication Critical patent/CN111310439A/zh
Application granted granted Critical
Publication of CN111310439B publication Critical patent/CN111310439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于深度特征变维机制的智能语义匹配方法和装置,属于人工智能、自然语言处理技术领域,本发明要解决的技术问题为如何捕获更多的语义上下文信息和句子间的交互信息,以实现句子的智能语义匹配,采用的技术方案为:该方法是通过构建并训练由嵌入层、深度特征变维编码层、卷积匹配层和预测层组成的句子匹配模型,实现对句子的深度特征变维编码表示,从而获取更多的语义上下文信息和句子间的交互信息,同时实现卷积匹配机制,以达到对句子进行智能语义匹配的目标。该装置包括句子匹配知识库构建单元、训练数据集生成单元、句子匹配模型构建单元及句子匹配模型训练单元。

Description

一种基于深度特征变维机制的智能语义匹配方法和装置
技术领域
本发明涉及人工智能、自然语言处理技术领域,具体地说是一种基于深度特征变维机制的智能语义匹配方法和装置。
背景技术
近年来,句子的语义匹配方法在自然语言处理领域越来越受重视。究其原因,是因为众多自然语言处理任务以句子的语义匹配为基础,在一定程度上可以视为句子语义匹配任务的拓展。例如,“自动问答”任务可以通过计算“问题”与“候选答案”的匹配度进行处理;“信息检索”任务可以视为是在计算“查询句子”与“匹配文档”的匹配度。正因如此,句子的语义匹配在自然语言处理领域中起着至关重要的作用。衡量句子之间内在的语义匹配程度是一项非常有挑战性的工作,到目前为止,现有的方法并没有实质性地解决这一问题。
通过分析和研究,我们发现现有方法大多都是以卷积神经网络模型或循环神经网络模型为基础的,而这两种模型自身特点和局限性导致其无法彻底解决这一问题。例如,卷积神经网络虽然擅长用不同的核函数捕捉和表示局部特征,但它忽略了文本中的序列信息,而且由于文本数据本身的特点,所以在使用卷积神经网络模型时只能选取1D的卷积核,这极大地影响了其在文本领域中的应用;循环神经网络虽然可以处理序列信息,但是它们大多仅在一个特定角度对文本数据进行编码,例如只对文本数据进行断字处理使其变为单一字符的集合后进行编码,或者只进行分词处理使其变成词语的集合后进行编码,这种在单一角度对数据进行编码的方式可能会导致丢失一些重要的层次编码信息。而对于句子的语义匹配任务,句子中的词语顺序和句子的层次信息都是至关重要的,因此,单纯使用基于1D卷积核的卷积神经网络模型或循环神经网络模型的方法几乎无法获得令人满意的结果。
故如何在文本匹配任务上充分发挥卷积神经网络的优势,从而捕获更多的语义上下文信息和句子间的交互信息,并实现一种更加有效的语义匹配方式,以提高对句子进行智能语义匹配的准确率,是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种基于深度特征变维机制的智能语义匹配方法和装置,来达到充分发挥卷积神经网络的优势,以此捕获更多的语义上下文信息和句子间的交互信息,并通过实现一种新的卷积匹配机制,最终达到对句子进行智能语义匹配的目的。
本发明的技术任务是按以下方式实现的,一种基于深度特征变维机制的智能语义匹配方法,该方法是通过构建并训练由嵌入层、深度特征变维编码层、卷积匹配层和预测层组成的句子匹配模型,以此实现对句子的深度分层编码表示,获取更多的语义上下文信息和句子间的交互信息,同时通过实现一种新的卷积匹配机制,以达到对句子进行智能语义匹配的目标;具体如下:
嵌入层对输入的句子进行嵌入操作,并将结果传递给深度特征变维编码层;
深度特征变维编码层对由嵌入操作获取的结果进行编码操作,得到句子的语义特征表示张量;
卷积匹配层对两个输入句子的语义特征表示张量进行卷积匹配处理,得到句子对的匹配表征向量;
在预测层使用一个全连接层对匹配表征向量进行一次映射,然后使用sigmoid层将得到的结果映射为指定区间中的一个值作为匹配度数值,根据匹配度数值与设定阀值的相对大小判定输入的句子对之间的语义是否匹配。
作为优选,所述嵌入层用于构建字词映射转换表、构建输入层及构建字词向量映射层;
其中,构建字词映射转换表:映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需的字词映射转换表;其中,字词表通过句子匹配知识库构建;其后,再使用Word2Vec训练字词向量模型,得到各字或词的字词向量矩阵embedding_matrix;
构建输入层:输入层包括两个输入,即嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示;
构建字词向量映射层:加载字词映射转换表构建步骤中训练所得的字词向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd;句子匹配知识库中每一个句子均通过字词向量映射的方式,将句子信息转化为向量形式。
更优地,所述深度特征变维编码层的构建过程具体如下:
构建初级编码层:此层接收字词向量映射层的输出作为本层的输入,然后使用一个双向长短期记忆网络BiLSTM对其进行两次编码操作,从而得到两个初级语义特征表示张量,公式如下:
Figure BDA0002387694270000031
Figure BDA0002387694270000032
其中,i表示相应字词向量在句子中的相对位置,pi为句子keys_sentence中每个字词的相应向量表示。
Figure BDA0002387694270000033
为经过BiLSTM第一次编码后的keys_sentence句子张量,/>
Figure BDA0002387694270000034
为经过BiLSTM第二次编码后的keys_sentence句子张量。
构建特征升维层:此层对经过初级编码层处理后得到的两个初级语义特征表示张量进行堆叠升维操作,从而将其合并为一个特征表示张量——升维语义特征表示张量,公式如下:
Figure BDA0002387694270000035
其中,Add_dim是指增加一个维度并在这个新增的维度中对这两个张量进行堆叠操作,
Figure BDA0002387694270000036
为/>
Figure BDA0002387694270000037
张量堆叠升维的结果,即升维语义特征表示张量。
构建卷积编码层:此层将升维语义特征表示张量作为输入,通过构造一个基于2*n卷积核的卷积神经网络层对其进行两次编码操作,得到两个卷积语义特征表示张量,公式如下:
Figure BDA0002387694270000038
Figure BDA0002387694270000039
其中,
Figure BDA00023876942700000310
为句子keys_sentence经过卷积神经网络第一次编码后的卷积语义特征表示张量,/>
Figure BDA00023876942700000311
为句子keys_sentence经过卷积神经网络第二次编码后的卷积语义特征表示张量。
构建特征卷积层:此层对卷积编码层输出的两个卷积语义特征表示张量进行联接操作,随后构造一个基于2*n卷积核的卷积神经网络层对其进行一次编码操作,得到句子的最终语义特征表示张量,公式如下:
Figure BDA0002387694270000041
Figure BDA0002387694270000042
其中,
Figure BDA0002387694270000043
为上述两个卷积语义特征表示张量的联接结果,/>
Figure BDA0002387694270000044
为对联接结果进行卷积操作后得到的最终语义特征表示张量。
更优地,所述卷积匹配层用于构建卷积匹配机制;其中,构建卷积匹配机制是对经过深度特征变维编码层处理后得到的keys_sentence1、keys_sentence2的最终语义特征表示张量
Figure BDA0002387694270000045
进行联接处理,随后进行卷积匹配操作,从而生成匹配表征向量;公式如下:
Figure BDA0002387694270000046
Figure BDA0002387694270000047
其中,
Figure BDA0002387694270000048
表示两个句子的最终语义特征表示张量的联接结果,/>
Figure BDA0002387694270000049
为经过卷积匹配操作后生成的句子匹配表征张量。
更优地,所述预测层构建过程如下:
将构建卷积匹配机制过程中得到的匹配表征向量
Figure BDA00023876942700000410
输入预测层,以判断句子对的语义是否匹配;在预测层中,匹配表征向量/>
Figure BDA00023876942700000411
经过全连接层处理,再由Sigmoid层进行处理;为了防止发生过拟合的情况,在全连接层设置dropout为0.5,sigmoid层对经过dropout处理后的全连接层的输出进行匹配度计算,得到处于[0,1]之间的匹配度表示ypred,最终通过与设立的阈值0.5进行比较来判别句子对的语义是否匹配,即ypred>0.5时,判定为语义匹配,ypred<0.5时,判定为语义不匹配。
更优地,所述句子匹配知识库构建具体如下:
使用爬虫获取原始数据:在网上公共问答平台爬取问题集,得到原始相似句子知识库;或者使用网上公开的句子匹配数据集,作为原始相似句子知识库;
预处理原始数据:预处理原始相似句子知识库中的相似句子对,对每个句子进行断字操作,得到原始句子匹配知识库;
嵌入关键特征:对原始相似句子知识库中的每个句子进行提取关键词操作,并将其作为关键特征嵌入到原始句子匹配知识库中的相应句子里,得到训练所需的句子匹配知识库。
所述句子匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将句子匹配知识库中的句子与句子所对应的标准句子进行组合,构建正例,形式化为:(keys_sentence1,keys_sentence2,1);其中,keys_sentence1表示句子1;keys_sentence2表示句子2;1表示句子1和句子2的语义相匹配,是正例;
构建训练负例:选中一个句子s1,再从句子匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(keys_sentence1,keys_sentence2,0);其中,keys_sentence1表示句子s1;keys_sentence2表示句子s2;0表示句子s1和句子s2的语义不匹配,是负例;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据均包含三个维度,即keys_sentence1、keys_sentence2、0或1;
所述句子匹配模型构建完成后通过训练数据集进行句子匹配模型的训练与优化,具体如下:
构建损失函数:由预测层构建过程可知,ypred是经过卷积匹配机制处理后得到的匹配度计算结果,ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,采用均方对数损失(msle)作为损失函数,公式如下:
Figure BDA0002387694270000051
优化训练模型:使用Adam作为优化算法,除了其学习率设置为0.002外,Adam的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子匹配模型进行优化训练。
一种基于深度特征变维机制的智能语义匹配装置,该装置包括,
句子匹配知识库构建单元,用于使用爬虫程序,在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,作为原始相似句子知识库,再对原始相似句子知识库进行断字操作,最后向其嵌入关键特征,从而构建用于模型训练的句子匹配知识库;
训练数据集生成单元,用于根据句子匹配知识库中的句子来构建训练正例数据和训练负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;
句子匹配模型构建单元,用于通过嵌入层构建字词映射转换表、输入层、及字词向量映射层、构建深度特征变维编码层、通过卷积匹配层构建句子卷积匹配机制和构建预测层;句子匹配模型构建单元包括,
字词映射转换表构建子单元,用于对句子匹配知识库中的每个句子按嵌入的关键词和字符进行切分,并将每个字或词依次存入一个列表中,从而得到一个字词表,随后以数字1为起始,按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需要的字词映射转换表;其中,通过构建字词映射转换表,训练数据集中的每个字或词均被映射为唯一的数字标识;其后,再使用Word2Vec训练字词向量模型,得到各字或词的字词向量矩阵embedding_matrix;
输入层构建子单元,用于获取嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示;
字词向量映射层子单元,用于加载字词映射转换表构建子单元训练所得的字词向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd;句子匹配知识库中每一个句子都可以通过字词向量映射的方式,将句子信息转化为向量形式;
深度特征变维编码层子单元,用于对字词向量映射层的输出进行三轮编码操作:其中第一轮使用一个双向长短期记忆网络BiLSTM对句子进行两次编码后,得到两个初级语义特征表示张量,接着对它们进行堆叠升维操作,使其合并为一个特征表示张量—升维语义特征表示张量,随后使用一个基于2*n卷积核的卷积神经网络层进行第二轮编码操作,得到两个卷积语义特征表示张量,对它们进行联接操作,然后进行第三轮编码操作,最终得到句子的最终语义特征表示张量;
卷积匹配机制构建子单元,用于将句子对的最终语义特征表示张量进行联接处理,随后进行卷积匹配操作,生成最终的匹配表征张量;
预测层子单元,用于对匹配表征向量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
句子匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;
所述句子匹配知识库构建单元包括,
数据爬取子单元,用于在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,构建原始相似句子知识库;
爬取数据处理子单元,用于将原始相似句子知识库中的句子进行断字处理,从而构建用于模型训练的原始句子匹配知识库;
嵌入关键特征子单元:对原始相似句子知识库中的每个句子进行提取关键词操作,并将其作为关键特征嵌入到原始句子匹配知识库中的相应句子里,得到训练所需的句子匹配知识库;
所述训练数据集生成单元包括,
训练正例数据构建子单元,用于将句子匹配知识库中语义匹配的句子进行组合,并对其添加匹配标签1,构建为训练正例数据;
训练负例数据构建子单元,用于从句子匹配知识库中选取一个句子s1,再从句子匹配知识库中随机选择一个与句子s1语义不匹配的句子s2,将s1与s2进行组合,并对其添加匹配标签0,构建为训练负例数据;
训练数据集构建子单元,用于将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
所述句子匹配模型训练单元包括,
损失函数构建子单元,用于计算句子1和句子2间语义匹配度的误差;
优化训练模型子单元,用于训练并调整模型训练中的参数,从而减小句子匹配模型训练过程中预测的句子1与句子2的语义匹配程度与真实匹配标签之间的误差。
一种存储介质,其中存储有多条指令,所述指令有处理器加载,执行上述的基于深度特征变维机制的智能语义匹配方法的步骤。
一种电子设备,所述电子设备包括:
上述的存储介质;以及
处理器,用于执行所述存储介质中的指令。
本发明的基于深度特征变维机制的智能语义匹配方法和装置具有以下优点:
(一)本发明通过在原有数据中嵌入关键特征,可以捕捉和利用句子中不同层次的语义特征,使捕获的语义特征更加丰富、准确,从而有效提高句子语义表征的全面性和准确性;
(二)本发明通过卷积匹配机制,可以增强句子间的交互信息,对句子的匹配进行更加合理地判断,从而提高句子语义匹配的准确性;
(三)本发明通过卷积匹配操作,可以对句子间的局部特征进行更加精确地匹配,从而提高模型的预测准确率;
(四)本发明通过语义特征变维机制,可以在对句子进行语义编码时使用2D的卷积核完成编码操作,充分发挥卷积神经网络的优势,从而捕捉到句子的深层语义特征信息;
(五)本发明提出的方法和装置,实现了对句子的关键特征嵌入,通过语义特征变维操作,可以克服卷积神经网络在文本领域的弊端,使其优势得到更加充分的发挥,结合一种新的卷积匹配机制来增强句子间的交互信息,最终可以有效提高模型预测句子间内在语义匹配度的准确性;
(六)本发明通过语义特征变维编码操作与卷积匹配机制操作的处理,能够将句子表示为一种紧密的潜在表征,该表征蕴含了丰富的语义信息。
附图说明
下面结合附图对本发明进一步说明。
图1为一种基于深度特征变维机制的智能语义匹配方法的流程图;
图2为构建句子匹配知识库的流程图;
图3为构建训练数据集的流程图;
图4为构建句子匹配模型的流程图;
图5为训练句子匹配模型的流程图;
图6为一种基于深度特征变维机制的句子匹配装置的结构示意图;
图7为构建深度特征变维编码层的句子表示模型的结构示意图;
图8为基于深度特征变维机制的智能语义匹配模型的框架示意图。
具体实施方式:
参照说明书附图和具体实施例对本发明的一种基于深度特征变维机制的智能语义匹配方法和装置作以下详细地说明。
实施例1:
如附图8所示,本发明的基于深度特征变维机制的智能语义匹配方法,该方法是通过构建并训练由嵌入层、深度特征变维编码层、卷积匹配层和预测层组成的句子匹配模型,实现对句子的深度特征变维编码表示,从而获取更多的语义上下文信息和句子间的交互信息,同时实现卷积匹配机制,以达到对句子进行智能语义匹配的目标;具体如下:
(1)、嵌入层对输入的句子进行嵌入操作,并将结果传递给深度特征变维编码层;
(2)、深度特征变维编码层对由嵌入操作获取的结果进行编码操作,得到句子的语义特征表示张量;
(3)、卷积匹配层对两个输入句子的语义特征表示张量进行卷积匹配处理,得到句子对的匹配表征向量;
(4)、在预测层使用一个全连接层对匹配表征向量进行一次映射,然后使用sigmoid层将得到的结果映射为指定区间中的一个值作为匹配度数值,根据匹配度数值与设定阀值的相对大小判定输入的句子对之间的语义是否匹配。
实施例2:
如附图1所示,本发明的基于深度特征变维机制的智能语义匹配方法,具体步骤如下:
S1、构建句子匹配知识库,如附图2所示,具体步骤如下:
S101、使用爬虫获取原始数据:编写爬虫程序,在网上公共问答平台爬取问题集,得到原始相似句子知识库;或者使用网上公开的句子匹配数据集,作为原始相似句子知识库。
互联网上的公共问答分享平台中有着大量的问答数据及相似问题的推荐,这些都是面向大众开放的。因此我们可以根据问答平台的特点,设计相应的爬虫程序,以此来获取语义相似的问题集合,从而构建原始相似句子知识库。
举例:银行问答平台中的相似句子对示例,如下表:
sentence 1 还款期限可以延后一天吗?
sentence 2 是否可以申请延期一天还款?
或者,使用网上公开的句子匹配数据集,作为原始知识库。比如BQ数据集【J.Chen,Q.Chen,X.Liu,H.Yang,D.Lu,B.Tang,The bq corpus:A large-scale domain-specificchinese corpus for sentence semantic equivalence identification,EMNLP2018.】,该数据集包含网上银行服务日志中的120000个问题对,是一种专门用于句子语义匹配任务的中文数据集。BQ数据集是目前银行领域最大的、经人工注释过的中文数据集,对中文问题语义匹配研究很有用,而且该数据集是公开可用的。
S102、预处理原始数据:预处理原始相似句子知识库中的相似句子对,对每个句子进行断字操作,得到原始句子匹配知识库。
对步骤S101中获得的相似句子对进行预处理,得到原始句子匹配知识库。以断字操作为例进行说明,即以中文里的每个字作为基本单位,对每条数据进行断字操作:每个汉字之间用空格进行切分,并且保留每条数据中包括数字、标点以及特殊字符在内的所有内容。在此步骤中,为了避免语义信息的丢失,保留了句子中的所有停用词。
举例:以步骤S101中展示的句子1“还款期限可以延后一天吗?”为例,对其进行断字处理后得到“还款期限可以延后一天吗?”。
S103、嵌入关键特征:对原始句子匹配知识库中的每条数据进行关键特征嵌入操作,得到训练所需的句子匹配知识库。
对步骤S101中获得的相似句子进行提取关键词操作,并将其作为关键特征嵌入到步骤S102中获得的原始句子匹配知识库的相应句子里,从而得到训练所需的句子匹配知识库。
举例:以1.1中展示的sentence 1“还款期限可以延后一天吗?”为例,使用jieba分词工具对其进行关键词的提取,此处设置提取关键词的数量为2个,提取出的关键词为“延后”、“还款”;将其作为关键特征嵌入到步骤S102中经过断字操作处理后的sentence 1中后可以得到“延后还款还款期限可以延后一天吗?”。
S2、构建句子匹配模型的训练数据集:对于每一个句子,在句子匹配知识库中都会有一个与之对应的标准句子,此句子可与其组合用来构建训练正例;其他不匹配的句子可自由组合用来构建训练负例;用户可根据句子匹配知识库大小来设定负例的数量,从而构建训练数据集;如附图3所示,具体步骤如下:
S201、构建训练正例:将句子匹配知识库中的句子与其所对应的标准句子进行组合,构建正例,可形式化为:(keys_sentence1,keys_sentence2,1);其中,keys_sentence1指代嵌入关键特征后的句子1,keys_sentence 2指代嵌入关键特征的句子2,而这里的1则表示这两个句子的语义相匹配,是正例。
举例:对步骤S101中展示的句子1和句子2,经过步骤S102断字和步骤S103关键特征嵌入处理后,构建的正例为:
(“延后还款还款期限可以延后一天吗?”,“还款延期是否可以申请延期一天还款?”,1)。
S202、构建训练负例:选中一个句子s1,再从句子匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(keys_sentence1,keys_sentence2,0);其中,keys_sentence1表示句子s1;keys_sentence2表示句子s2;0表示句子s1和句子s2的语义不匹配,是负例;
举例:根据步骤S201中的所展示的示例数据,仍然使用原问句作为s1,再从句子匹配知识库中随机选择一个与句子s1语义不匹配的句子s2,将s1与s2进行组合,构建的负例为:
(“延后还款还款期限可以延后一天吗?”,“客户端登录为什么银行客户端登陆出现网络错误?”,0)。
S203、构建训练数据集:将经过步骤S201和步骤S202操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,以此构建最终的训练数据集。无论正例数据还是负例数据,它们都包含了三个维度,即keys_sentence1、keys_sentence2、0或1。
S3、构建句子匹配模型:主要操作为构建字词映射转换表、构建输入层、构建字词向量映射层、构建初级编码层、构建特征升维层、构建卷积编码层、构建特征卷积层、构建卷积匹配机制、构建预测层。其中,构建字词映射转换表、构建输入层、构建字词向量映射层的三个子步骤对应图8中的嵌入层,构建初级编码层、构建特征升维层、构建卷积编码层、构建特征卷积层的四个子步骤对应图8中的深度特征变维编码层,构建卷积匹配机制的子步骤对应图8中的卷积匹配层,构建预测层子步骤对应图8中的预测层。具体步骤如下:
S301、构建字词映射转换表:字词表是通过步骤S103处理后得到的句子匹配知识库来构建的。字词表构建完成后,表中每个字或词均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需要的字词映射转换表。
举例:以步骤S103处理后的内容,“延后还款还款期限可以延后一天吗?”,构建字词表及字词映射转换表如下:
Figure BDA0002387694270000111
Figure BDA0002387694270000121
其后,本发明使用Word2Vec训练字符向量模型,得到各字词的字词向量矩阵embedding_matrix。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
w2v_model=genism.models.Word2Vec(w2v_corpus,
size=embedding_dim,
window=5,min_count=1,sg=1,
workers=4,seed=1234,iter=25)
embedding_matrix=numpy.zeros([len(tokenizer.word_index)+1,
embedding_dim])
tokenizer=keras.preprocessing.text.Tokenizer(num_words=len(word_set))
for word,idx in tokenizer.word_index.items():
embedding_matrix[idx,:]=w2v_model.wv[word]
其中,w2v_corpus为训练语料,即句子匹配知识库中的所有数据;embedding_dim为字词向量维度,本模型设置embedding_dim为400,word_set为字词表。
S302、构建输入层:输入层中包括两个输入,嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示。
对于输入句子中的每个字或词而言,都按照在步骤S301中构建完成的字词映射转换表将其转化为相应的数字标识。
举例说明:使用步骤S201中展示的句子对作为样例,以此组成一条输入数据,其结果如下:
(“延后还款还款期限可以延后一天吗?”,“还款延期是否可以申请延期一天还款?”)
根据字词映射转换表,将上述的输入数据转换为数值表示(假定出现在句子2中但没有出现在句子1中的字和词语的映射分别为“延期”:15,“是”:16,“否”:17,“申”:18,“请”:19,“期”:20),结果如下:
(“1,2,3,4,5,6,7,8,9,10,11,12,13,14”,“2,15,16,17,7,8,18,19,9,19,11,12,3,4”)。
S303、构建字词向量映射层:通过加载构建字词映射转换表步骤中训练所得的字向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd。句子匹配知识库中每一个句子都可以通过字词向量映射的方式,将句子信息转化为向量形式。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
embedding_layer=Embedding(embedding_matrix.shape[0],
emb_dim,
weights=[embedding_matrix],
input_length=input_dim,
trainable=False)。
其中,embedding_matrix是步骤S301中训练所得的字词向量矩阵权重,embedding_matrix.shape[0]是字词向量矩阵的字词表(词典)的大小,embedding_dim是输出的字词向量的维度,input_length是输入序列的长度。
相应的句子keys_sentence1和keys_sentence2,经过Embedding层编码后得到相应的句子向量keys_sentence1_emd、keys_sentence2_emd。
这一层网络是句子对语义匹配模型的通用网络层,它实现了知识库中每一个字或词对应的向量表示。本层对于句子keys_sentence1与keys_sentence2的处理是完全一样的,所以不再分别展开说明。
S304、构建句子的深度特征变维编码层:实现了一种新的句子编码方法——深度特征变维编码,其结构图如图7所示,此方法的核心思想是对句子经过初级编码层处理后得到的两个初级语义特征张量进行堆叠升维操作,从而得到一个升维语义特征张量,然后使用基于2D卷积核的卷积神经网络对其进行编码处理,得到两个卷积语义特征表示张量,随后对其进行联接,最终经过特征卷积层处理后得到句子的最终语义特征表示张量。具体来说:该层接收步骤S303的输出进行三轮编码操作:其中第一轮使用一个双向长短期记忆网络BiLSTM对句子进行两次编码后,得到两个初级语义特征表示张量,接着对它们进行堆叠升维操作,使其合并为一个特征表示张量—升维语义特征表示张量,随后使用一个基于2*n卷积核的卷积神经网络层进行第二轮编码操作,得到两个卷积语义特征表示张量,对它们进行联接操作,然后进行第三轮编码操作,最终得到句子的最终语义特征表示张量。此方法可以充分发挥卷积神经网络的优势,从而捕获更丰富、更精确的语义特征,最终提高句子语义匹配的准确率。此外,根据实践经验,本层的编码维度设置为300时,可获得最优结果;具体步骤如下:
S30401、构建初级编码层:此层接收字词向量映射层的输出作为本层的输入,然后使用一个双向长短期记忆网络BiLSTM对其进行两次编码操作,从而得到两个初级语义特征表示张量,公式如下:
Figure BDA0002387694270000141
/>
Figure BDA0002387694270000142
其中,i表示相应字词向量在句子中的相对位置,pi为句子keys_sentence中每个字词的相应向量表示。
Figure BDA0002387694270000143
为经过BiLSTM第一次编码后的keys_sentence句子张量,/>
Figure BDA0002387694270000144
为经过BiLSTM第二次编码后的keys_sentence句子张量。此外,本发明中BiLSTM的具体参数分别设置为:神经元个数为300,dropout为0.5,双向编码后得到的编码结果的结合方式为sum。
S30402、构建特征升维层:此层对经过初级编码层处理后得到的两个初级语义特征表示张量进行堆叠升维操作,从而将其合并为一个特征表示张量——升维语义特征表示张量,公式如下:
Figure BDA0002387694270000145
其中,Add_dim是指增加一个维度并在这个新增的维度中对这两个张量进行堆叠操作,
Figure BDA0002387694270000146
为/>
Figure BDA0002387694270000147
张量堆叠升维的结果,即升维语义特征表示张量。
S30403、构建卷积编码层:此层将升维语义特征表示张量作为输入,通过构造一个基于2*n卷积核的卷积神经网络层对其进行两次编码操作,得到两个卷积语义特征表示张量,公式如下:
Figure BDA0002387694270000148
Figure BDA0002387694270000149
其中,
Figure BDA00023876942700001410
为句子keys_sentence经过卷积神经网络第一次编码后的卷积语义特征表示张量,/>
Figure BDA00023876942700001411
为句子keys_sentence经过卷积神经网络第二次编码后的卷积语义特征表示张量。此外,本发明中卷积编码层的CNN的具体参数分别设置为:卷积核为2*2,填充方式(padding)为有效填充(valid),步幅为[1,1],激活函数为relu。
S30404、构建特征卷积层:此层对卷积编码层输出的两个卷积语义特征表示张量进行联接操作,随后构造一个基于2*n卷积核的卷积神经网络层对其进行一次编码操作,得到句子的最终语义特征表示张量,公式如下:
Figure BDA0002387694270000151
Figure BDA0002387694270000152
其中,
Figure BDA0002387694270000153
为上述两个卷积语义特征表示张量的联接结果,/>
Figure BDA0002387694270000154
为对联接结果进行卷积操作后得到的最终语义特征表示张量。此外,本发明中特征卷积层的CNN的具体参数分别设置为:卷积核为2*2,填充方式(padding)为有效填充(valid),步幅为[1,1],激活函数为relu。
S305、构建卷积匹配机制:经过步骤S304处理后分别得到keys_sentence1、keys_sentence2的最终语义特征表示张量
Figure BDA0002387694270000155
对其进行联接处理,随后进行卷积匹配操作,从而生成匹配表征向量;公式如下:/>
Figure BDA0002387694270000156
Figure BDA0002387694270000157
其中,
Figure BDA0002387694270000158
表示两个句子的最终语义特征表示张量的联接结果,/>
Figure BDA0002387694270000159
为经过卷积匹配操作后生成的句子匹配表征张量。此外,本发明中卷积匹配机制的CNN的具体参数分别设置为:卷积核为2*2,填充方式(padding)为有效填充(valid),步幅为[1,1],激活函数为relu。
S306、构建预测层:步骤S305所得到的匹配表征向量
Figure BDA00023876942700001510
输入预测层,以判断句子对的语义是否匹配;在预测层中,匹配表征向量/>
Figure BDA00023876942700001511
经过全连接层处理,再由Sigmoid函数层进行处理;为了防止发生过拟合的情况,在全连接层设置dropout为0.5,sigmoid层对经过dropout处理后的全连接层的输出进行匹配度计算,得到处于[0,1]之间的匹配度表示ypred,最终通过与设立的阈值(0.5)进行比较来判别句子对的语义是否匹配,即ypred>0.5时,判定为语义匹配,ypred<0.5时,判定为语义不匹配。
S4、训练句子匹配模型:在步骤S2所得的训练数据集上对步骤S3构建的句子匹配模型进行训练,如附图5所示,具体如下:
S401、构建损失函数:由预测层构建过程可知,ypred是经过卷积匹配机制处理后得到的匹配度计算结果,ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,本模型采用均方对数损失(msle)作为损失函数,公式如下:
Figure BDA0002387694270000161
S402、优化训练模型:使用Adam作为优化算法,除了其学习率设置为0.002外,Adam的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子匹配模型进行优化训练;
举例说明:上面描述的优化函数及其设置在Keras中使用代码表示为:
optim=keras.optimizers.Adam(lr=0.002)。
本发明在BQ数据集上取得了优于当前先进模型的结果,实验结果的对比具体见表1:
Figure BDA0002387694270000162
本发明模型和现有模型进行了比较,实验结果显示本发明方法有了很大的提升。其中,前三行是现有技术的模型的实验结果【前三行数据来自:J.Chen,Q.Chen,X.Liu,H.Yang,D.Lu,B.Tang,The bq corpus:A large-scale domain-specific chinese corpusfor sentence semantic equivalence identification,EMNLP2018.】,最后一行是本发明的实验结果,由此可知本发明比现有模型有了较大提升。
实施例3:
如附图6所示,基于实施例2的基于深度特征变维机制的智能语义匹配装置,该装置包括,
句子匹配知识库构建单元,用于使用爬虫程序,在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,作为原始相似句子知识库,再对原始相似句子知识库进行断字操作,最后向其嵌入关键特征,从而构建用于模型训练的句子匹配知识库;句子匹配知识库构建单元包括,
数据爬取子单元,用于在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,构建原始相似句子知识库;
爬取数据处理子单元,用于将原始相似句子知识库中的句子进行断字处理,从而构建用于模型训练的原始句子匹配知识库;
嵌入关键特征子单元:对原始相似句子知识库中的每个句子进行提取关键词操作,并将其作为关键特征嵌入到原始句子匹配知识库中的相应句子里,得到训练所需的句子匹配知识库。
训练数据集生成单元,用于根据句子匹配知识库中的句子来构建训练正例数据和训练负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;训练数据集生成单元包括,
训练正例数据构建子单元,用于将句子匹配知识库中语义匹配的句子进行组合,并对其添加匹配标签1,构建为训练正例数据;
训练负例数据构建子单元,用于从句子匹配知识库中选取一个句子s1,再从句子匹配知识库中随机选择一个与句子s1语义不匹配的句子s2,将s1与s2进行组合,并对其添加匹配标签0,构建为训练负例数据;
训练数据集构建子单元,用于将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
句子匹配模型构建单元,用于通过嵌入层构建字词映射转换表、输入层、及字词向量映射层、构建深度特征变维编码层、通过卷积匹配层构建句子对卷积匹配机制和构建预测层;句子匹配模型构建单元包括,
字词映射转换表构建子单元,用于对句子匹配知识库中的每个句子按嵌入的关键词和字符进行切分,并将每个字或词依次存入一个列表中,从而得到一个字词表,随后以数字1为起始,按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需要的字词映射转换表;其中,通过构建字词映射转换表,训练数据集中的每个字或词均被映射为唯一的数字标识;其后,再使用Word2Vec训练字词向量模型,得到各字或词的字词向量矩阵embedding_matrix;
输入层构建子单元,用于获取嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示;
字词向量映射层构建子单元,用于加载字词映射转换表构建子单元训练所得的字词向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd。句子匹配知识库中每一个句子都可以通过字词向量映射的方式,将句子信息转化为向量形式;
深度特征变维编码层子单元,用于对字词向量映射层的输出进行三轮编码操作:其中第一轮使用一个双向长短期记忆网络BiLSTM对句子进行两次编码后,得到两个初级语义特征表示张量,接着对它们进行堆叠升维操作,使其合并为一个特征表示张量—升维语义特征表示张量,随后使用一个基于2*n卷积核的卷积神经网络层进行第二轮编码操作,得到两个卷积语义特征表示张量,对它们进行联接操作,然后进行第三轮编码操作,最终得到句子的最终语义特征表示张量;
卷积匹配机制构建子单元,用于将句子对的最终语义特征表示张量进行联接处理,随后进行卷积匹配操作,生成最终的匹配表征向量;
预测层子单元,用于对匹配表征向量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
句子匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;句子匹配模型训练单元包括,
损失函数构建子单元,用于计算句子1和句子2间语义是否匹配的误差;
优化训练模型子单元,用于训练并调整模型训练中的参数,从而减小句子匹配模型训练过程中预测的句子1与句子2间语义匹配程度与真实匹配标签之间的误差;
实施例4:
基于实施例2的存储介质,其中存储有多条指令,指令有处理器加载,执行实施例2的基于深度特征变维机制的智能语义匹配方法的步骤。
实施例5:
基于实施例4的电子设备,电子设备包括:实施例4的存储介质;以及
处理器,用于执行实施例4的存储介质中的指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种基于深度特征变维机制的智能语义匹配方法,其特征在于,该方法是通过构建并训练由嵌入层、深度特征变维编码层、卷积匹配层和预测层组成的句子匹配模型,实现对句子的深度特征变维编码表示,从而获取更多的语义上下文信息和句子间的交互信息,同时实现卷积匹配机制,以达到对句子进行智能语义匹配的目标;具体如下:
嵌入层对输入的句子进行嵌入操作,并将结果传递给深度特征变维编码层;
深度特征变维编码层对由嵌入操作获取的结果进行编码操作,得到句子的语义特征表示张量;
卷积匹配层对两个输入句子的语义特征表示张量进行卷积匹配处理,得到句子对的匹配表征向量;
在预测层使用一个全连接层对匹配表征向量进行一次映射,然后使用sigmoid层将得到的结果映射为指定区间中的一个值作为匹配度数值,根据匹配度数值与设定阀值的相对大小判定输入的句子对之间的语义是否匹配;
所述深度特征变维编码层的构建过程具体如下:
构建初级编码层:此层接收字词向量映射层的输出作为本层的输入,然后使用一个双向长短期记忆网络BiLSTM对其进行两次编码操作,从而得到两个初级语义特征表示张量,公式如下:
Figure FDA0004219770610000011
Figure FDA0004219770610000012
其中,i表示相应字词向量在句子中的相对位置,pi为句子keys_sentence中每个字词的相应向量表示;
Figure FDA0004219770610000013
为经过BiLSTM第一次编码后的keys_sentence句子张量,/>
Figure FDA0004219770610000014
为经过BiLSTM第二次编码后的keys_sentence句子张量;
构建特征升维层:此层对经过初级编码层处理后得到的两个初级语义特征表示张量进行堆叠升维操作,从而将其合并为一个特征表示张量——升维语义特征表示张量,公式如下:
Figure FDA0004219770610000015
其中,Add_dim是指增加一个维度并在这个新增的维度中对这两个张量进行堆叠操作,
Figure FDA0004219770610000016
为/>
Figure FDA0004219770610000017
Figure FDA0004219770610000018
张量堆叠升维的结果,即升维语义特征表示张量;
构建卷积编码层:此层将升维语义特征表示张量作为输入,通过构造一个基于2*n卷积核的卷积神经网络层对其进行两次编码操作,得到两个卷积语义特征表示张量,公式如下:
Figure FDA0004219770610000019
Figure FDA0004219770610000021
其中,
Figure FDA0004219770610000022
为句子keys_sentence经过卷积神经网络第一次编码后的卷积语义特征表示张量,/>
Figure FDA0004219770610000023
为句子keys_sentence经过卷积神经网络第二次编码后的卷积语义特征表示张量;
构建特征卷积层:此层对卷积编码层输出的两个卷积语义特征表示张量进行联接操作,随后构造一个基于2*n卷积核的卷积神经网络层对其进行一次编码操作,得到句子的最终语义特征表示张量,公式如下:
Figure FDA0004219770610000024
Figure FDA0004219770610000025
其中,
Figure FDA0004219770610000026
为上述两个卷积语义特征表示张量的联接结果,/>
Figure FDA0004219770610000027
为对联接结果进行卷积操作后得到的最终语义特征表示张量。
2.根据权利要求1所述的基于深度特征变维机制的智能语义匹配方法,其特征在于,所述嵌入层用于构建字词映射转换表、构建输入层及构建字词向量映射层;
其中,构建字词映射转换表:映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需的字词映射转换表;其中,字词表通过句子匹配知识库构建;其后,再使用Word2Vec训练字词向量模型,得到各字或词的字词向量矩阵embedding_matrix;
构建输入层:输入层包括两个输入,即嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示;
构建字词向量映射层:加载字词映射转换表构建步骤中训练所得的字词向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd;句子匹配知识库中每一个句子均通过字词向量映射的方式,将句子信息转化为向量形式。
3.根据权利要求1或2所述的基于深度特征变维机制的智能语义匹配方法,其特征在于,所述卷积匹配层用于构建卷积匹配机制;其中,构建卷积匹配机制是对经过深度特征变维编码层处理后得到的keys_sentence1、keys_sentence2的最终语义特征表示张量
Figure FDA0004219770610000028
进行联接处理,随后进行卷积匹配操作,从而生成匹配表征向量;公式如下:
Figure FDA0004219770610000029
Figure FDA00042197706100000210
其中,
Figure FDA0004219770610000031
表示两个句子的最终语义特征表示张量的联接结果,/>
Figure FDA0004219770610000032
为经过卷积匹配操作后生成的句子匹配表征张量。
4.根据权利要求3所述的基于深度特征变维机制的智能语义匹配方法,其特征在于,所述预测层构建过程如下:
将构建卷积匹配机制过程中得到的匹配表征向量
Figure FDA0004219770610000033
输入预测层,以判断句子对的语义是否匹配;在预测层中,匹配表征向量/>
Figure FDA0004219770610000034
经过全连接层处理,再由Sigmoid层进行处理;为了防止发生过拟合的情况,在全连接层设置dropout为0.5,sigmoid层对经过dropout处理后的全连接层的输出进行匹配度计算,得到处于[0,1]之间的匹配度表示ypred,最终通过与设立的阈值0.5进行比较来判别句子对的语义是否匹配,即ypred>0.5时,判定为语义匹配,ypred<0.5时,判定为语义不匹配。
5.根据权利要求4所述的基于深度特征变维机制的智能语义匹配方法,其特征在于,所述句子匹配知识库构建具体如下:
使用爬虫获取原始数据:在网上公共问答平台爬取问题集,得到原始相似句子知识库;或者使用网上公开的句子匹配数据集,作为原始相似句子知识库;
预处理原始数据:预处理原始相似句子知识库中的相似句子对,对每个句子进行断字操作,得到原始句子匹配知识库;
嵌入关键特征:对原始相似句子知识库中的每个句子进行提取关键词操作,并将其作为关键特征嵌入到原始句子匹配知识库中的相应句子里,得到训练所需的句子匹配知识库;
所述句子匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将句子匹配知识库中的句子与句子所对应的标准句子进行组合,构建正例,形式化为:(keys_sentence1,keys_sentence2,1);其中,keys_sentence1表示句子1;keys_sentence2表示句子2;1表示句子1和句子2的语义相匹配,是正例;
构建训练负例:选中一个句子s1,再从句子匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(keys_sentence1,keys_sentence2,0);其中,keys_sentence1表示句子s1;keys_sentence2表示句子s2;0表示句子s1和句子s2的语义不匹配,是负例;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据均包含三个维度,即keys_sentence1、keys_sentence2、0或1;
所述句子匹配模型构建完成后通过训练数据集进行句子匹配模型的训练与优化,具体如下:
构建损失函数:由预测层构建过程可知,ypred是经过卷积匹配机制处理后得到的匹配度计算结果,ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,采用均方对数损失作为损失函数,公式如下:
Figure FDA0004219770610000041
优化训练模型:使用Adam作为优化算法,除了其学习率设置为0.002外,Adam的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子匹配模型进行优化训练。
6.一种基于深度特征变维机制的智能语义匹配装置,其特征在于,该装置包括,
句子匹配知识库构建单元,用于使用爬虫程序,在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,作为原始相似句子知识库,再对原始相似句子知识库进行断字操作,最后向其嵌入关键特征,从而构建用于模型训练的句子匹配知识库;
训练数据集生成单元,用于根据句子匹配知识库中的句子来构建训练正例数据和训练负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;
句子匹配模型构建单元,用于通过嵌入层构建字词映射转换表、输入层、及字词向量映射层、构建深度特征变维编码层、通过卷积匹配层构建句子卷积匹配机制和构建预测层;句子匹配模型构建单元包括,
字词映射转换表构建子单元,用于对句子匹配知识库中的每个句子按嵌入的关键词和字符进行切分,并将每个字或词依次存入一个列表中,从而得到一个字词表,随后以数字1为起始,按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需要的字词映射转换表;其中,通过构建字词映射转换表,训练数据集中的每个字或词均被映射为唯一的数字标识;其后,再使用Word2Vec训练字词向量模型,得到各字或词的字词向量矩阵embedding_matrix;
输入层构建子单元,用于获取嵌入关键特征后的两个句子keys_sentence1、keys_sentence2,将其形式化为:(keys_sentence1,keys_sentence2);对于输入句子中的每个字或词按照字词映射转换表转化为相应的数字表示;
字词向量映射层子单元,用于加载字词映射转换表构建子单元训练所得的字词向量矩阵权重来初始化当前层的权重参数;针对输入句子keys_sentence1和keys_sentence2,得到其相应句子向量keys_sentence1_emd、keys_sentence2_emd;句子匹配知识库中每一个句子都可以通过字词向量映射的方式,将句子信息转化为向量形式;
深度特征变维编码层子单元,用于对字词向量映射层的输出进行三轮编码操作:其中第一轮使用一个双向长短期记忆网络BiLSTM对句子进行两次编码后,得到两个初级语义特征表示张量,接着对它们进行堆叠升维操作,使其合并为一个特征表示张量——升维语义特征表示张量,随后使用一个基于2*n卷积核的卷积神经网络层进行第二轮编码操作,得到两个卷积语义特征表示张量,对它们进行联接操作,然后进行第三轮编码操作,最终得到句子的最终语义特征表示张量;
卷积匹配机制构建子单元,用于将句子对的最终语义特征表示张量进行联接处理,随后进行卷积匹配操作,生成最终的匹配表征张量;
预测层子单元,用于对匹配表征向量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
句子匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
7.根据权利要求6所述的一种基于深度特征变维机制的智能语义匹配装置,其特征在于,所述句子匹配知识库构建单元包括,
数据爬取子单元,用于在网上公共问答平台爬取问题集,或者使用网上公开的句子匹配数据集,构建原始相似句子知识库;
爬取数据处理子单元,用于将原始相似句子知识库中的句子进行断字处理,从而构建用于模型训练的原始句子匹配知识库;
嵌入关键特征子单元:对原始相似句子知识库中的每个句子进行提取关键词操作,并将其作为关键特征嵌入到原始句子匹配知识库中的相应句子里,得到训练所需的句子匹配知识库;
所述训练数据集生成单元包括,
训练正例数据构建子单元,用于将句子匹配知识库中语义匹配的句子进行组合,并对其添加匹配标签1,构建为训练正例数据;
训练负例数据构建子单元,用于从句子匹配知识库中选取一个句子s1,再从句子匹配知识库中随机选择一个与句子s1语义不匹配的句子s2,将s1与s2进行组合,并对其添加匹配标签0,构建为训练负例数据;
训练数据集构建子单元,用于将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
所述句子匹配模型训练单元包括,
损失函数构建子单元,用于计算句子1和句子2间语义匹配度的误差;
优化训练模型子单元,用于训练并调整模型训练中的参数,从而减小句子匹配模型训练过程中预测的句子1与句子2的语义匹配程度与真实匹配标签之间的误差。
8.一种存储介质,其中存储有多条指令,其特征在于,所述指令有处理器加载,执行权利要求1-5任一所述的基于深度特征变维机制的智能语义匹配方法的步骤。
9.一种电子设备,其特征在于,所述电子设备包括:
权利要求8所述的存储介质;以及
处理器,用于执行所述存储介质中的指令。
CN202010103560.5A 2020-02-20 2020-02-20 一种基于深度特征变维机制的智能语义匹配方法和装置 Active CN111310439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010103560.5A CN111310439B (zh) 2020-02-20 2020-02-20 一种基于深度特征变维机制的智能语义匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010103560.5A CN111310439B (zh) 2020-02-20 2020-02-20 一种基于深度特征变维机制的智能语义匹配方法和装置

Publications (2)

Publication Number Publication Date
CN111310439A CN111310439A (zh) 2020-06-19
CN111310439B true CN111310439B (zh) 2023-06-27

Family

ID=71154941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010103560.5A Active CN111310439B (zh) 2020-02-20 2020-02-20 一种基于深度特征变维机制的智能语义匹配方法和装置

Country Status (1)

Country Link
CN (1) CN111310439B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112001166B (zh) * 2020-08-24 2023-10-17 齐鲁工业大学 面向政务咨询服务的智能问答句子对语义匹配方法和装置
CN112000772B (zh) * 2020-08-24 2022-09-06 齐鲁工业大学 面向智能问答基于语义特征立方体的句子对语义匹配方法
CN112101030B (zh) * 2020-08-24 2024-01-26 沈阳东软智能医疗科技研究院有限公司 建立术语映射模型、实现标准词映射的方法、装置及设备
CN112000770B (zh) * 2020-08-24 2023-10-24 齐鲁工业大学 面向智能问答的基于语义特征图的句子对语义匹配方法
CN112000771B (zh) * 2020-08-24 2023-10-24 齐鲁工业大学 一种面向司法公开服务的句子对智能语义匹配方法和装置
CN113065359B (zh) * 2021-04-07 2022-05-24 齐鲁工业大学 面向智能交互的句子对语义匹配方法和装置
CN113190602B (zh) * 2021-04-09 2022-03-25 桂林电子科技大学 融合字词特征与深度学习的事件联合抽取方法
CN114238563A (zh) * 2021-12-08 2022-03-25 齐鲁工业大学 基于多角度交互的中文句子对语义智能匹配方法和装置
CN116028596B (zh) * 2023-03-27 2023-08-18 云筑信息科技(成都)有限公司 一种实体匹配分块的实现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679250A (zh) * 2017-11-01 2018-02-09 浙江工业大学 一种基于深度自编码卷积神经网络的多任务分层图像检索方法
CN109326283A (zh) * 2018-11-23 2019-02-12 南京邮电大学 非平行文本条件下基于文本编码器的多对多语音转换方法
EP3483767A1 (en) * 2017-05-24 2019-05-15 Estsecurity Corp. Device for detecting variant malicious code on basis of neural network learning, method therefor, and computer-readable recording medium in which program for executing same method is recorded
CN110083692A (zh) * 2019-04-22 2019-08-02 齐鲁工业大学 一种金融知识问答的文本交互匹配方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3483767A1 (en) * 2017-05-24 2019-05-15 Estsecurity Corp. Device for detecting variant malicious code on basis of neural network learning, method therefor, and computer-readable recording medium in which program for executing same method is recorded
CN107679250A (zh) * 2017-11-01 2018-02-09 浙江工业大学 一种基于深度自编码卷积神经网络的多任务分层图像检索方法
CN109326283A (zh) * 2018-11-23 2019-02-12 南京邮电大学 非平行文本条件下基于文本编码器的多对多语音转换方法
CN110083692A (zh) * 2019-04-22 2019-08-02 齐鲁工业大学 一种金融知识问答的文本交互匹配方法及装置

Also Published As

Publication number Publication date
CN111310439A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111310439B (zh) 一种基于深度特征变维机制的智能语义匹配方法和装置
CN111310438B (zh) 基于多粒度融合模型的中文句子语义智能匹配方法及装置
CN111325028B (zh) 一种基于深度分层编码的智能语义匹配方法和装置
CN112131404B (zh) 一种四险一金领域知识图谱中实体对齐方法
WO2021204014A1 (zh) 一种模型训练的方法及相关装置
CN112000772B (zh) 面向智能问答基于语义特征立方体的句子对语义匹配方法
CN110032635A (zh) 一种基于深度特征融合神经网络的问题对匹配方法和装置
CN111985239A (zh) 实体识别方法、装置、电子设备及存储介质
CN108846138B (zh) 一种融合答案信息的问题分类模型构建方法、装置和介质
CN113065358B (zh) 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法
CN111339249B (zh) 一种联合多角度特征的深度智能文本匹配方法和装置
CN115495568B (zh) 一种对话模型的训练方法及装置、对话响应方法及装置
CN110390049B (zh) 一种面向软件开发问题的答案自动生成方法
CN107679225A (zh) 一种基于关键词的回复生成方法
CN112000770A (zh) 面向智能问答的基于语义特征图的句子对语义匹配方法
CN110084323A (zh) 端到端语义解析系统及训练方法
CN113705196A (zh) 基于图神经网络的中文开放信息抽取方法和装置
CN110826341A (zh) 一种基于seq2seq模型的语义相似度计算方法
CN114943216B (zh) 基于图注意力网络的案件微博属性级观点挖掘方法
CN116258147A (zh) 一种基于异构图卷积的多模态评论情感分析方法及系统
CN115422945A (zh) 一种融合情感挖掘的谣言检测方法及系统
CN113065359A (zh) 面向智能交互的句子对语义匹配方法和装置
CN112463988A (zh) 一种中国古典园林信息抽取方法
CN114547256B (zh) 面向消防安全知识智能问答的文本语义匹配方法和装置
CN117521674B (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: 250353 University Road, Changqing District, Ji'nan, Shandong Province, No. 3501

Patentee after: Qilu University of Technology (Shandong Academy of Sciences)

Address before: 250353 University Road, Changqing District, Ji'nan, Shandong Province, No. 3501

Patentee before: Qilu University of Technology

CP01 Change in the name or title of a patent holder
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20200619

Assignee: SHANDONG HOUDE CONTROL TECHNOLOGY CO.,LTD.

Assignor: Qilu University of Technology (Shandong Academy of Sciences)

Contract record no.: X2023980050918

Denomination of invention: An intelligent semantic matching method and device based on deep feature dimensionality changing mechanism

Granted publication date: 20230627

License type: Common License

Record date: 20231218

EE01 Entry into force of recordation of patent licensing contract