CN113065358A - 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 - Google Patents
面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 Download PDFInfo
- Publication number
- CN113065358A CN113065358A CN202110371079.9A CN202110371079A CN113065358A CN 113065358 A CN113065358 A CN 113065358A CN 202110371079 A CN202110371079 A CN 202110371079A CN 113065358 A CN113065358 A CN 113065358A
- Authority
- CN
- China
- Prior art keywords
- word
- text
- semantic
- granularity
- representation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,属于人工智能、自然语言处理技术领域。本发明要解决的技术问题为如何准确地判断一对文本的语义是否相同,采用的技术方案为:通过构建并训练由多粒度嵌入模块、多粒度对齐模块、特征融合编码模块以及标签预测模块构成的文本对语义匹配模型,获取不同文本间的字粒度、词粒度的相关性信息,并进一步得到文本在不同粒度上的最终语义表示,随后通过特征融合编码得到文本的深层语义信息表示,同时计算文本间相似度得到最终的文本对语义匹配张量,最后根据文本对语义匹配张量预测文本对的匹配程度,以达到判断文本对语义是否匹配的目标。
Description
技术领域
本发明涉及人工智能、自然语言处理技术领域,具体涉及一种面向银行咨询服务基于多粒度对齐的文本对语义匹配方法和装置。
背景技术
文本对语义匹配任务旨在判断两个文本的语义是否一致,是许多自然语言处理任务的基础。在银行客户在线咨询服务中,文本对语义匹配可以用来判断用户提出的问题与系统回复的语义是否匹配,即判断是否可用该回答回复用户;也可用来判断用户咨询的问题与系统中存储的问题语义是否一致,即是否可以用系统中存储的标准问题所对应的答案来回复用户的咨询。文本对语义匹配是一项极具挑战的工作,该问题目前还未能完善解决。
现有方法可以分为基于表示的方法和基于交互的方法。基于表示的方法分别对两个文本进行编码,抽取出深层语义信息,然后对两个文本的深层语义信息计算语义相似度;这种方法虽然可以通过设计编码器来捕获文本蕴含的语义信息,但是忽略了在编码过程中文本对相似性信息缺失的问题,并且因为缺乏交互操作,所以获取的交互信息有限。基于交互的方法则是在文本深层语义信息被抽取出来前执行交互操作,随着注意力机制的出现,很多工作都将注意力机制作为交互方法加入到文本匹配的框架中;然而,现有的方法往往侧重于词语粒度的交互,而忽视了字粒度的交互。有一些工作考虑分别在字粒度和词粒度级别上对文本进行编码,随后将同一文本的不同粒度上的编码进行融合,最后将融合后的信息进行复杂的交互操作;这些工作虽然考虑了多粒度,并且增加了复杂的交互操作,但是他们依然忽略了多粒度之间的交互,而且他们在不同粒度融合后,并没有考虑进一步编码以捕获更深层的语义信息。
发明内容
本发明的技术任务是提供面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,该方法是通过构建由多粒度嵌入模块、多粒度对齐模块、特征融合编码模块和标签预测模块组成的文本对语义匹配模型,以达到判断文本对语义是否匹配的目标;具体如下:
多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到文本的多粒度嵌入表示;
多粒度对齐模块对不同文本间的字和词粒度嵌入表示分别进行编码和软对齐操作,同时增强文本语义表示的质量,分别得到文本的字和词最终语义表示;
特征融合编码模块对文本的字和词最终语义表示进行融合,并对其进行编码得到文本的深层语义特征表示,根据相似度计算得到最终的文本对语义匹配张量;
标签预测模块对最终的文本对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断文本对的语义是否匹配。
作为优选,所述多粒度嵌入模块用于构建字词映射转换表、构建输入模块、构建字词向量映射层;
其中,构建字词映射转换表:映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成本发明所需的字词映射转换表;其中,字词表根据文本对语义匹配断字处理知识库和分词知识库构建,该知识库通过对文本对语义匹配知识库的原始数据进行断字和分词预处理操作而得;其后,再使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵;
构建输入模块:输入层包括四个输入,对于训练数据集中的每一个文本对或待预测的文本对,对其进行断字和分词预处理,分别获取text1_char、text2_char、text1_word和text2_word,其中后缀char、word分别表示对相应句子进行断字或分词处理而得;对于输入句子中的每个字或词都按照字词映射转换表转化为相应的数字标识;
构建字词向量映射层:加载构建字词映射转换表步骤中训练所得的字词向量矩阵来初始化当前层的权重参数;输入文本text1_char、text2_char、text1_word、text2_word,得到其相应向量text1_char_embed、text2_char_embed、text1_word_embed、text2_word_embed;文本对语义匹配知识库中每一个文本都可以通过字词向量映射的方式,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示。
更优地,所述多粒度对齐模块的构建过程具体如下:第一层编码结构使用LSTM对两个文本的字和词嵌入表示分别进行编码,得到字和词特征表示;随后将字和词嵌入表示与对应的字和词特征表示分别进行Concatenate合并得到字和词浅层语义表示,并将字和词浅层语义表示传递给第二层编码结构对于文本1,公式如下:
其中,[;]表示Concatenate合并操作,N为文本长度;和分别表示文本1在字粒度下的第i个位置处的字嵌入表示和字特征表示;和分别表示表示文本1在词粒度下第m个位置处的词嵌入表示和词特征表示;和分别表示文本1在字粒度下第i个位置的字浅层语义表示和在词粒度下第m个位置的词浅层语义表示;对于文本2,公式如下:
其中,各符号意义与公式(1)、(2)大致相同,不同的是,Q表示文本2,j表示文本2在字粒度下的第j个位置,n表示文本2在词粒度下的第n个位置;其余表示与此类比,即可明确意义,因篇幅有限不再一一赘述。
进一步地,第二层编码结构对于接收的两个文本的字浅层语义表示进行软对齐注意力机制,得到对齐的字浅层语义表示;对于接收的两个文本的词浅层语义表示进行软对齐注意力机制,得到对齐的词浅层语义表示;对于字粒度的软对齐注意力机制,公式如下:
其中,s1ij为在字粒度下文本1的第i个位置和文本2第j个位置的相似度权重,和的含义与公式(1)、(3)一致;为在字粒度下文本1在第i个位置处的对齐的字浅层语义表示,它是根据相似度权重对文本2中每个字的字浅层语义表示加权求和得到的,同理表示文本1在第j个位置处的对齐的字浅层语义表示;
对于词粒度的软对齐注意力机制,公式如下:
其中各符号含义与公式(5)-(7)大致相同,只是将上标c代表的字粒度改为上标w代表的词粒度;和分别表示在词粒度下文本1在第m个位置处的词浅层语义表示和对齐的词浅层语义表示,和分别表示在词粒度下文本2在第n个位置处的词浅层语义表示和对齐的词浅层语义表示;
进一步地,因为文本1得到的对齐的字或词浅层语义表示是从文本2的字或词浅层语义表示中获得的,所以本发明分别将文本1得到的对齐的字和词浅层语义表示与文本2的字和词浅层语义表示使用Add相加,分别作为文本2的字和词最终语义表示;同样的方法,分别得到文本1的字和词最终语义表示;公式如下:
其中,pc、qc、pw、qw分别表示文本1和文本2在字粒度上所有字浅层语义表示的集合,以及在词粒度上所有词浅层语义表示的集合;分别表示文本1和文本2在字粒度上所有对齐的字浅层语义表示的集合,以及词粒度上所有对齐的词浅层语义表示的集合;分别表示文本1和文本2在字粒度上的字最终语义表示,分别表示文本1和文本2在词粒度上的词最终语义表示。
更优地,所述特征融合编码模块的构建过程具体如下:
特征融合编码模块进一步处理多粒度对齐模块中生成的字和词最终语义表示,首先将每个文本的字和词最终语义表示使用Add相加进行融合,从而得到文本特征表示;随后使用LSTM对文本特征表示进行编码,得到文本编码结果,并将文本特征表示与文本编码结果使用Concatenate拼接后传递给BiLSTM进一步编码,从而得到文本的深层语义特征;公式如下:
pl=BiLSTM([p;LSTM(p)]), (14)
ql=BiLSTM([q;LSTM(q)]). (15)
进一步地,对文本1和文本2的深层语义特征,使用两种相似度计算公式计算文本语义相似度,并将两种公式的结果进行拼接,作为最终的文本对语义匹配张量;公式如下:
f=[|pl-ql|;pl⊙ql]. (16)
其中,[;]表示拼接操作,⊙表示按元素位置相乘,pl表示文本1的深层语义特征,ql表示文本2的深层语义特征,f为最终的文本对语义匹配张量。
更优地,所述标签预测模块构建过程如下:
将最终的文本对语义匹配张量将作为本模块的输入,其经过三层全连接网络处理,从而得到一个在[0,1]之间的匹配值,记为ypred,并与预先设置的阈值进行比较,若ypred大于等于阈值,则认为文本对语义是匹配的,反之则不匹配;当文本对语义匹配模型尚未充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,标签预测模块可预测目标文本对的语义是否匹配。
更优地,所述文本对语义匹配知识库构建具体如下:
下载网络上的数据集获取原始数据:下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据;
预处理原始数据:预处理用于构建文本对语义匹配知识库的原始数据,对原始数据的每个文本都进行断字和分词操作,得到文本对语义匹配断字处理知识库、分词处理知识库;
汇总子知识库:汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库;
所述文本对语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将语义一致的文本对用于构建训练正例;由于文本对语义匹配知识库包含两个子知识库,所以每一个正例文本对都有两种初始表示形式,将其合并得到最终的正例数据,标注为1;
构建训练负例:从训练正例数据中选出一个文本,并随机的从其他文本对中选出一个意图不一致的文本,将这两个文本构建成训练负例,标注为0;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的训练正例数据和训练负例数据进行合并,并打乱顺序,构建最终的训练数据集;对于训练数据集中的每个数据都包含五个维度,即text1_char,text2_char,text1_word,text2_word,0或1;
所述文本对语义匹配模型构建完成后通过训练数据集进行文本对语义匹配模型的训练与优化,具体如下:
构建损失函数:由标签预测模块构建过程可知,ypred是经过文本对语义匹配模型处理后得到的匹配值;而ytrue是两个文本语义是否匹配的真实标签;本发明采用了修正的二元交叉熵作为损失函数,公式如下:
λ(ytrue,ypred)=1-θ(ytrue-m)θ(ypred-m)-θ(1-m-ytrue)θ(1-m-ypred), (18)
其中θ(x)为单位阶跃函数,m为阈值,本发明将其设置为0.6,L表示修正后的交叉熵公式;
优化训练模型:选用Adam优化函数作为本模型的优化函数,超参数均选择Keras中的默认值设置;在训练数据集上,对文本对语义匹配模型进行优化训练。
面向银行咨询服务基于多粒度对齐的文本对语义匹配装置,该装置包括,
文本对语义匹配知识库构建单元,用于获取大量的文本对数据,随后对数据进行预处理,从而得到符合训练要求的文本对语义匹配知识库;
训练数据集生成单元,对于文本对语义匹配知识库中的文本对,若其语义一致,则该文本对用于构建训练正例,反之,则用于构建训练负例。将大量的正例数据和负例数据进行混合,得到训练数据集;
文本对语义匹配模型构建单元,用于构建字词映射转换表、输入模块、字词向量映射层、多粒度对齐模块、特征融合编码模块和标签预测模块;文本对语义匹配模型构建单元包括,字词映射转换表构建单元,负责对文本对语义匹配知识库中的每个文本按字和词粒度切分,并将字和词依次存入字词表中,随后从1开始,按照每个字和词进入字词表的顺序递增排序,从而得到本发明所需的字词映射转换表;其后,本发明使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵;
输入模块构建单元,负责加载字词映射转换表构建单元中的字词映射转换表,将文本对转化为数字标识;
字词向量映射层构建单元,负责加载字词映射转换表构建单元中的字词向量矩阵,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示;
多粒度对齐模块构建单元,负责对字和词嵌入表示进行编码,首先通过第一层编码结构对字和词嵌入表示分别进行编码,得到字和词浅层语义表示,将其传入第二层编码结构;第二层编码结构分别对两个文本的字和词浅层语义表示进行软对齐注意力机制,随后将得到的文本1对齐的字和词浅层语义表示分别与文本2的字和词浅层语义表示相加,分别作为文本2的字和词最终语义表示,使用同样的方法分别得到文本1的字和词最终语义表示;
特征融合编码模块构建单元,负责进一步处理字和词最终语义表示,通过对字和词最终语义表示进行合并得到文本的特征表示,随后对文本的特征表示使用LSTM和BiLSTM进行编码得到文本的深层语义特征,最后对两个文本的深层语义特征进行相似度计算得到最终的文本对语义匹配张量;
标签预测模块单元,负责对最终的文本对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断文本对的语义是否匹配;
文本对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
作为优选,所述文本对语义匹配知识库构建单元包括,
文本对数据获取单元,负责下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据;
原始数据断字和分词预处理单元,负责对原始数据的每个文本都进行断字和分词操作,从而构建得到文本对语义匹配断字处理知识库、分词处理知识库;
子知识库汇总单元,负责汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库;
所述训练数据集生成单元包括,
训练正例数据构建单元,负责将文本对语义匹配知识库中两个语义一致的文本与标签1构建为训练正例数据;
训练负例数据构建单元,负责从每个训练正例数据中挑选出一个文本,然后随机选一个与其语义不同的文本组合为文本对,与标签0构建为训练负例数据;
训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱顺序,从而构建最终的训练数据集;
所述文本对语义匹配模型训练单元包括,
损失函数构建单元,负责计算预测的匹配值与真实的匹配值之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
一种存储介质,其中存储有多条指令,所述指令有处理器加载,执行上述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法的步骤。
一种电子设备,所述电子设备包括:上述的存储介质;以及处理器,用于执行所述存储介质中的指令。
本发明的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法具有以下优点:
(一)本发明通过多粒度嵌入处理,可以从文本中抽取出字粒度和词粒度的嵌入表示,从而更加全面地捕获文本语义信息;
(二)本发明通过多粒度对齐模块,可以对字和词粒度嵌入表示进行特征抽取,得到字浅层语义表示和词浅层语义表示,使软对齐注意力机制捕获的文本相关性更加准确;可以捕获不同文本间字和词粒度嵌入表示的相关性信息,并进一步得到字和词最终语义表示,增强文本语义表示的质量,为判断文本间的相关性奠定基础;
(三)本发明通过特征融合编码模块,可以将同一文本的不同粒度的最终语义表示进行融合,并通过一系列编码得到文本的深层语义特征,最后通过相似度计算得到最终的文本对语义匹配张量;
(四)本发明通过标签预测模块,可以根据最终的文本对语义匹配张量,准确地判断文本对的语义匹配关系。
附图说明
下面结合附图对本发明进一步说明。
图1为面向银行咨询服务基于多粒度对齐的文本对语义匹配方法的流程图;
图2为构建文本对语义匹配知识库的流程图;
图3为构建训练数据集的流程图;
图4为构建文本对语义匹配模型的流程图;
图5为训练文本对语义匹配模型的流程图;
图6为面向银行咨询服务基于多粒度对齐的文本对语义匹配装置的结构示意图;
图7为多粒度对齐模块的结构示意图;
图8为面向银行咨询服务基于多粒度对齐的文本对语义匹配模型的框架示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法作以下详细地说明。
实施例1:
如附图8所示,本发明的主要框架结构包含多粒度嵌入模块、多粒度对齐模块、特征融合编码模块和标签预测模块。其中,多粒度嵌入模块对输入的文本以字粒度和词粒度进行嵌入操作,并将字和词嵌入表示传递给模型的多粒度对齐模块。多粒度对齐模块包含若干层编码结构,如图7所示,其中第一层编码结构对文本对的不同粒度嵌入表示分别使用长短时记忆网络LSTM编码,得到字和词特征表示,并将其与对应的字和词嵌入表示进行Concatenate拼接,以得到字和词浅层语义表示,同时传递给第二层编码结构;第二层编码结构对接收到的两个文本的字和词浅层语义表示进行软对齐注意力机制处理,得到对齐的字和词浅层语义表示,对于文本1得到的对齐的字和词浅层语义表示分别与文本2的字和词浅层语义表示使用Add相加,分别得到文本2的字和词最终语义表示,同样的方法分别得到文本1的字和词最终语义表示,同时将两个文本的字和词最终语义表示传递给特征融合编码模块。特征融合编码模块首先对同一文本的不同粒度使用Add相加进行融合,得到文本的特征表示,随后使用LSTM对文本的特征表示进行编码得到文本编码结果,并将文本特征表示与文本编码结果使用Concatenate拼接后传递给双向长短时记忆网络BiLSTM进一步编码,从而得到文本的深层语义特征,并通过相似度计算得到最终的文本对语义匹配张量,同时将其传递给标签预测模块。标签预测模块对接收到的最终的文本对语义匹配张量使用全连接层进行编码,从而得到匹配值。具体如下:
(1)本发明通过多粒度嵌入处理,可以从文本中抽取出字粒度和词粒度的嵌入表示,从而更加全面地捕获文本语义信息;
(2)本发明通过多粒度对齐模块,可以对字和词粒度嵌入表示进行特征抽取,得到字浅层语义表示和词浅层语义表示,使软对齐注意力机制捕获的文本相关性更加准确;可以捕获不同文本间字和词粒度嵌入表示的相关性信息,并进一步得到字和词最终语义表示,增强文本语义表示的质量,为判断文本间的相关性奠定基础;
(3)本发明通过特征融合编码模块,可以将同一文本的不同粒度的最终语义表示进行融合,并通过一系列编码得到文本的深层语义特征,最后通过相似度计算得到最终的文本对语义匹配张量;
(4)本发明通过标签预测模块,可以根据最终的文本对语义匹配张量,准确地判断文本对的语义匹配关系。
实施例2:
如附图1所示,面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,具体步骤如下:
S1、构建文本对语义匹配知识库,如附图2所示,具体步骤如下:
S101、下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据。
举例说明:网络上有许多公开的文本对相似度数据集,例如BQ数据集【Chen J,Chen Q,Liu X,et al.The BQ corpus:A large-scale domain-specific Chinese corpusfor sentence semantic equivalence identification[C]//Proceedings of the2018Conference on Empirical Methods in Natural Language Processing.2018:4946-4951.】。本发明收集这些数据,作为构建文本对语义匹配知识库的原始数据。
BQ数据集中的文本对示例,表示如下:
文本1 | 为什么借款不通过? |
文本2 | 为什么会申请失败? |
S102、预处理原始数据:预处理用于构建文本对语义匹配知识库的原始数据,对原始数据的每个文本都进行断字和分词操作,得到文本对语义匹配断字处理知识库、分词处理知识库。
对S101中每个文本进行断字预处理和分词预处理。断字操作的具体步骤为:在中文文本中每个字之间添加空格,并以空格为分隔符切分文本。分词操作的具体步骤为:使用结巴中文分词库,在精准模式下对每个文本进行切分。在此步骤中为保存语义信息,除了增加空格,没有进行其他处理。
举例:以S101中展示的文本1为例,对其进行断字操作后得到“为什么借款不通过?”;对其进行分词操作后得到“为什么借款不通过?”
S103、汇总子知识库:汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库。
将S102中获取的文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库汇总到同一目录下,从而得到文本对语义匹配知识库。其流程图如图2所示。这里需要注意的是,经过断字操作和分词操作得到的数据并没有合并到同一文件,即文本对语义匹配知识库实际上包含两个独立的子知识库。每个预处理后的文本均保留了其原始文本的序号。
S2、构建文本对语义匹配模型的训练数据集,对于文本对语义匹配知识库中的文本对,若其语义一致,则该文本对用于构建训练正例,反之,则用于构建训练负例。将大量的正例数据和负例数据进行混合,得到训练数据集;如附图3所示,具体步骤如下:
S201、构建训练正例数据:将语义一致的文本对用于构建训练正例。由于文本对语义匹配知识库包含两个子知识库,所以每一个正例文本对都有两种初始表示形式,即(text1_char,text2_char,1)和(text1_word,text2_word,1);将其合并得到最终的正例数据,将其形式化为(text1_char,text2_char,text1_word,text2_word,1);
其中,text1_char、text2_char分别表示文本对语义匹配断字处理知识库中的文本1、文本2,text1_word、text2_word分别表示文本对语义匹配分词处理知识库中的文本1和文本2,1则表示文本对语义一致,为训练正例数据。
举例:对步骤S101中展示的文本1和文本2,构建的正例数据形式为:
(“为什么借款不通过?”,“为什么会申请失败?”,“为什么借款不通过?”,“为什么会申请失败?”,1)。
S202、构建训练负例:对于步骤S201所得到的每个正例文本对,选中某一个文本,随机选择与其语义不一致的文本进行组合;将这两个文本作为文本对构建为训练负例。采用与步骤S201类似的方法,负例数据可形式化为:(text1_char,text2_char,text1_word,text2_word,0)。各符号与步骤S201中相同,其中0表示文本对语义不一致,为训练负例数据;
举例:以一个语义不一致的文本对“文本1:利息费用是多少?文本2:利息有点贵。”为例,构建的负例数据形式化为:
(“利息费用是多少?”,“利息有点贵。”,“利息费用是多少?”,“利息有点贵。”)。
S203、构建训练数据集:将步骤S201得到的全部训练正例数据和步骤S202得到的全部训练负例数据,合并在一起,打乱顺序后构建最终的训练数据集。对于训练数据集中的每个数据都包含五个维度,即text1_char,text2_char,text1_word,text2_word,0或1。
S3、构建文本对语义匹配模型:构建文本对语义匹配模型的流程如图4所示,主要操作为构建字词映射转换表、构建输入模块、构建字词向量映射层、构建多粒度对齐模块、构建特征融合编码模块、构建标签预测模块。其中,构建字词映射转换表、构建输入模块、构建字词向量映射层对应图8中的多粒度嵌入模块,其余部分均与图8中的各个模块一一对应。具体步骤如下:
S301、构建字词映射转换表:字词表是通过步骤S102处理后得到的文本对语义匹配断字处理知识库和分词知识库来构建的。字词表构建完成后,表中每个字或词均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成本发明所需的字词映射转换表。
举例:以步骤S102处理后的内容,,“为什么借款不通过?”,“为什么借款不通过?”构建字词表及字词映射转换表如下:
字词 | 为 | 什 | 么 | 借 | 款 | 不 | 通 | 过 | ? | 为什么 | 借款 |
映射 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
字词 | 通过 | ||||||||||
映射 | 12 |
其后,本发明使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵embedding_matrix。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
w2v_model=genism.models.Word2Vec(w2v_corpus,size=EMBDIM,window=5,min_count=1,sg=1,workers=4,seed=1234,iter=25)
embedding_matrix=numpy.zeros([len(tokenizer.word_index)+1,EMBDIM])
tokenizer=Tokenizer(num_words=len(word_set))
for word,idx in tokenizer.word_index.items():
embedding_matrix[idx,:]=w2v_model.wv[word]
其中,w2v_corpus为文本语义匹配知识库中的所有文本;EMBDIM为向量维度,本模型设置EMBDIM为300,word_set为字词表。
S302、输入模块中包括四个输入。对于训练数据集中的每一个文本对或待预测的文本对,利用步骤S1和步骤S2中的相应模块对其进行预处理,分别获取text1_char、text2_char、text1_word和text2_word,将其形式化为:(text1_char,text2_char,text1_word,text2_word);对于输入文本中的每个字和词,本发明都按照在步骤S301中构建完成的字词映射转换表将其转化为相应的数字标识。
举例:以步骤S201中展示的文本对作为样例,以此组成一条输入数据。其结果如下所示:
(“为什么借款不通过?”,“为什么会申请失败?”,“为什么借款不通过?”,“为什么会申请失败?”)。
其后,本发明使用Word2Vec训练词向量模型,得到各词的词向量矩阵word_embedding_matrix。
每条输入数据包含4个文本。根据步骤S301中的字词映射转换表,将其转换为数值表示。(假定出现在文本2中但没有出现在文本1中的映射关系为:“会”:13,“申”:14,“请”:15,“失”:16,“败”:17,“申请”:18,“失败”:19)。输入数据的4个子句,合并表示结果如下:
(“1,2,3,4,5,6,7,8,9”,“1,2,3,13,14,15,16,17,9”,“10,11,6,12,9”,“10,13,18,19,9”)。
S303、构建字词向量映射层:通过加载构步骤S301中训练所得的字词向量矩阵来初始化当前层的权重参数;针对输入文本text1_char、text2_char、text1_word、text2_word,得到其相应向量text1_char_embed、text2_char_embed、text1_word_embed、text2_word_embed。文本对语义匹配知识库中每一个文本都可以通过字词向量映射的方式,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
embedding_layer=Embedding(embedding_matrix.shape[0],EMBDIM,weights=[embedding_matrix],trainable=False)
其中,embedding_matrix是步骤S301中训练所得的字词向量矩阵,embedding_matrix.shape[0]是字词向量矩阵的字词表的大小,EMBDIM是输出的向量维度。
相应的文本text1_char、text2_char、text1_word、text2_word,经过Keras的Embedding层处理后得到相应的文本向量text1_char_embed、text2_char_embed、text1_word_embed、text2_word_embed。
S304、构建多粒度对齐模块:多粒度对齐模块的结构图如图7所示,该模块接收字词向量映射层输出的字和词嵌入表示作为输入;通过第一层编码结构对字和词嵌入表示分别进行编码,得到字和词浅层语义表示,将其传入第二层编码结构;第二层编码结构对两个文本的字浅层语义表示进行软对齐注意力机制,对词浅层语义表示进行软对齐注意力机制,随后将得到的文本1对齐的字和词浅层语义表示分别与文本2的字和词浅层语义表示相加,分别作为文本2的字和词最终语义表示,使用同样的方法分别得到文本1的字和词最终语义表示。
具体来说,第一层编码结构使用LSTM对两个文本的字和词嵌入表示分别进行编码,得到字和词特征表示;随后将字和词嵌入表示与对应的字和词特征表示分别进行Concatenate合并得到字和词浅层语义表示,并将字和词浅层语义表示传递给第二层编码结构。对于文本1,具体实施见下述公式。
其中,[;]表示Concatenate合并操作,N为文本长度;和分别表示文本1在字粒度下的第i个位置处的字嵌入表示和字特征表示;和分别表示表示文本1在词粒度下第m个位置处的词嵌入表示和词特征表示;和分别表示文本1在字粒度下第i个位置的字浅层语义表示和在词粒度下第m个位置的词浅层语义表示;对于文本2,公式如下:
其中,各符号意义与公式(1)、(2)大致相同,不同的是,Q表示文本2,j表示文本2在字粒度下的第j个位置,n表示文本2在词粒度下的第n个位置;其余表示与此类比,即可明确意义,因篇幅有限不再一一赘述;
举例说明:在Keras中,对于上面描述的代码实现如下所示:
w_embedding=embedding_layer(w_input)
c_embedding=embedding_layer(c_input)
w_l=LSTM(300,return_sequences=True,dropout=0.5)(w_embedding)
c_l=LSTM(300,return_sequences=True,dropout=0.5)(c_embedding)
w=Concatenate()([w_embedding,w_l])
c=Concatenate()([c_embedding,c_l])
其中,w_input为词粒度下文本的输入,c_input为字粒度下文本的输入。
进一步地,第二层编码结构对于接收的两个文本的字浅层语义表示进行软对齐注意力机制,得到对齐的字浅层语义表示;对于接收的两个文本的词浅层语义表示进行软对齐注意力机制,得到对齐的词浅层语义表示。对于字粒度的软对齐注意力机制,具体实施见下述公式。
其中,s1ij为在字粒度下文本1的第i个位置和文本2第j个位置的相似度权重,和的含义与公式(1)、(3)一致;为在字粒度下文本1在第i个位置处的对齐的字浅层语义表示,它是根据相似度权重对文本2中每个字的字浅层语义表示加权求和得到的,同理表示文本1在第j个位置处的对齐的字浅层语义表示。
对于词粒度的软对齐注意力机制,公式如下:
其中各符号含义与公式(5)-(7)大致相同,只是将上标c代表的字粒度改为上标w代表的词粒度;和分别表示在词粒度下文本1在第m个位置处的词浅层语义表示和对齐的词浅层语义表示,和分别表示在词粒度下文本2在第n个位置处的词浅层语义表示和对齐的词浅层语义表示;
进一步地,因为文本1得到的对齐的字或词浅层语义表示是从文本2的字或词浅层语义表示中获得的,所以本发明分别将文本1得到的对齐的字和词浅层语义表示与文本2的字和词浅层语义表示使用Add相加,分别作为文本2的和词最终语义表示;同样的方法,分别得到文本1的字和词最终语义表示。具体实施见下述公式。
其中,pc、qc、pw、qw分别表示文本1和文本2在字粒度上所有字浅层语义表示的集合,以及在词粒度上所有词浅层语义表示的集合;分别表示文本1和文本2在字粒度上所有对齐的字浅层语义表示的集合,以及词粒度上所有对齐的词浅层语义表示的集合;分别表示文本1和文本2在字粒度上的字最终语义表示,分别表示文本1和文本2在词粒度上的词最终语义表示。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
其中input_1和input_2是两个文本在同一粒度下的浅层语义表示,即若在字粒度下,则表示两个文本的字浅层语义表示,若在词粒度下,则表示两个文本的词浅层语义表示。
S305、构建特征融合编码模块:特征融合编码模块进一步处理步骤S304中生成的字和词最终语义表示,通过对字和词最终语义表示使用加法进行融合得到文本特征表示,随后对文本特征表示使用LSTM和BiLSTM进行编码得到文本的深层语义特征表示,最后对两个文本的深层语义特征表示进行相似度计算得到最终的文本对语义匹配张量;具体步骤如下:
首先将每个文本的字和词最终语义表示使用Add相加进行融合,从而得到文本特征表示。随后使用LSTM对文本特征表示进行编码,得到文本编码结果,并将文本特征表示与文本编码结果使用Concatenate拼接后传递给BiLSTM进一步编码,从而得到文本的深层语义特征。具体实施见下述公式。
pl=BiLSTM([p;LSTM(p)]), (14)
ql=BiLSTM([q;LSTM(q)]). (15)
举例说明:在Keras中,对于上面描述的代码实现如下所示:
p_a=Add()([pw_s,pc_s])
q_a=Add()([qw_s,qc_s])
pl1=LSTM(300,return_sequences=True,dropout=0.5)(p_a)
ql1=LSTM(300,return_sequences=True,dropout=0.5)(q_a)
pl=Bidirectional(LSTM(300,return_sequences=True,dropout=0.5),merge_mode='sum')(Concatenate()([p_a,pl1]))
ql=Bidirectional(LSTM(300,return_sequences=True,dropout=0.5),merge_mode='sum')(Concatenate()([q_a,ql1]))
其中,pc_s,pw_s分别是文本1的字最终语义表示和词最终语义表示,即公式(13)中的和qc_s,qw_s分别是文本2的字最终语义表示和词最终语义表示,即公式(13)中的和p_a,q_a分别是文本1和文本2的文本特征表示;pl1,ql1分别是文本1和文本2的文本编码结果;pl,ql分别是文本1和文本2的深层语义特征。
进一步地,对文本1和文本2的深层语义特征,使用两种相似度计算公式计算文本语义相似度,并将两种公式的结果进行拼接,作为最终的文本对语义匹配张量,具体实施见下述公式。
f=[|pl-ql|;pl⊙ql]. (16)
其中,[;]表示拼接操作,⊙表示按元素位置相乘,pl表示文本1的深层语义特征,ql表示文本2的深层语义特征,f为最终的文本对语义匹配张量。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
abs_diff=Lambda(lambda x:K.abs(x[0]-x[1]))([pl,ql])
multi_diff=Multiply([pl,ql])
all_diff=Concatenate([abs_diff,multi_diff])
其中,pl和ql分别是文本1和文本2的深层语义特征;all_diff为最终的文本对语义匹配张量。
S306、构建标签预测模块:本模块的输入为步骤S305中得到的最终的文本对语义匹配张量,通过三层全连接网络处理,从而得到一个在[0,1]之间的匹配值,记为,并与预先设置的阈值进行比较,若大于等于阈值,则认为文本对语义是匹配的,反之则不匹配。在三层全连接网络中,前两层激活函数为ReLU函数,输出维度为600,最后一层激活函数为Sigmoid函数,输出维度为1。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
all_diff=Dropout(0.5)(all_diff)
similarity=Dense(600)(all_diff)
similarity=BatchNormalization()(similarity)
similarity=Activation('relu')(similarity)
similarity=Flatten()(similarity)
similarity=Dense(600)(similarity)
similarity=Dropout(0.5)(similarity)
similarity=Activation('relu')(similarity)
similarity=Dense(1)(similarity)
similarity=BatchNormalization()(similarity)
similarity=Activation('sigmoid')(similarity)
其中,all_diff为步骤S305中所得到的最终的文本对语义匹配张量。
当本发明所提出的文本对语义匹配模型尚未进行训练,需要进一步执行步骤S4进行训练,以优化模型参数;当该模型训练完毕时,由步骤S306可预测目标文本对的语义是否匹配。
S4、训练文本对语义匹配模型:将步骤S3构建的文本对语义匹配模型在步骤S2所得的训练数据集上进行训练。如图5所示,具体如下:
S401、构建损失函数:由步骤S306可知,ypred是经过文本对语义匹配模型处理后得到的匹配值;而ytrue是两个文本语义是否匹配的真实标签。本发明采用了修正的二元交叉熵作为损失函数,公式如下所示:
λ(ytrue,ypred)=1-θ(ytrue-m)θ(ypred-m)-θ(1-m-ytrue)θ(1-m-ypred), (18)
其中θ(x)为单位阶跃函数,m为阈值,本发明将其设置为0.6,L表示修正后的交叉熵公式;
举例说明:在Keras中,对于上面描述的代码实现如下所示:
m=0.6
theta=lambda t:(K.sign(t)+1.)/2.
Loss=-(1-theta(y_true-m)*theta(y_pred-m)-theta(1-m-y_true)*theta(1-m-y_pred))*(y_true*K.log(y_pred+1e-8)+(1y_true)*K.log(1-y_pred+1e-8))
S402、构建优化函数:本模型经过对多种优化函数进行测试,最终选用Adam优化函数作为本模型的优化函数,超参数均选择Keras中的默认值设置;
举例说明:上面描述的优化函数及其设置在Keras中使用代码表示为:
optim=Keras.optimizers.Aadm()
本发明的模型在BQ数据集上取得了优于当前先进模型的结果,实验结果的对比具体见下表。
本发明模型和现有模型进行了比较,实验结果显示本发明方法有了很大的提升。其中,前五行是现有技术的模型的实验结果【Lu W,Zhang X,Lu H,et al.Deephierarchical encoding model for sentence semantic matching[J].Journal ofVisual Communication and Image Representation,2020:102794.】,最后一行是本发明模型的实验结果,由此可知本发明比现有模型有了较大提升。
实施例3:
如附图6所示,基于实施例2的面向银行咨询服务基于多粒度对齐的文本对语义匹配装置,该装置包括,
文本对语义匹配知识库构建单元,用于获取大量的文本对数据,随后对数据进行预处理,从而得到符合训练要求的文本对语义匹配知识库;文本对语义匹配知识库构建单元包括,
文本对数据获取单元,负责下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据。
原始数据断字和分词预处理单元,负责对原始数据的每个文本都进行断字和分词操作,从而构建得到文本对语义匹配断字处理知识库、分词处理知识库。
子知识库汇总单元,负责汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库。
训练数据集生成单元,对于文本对语义匹配知识库中的文本对,若其语义一致,则该文本对用于构建训练正例,反之,则用于构建训练负例。将大量的正例数据和负例数据进行混合,得到训练数据集;训练数据集生成单元包括,
训练正例数据构建单元,负责将文本对语义匹配知识库中两个语义一致的文本与标签1构建为训练正例数据;
训练负例数据构建单元,负责从每个训练正例数据中挑选出一个文本,然后随机选一个与其语义不同的文本组合为文本对,与标签0构建为训练负例数据。
训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱顺序,从而构建最终的训练数据集。
字词映射转换表构建单元,负责对文本对语义匹配知识库中的每个文本按字和词粒度切分,并将字和词依次存入字词表中,随后从1开始,按照每个字和词进入字词表的顺序递增排序,从而得到本发明所需的字词映射转换表。其后,本发明使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵。
输入模块构建单元,负责加载字词映射转换表构建单元中的字词映射转换表,将文本对转化为数字标识。
字词向量映射层构建单元,负责加载字词映射转换表构建单元中的字词向量矩阵,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示。
多粒度对齐模块构建单元,负责对字和词嵌入表示进行编码,首先通过第一层编码结构对字和词嵌入表示分别进行编码,得到字和词浅层语义表示,将其传入第二层编码结构;第二层编码结构分别对两个文本的字和词浅层语义表示进行软对齐注意力机制,随后将得到的文本1对齐的字和词浅层语义表示分别与文本2的字和词浅层语义表示相加,分别作为文本2的字和词最终语义表示,使用同样的方法分别得到文本1的字和词最终语义表示。
特征融合编码模块构建单元,负责进一步处理字和词最终语义表示,通过对字和词最终语义表示进行合并得到文本的特征表示,随后对文本的特征表示使用LSTM和BiLSTM进行编码得到文本的深层语义特征,最后对两个文本的深层语义特征进行相似度计算得到最终的文本对语义匹配张量。
标签预测模块单元,负责对最终的文本对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断文本对的语义是否匹配。
文本对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数与优化函数,并完成模型的训练;文本对语义匹配模型训练单元包括,损失函数构建单元,负责计算预测的匹配值与真实的匹配值之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差;
实施例4:
基于实施例2的存储介质,其中存储有多条指令,指令有处理器加载,执行实施例2的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法的步骤。
实施例5:
基于实施例4的电子设备,电子设备包括:实施例4的存储介质;以及
处理器,用于执行实施例4的存储介质中的指令。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,该方法是通过构建并训练由多粒度嵌入模块、多粒度对齐模块、特征融合编码模块以及标签预测模块构成的文本对语义匹配模型,获取不同文本间的字和词粒度的相关性信息,并进一步得到文本在不同粒度上的最终语义表示,随后通过特征融合编码得到文本的深层语义信息表示,同时计算文本间相似度得到最终的文本对语义匹配张量,最后根据文本对语义匹配张量预测文本对的匹配程度,以达到判断文本对语义是否匹配的目标;具体如下:
多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到文本的多粒度嵌入表示;
多粒度对齐模块对不同文本间的字和词粒度嵌入表示分别进行编码和软对齐操作,同时增强文本语义表示的质量,分别得到文本的字和词最终语义表示;
特征融合编码模块对文本的字和词最终语义表示进行融合,并对其进行编码得到文本的深层语义特征表示,根据相似度计算得到最终的文本对语义匹配张量;
标签预测模块对最终的文本对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断文本对的语义是否匹配。
2.根据权利要求1所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,所述多粒度嵌入模块用于构建字词映射转换表、构建输入模块、构建字词向量映射层;
其中,构建字词映射转换表:映射规则为:以数字1为起始,随后按照每个字或词被录入字词表的顺序依次递增排序,从而形成所需的字词映射转换表;其后,使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵;
构建输入模块:输入层包括四个输入,对于训练数据集中的每一个文本对或待预测的文本对,对其进行断字和分词预处理,分别获取text1_char、text2_char、text1_word和text2_word,其中后缀char、word分别表示对相应文本进行断字或分词处理而得;对于输入文本中的每个字或词都按照字词映射转换表转化为相应的数字标识;
构建字词向量映射层:加载构建字词映射转换表步骤中训练所得的字词向量矩阵来初始化当前层的权重参数;输入文本text1_char、text2_char、text1_word、text2_word,得到其相应向量text1_char_embed、text2_char_embed、text1_word_embed、text2_word_embed;文本对语义匹配知识库中每一个文本都可以通过字词向量映射的方式,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示。
3.根据权利要求1或2所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,所述多粒度对齐模块的构建过程具体如下:
第一层编码结构使用LSTM对两个文本的字和词嵌入表示分别进行编码,得到字和词特征表示;随后将字和词嵌入表示与对应的字和词特征表示分别进行Concatenate合并得到字和词浅层语义表示,并将字和词浅层语义表示传递给第二层编码结构;对于文本1,公式如下:
其中,[;]表示Concatenate合并操作,N为文本长度;和分别表示文本1在字粒度下的第i个位置处的字嵌入表示和字特征表示;和分别表示表示文本1在词粒度下第m个位置处的词嵌入表示和词特征表示;和分别表示文本1在字粒度下第i个位置的字浅层语义表示和在词粒度下第m个位置的词浅层语义表示;对于文本2,公式如下:
其中,各符号意义与公式(1)、(2)大致相同,不同的是,Q表示文本2,j表示文本2在字粒度下的第j个位置,n表示文本2在词粒度下的第n个位置;其余表示与此类比,即可明确意义,不再一一赘述;
进一步地,第二层编码结构对于接收的两个文本的字浅层语义表示进行软对齐注意力机制,得到对齐的字浅层语义表示;对于接收的两个文本的词浅层语义表示进行软对齐注意力机制,得到对齐的词浅层语义表示;对于字粒度的软对齐注意力机制,公式如下:
其中,s1ij为在字粒度下文本1的第i个位置和文本2第j个位置的相似度权重,和的含义与公式(1)、(3)一致;为在字粒度下文本1在第i个位置处的对齐的字浅层语义表示,它是根据相似度权重对文本2中每个字的字浅层语义表示加权求和得到的,同理表示文本1在第j个位置处的对齐的字浅层语义表示;
对于词粒度的软对齐注意力机制,公式如下:
其中各符号含义与公式(5)-(7)大致相同,只是将上标c代表的字粒度改为上标w代表的词粒度;和分别表示在词粒度下文本1在第m个位置处的词浅层语义表示和对齐的词浅层语义表示,和分别表示在词粒度下文本2在第n个位置处的词浅层语义表示和对齐的词浅层语义表示;
进一步地,因为文本1得到的对齐的字或词浅层语义表示是从文本2的字或词浅层语义表示中获得的,所以分别将文本1得到的对齐的字和词浅层语义表示与文本2的字和词浅层语义表示使用Add相加,分别作为文本2的字和词最终语义表示;同样的方法,分别得到文本1的字和词最终语义表示;公式如下:
4.根据权利要求1或3所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,所述特征融合编码模块的构建过程具体如下:
特征融合编码模块进一步处理多粒度对齐模块中生成的字和词最终语义表示,首先将每个文本的字和词最终语义表示使用Add相加进行融合,从而得到文本特征表示;随后使用LSTM对文本特征表示进行编码,得到文本编码结果,并将文本特征表示与文本编码结果使用Concatenate拼接后传递给BiLSTM进一步编码,从而得到文本的深层语义特征;公式如下:
pl=BiLSTM([p;LSTM(p)]), (14)
ql=BiLSTM([q;LSTM(q)]). (15)
进一步地,对文本1和文本2的深层语义特征,使用两种相似度计算公式计算文本语义相似度,并将两种公式的结果进行拼接,作为最终的文本对语义匹配张量;公式如下:
f=[|pl-ql|;pl⊙ql]. (16)
其中,[;]表示拼接操作,⊙表示按元素位置相乘,pl表示文本1的深层语义特征,ql表示文本2的深层语义特征,f为最终的文本对语义匹配张量。
5.根据权利要求4所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,所述标签预测模块构建过程如下:
将最终的文本对语义匹配张量将作为本模块的输入,其经过三层全连接网络处理,从而得到一个在[0,1]之间的匹配值,记为ypred,并与预先设置的阈值进行比较,若ypred大于等于阈值,则认为文本对语义是匹配的,反之则不匹配;当文本对语义匹配模型尚未充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,标签预测模块可预测目标文本对的语义是否匹配。
6.根据权利要求5所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法,其特征在于,所述文本对语义匹配知识库构建具体如下:
下载网络上的数据集获取原始数据:下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据;
预处理原始数据:预处理用于构建文本对语义匹配知识库的原始数据,对原始数据的每个文本都进行断字和分词操作,得到文本对语义匹配断字处理知识库、分词处理知识库;
汇总子知识库:汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库;
所述文本对语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将语义一致的文本对用于构建训练正例;由于文本对语义匹配知识库包含两个子知识库,所以每一个正例文本对都有两种初始表示形式,将其合并得到最终的正例数据,标注为1;
构建训练负例:从训练正例数据中选出一个文本,并随机的从其他文本对中选出一个意图不一致的文本,将这两个文本构建成训练负例,标注为0;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的训练正例数据和训练负例数据进行合并,并打乱顺序,构建最终的训练数据集;对于训练数据集中的每个数据都包含五个维度,即text1_char,text2_char,text1_word,text2_word,0或1;
所述文本对语义匹配模型构建完成后通过训练数据集进行文本对语义匹配模型的训练与优化,具体如下:
构建损失函数:由标签预测模块构建过程可知,ypred是经过文本对语义匹配模型处理后得到的匹配值,ytrue是两个文本语义是否匹配的真实标签;采用修正的二元交叉熵作为损失函数,公式如下:
λ(ytrue,ypred)=1-θ(ytrue-m)θ(ypred-m)-θ(1-m-ytrue)θ(1-m-ypred), (18)
其中θ(x)为单位阶跃函数,m为阈值,此处将其设置为0.6,L表示修正后的交叉熵公式;
优化训练模型:选用Adam优化函数作为本模型的优化函数,超参数均选择Keras中的默认值设置;在训练数据集上,对文本对语义匹配模型进行优化训练。
7.面向银行咨询服务基于多粒度对齐的文本对语义匹配装置,其特征在于,该装置包括,
文本对语义匹配知识库构建单元,用于获取大量的文本对数据,随后对数据进行预处理,从而得到符合训练要求的文本对语义匹配知识库;
训练数据集生成单元,对于文本对语义匹配知识库中的文本对,若其语义一致,则该文本对用于构建训练正例,反之,则用于构建训练负例;将大量的正例数据和负例数据进行混合,得到训练数据集;
文本对语义匹配模型构建单元,用于构建字词映射转换表、输入模块、字词向量映射层、多粒度对齐模块、特征融合编码模块和标签预测模块;文本对语义匹配模型构建单元包括,字词映射转换表构建单元,负责对文本对语义匹配知识库中的每个文本按字和词粒度切分,并将字和词依次存入字词表中,随后从1开始,按照每个字和词进入字词表的顺序递增排序,从而得到所需的字词映射转换表;其后,使用Word2Vec训练字词向量模型,得到各字词的字词向量矩阵;
输入模块构建单元,负责加载字词映射转换表构建单元中的字词映射转换表,将文本对转化为数字标识;
字词向量映射层构建单元,负责加载字词映射转换表构建单元中的字词向量矩阵,将文本信息转化为向量形式,即字嵌入表示和词嵌入表示;
多粒度对齐模块构建单元,负责对字和词嵌入表示进行编码,首先通过第一层编码结构对字和词嵌入表示分别进行编码,得到字和词浅层语义表示,将其传入第二层编码结构;第二层编码结构分别对两个文本的字和词浅层语义表示进行软对齐注意力机制,随后将得到的文本1对齐的字和词浅层语义表示分别与文本2的字和词浅层语义表示相加,分别作为文本2的字和词最终语义表示,使用同样的方法分别得到文本1的字和词最终语义表示;
特征融合编码模块构建单元,负责进一步处理字和词最终语义表示,通过对字和词最终语义表示进行合并得到文本的特征表示,随后对文本的特征表示使用LSTM和BiLSTM进行编码得到文本的深层语义特征,最后对两个文本的深层语义特征进行相似度计算得到最终的文本对语义匹配张量;
标签预测模块单元,负责对最终的文本对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断文本对的语义是否匹配;
文本对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
8.根据权利要求7所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配装置,其特征在于,所述文本对语义匹配知识库构建单元包括,
文本对数据获取单元,负责下载网络上已经公开的语义相似度数据集或人工构建数据集,将其作为构建文本对语义匹配知识库的原始数据;
原始数据断字和分词预处理单元,负责对原始数据的每个文本都进行断字和分词操作,从而构建得到文本对语义匹配断字处理知识库、分词处理知识库;
子知识库汇总单元,负责汇总文本对语义匹配断字处理知识库和文本对语义匹配分词处理知识库,构建文本对语义匹配知识库;
所述训练数据集生成单元包括,
训练正例数据构建单元,负责将文本对语义匹配知识库中两个语义一致的文本与标签1构建为训练正例数据;
训练负例数据构建单元,负责从每个训练正例数据中挑选出一个文本,然后随机选一个与其语义不同的文本组合为文本对,与标签0构建为训练负例数据;
训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱顺序,从而构建最终的训练数据集;
所述文本对语义匹配模型训练单元包括,
损失函数构建单元,负责计算预测的匹配值与真实的匹配值之间的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
9.一种存储介质,其中存储有多条指令,其特征在于,所述指令有处理器加载,执行权利要求1-6中所述的面向银行咨询服务基于多粒度对齐的文本对语义匹配方法的步骤。
10.一种电子设备,其特征在于,所述电子设备包括:权利要求9所述的存储介质;以及处理器,用于执行所述存储介质中的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110371079.9A CN113065358B (zh) | 2021-04-07 | 2021-04-07 | 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110371079.9A CN113065358B (zh) | 2021-04-07 | 2021-04-07 | 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113065358A true CN113065358A (zh) | 2021-07-02 |
CN113065358B CN113065358B (zh) | 2022-05-24 |
Family
ID=76565850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110371079.9A Active CN113065358B (zh) | 2021-04-07 | 2021-04-07 | 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113065358B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569014A (zh) * | 2021-08-11 | 2021-10-29 | 国家电网有限公司 | 基于多粒度文本语义信息的运维项目管理方法 |
CN113705242A (zh) * | 2021-08-27 | 2021-11-26 | 齐鲁工业大学 | 面向教育咨询服务的智能语义匹配方法和装置 |
CN113705241A (zh) * | 2021-08-27 | 2021-11-26 | 齐鲁工业大学 | 面向高考咨询基于多视角注意力的智能语义匹配方法与装置 |
CN113779978A (zh) * | 2021-09-26 | 2021-12-10 | 上海一者信息科技有限公司 | 一种无监督跨语言句对齐实现方法 |
CN114547256A (zh) * | 2022-04-01 | 2022-05-27 | 齐鲁工业大学 | 面向消防安全知识智能问答的文本语义匹配方法和装置 |
CN115600583A (zh) * | 2022-08-09 | 2023-01-13 | 中国搜索信息科技股份有限公司(Cn) | 一种字词多粒度混合的中文语言模型预训练方法 |
CN113779978B (zh) * | 2021-09-26 | 2024-05-24 | 上海一者信息科技有限公司 | 一种无监督跨语言句对齐实现方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765240A (zh) * | 2019-10-31 | 2020-02-07 | 中国科学技术大学 | 多相关句子对的语义匹配评估方法 |
CN111310438A (zh) * | 2020-02-20 | 2020-06-19 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN111611810A (zh) * | 2020-05-29 | 2020-09-01 | 河北数云堂智能科技有限公司 | 一种多音字读音消歧装置及方法 |
CN111626062A (zh) * | 2020-05-29 | 2020-09-04 | 苏州思必驰信息科技有限公司 | 文本语义编码方法及系统 |
CN112000770A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向智能问答的基于语义特征图的句子对语义匹配方法 |
CN112000772A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向智能问答基于语义特征立方体的句子对语义匹配方法 |
CN112001166A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向政务咨询服务的智能问答句子对语义匹配方法和装置 |
CN112000771A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 一种面向司法公开服务的句子对智能语义匹配方法和装置 |
CN112463924A (zh) * | 2020-11-27 | 2021-03-09 | 齐鲁工业大学 | 面向智能问答基于内部相关性编码的文本意图匹配方法 |
CN112541364A (zh) * | 2020-12-03 | 2021-03-23 | 昆明理工大学 | 融合多层次语言特征知识的汉越神经机器翻译的方法 |
-
2021
- 2021-04-07 CN CN202110371079.9A patent/CN113065358B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765240A (zh) * | 2019-10-31 | 2020-02-07 | 中国科学技术大学 | 多相关句子对的语义匹配评估方法 |
CN111310438A (zh) * | 2020-02-20 | 2020-06-19 | 齐鲁工业大学 | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 |
CN111611810A (zh) * | 2020-05-29 | 2020-09-01 | 河北数云堂智能科技有限公司 | 一种多音字读音消歧装置及方法 |
CN111626062A (zh) * | 2020-05-29 | 2020-09-04 | 苏州思必驰信息科技有限公司 | 文本语义编码方法及系统 |
CN112000770A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向智能问答的基于语义特征图的句子对语义匹配方法 |
CN112000772A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向智能问答基于语义特征立方体的句子对语义匹配方法 |
CN112001166A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 面向政务咨询服务的智能问答句子对语义匹配方法和装置 |
CN112000771A (zh) * | 2020-08-24 | 2020-11-27 | 齐鲁工业大学 | 一种面向司法公开服务的句子对智能语义匹配方法和装置 |
CN112463924A (zh) * | 2020-11-27 | 2021-03-09 | 齐鲁工业大学 | 面向智能问答基于内部相关性编码的文本意图匹配方法 |
CN112541364A (zh) * | 2020-12-03 | 2021-03-23 | 昆明理工大学 | 融合多层次语言特征知识的汉越神经机器翻译的方法 |
Non-Patent Citations (4)
Title |
---|
WENPENG LU ET. AL: "Deep hierarchical encoding model for sentence semantic matching", 《JOURNAL OF VISUAL COMMUNICATION AND IMAGE REPRESENTATION》 * |
WENPENG LU ET.AL: "Graph-Based Chinese Word Sense Disambiguation with Multi-Knowledge Integration", 《 COMPUTERS, MATERIALS & CONTINUA》 * |
XU ZHANG ET. AL: "Deep Feature Fusion Model for Sentence Semantic Matching", 《COMPUTERS, MATERIALS & CONTINUA》 * |
XU ZHANG ET.AL: "Chinese Sentence Semantic Matching Based on Multi-Granularity Fusion Model", 《 ADVANCES IN KNOWLEDGE DISCOVERY AND DATA MINING》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569014A (zh) * | 2021-08-11 | 2021-10-29 | 国家电网有限公司 | 基于多粒度文本语义信息的运维项目管理方法 |
CN113569014B (zh) * | 2021-08-11 | 2024-03-19 | 国家电网有限公司 | 基于多粒度文本语义信息的运维项目管理方法 |
CN113705242A (zh) * | 2021-08-27 | 2021-11-26 | 齐鲁工业大学 | 面向教育咨询服务的智能语义匹配方法和装置 |
CN113705241A (zh) * | 2021-08-27 | 2021-11-26 | 齐鲁工业大学 | 面向高考咨询基于多视角注意力的智能语义匹配方法与装置 |
CN113705242B (zh) * | 2021-08-27 | 2023-08-15 | 齐鲁工业大学 | 面向教育咨询服务的智能语义匹配方法和装置 |
CN113705241B (zh) * | 2021-08-27 | 2023-08-15 | 齐鲁工业大学 | 面向高考咨询基于多视角注意力的智能语义匹配方法与装置 |
CN113779978A (zh) * | 2021-09-26 | 2021-12-10 | 上海一者信息科技有限公司 | 一种无监督跨语言句对齐实现方法 |
CN113779978B (zh) * | 2021-09-26 | 2024-05-24 | 上海一者信息科技有限公司 | 一种无监督跨语言句对齐实现方法 |
CN114547256A (zh) * | 2022-04-01 | 2022-05-27 | 齐鲁工业大学 | 面向消防安全知识智能问答的文本语义匹配方法和装置 |
CN114547256B (zh) * | 2022-04-01 | 2024-03-15 | 齐鲁工业大学 | 面向消防安全知识智能问答的文本语义匹配方法和装置 |
CN115600583A (zh) * | 2022-08-09 | 2023-01-13 | 中国搜索信息科技股份有限公司(Cn) | 一种字词多粒度混合的中文语言模型预训练方法 |
CN115600583B (zh) * | 2022-08-09 | 2023-04-18 | 中国搜索信息科技股份有限公司 | 一种字词多粒度混合的中文语言模型预训练方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113065358B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
CN113065358B (zh) | 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法 | |
CN111597830A (zh) | 基于多模态机器学习的翻译方法、装置、设备及存储介质 | |
CN113704460B (zh) | 一种文本分类方法、装置、电子设备和存储介质 | |
Chen et al. | Joint entity and relation extraction for legal documents with legal feature enhancement | |
CN112001166A (zh) | 面向政务咨询服务的智能问答句子对语义匹配方法和装置 | |
CN112463924B (zh) | 面向智能问答基于内部相关性编码的文本意图匹配方法 | |
CN116579339A (zh) | 任务执行方法和优化任务执行方法 | |
CN114926150A (zh) | 一种变压器技术符合性评估数字化智能审核方法与装置 | |
CN113705242B (zh) | 面向教育咨询服务的智能语义匹配方法和装置 | |
CN115795038A (zh) | 基于国产化深度学习框架的意图识别方法和装置 | |
CN114491258A (zh) | 基于多模态内容的关键词推荐系统及方法 | |
CN113010635A (zh) | 一种文本纠错方法及装置 | |
CN116910190A (zh) | 多任务感知模型获取方法、装置、设备及可读存储介质 | |
CN113705241B (zh) | 面向高考咨询基于多视角注意力的智能语义匹配方法与装置 | |
CN112818688B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN111813924B (zh) | 基于可扩展动态选择与注意力机制的类别检测算法及系统 | |
CN115269808A (zh) | 面向医疗智能问答的文本语义匹配方法和装置 | |
CN114330701A (zh) | 模型训练方法、装置、计算机设备、存储介质及程序产品 | |
CN111158640B (zh) | 一种基于深度学习的一对多需求分析识别方法 | |
CN117521674B (zh) | 对抗信息的生成方法、装置、计算机设备和存储介质 | |
CN113268962B (zh) | 面向建筑行业信息化服务问答系统的文本生成方法和装置 | |
CN115114433B (zh) | 语言模型的训练方法、装置、设备及存储介质 | |
CN117453895B (zh) | 一种智能客服应答方法、装置、设备及可读存储介质 | |
CN116561323B (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 |