CN112000771B - 一种面向司法公开服务的句子对智能语义匹配方法和装置 - Google Patents

一种面向司法公开服务的句子对智能语义匹配方法和装置 Download PDF

Info

Publication number
CN112000771B
CN112000771B CN202010855957.XA CN202010855957A CN112000771B CN 112000771 B CN112000771 B CN 112000771B CN 202010855957 A CN202010855957 A CN 202010855957A CN 112000771 B CN112000771 B CN 112000771B
Authority
CN
China
Prior art keywords
sentence
convolution
word
semantic
matching
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
CN202010855957.XA
Other languages
English (en)
Other versions
CN112000771A (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 CN202010855957.XA priority Critical patent/CN112000771B/zh
Publication of CN112000771A publication Critical patent/CN112000771A/zh
Application granted granted Critical
Publication of CN112000771B publication Critical patent/CN112000771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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
    • 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

Abstract

本发明公开了一种面向司法公开服务的句子对智能语义匹配方法和装置,属于人工智能、自然语言处理技术领域。本发明要解决的技术问题为如何捕获更多的语义上下文特征、不同维度间编码信息的联系和句子间的交互信息,以实现面向智能司法公开服务的句子对的智能语义匹配,采用的技术方案为:通过构建并训练由多粒度嵌入模块、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块组成的句子对语义匹配模型,实现对句子信息的时序特征卷积表示和语义特征的二维卷积编码表示,同时通过注意力机制生成句子对的最终匹配张量并判定句子对的匹配程度,以达到对句子对进行智能语义匹配的目标。该装置包括句子对语义匹配知识库构建单元、训练数据集生成单元、句子对语义匹配模型构建单元及句子对语义匹配模型训练单元。

Description

一种面向司法公开服务的句子对智能语义匹配方法和装置
技术领域
本发明涉及人工智能、自然语言处理技术领域,具体涉及一种面向司法公开服务的句子对智能语义匹配方法。
背景技术
近年来,最高人民法院陆续出台了一系列关于司法公开的制度规定,不断强化落实立案公开、庭审公开、审判结果公开、裁判文书公开和执行过程公开,以公开促公正。为深入推进司法公开,满足人民群众的知情权和参与权,及时答复群众的有关司法公开服务的咨询十分重要。面对日益增长的司法咨询请求,如何快速准确地答复是各级司法机构亟需解决的问题。鉴于司法咨询请求中存在大量的重复咨询,基于句子对语义匹配方法的智能问答系统对于解决这一问题具有很好的前景。智能问答系统是人机交互的核心技术之一,能够针对用户提出的问题自动在问答知识库中找到与之匹配的标准问题,并将标准问题的答案推送给用户,可以大大减轻人工答复的负担。智能问答系统在自助服务、智能客服等领域有着广泛的现实应用。对于用户提出的千差万别的问题,如何为其找到相匹配的标准问题,是智能问答系统的核心技术。该技术的本质是衡量用户提出的司法咨询问题与问答知识库中标准问题的匹配程度,其实质是句子对语义匹配任务。
句子对语义匹配任务旨在衡量两个句子所蕴含的语义是否一致,这与许多自然语言处理任务的核心目标是一致的,如前所述面向智能司法公开服务的智能问答系统。自然语言句子的语义匹配度计算是一项极具挑战的工作,现有方法还尚未能完善地解决这一问题。
现有方法通常在对句子对的语义进行匹配时,首先需要设计特定的神经网络对句子进行语义编码,以此来提取相应的语义特征。而对于文本语义编码来说,应用最广泛的编码模型为循环神经网络及其各种变种结构。循环神经网络采用链式结构,虽然可以较好地捕获远距离语义特征,但是它对于局部特征的捕获却不充分。这会导致句子中的部分局部语义信息缺失,使得捕获到的语义特征并不完备。此外,由于其链式结构的影响,即后一个时间步的状态取决于前一时间步的运行结果,这导致其执行效率较低。与之相比,卷积神经网络可以有效地捕获局部信息,且有着良好的并行性;但是由于卷积神经网络的卷积核大小是有限的,这导致其所能捕获到的时序特征比较受限。循环神经网络与传统卷积神经网络对于句子语义信息的编码处理均存在一些不可忽视的弊端。
发明内容
本发明的技术任务是提供一种面向司法公开服务的句子对智能语义匹配方法,来达到充分发挥卷积神经网络的优势,以此捕获更多的语义上下文信息和句子间的交互信息,并通过注意力机制,最终达到对句子对进行智能语义匹配的目的。
本发明的技术任务是按以下方式实现的,一种面向司法公开服务的句子对智能语义匹配方法,该方法是通过构建并训练由多粒度嵌入模块、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块组成的句子对语义匹配模型,实现对句子信息的时序特征卷积表示和语义特征的二维卷积编码表示,同时通过注意力机制生成句子对的最终匹配张量并判定句子对的匹配程度,以达到对句子对进行智能语义匹配的目标;具体如下:
多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到句子的多粒度嵌入表示;
时序特征卷积网络构造模块对句子的多粒度嵌入表示进行编码操作,得到句子的时序特征卷积表示;
特征转换网络模块对句子对的时序特征卷积表示进行进一步地特征编码、特征匹配和特征筛选操作,得到句子对的匹配向量;
标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配。
作为优选,所述多粒度嵌入模块用于构建字映射转换表、构建词映射转换表、构建输入模块、构建字向量映射层、构建词向量映射层;
其中,构建字映射转换表:映射规则为:以数字1为起始,随后按照每个字被录入字表的顺序依次递增排序,从而形成本发明所需的字映射转换表;其中,字表根据句子对语义匹配断字处理知识库构建,该知识库通过对句子对语义匹配知识库的原始数据文本进行断字操作而得;其后,再使用Word2Vec训练字向量模型,得到各字的字向量矩阵;
构建词映射转换表:映射规则为:以数字1为起始,随后按照每个词被录入词表的顺序依次递增排序,从而形成本发明所需的词映射转换表;其中,词表根据通过句子对语义匹配分词处理知识库构建,该知识库通过对句子对语义匹配知识库的原始数据文本进行分词操作而得;其后,再使用Word2Vec训练此向量模型,得到各词的词向量矩阵;本发明将句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,统称为句子对语义匹配知识库;
构建输入模块:输入层包括四个输入,对于训练数据集中的每一个句子对或待预测的句子对,对其进行断字和分词预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,其中后缀char、word分别表示对相应句子断字或分词处理而得,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);对于输入句子中的每个字或词都按照字映射转换表和词映射转换表转化为相应的数字标识;
构建字向量映射层:加载构建字映射转换表步骤中训练所得的字向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;句子对语义匹配断字处理知识库中每一个句子都可以通过字向量映射的方式,将句子信息转化为向量形式。
构建词向量映射层:加载构建词映射转换表步骤中训练所得的词向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;句子对语义匹配分词处理知识库中每一个句子都可以通过词向量映射的方式,将句子信息转化为向量形式。
更优地,所述时序特征卷积网络构造模块的构建过程具体如下:
首先,多粒度嵌入模块输出的字嵌入表示和词嵌入表示在新增的粒度维度上被联接,以得到句子嵌入表示,公式如下:
其中,公式(1)表示在新增的粒度维度上联接字嵌入表示和词嵌入表示,表示sentence1_char_embed或sentence2_char_embed,/>表示sentence1_word_embed或sentence2_word_embed,/>表示句子嵌入表示。
进一步地,第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果。具体实施见下述公式。
其中,句子嵌入表示为该层输入;公式(2.1)表示第f个卷积核对句子嵌入表示中第一个时间步信息进行卷积后经ReLU函数映射的结果,其中,[1,y]表示卷积核的尺寸,表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:1,j:j+y-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:1,j:j+y-1区域的卷积结果;公式(2.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅,/>表示第f个卷积核的最终卷积结果;公式(2.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中第一个时间步信息的最终卷积结果,即/>称其为时间步一编码结果。
进一步地,第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果。具体实施见下述公式。
其中,句子嵌入表示为该层输入;公式(3.1)表示第f个卷积核对句子嵌入表示中前两个时间步信息进行卷积后经ReLU函数映射的结果,其中,[2,y]表示卷积核的尺寸,表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:2,j:j+y-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:2,j:j+y-1区域的卷积结果;公式(3.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅,/>表示第f个卷积核的最终卷积结果;公式(3.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中前两个时间步信息的最终卷积结果,即/>称其为时间步二编码结果。
进一步地,第三个卷积结构对句子嵌入表示的前三个时间步信息进行编码操作;以此类推,可得到每一时间步的编码结果,对于第depth个卷积结构,其具体实施见下述公式。
其中,句子嵌入表示为该层输入;公式(4.1)表示第f个卷积核对句子嵌入表示中所有时间步信息进行卷积后经ReLU函数映射的结果,其中,[depth,y]表示卷积核的尺寸,表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:depth,j:j+y-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:depth:j:j+y-1区域的卷积结果;公式(4.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅;公式(4.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中所有时间步信息的最终卷积结果,即/>称其为时间步depth编码结果。
进一步地,将上述各个时间步的编码结果进行联接,以得到时序特征卷积编码结果。具体实施见下述公式。
其中,表示时序特征卷积编码结果。
更优地,所述特征转换网络模块的构建过程具体如下:
构建二维卷积语义特征编码层:此层接收时序特征卷积网络构造模块输出的时序特征卷积编码结果作为输入,然后使用二维卷积神经网络对其进行编码操作,从而得到相应的语义特征编码表示,公式如下:
其中,时序特征卷积编码结果为该层输入;公式(6.1)表示第f个卷积核对时序特征卷积编码结果的特定区域进行卷积后经ReLU函数映射的结果,其中,[x1,y1]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,ml和mh表示时序特征卷积编码结果的长和高,i:i+x1-1,j:j+y1-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在i:i+x1-1,j:j+y1-1区域的卷积结果;公式(6.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sx1和sy1表示横向卷积步幅和纵向卷积步幅;公式(6.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于时序特征卷积编码结果的最终卷积结果,即/>称其为语义特征编码表示。
构建语义特征匹配层:此层首先联接sentence1和sentence2的语义特征编码表示和/>从而得到句子对联接张量/>公式如下:
随后,使用另一个二维卷积神经网络对进行卷积匹配处理,从而得到句子对初步匹配张量,公式如下:
其中,句子对联接张量为该层输入;公式(8.1)表示第f个卷积核对句子对联接张量的特定区域进行卷积后经过ReLU函数映射的结果,其中,[x2,y2]表示卷积核的尺寸,表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,rl和rh表示时序特征卷积编码结果的长和高,i:i+x2-1,j:j+y2-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在i:i+x2-1,j:j+y2-1区域的卷积结果;公式(8.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sx2和sy2表示横向卷积步幅和纵向卷积步幅;公式(8.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子对联接张量的最终卷积结果,即/>称其为句子对初步匹配张量。
构建语义特征筛选层:此层接收语义特征匹配层的输出句子对初步匹配张量作为输入,然后在本层中对其完成语义特征筛选操作;
使用注意力机制得到最终的句子对语义匹配张量,公式如下:
其中,公式(9.1)表示对进行映射,其中,/>和/>表示模型中相应的可训练权重矩阵,/>表示/>经映射后的结果;公式(9.2)表示计算得出注意力权重,其中,/>表示注意力权重;公式(9.3)表示使用注意力权重生成最终的匹配向量,其中,N为/>中的特征向量的数量,/>为最终的句子对语义匹配张量。
更优地,所述标签预测模块构建过程如下:
将句子对语义匹配张量将作为本模块的输入,其经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为ypred,最终通过与设立的阈值(0.5)进行比较,从而判断句子对间的语义是否匹配;即ypred≥0.5时,预测该句子对的语义是匹配的,否则,不匹配。当句子对语义匹配模型尚未充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,其标签预测模块可预测目标句子对的语义是否匹配。
更优地,所述句子对语义匹配知识库构建具体如下:
下载网络上的数据集获取原始数据:下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;
预处理原始数据:预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字操作、分词操作,得到句子对语义匹配断字处理知识库、分词处理知识库;
汇总子知识库:汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,构建句子对语义匹配知识库。
所述句子对语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将句子对语义匹配知识库中将两个句子语义一致的句子对构建为正例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,1);其中,sentence1_char、sentence2_char分别指代句子对语义匹配断字处理知识库中的句子1、句子2,sentence1_word、sentence2_word分别指代句子对语义匹配分词处理知识库中的句子1、句子2,而这里的1则表示这两个句子的语义相匹配,是正例;
构建训练负例:选中一个句子s1,再从句子对语义匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,0);其中,sentence1_char、sentence1_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子1;sentence2_char、sentence2_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子2;0表示句子s1和句子s2的语义不匹配,是负例;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据均包含了五个维度,即sentence1_char,sentence2_char,sentence1_word,sentence2_word,0或1;
所述句子对语义匹配模型构建完成后通过训练数据集进行句子对语义匹配模型的训练与优化,具体如下:
构建损失函数:由标签预测模块构建过程可知,ypred是经过句子对语义匹配模型处理后得到的匹配度计算数值,ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,采用交叉熵作为损失函数,公式如下:
优化训练模型:使用RMSProp作为优化算法,除了其学习率设置为0.0015外,RMSProp的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子对语义匹配模型进行优化训练。
一种面向政务咨询服务的智能问答句子对语义匹配装置,该装置包括,
句子对语义匹配知识库构建单元,用于获取大量的句子对数据,随后对其预处理操作,从而得到符合训练要求的句子对语义匹配知识库;
训练数据集生成单元,用于根据句子对语义匹配知识库中的句子来构建用于训练的正例数据和训负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;
句子对语义匹配模型构建单元,用于构建字映射转换表、词映射转换表,同时构建输入模块、字向量映射层、词向量映射层、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块;句子对语义匹配模型构建单元包括,
字映射转换表或词映射转换表构建单元,负责对句子对语义匹配知识库中的每个句子按字粒度或词粒度进行切分,并将每个字或词依次存入一个列表中,从而得到一个字表或词表,随后以数字1为起始,按照每个字或词被录入字表或词表的顺序依次递增排序,从而形成本发明所需的字映射转换表或词映射转换表;字映射转换表或词映射转换表构建完成后,表中每个字或词均被映射为唯一的数字标识;其后,本发明使用Word2Vec训练字向量模型或词向量模型,得到各字的字向量矩阵或各词的词向量矩阵;
输入模块构建单元,负责对训练数据集中的每一个句子对或待预测的句子对,进行预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);
字向量映射层或词向量映射层构建单元,负责加载字映射转换表或词映射转换表构建单元步骤中训练所得的字向量矩阵或词向量矩阵来初始化当前层的权重参数;对于字向量映射,针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;对于词向量映射,针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;
时序特征卷积网络构造模块构建单元,负责有效且高效的完成句子编码操作,提取时序特征,具体操作为接收字向量映射层输出的字嵌入表示和词向量映射层输出的词嵌入表示作为输入;多粒度嵌入模块输出的字嵌入表示和词嵌入表示在时序特征卷积网络构造模块中首先在新增的粒度维度上被联接,以得到句子嵌入表示;时序特征卷积网络构造模块包含若干个二维卷积结构,其中第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果;第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果;以此类推,可得到每一时间步的编码结果,最终将所有时间步的编码结果进行联接,以得到时序特征卷积编码结果;
特征转换网络模块构建单元,负责进一步处理相应句子的时序特征卷积编码结果,对其进行语义特征编码、语义特征匹配和语义特征筛选等操作,从而生成最终的句子对语义匹配张量;其中,相应的操作分别通过二维卷积语义特征编码层、语义特征匹配层、语义特征筛选层而实现;
标签预测模块单元,负责对句子对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
句子对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
作为优选,所述句子对语义匹配知识库构建单元包括,
句子对数据获取单元,负责下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;
原始数据断字预处理或分词预处理单元,负责预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字或分词操作,从而构建句子对语义匹配断字处理知识库或句子对语义匹配分词处理知识库;
子知识库汇总单元,负责汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,从而构建句子对语义匹配知识库。
所述训练数据集生成单元包括,
训练正例数据构建单元,负责将句子对语义匹配知识库中两个语义一致的句子与其匹配标签1构建为训练正例数据;
训练负例数据构建单元,负责选中一个句子,随后随机选择与其不匹配的某个句子进行组合,与其匹配标签0一起构建为负例数据;
训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
所述句子对语义匹配模型训练单元包括,
损失函数构建单元,负责计算句子1和句子2间语义匹配度的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差。
一种存储介质,其中存储有多条指令,所述指令有处理器加载,执行上述的面面向司法公开服务的句子对智能语义匹配方法的步骤。
一种电子设备,所述电子设备包括:上述的存储介质;以及处理器,用于执行所述存储介质中的指令。
本发明的面向司法公开服务的句子对智能语义匹配方法具有以下优点:
(一)本发明通过时序特征卷积网络构造结构,可以在不使用循环神经网络的情况下有效捕获时序特征,提高了运行效率,使得模型训练时间缩短;可以充分提取、利用句子中的局部信息和不同维度间的信息,从而提高句子对语义匹配的准确性;
(二)本发明通过二维卷积神经网络对句子进行语义编码,可以充分提取、利用句子中的局部信息和不同维度间的信息,从而提高句子对语义匹配的准确性;
(三)本发明通过二维卷积神经网络对句子对进行语义匹配,可以有效捕获句子对间的交互特征,使得生成的句子对匹配张量具有丰富的交互特征,从而提高模型的预测准确率;
附图说明
下面结合附图对本发明进一步说明。
图1为一种面向司法公开服务的句子对智能语义匹配方法的流程图;
图2为构建句子对语义匹配知识库的流程图;
图3为构建训练数据集的流程图;
图4为构建句子对语义匹配模型的流程图;
图5为训练句子对语义匹配模型的流程图;
图6为一种面向司法公开服务的句子对智能语义匹配装置的结构示意图;
图7为构建时序特征卷积网络构造模块的结构示意图;
图8为一种面向司法公开服务的句子对智能语义匹配模型的框架示意图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种面向司法公开服务的句子对智能语义匹配方法和装置作以下详细地说明。
实施例1:
如附图8所示,本发明的主要框架结构包含多粒度嵌入模块、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块。其中,多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,并将结果传递给模型的时序特征卷积网络构造模块。多粒度嵌入模块输出的字嵌入表示和词嵌入表示在时序特征卷积网络构造模块中首先在新增的粒度维度上被联接,以得到句子嵌入表示;时序特征卷积网络构造模块包含若干个二维卷积结构,如图7所示,其中第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果;第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果;以此类推,可得到每一时间步的编码结果,最终将所有时间步的编码结果进行联接,以得到时序特征卷积编码结果;该时序特征卷积编码结果将被传递给模型的特征转换网络模块。特征转换网络模块对时序特征卷积网络的输出进行进一步地特征编码、特征匹配和特征筛选操作;其中,特征编码和特征匹配操作是通过二维卷积神经网络来完成的,特征筛选操作是通过注意力机制实现的,最终得到句子对的匹配张量,将其传递给模型的标签预测模块。标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值;将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配。具体如下:
(1)多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到句子的多粒度嵌入表示;
(2)时序特征卷积网络构造模块对句子的多粒度嵌入表示进行编码操作,得到句子的时序特征卷积表示;
(3)特征转换网络模块对句子对的时序特征卷积表示进行进一步地特征编码、特征匹配和特征筛选操作,得到句子对的匹配向量;
(4)标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配。
实施例2:
如附图1所示,本发明的一种面向司法公开服务的句子对智能语义匹配方法,具体步骤如下:
S1、构建句子对语义匹配知识库,如附图2所示,具体步骤如下:
S101、下载网络上的数据集获取原始数据:下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据。
举例:各级司法公开机构在回复群众咨询时,会积累大量的咨询问句;网络上也存在大量的司法公开相关的问题;本发明收集这些数据,从而获得用于构建司法公开领域句子对语义匹配知识库的原始数据。句子对示例,表示如下:
sentence1 执行案件减免诉讼费用的条件?
sentence2 执行案件如何减免诉讼费用?
S102、预处理原始数据:预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字操作、分词操作,得到句子对语义匹配断字处理知识库、分词处理知识库。
对S101中获得的用于构建句子对语义匹配知识库的原始数据中的每个句子进行断字预处理、分词预处理,得到句子对语义匹配断字处理知识库、分词处理知识库。断字操作的具体步骤为:以中文句子中的每个字为单位,以空格作为分隔符对每个句子进行切分。分词操作的具体步骤为:使用Jieba分词工具,选择默认的精准模式对每个句子进行切分。在此操作中,为了避免语义信息的丢失,句子中的标点符号、特殊字符以及停用词在内的所有内容均被保留。
举例:以S101中展示的sentence 1为例,对其进行断字操作处理后得到“执行案件减免诉讼费用的条件?”;使用Jieba分词工具对其进行分词操作处理后得到“执行案件减免诉讼费用的条件?”。
S103、汇总子知识库:汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,构建句子对语义匹配知识库。
将S102中获得的句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库汇总到同一文件夹下,从而得到句子对语义匹配知识库。其流程如图2所示。这里需要注意的是,经过断字操作处理后的数据和经过分词操作处理后的数据并不会合并到同一文件中,即,句子对语义匹配知识库实际上包含两个独立的子知识库。每一个预处理后的句子均保留了其原始句子的ID信息。
S2、构建句子对语义匹配模型的训练数据集:对于句子对语义匹配知识库中的每一个句子对,若其语义一致,则该句子对可以用于构建训练正例;若其语义不一致,则该句子对可以用于构建训练负例;将一定数量的正例数据与负例数据进行混合,从而构建模型训练数据集;如附图3所示,具体步骤如下:
S201、构建训练正例:将句子对语义匹配知识库中将两个句子语义一致的句子对构建为正例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,1);其中,sentence1_char、sentence2_char分别指代句子对语义匹配断字处理知识库中的句子1、句子2,sentence1_word、sentence2_word分别指代句子对语义匹配分词处理知识库中的句子1、句子2,而这里的1则表示这两个句子的语义相匹配,是正例。
举例:对步骤S101中展示的sentence 1和sentence 2,经过步骤S102断字操作处理和步骤S103分词操作处理后,构建的正例数据形式为:
(“执行案件减免诉讼费用的条件?”,“执行案件如何减免诉讼费用?”,“执行案件减免诉讼费用的条件?”,“执行案件如何减免诉讼费用?”,1)。
S202、构建训练负例:选中一个句子s1,再从句子对语义匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,0);其中,sentence1_char、sentence1_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子1;sentence2_char、sentence2_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子2;0表示句子s1和句子s2的语义不匹配,是负例;
举例:以LCQMC数据集中的一个语义不匹配的句子对“sentence1:什么是智能手环?sentence2:智能手环有什么用?”为例,经过步骤S102断字操作处理和步骤S103分词操作处理后,构建的负例数据形式为:
(“执行案件减免诉讼费用的条件?”,“执行案件应向哪家法院提交申请”,“执行案件减免诉讼费用的条件?”,“执行案件应向哪家法院提交申请”,0)。
S203、构建训练数据集:将经过步骤S201和步骤S202操作后所获得的全部的正例句子对数据和负例句子对数据,合并在一起,并打乱其顺序,构建最终的训练数据集。无论正例数据还是负例数据,它们都包含了五个维度,即sentence1_char,sentence2_char,sentence1_word,sentence2_word,0或1。
S3、构建句子对语义匹配模型:主要操作为构建字映射转换表、构建词映射转换表、构建输入模块、构建字向量映射层、构建词向量映射层、构建时序特征卷积网络构造模块、构建特征转换网络模块、构建标签预测模块。其中,构建字映射转换表、构建词映射转换表、构建输入模块、构建字向量映射层、构建词向量映射层对应图8中的多粒度嵌入模块,其余部分均与图8中的各个模块一一对应。具体步骤如下:
S301、构建字词映射转换表:字表是通过步骤S102处理后得到的句子对语义匹配断字处理知识库来构建的。字表构建完成后,表中每个字均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个字被录入字表的顺序依次递增排序,从而形成本发明所需的字映射转换表。
举例:以步骤S102处理后的内容,“执行案件减免诉讼费用的条件?”,构建字表及字映射转换表如下:
字词
映射 1 2 3 4 5 6 7 8 9 10 11
字词
映射 12 13 14
其后,本发明使用Word2Vec训练字向量模型,得到各字的字向量矩阵char_embedding_matrix。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
w2v_model_char=genism.models.Word2Vec(w2v_corpus_char,size=char_embe dding_dim,window=5,min_count=1,sg=1,workers=4,seed=1234,iter=25)
char_embedding_matrix=numpy.zeros([len(tokenizer.char_index)+1,char_emb edding_dim])
tokenizer=keras.preprocessing.text.Tokenizer(num_words=len(char_set))
for char,idx in tokenizer.char_index.items():
char_embedding_matrix[idx,:]=w2v_model.wv[char]
其中,w2v_corpus_char为断字处理训练语料,即句子对语义匹配断字处理知识库中的所有数据;char_embedding_dim为字向量维度,本模型设置char_embedding_dim为400,char_set为字表。
S302、构建词映射转换表:词表是通过步骤S103处理后得到的句子对语义匹配分词处理知识库来构建的。词表构建完成后,表中每个词均被映射为唯一的数字标识,其映射规则为:以数字1为起始,随后按照每个词被录入词表的顺序依次递增排序,从而形成本发明所需的词映射转换表。
举例:以步骤S103处理后的内容,“执行案件减免诉讼费用的条件?”,构建词表及词映射转换表如下:
字词 执行 案例 减免 诉讼 费用 条件
映射 1 2 3 4 5 6 7 8
其后,本发明使用Word2Vec训练词向量模型,得到各词的词向量矩阵word_embedding_matrix。
举例说明:在Keras中,对于上面描述的代码实现,与S301中举例说明基本一致,只是将各参数由char改为word相关的。鉴于篇幅限定,在此不再赘述。
其中,S301中举例中w2v_corpus_char更换为w2v_corpus_word,其为分词处理训练语料,即句子对语义匹配分词处理知识库中的所有数据;char_embedding_dim更换为word_embedding_dim,其为词向量维度,本模型设置word_embedding_dim为400;char_set更换为word_set,其为词表。
S303、构建输入层:输入层包括四个输入,从输入层的训练数据集样例中分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);
对于输入句子中的每个字或词都按照字映射转换表和词映射转换表转化为相应的数字标识。
举例说明:使用步骤S201中展示的句子对作为样例,以此组成一条输入数据。其结果如下所示:
(“执行案件减免诉讼费用的条件?”,“执行案件如何减免诉讼费用?”,“执行案件减免诉讼费用的条件?”,“执行案件如何减免诉讼费用?”,1)
每条输入数据包含4个子句。针对前两个子句,根据步骤S301中的字映射转换表,将其转换为数值表示;针对后两个子句,根据步骤S302中的词映射转换表,将其转换为数值表示。输入数据的4个子句,合并表示结果如下:
(“1,2,3,4,5,6,7,8,9,10,11,12,13”,“1,2,3,4,5,6,7,10,11,12,8,13”,“1,2,3,4,5,6,7,8,9”,“1,2,3,4,5,7,8,10,9”,“1,2,3,4,5,6,7,8,9,10,11,12,13,14”,“1,2,3,4,15,16,5,6,7,8,9,10,14”,“1,2,3,4,5,6,7,8”,“1,2,9,3,4,5,8”)。其中,其中,对于sentence2中的部分字符,其映射关系为:如-15,何-16,;对于sentence2中的部分词语,其映射关系为:如何-9。
S304、构建字向量映射层:通过加载构建字映射转换表步骤中训练所得的字向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;句子对语义匹配断字处理知识库中每一个句子都可以通过字向量映射的方式,将句子信息转化为向量形式。
举例说明:在Keras中,对于上面描述的代码实现如下所示:
char_embedding_layer=Embedding(char_embedding_matrix.shape[0],char_emb_dim,weights=[char_embedding_matrix],input_length=input_dim,trainable=False)
其中,char_embedding_matrix是构建字映射转换表步骤中训练所得的字向量矩阵权重,char_embedding_matrix.shape[0]是字向量矩阵的字表的大小,char_embedding_dim是输出的字向量的维度,input_length是输入序列的长度。
相应的句子sentence1_char和sentence2_char,经过Keras的Embedding层处理后得到相应的句子向量sentence1_char_embed、sentence2_char_embed。
S305、构建词向量映射层:通过加载构建词映射转换表步骤中训练所得的词向量矩阵权重来初始化当前层的权重参数;针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;句子对语义匹配分词处理知识库中每一个句子都可以通过词向量映射的方式,将句子信息转化为向量形式。
举例说明:在Keras中,对于上面描述的代码实现,与S304中基本一致,只是将各参数由char改为word相关的。鉴于篇幅限定,在此不再赘述。
相应的句子sentence1_word和sentence2_word,经过Keras的Embedding层处理后得到相应的句子向量sentence1_word_embed、sentence2_word_embed。
S306、构建时序特征卷积网络构造模块:该结构如图7所示,具体步骤如下:
首先,多粒度嵌入模块输出的字嵌入表示和词嵌入表示在新增的粒度维度上被联接,以得到句子嵌入表示。具体实施见下述公式。
进一步地,第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果。具体实施见下述公式。
进一步地,第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果。具体实施见下述公式。
进一步地,第三个卷积结构对句子嵌入表示的前三个时间步信息进行编码操作;以此类推,可得到每一时间步的编码结果,对于第depth个卷积结构,其具体实施见下述公式。
进一步地,将所有时间步的编码结果进行联接,以得到时序特征卷积编码结果。具体实施见下述公式。
举例说明:本发明在数据集上进行实施时,该结构的卷积结构与句子中的字词个数一致,在本实验中为30,每个卷积结构的卷积核数量均设置为16时可获得最优结果。卷积核的嵌入维度尺寸y为4时,嵌入维度步幅sy为2时可获得最优结果。
在Keras中,对于上面描述的代码实现如下所示:
其中,对于前两行代码,sentence_embed_char是句子的字嵌入表示,sentence_embed_word是句子的词嵌入表示,30是句子中的字词数量,400是嵌入维度,1是新增的粒度维度;最后一行代码feature_map_conv是相应句子的时序特征卷积编码结果。
S307、构建特征转换网络模块:经过步骤S306处理后分别得到sentence1、sentence2的时序特征卷积编码表示,对其进行语义特征编码、语义特征匹配和语义特征筛选等操作,从而生成最终的句子对语义匹配张量;具体步骤如下:
构建二维卷积语义特征编码层:此层接收深时序特征卷积网络构造模块输出的时序特征卷积编码结果作为输入,然后使用二维卷积神经网络对其进行编码操作,从而得到相应的语义特征编码表示,公式如下:
举例说明:本发明在数据集上进行实施时,[x1,y1]取[5,4],sx1和sy1分别取3和3,n取64时可获得最优结果。
在Keras中,对于上面描述的代码实现如下所示:
encode_2DCNN=Conv2D(filters=64,kernel_size=(5,4),padding='Valid',strides=[3,3],data_format='channels_last',activation='relu')(feature_map_conv)
其中,feature_map_conv表示相应句子的时序特征卷积编码结果,64表示该卷积神经网络具有64个卷积核,encode_2DCNN表示相应句子的时序特征卷积网络通过该层二维卷积神经网络处理后的编码结果。
构建语义特征匹配层:此层首先联接sentence1和sentence2的语义特征编码表示,从而得到句子对联接张量公式如下:
随后,使用另一个二维卷积神经网络对进行卷积匹配处理,从而得到句子对初步匹配张量,公式如下:
举例说明:本发明在数据集上进行实施时,[x2,y2]取[5,4],sx2和sy2分别取1和1,n取16时可获得最优结果。
在Keras中,对于上面描述的代码实现如下所示:
sentens_pairs_con=Concatenate(axis=3)([encode_2DCNN_S1,
encode_2DCNN_S2])
match_2DCNN=Conv2D(filters=16,kernel_size=(5,4),padding='Valid',strides=[1,1],data_format='channels_last',activation='relu')(sentens_pairs_con)
其中,encode_2DCNN_S1表示sentence1的编码结果,encode_2DCNN_S2表示sentence2的编码结果,sentens_pairs_con代表两个句子的时序特征卷积网络在通道维度上的联接结果,16表示该卷积神经网络具有16个卷积核,match_2DCNN表示句子对初步匹配张量。
构建语义特征筛选层:此层接收语义特征匹配层的输出句子对初步匹配张量作为输入,然后在本层中对其完成语义特征筛选操作;
使用注意力机制得到最终的句子对语义匹配张量,公式如下:
举例说明:在Keras中,对于上面描述的代码实现如下所示:
sentence_output=match_tensor
z=tf.multiply(tf.tanh(K.dot(sentence_output,self.w)),self.v)
z=tf.squeeze(z,axis=-1)
a=tf.nn.softmax(z)
m=K.batch_dot(a,sentence_output)
其中,match_tensor表示句子对初步匹配张量经过最大池化操作后的结果,self.w和self.v均指待训练的权重矩阵,m表示经注意力机制处理后的最终的句子对语义匹配张量
S308、构建标签预测模块:步骤S307所得到的句子对语义匹配张量将作为本模块的输入,其经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为ypred,最终通过与设立的阈值(0.5)进行比较,从而判断句子对间的语义是否匹配;即ypred≥0.5时,预测该句子对的语义是匹配的,否则,不匹配。
当本发明所提出的基于时序特征卷积网络的句子对语义匹配模型尚未进行训练时,需要进一步执行步骤S4进行训练,以优化模型参数;当该模型训练完毕时,由步骤S308可预测目标句子对的语义是否匹配。
S4、训练句子对语义匹配模型:在步骤S2所得的训练数据集上对步骤S3构建的句子对语义匹配模型进行训练,如附图5所示,具体如下:
S401、构建损失函数:由标签预测模块构建过程可知,ypred是经过句子对语义匹配模型处理后得到的匹配度计算数值,ytrue是两个句子语义是否匹配的真实标签,其取值仅限于0或1,采用交叉熵作为损失函数,公式如下:
上面描述的优化函数及其设置在Keras中使用代码表示为:
parallel_model.compile(loss="binary_crossentropy",optimizer=op,metrics=['accuracy',precision,recall,f1_score])
S402、优化训练模型:使使用RMSProp作为优化算法,除了其学习率设置为0.0015外,RMSProp的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子对语义匹配模型进行优化训练;
举例说明:上面描述的优化函数及其设置在Keras中使用代码表示为:
optim=keras.optimizers.RMSProp(lr=0.0015)。
本发明所提出的模型在人工收集的司法公开咨询数据集上能够取得80%以上的正确率,能够应用于智能司法公开咨询服务。
实施例3:
如附图6所示,基于实施例2的面向政务咨询服务的智能问答句子对语义匹配装置,该装置包括,
句子对语义匹配知识库构建单元,用于获取大量的句子对数据,随后对其预处理操作,从而得到符合训练要求的句子对语义匹配知识库;句子对语义匹配知识库构建单元包括,
句子对数据获取单元,负责下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;
原始数据断字预处理或分词预处理单元,负责预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字或分词操作,从而构建句子对语义匹配断字处理知识库或句子对语义匹配分词处理知识库;
子知识库汇总单元,负责汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,从而构建句子对语义匹配知识库。
训练数据集生成单元,用于根据句子对语义匹配知识库中的句子来构建用于训练的正例数据和负例数据,并且基于正例数据与负例数据来构建最终的训练数据集;训练数据集生成单元包括,
训练正例数据构建单元,负责将句子对语义匹配知识库中两个语义一致的句子与其匹配标签1构建为训练正例数据;
训练负例数据构建单元,负责选中一个句子,随后随机选择与其不匹配的某个句子进行组合,与其匹配标签0一起构建为负例数据;
训练数据集构建单元,负责将所有的训练正例数据与训练负例数据组合在一起,并打乱其顺序,从而构建最终的训练数据集;
句子对语义匹配模型构建单元,用于构建字映射转换表、词映射转换表,同时构建输入模块、字向量映射层、词向量映射层、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块;句子对语义匹配模型构建单元包括,
字映射转换表或词映射转换表构建单元,负责对句子对语义匹配知识库中的每个句子按字粒度或词粒度进行切分,并将每个字或词依次存入一个列表中,从而得到一个字表或词表,随后以数字1为起始,按照每个字或词被录入字表或词表的顺序依次递增排序,从而形成本发明所需的字映射转换表或词映射转换表;字映射转换表或词映射转换表构建完成后,表中每个字或词均被映射为唯一的数字标识;其后,本发明使用Word2Vec训练字向量模型或词向量模型,得到各字的字向量矩阵或各词的词向量矩阵;
输入模块构建单元,负责对训练数据集中的每一个句子对或待预测的句子对,进行预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);
字向量映射层或词向量映射层构建单元,负责加载字映射转换表或词映射转换表构建单元步骤中训练所得的字向量矩阵或词向量矩阵来初始化当前层的权重参数;对于字向量映射,针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;对于词向量映射,针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;
时序特征卷积网络构造模块构建单元,负责有效且高效的完成句子编码操作,提取时序特征,具体操作为接收字向量映射层输出的字嵌入表示和词向量映射层输出的词嵌入表示作为输入;多粒度嵌入模块输出的字嵌入表示和词嵌入表示在时序特征卷积网络构造模块中首先在新增的粒度维度上被联接,以得到句子嵌入表示;时序特征卷积网络构造模块包含若干个二维卷积结构,其中第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果;第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果;以此类推,可得到每一时间步的编码结果,最终将所有时间步的编码结果进行联接,以得到时序特征卷积编码结果;
特征转换网络模块构建单元,负责进一步处理相应句子的时序特征卷积编码结果,对其进行语义特征编码、语义特征匹配和语义特征筛选等操作,从而生成最终的句子对语义匹配张量;其中,相应的操作分别通过二维卷积语义特征编码层、语义特征匹配层、语义特征筛选层而实现;
标签预测模块单元,负责对句子对语义匹配张量进行处理,从而得出一个匹配度数值,将其与设立的阈值进行比较,以此判断句子对的语义是否匹配;
句子对语义匹配模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练;句子对语义匹配模型训练单元包括,
损失函数构建单元,负责计算句子1和句子2间语义匹配度的误差;
模型优化单元,负责训练并调整模型训练中的参数,减小预测误差;
实施例4:
基于实施例2的存储介质,其中存储有多条指令,指令有处理器加载,执行实施例2的面向司法公开服务的句子对智能语义匹配方法的步骤。
实施例5:
基于实施例4的电子设备,电子设备包括:实施例4的存储介质;以及
处理器,用于执行实施例4的存储介质中的指令。

Claims (3)

1.一种面向司法公开服务的句子对智能语义匹配方法,其特征在于,该方法是通过构建并训练由多粒度嵌入模块、时序特征卷积网络构造模块、特征转换网络模块和标签预测模块组成的句子对语义匹配模型,实现对句子信息的时序特征卷积表示和语义特征的二维卷积编码表示,同时通过注意力机制生成句子对的最终匹配张量并判定句子对的匹配程度,以达到对句子对进行智能语义匹配的目标;具体如下:
多粒度嵌入模块对输入的句子以字粒度和词粒度分别进行嵌入操作,得到句子的多粒度嵌入表示;
时序特征卷积网络构造模块对句子的多粒度嵌入表示进行编码操作,得到句子的时序特征卷积表示;
特征转换网络模块对句子对的时序特征卷积表示进行进一步地特征编码、特征匹配和特征筛选操作,得到句子对的匹配向量;
标签预测模块将句子对的匹配张量映射为指定区间上的一个浮点型数值,将其作为匹配度与预设的阈值进行比较,根据比较结果,判定句子对的语义是否匹配;
所述多粒度嵌入模块用于构建字映射转换表、构建词映射转换表、构建输入模块、构建字向量映射层、构建词向量映射层;
其中,构建字映射转换表或词映射转换表:映射规则为:以数字1为起始,随后按照每个字或词被录入字表或词表的顺序依次递增排序,从而形成所需的字映射转换表或词映射转换表;其中,字表或词表根据句子对语义匹配知识库而构建,该知识库包含断字处理知识库或分词处理知识库,分别通过对语义匹配知识库的原始数据文本进行断字预处理或分词预处理操作而得;其后,再使用Word2Vec训练字向量模型或词向量模型,得到各字的字向量矩阵或各词的词向量矩阵;
构建输入模块:输入层包括四个输入,对于训练数据集中的每一个句子对或待预测的句子对,对其进行断字和分词预处理,分别获取sentence1_char、sentence2_char、sentence1_word和sentence2_word,其中后缀char、word分别表示对相应句子进行断字或分词处理而得,将其形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word);对于输入句子中的每个字或词都按照字映射转换表和词映射转换表转化为相应的数字标识;
构建字向量映射层或词向量映射层:加载构建字映射转换表或词映射转换表步骤中训练所得的字向量矩阵或词向量矩阵来初始化当前层的权重参数;对于字向量映射,针对输入句子sentence1_char和sentence2_char,得到其相应句子向量sentence1_char_embed、sentence2_char_embed;对于词向量映射,针对输入句子sentence1_word和sentence2_word,得到其相应句子向量sentence1_word_embed、sentence2_word_embed;
所述时序特征卷积网络构造模块的构建过程具体如下:
首先,多粒度嵌入模块输出的字嵌入表示和词嵌入表示在新增的粒度维度上被联接,以得到句子嵌入表示,公式如下:
其中,公式(1)表示在新增的粒度维度上联接字嵌入表示和词嵌入表示,表示sentence1_char_embed或sentence2_char_embed,/>表示sentence1_word_embed或sentence2_word_embed,/>表示句子嵌入表示;
第一个卷积结构对句子嵌入表示的第一个时间步信息进行编码操作,以得到时间步一编码结果,公式如下:
其中,句子嵌入表示为该层输入,即,第一个卷积结构的输入;公式(2.1)表示第f个卷积核对句子嵌入表示中第一个时间步信息进行卷积后经ReLU函数映射的结果,其中,[1,y]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:1,j:j+y-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:1,j:j+y-1区域的卷积结果;公式(2.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅;公式(2.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中第一个时间步信息的最终卷积结果,即/>称其为时间步一编码结果;
第二个卷积结构对句子嵌入表示的前两个时间步信息进行编码操作,以得到时间步二编码结果,公式如下:
其中,句子嵌入表示为该层输入,即,第二个卷积结构的输入;公式(3.1)表示第f个卷积核对句子嵌入表示中前两个时间步信息进行卷积后经ReLU函数映射的结果,其中,[2,y]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:2,j:j+y-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:2,j:j+y-1区域的卷积结果;公式(3.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅;公式(3.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中前两个时间步信息的最终卷积结果,即/>称其为时间步二编码结果;
第三个卷积结构对句子嵌入表示的前三个词的嵌入信息进行编码操作;以此类推,可得到每一时间步的编码结果,对于第depth个卷积结构,公式如下:
其中,句子嵌入表示为该层输入,即,第depth个卷积结构的输入;公式(4.1)表示第f个卷积核对句子嵌入表示中所有时间步信息进行卷积后经ReLU函数映射的结果,其中,[depth,y]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,j表示卷积区域的纵坐标,mh表示句子嵌入表示中词嵌入表示的嵌入维度,0:depth,j:j+y-1表示卷积区域,表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在0:depth,j:j+y-1区域的卷积结果;公式(4.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sy表示嵌入维度上的卷积步幅;公式(4.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子嵌入表示中所有时间步信息的最终卷积结果,即/>称其为时间步depth编码结果;
将上述各个时间步的编码结果进行联接,以得到时序特征卷积编码结果,公式如下:
其中,表示时序特征卷积编码结果;
所述特征转换网络模块的构建过程具体如下:
构建二维卷积语义特征编码层:此层接收时序特征卷积网络构造模块输出的时序特征卷积编码结果作为输入,然后使用二维卷积神经网络对其进行编码操作,从而得到相应的语义特征编码表示,公式如下:
其中,时序特征卷积编码结果该层输入,即,构建的二维卷积语义特征编码层中二维卷积神经网络的输入;公式(6.1)表示第f个卷积核对时序特征卷积编码结果的特定区域进行卷积后经ReLU函数映射的结果,其中,[x1,y1]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,ml和mh表示时序特征卷积编码结果的长和高,i:i+x1-1,j:j+y1-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在i:i+x1-1,j:j+y1-1区域的卷积结果;公式(6.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sx1和sy1表示横向卷积步幅和纵向卷积步幅;公式(6.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于时序特征卷积编码结果的最终卷积结果,即/>称其为语义特征编码表示;
构建语义特征匹配层:此层首先联接sentence1和sentence2的语义特征编码表示从而得到句子对联接张量/>公式如下:
随后,使用另一个二维卷积神经网络对进行卷积匹配处理,从而得到句子对初步匹配张量,公式如下:
其中,句子对联接张量为该层输入,即,构建的二维卷积语义特征编码层中另一个二维卷积神经网络的输入;公式(8.1)表示第f个卷积核对句子对联接张量的特定区域进行卷积后经过ReLU函数映射的结果,其中,[x2,y2]表示卷积核的尺寸,/>表示第f个卷积核的权重矩阵,i和j表示卷积区域的横坐标和纵坐标,rl和rh表示时序特征卷积编码结果的长和高,i:i+x2-1,j:j+y2-1表示卷积区域,/>表示第f个卷积核的偏置矩阵,/>表示第f个卷积核在i:i+x2-1,j:j+y2-1区域的卷积结果;公式(8.2)表示整合第f个卷积核在每个区域的卷积结果以得到第f个卷积核的最终卷积结果/>其中,sx2和sy2表示横向卷积步幅和纵向卷积步幅;公式(8.3)表示将n个卷积核的最终卷积结果进行组合,得到该层网络对于句子对联接张量的最终卷积结果,即/>称其为句子对初步匹配张量;
构建语义特征筛选层:此层接收语义特征匹配层的输出句子对初步匹配张量作为输入,然后在本层中对其完成语义特征筛选操作;
使用注意力机制得到最终的句子对语义匹配张量,公式如下:
其中,公式(9.1)表示对进行映射,其中,/>和/>表示模型中相应的可训练权重矩阵,表示/>经映射后的结果;公式(9.2)表示计算得出注意力权重,其中,/>表示注意力权重;公式(9.3)表示使用注意力权重生成最终的匹配向量,其中,N为/>中的特征向量的数量,/>为最终的句子对语义匹配张量。
2.根据权利要求1所述的一种面向司法公开服务的句子对智能语义匹配方法,其特征在于,所述标签预测模块构建过程如下:
将句子对语义匹配张量将作为本模块的输入,其经过一层维度为1、激活函数为sigmoid的全连接网络处理,从而得到一个处于[0,1]之间的匹配度数值,记为ypred,最终通过与设立的阈值0.5进行比较,从而判断句子对间的语义是否匹配;即ypred≥0.5时,预测该句子对的语义是匹配的,否则,不匹配;当句子对语义匹配模型尚未充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,其标签预测模块可预测目标句子对的语义是否匹配。
3.根据权利要求2所述的一种面向司法公开服务的句子对智能语义匹配方法,其特征在于,所述句子对语义匹配知识库构建具体如下:
下载网络上的数据集获取原始数据:下载网络上已经公开的句子对语义匹配数据集或人工构建数据集,将其作为构建句子对语义匹配知识库的原始数据;
预处理原始数据:预处理用于构建句子对语义匹配知识库的原始数据,对其中的每个句子均进行断字操作、分词操作,得到句子对语义匹配断字处理知识库、分词处理知识库;
汇总子知识库:汇总句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库,构建句子对语义匹配知识库;
所述句子对语义匹配模型通过使用训练数据集进行训练而得到,训练数据集的构建过程如下:
构建训练正例:将句子对语义匹配知识库中将两个句子语义一致的句子对构建为正例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,1);其中,sentence1_char、sentence2_char分别指代句子对语义匹配断字处理知识库中的句子1、句子2,sentence1_word、sentence2_word分别指代句子对语义匹配分词处理知识库中的句子1、句子2,1表示这两个句子的语义相匹配,是正例;
构建训练负例:选中一个句子s1,再从句子对语义匹配知识库中随机选择一个与句子s1不匹配的句子s2,将s1与s2进行组合,构建负例,形式化为:(sentence1_char,sentence2_char,sentence1_word,sentence2_word,0);其中,sentence1_char、sentence1_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子1;sentence2_char、sentence2_word分别指代句子对语义匹配断字处理知识库和句子对语义匹配分词处理知识库中的句子2;0表示句子s1和句子s2的语义不匹配,是负例;
构建训练数据集:将经过构建训练正例和构建训练负例操作后所获得的全部的正例样本句子对和负例样本句子对进行组合,并打乱其顺序,构建最终的训练数据集;无论正例数据还是负例数据均包含了五个维度,即sentence1_char,sentence2_char,sentence1_word,sentence2_word,0或1;
所述句子对语义匹配模型构建完成后通过训练数据集进行句子对语义匹配模型的训练与优化,具体如下:
构建损失函数:采用交叉熵作为损失函数;
优化训练模型:使用RMSProp作为优化算法,除了其学习率设置为0.0015外,RMSProp的剩余超参数均选择Keras中的默认值设置;在训练数据集上,对句子对语义匹配模型进行优化训练。
CN202010855957.XA 2020-08-24 2020-08-24 一种面向司法公开服务的句子对智能语义匹配方法和装置 Active CN112000771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010855957.XA CN112000771B (zh) 2020-08-24 2020-08-24 一种面向司法公开服务的句子对智能语义匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010855957.XA CN112000771B (zh) 2020-08-24 2020-08-24 一种面向司法公开服务的句子对智能语义匹配方法和装置

Publications (2)

Publication Number Publication Date
CN112000771A CN112000771A (zh) 2020-11-27
CN112000771B true CN112000771B (zh) 2023-10-24

Family

ID=73471687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010855957.XA Active CN112000771B (zh) 2020-08-24 2020-08-24 一种面向司法公开服务的句子对智能语义匹配方法和装置

Country Status (1)

Country Link
CN (1) CN112000771B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065358B (zh) * 2021-04-07 2022-05-24 齐鲁工业大学 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法
CN113065359B (zh) * 2021-04-07 2022-05-24 齐鲁工业大学 面向智能交互的句子对语义匹配方法和装置
CN113268962B (zh) * 2021-06-08 2022-05-24 齐鲁工业大学 面向建筑行业信息化服务问答系统的文本生成方法和装置
CN114238563A (zh) * 2021-12-08 2022-03-25 齐鲁工业大学 基于多角度交互的中文句子对语义智能匹配方法和装置
CN116028596B (zh) * 2023-03-27 2023-08-18 云筑信息科技(成都)有限公司 一种实体匹配分块的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310439A (zh) * 2020-02-20 2020-06-19 齐鲁工业大学 一种基于深度特征变维机制的智能语义匹配方法和装置
CN111325028A (zh) * 2020-02-20 2020-06-23 齐鲁工业大学 一种基于深度分层编码的智能语义匹配方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102540774B1 (ko) * 2018-12-04 2023-06-08 한국전자통신연구원 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310439A (zh) * 2020-02-20 2020-06-19 齐鲁工业大学 一种基于深度特征变维机制的智能语义匹配方法和装置
CN111325028A (zh) * 2020-02-20 2020-06-23 齐鲁工业大学 一种基于深度分层编码的智能语义匹配方法和装置

Also Published As

Publication number Publication date
CN112000771A (zh) 2020-11-27

Similar Documents

Publication Publication Date Title
CN112000771B (zh) 一种面向司法公开服务的句子对智能语义匹配方法和装置
CN111310438B (zh) 基于多粒度融合模型的中文句子语义智能匹配方法及装置
CN112000770B (zh) 面向智能问答的基于语义特征图的句子对语义匹配方法
CN112000772B (zh) 面向智能问答基于语义特征立方体的句子对语义匹配方法
CN112559556B (zh) 表格模式解析和序列掩码的语言模型预训练方法及系统
CN112001166B (zh) 面向政务咨询服务的智能问答句子对语义匹配方法和装置
CN110134946B (zh) 一种针对复杂数据的机器阅读理解方法
CN111325028B (zh) 一种基于深度分层编码的智能语义匹配方法和装置
CN111144448A (zh) 基于多尺度注意力卷积编码网络的视频弹幕情感分析方法
CN111310439B (zh) 一种基于深度特征变维机制的智能语义匹配方法和装置
CN108959246A (zh) 基于改进的注意力机制的答案选择方法、装置和电子设备
CN110175628A (zh) 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法
CN110032635A (zh) 一种基于深度特征融合神经网络的问题对匹配方法和装置
CN111858932A (zh) 基于Transformer的多重特征中英文情感分类方法及系统
CN110287482B (zh) 半自动化分词语料标注训练装置
CN113065358B (zh) 面向银行咨询服务基于多粒度对齐的文本对语义匹配方法
CN112910690A (zh) 基于神经网络模型的网络流量预测方法、装置及设备
CN111339249A (zh) 一种联合多角度特征的深度智能文本匹配方法和装置
CN113705242B (zh) 面向教育咨询服务的智能语义匹配方法和装置
CN114238652A (zh) 一种用于端到端场景的工业故障知识图谱建立方法
CN116738959A (zh) 一种基于人工智能的简历改写方法及系统
CN117193823A (zh) 一种软件需求变更的代码工作量评估方法、系统及设备
CN113705241B (zh) 面向高考咨询基于多视角注意力的智能语义匹配方法与装置
CN111209399A (zh) 文本分类方法、装置和电子设备
CN116108175A (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