CN109948163B - 序列动态阅读的自然语言语义匹配方法 - Google Patents

序列动态阅读的自然语言语义匹配方法 Download PDF

Info

Publication number
CN109948163B
CN109948163B CN201910228242.9A CN201910228242A CN109948163B CN 109948163 B CN109948163 B CN 109948163B CN 201910228242 A CN201910228242 A CN 201910228242A CN 109948163 B CN109948163 B CN 109948163B
Authority
CN
China
Prior art keywords
natural language
sentence
semantic
word
vector
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
CN201910228242.9A
Other languages
English (en)
Other versions
CN109948163A (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.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN201910228242.9A priority Critical patent/CN109948163B/zh
Publication of CN109948163A publication Critical patent/CN109948163A/zh
Application granted granted Critical
Publication of CN109948163B publication Critical patent/CN109948163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种序列动态阅读的自然语言语义匹配方法,包括:对自然语言句子对中的每个字进行语义建模,获得每一自然语言句子对应的词级别语义表示向量;根据每一词级别语义表示向量,通过堆叠神经网络得到相应的句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量;利用句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量进行句子语义的动态理解,得到相应句子的动态理解表示向量;将自然语言句子对的句子语义表示向量与句子的动态理解表示向量,各自进行整合,并根据整合结果实现自然语言句子对的语义关系分类。该方法可以通过对句子序列的动态阅读实现对句子语义的精确理解和表示,进而实现对自然语言语义匹配的准确判断。

Description

序列动态阅读的自然语言语义匹配方法
技术领域
本发明涉及深度学习和自然语言理解技术领域,尤其涉及一种序列动态阅读的自然语言语义匹配方法。
背景技术
自然语言句子语义匹配(Sentence Semantic Matching)是自然语言处理领域的一个基础但关键的研究内容,其解决的主要问题是判断两个句子之间的语义关系。例如在自然语言推理(Natural Language Inference,NLI)中,句子语义匹配主要用于判断假设句的语义是否能从前提句中推理出来。在复述识别(Paraphrase Identification,PI)中,句子语义匹配主要用于判断两个句子是否在表达同样的语义。因此该任务要解决的首要问题是因此该任务要解决的一个首要问题是自然语言句子的语义表示。自然语言句子的语义表示是自然语言处理甚至人工智能领域一个基础但极其重要的研究内容,无论是基础的信息检索,语义抽取,还是复杂的问答***,对话***,都需要对输入句子的语义有一个全面准确的表示,这样才能保证机器理解人类复杂的语言***。研究人员已经提出了各种不同的语义表示学习方法,其中,模仿人类的注意力行为的注意力机制学习方法受到越来越多的关注。注意力机制可以帮助选择出句子中对语义表示重要的那些词,同时可以不受句子长度的限制建模句子中词与词之间的依赖关系,为句子的语义表示提供了重要的技术支持。更复杂的,研究人员提出多头注意力机制(Multi-Head attention),通过考虑不同情境,从不同角度对句子语义进行建模,从而实现对句子语义更全面,更精确的理解表示。因此,利用注意力机制对自然语言语义表示进行研究已经成为自然语言领域探索的一个十分重要的研究方向。
目前,利用注意力机制对自然语言句子语义表示的研究主要有以下内容:
在生物认知学中,注意力机制可以帮助人们专注于和目标最相关的内容上。因此,利用注意力机制对自然语言句子语义表示的方法主要是通过各种不同的神经网络结构,模仿生物的注意力方法,例如内注意力(inner-attention),多头注意力(multi-headattention),互注意力(co-attention),方向注意力(directional attention)等方法建模句子中词与词,句子之间的语义依赖与匹配关系,然后再通过不同的神经网络结构,例如卷积神经网络(Convolutional Neural Network,CNN),循环神经网络(Recurrent NeuralNetwork,RNN)等整合这些信息,得到句子语义的最终表示,并将其应用到不同的具体任务当中。
上述利用注意力机制实现对句子语义表示的方法均默认对整个句子中的词序列按照从左往右或者从右往左的阅读方式进行处理。而认知学研究表明,在现实生活中,人类利用注意力机制处理序列有着很大的不同。研究人员通过眼球追踪仪发现人们在阅读时会忽略一些词,并且人类会根据他所看到的以及他希望得到的来选择不同的关注点和阅读顺序。进一步的研究证明人类在深入阅读时每次只会关注到1.5个词,并且人类一次最多关注到7个不同的目标。这些都证明了人类注意力机制每次都只关注很少的一部分内容,并通过对重要内容的反复关注实现对其意义的准确理解。
发明内容
本发明的目的是提供一种序列动态阅读的自然语言语义匹配方法,可以通过对句子序列的动态阅读实现对句子语义的精确理解和表示,进而实现对自然语言语义匹配的准确判断。
本发明的目的是通过以下技术方案实现的:
一种序列动态阅读的自然语言语义匹配方法,包括:
对自然语言句子对中的每个字进行语义建模,获得每一自然语言句子对应的词级别语义表示向量;
根据每一词级别语义表示向量,通过堆叠神经网络得到相应的句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量;
利用句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量进行句子语义的动态理解,得到相应句子的动态理解表示向量;
将自然语言句子对的句子语义表示向量与句子的动态理解表示向量,各自进行整合,并根据整合结果实现自然语言句子对的语义关系分类。
由上述本发明提供的技术方案可以看出,针对自然语言句子,借鉴人类的注意力机制,充分利用对句子序列的动态阅读,可以实现对句子中重点词的精确选取和重复理解,从而实现对句子语义高效建模和表征,最终实现句子语义匹配的精确判断。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种序列动态阅读的自然语言语义匹配方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
本发明实施例提供一种序列动态阅读的自然语言语义匹配方法,如图1所示,其主要包括:
步骤11、对自然语言句子对中的每个字进行语义建模,获得每一自然语言句子对应的词级别语义表示向量。
本步骤的优选实施方式如下:
1)使用统一的数学形式表示自然语言句子对:所述的自然语言句子对包括两个自然语言句子,一个自然语言句子记为
Figure BDA0002005896640000031
表示其由la个单词组成的文本,另一个自然语言句子记为
Figure BDA0002005896640000032
表示其由lb个单词组成的文本;其中,
Figure BDA0002005896640000033
对应的分别表示自然语言句子sa中的第i个单词、自然语言句子sb中的第j个单词。
2)自然语言句子对sa与sb中的所有单词构成一个词典V,其大小用lv表示;自然语言句子对sa和sb中的每一个单词都用一个独热向量(one-hot vector)表示,向量长度为词典V的大小,每个单词的独热向量中只有其在词典V中对应的索引位置为1,其他均为0;在此基础上,使用预训练好的词向量矩阵E得到每个单词的特征表示,也即预训练的词语义表示:
Figure BDA0002005896640000034
Figure BDA0002005896640000035
其中,
Figure BDA0002005896640000036
对应于自然语言句子sa中第i个单词、自然语言句子sb中第j个单词的预训练的语义表示;
3)假设自然语言句子对为英文文本,则将所有的英文字母组成一个字符集的词典Vc,其大小为26;单词中的每个字母都用一个独热向量表示,向量长度为词典Vc的大小,每个字母的独热向量中只有其在词典Vc中对应的索引位置为1,其他均为0;在此基础上,使用一维卷积分别处理单词的字母序列,具体可以使用不同的卷积核(unigram,bigram,trigram)对句子进行处理,然后使用最大池化操作,从而最后得到每个单词字符级别的语义表示:
Figure BDA0002005896640000041
Figure BDA0002005896640000042
Figure BDA0002005896640000043
Figure BDA0002005896640000044
其中,Ec表示需要训练的字符的向量表示矩阵,Conv1D表示一维卷积操作,Maxpooling表示最大池化操作,
Figure BDA0002005896640000045
对应的表示自然语言句子sa中第i个单词的第ic个字母的独热表示、自然语言句子sb中第j个单词的第jc个字母的独热表示;
4)为了更准确更全面的表示每个词,将从预训练中得到的单词的特征表示与相应的单词字符级别的语义表示拼接起来,然后使用两层的高速网络(Highway network)整合这些信息,从而最终得到自然语言句子中每个单词的语义表示向量:
Figure BDA0002005896640000046
Figure BDA0002005896640000047
其中,Highway(·)表示高速网络结构,ai、bj对应的表示自然语言句子sa第i个单词的语义表示向量、自然语言句子sb中第j个单词的语义表示向量。
步骤12、根据每一词级别语义表示向量,通过堆叠神经网络得到相应的句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量。
本步骤的优选实施方式如下:
1)人类可以通过反复阅读一个句子加深对该句子语义的理解,因此,为了更全面的建模句子的予以信息,使用堆叠循环神经网络(Stack Recurrent Neural Network,stack-RNN)对整个自然语言句子进行建模,得到每个自然语言句子中的每个单词的隐含状态序列:采用了门结构循环网络(GRU)作为基本单元,对于t时刻的输入xt,GRU的隐含状态ht更新如下:
z=σ(xtUz+ht-1Wz)
r=σ(xtUr+ht-1Wr)
Figure BDA0002005896640000051
Figure BDA0002005896640000052
其中,z、r、cm分别是GRU的更新门、重置门、记忆单元;Uz与Wz为更新门的参数矩阵,Ur与Wr为重置门的参数矩阵,Uh与Wh为记忆单元的参数矩阵,
Figure BDA0002005896640000053
表示点乘;xt表示自然语言句子sa或sb中第t个单词的语义表示向量;σ表示Sigmoid激活操作。
在此基础上,通过堆叠多层的GRU(即stack-GRU)实现对句子语义的重复阅读和理解,从而实现对句子语义更全面的理解。但随着网络层数的加深,模型无法保留所有已学到的信息,同时还面临梯度消失或者***(gradient vanish or explore)问题。
为了避免以上问题,本发明实施例将每一层GRU的输入和隐层输出拼接到一起,作为下一层的输入:
Figure BDA0002005896640000054
其中,GRUl表示第l层的GRU,
Figure BDA0002005896640000055
表示第(l-1)层GRU的第t个隐层状态,
Figure BDA0002005896640000056
表示(l-1)层GRU的第t个输入,符号[,]表示拼接操作;通过这样的操作,保证模型可以保留所有的信息,同时在一定程度上避免梯度消失或者***的问题。
之后,利用这种stack-GRU的变种对自然语言句子对进行反复阅读和理解,从而更全面的编码每个句子中每个单词的语义表示,得到每个自然语言句子中单词之间相互依赖的隐层表示,公式如下:
Figure BDA0002005896640000057
Figure BDA0002005896640000058
其中,
Figure BDA0002005896640000059
对应的表示自然语言句子sa中第i'个单词、自然语言句子sb中第j'个单词在句子级别的语义表示,
Figure BDA00020058966400000510
表示自然语言句子sa中从第1个短语级别的语义表示到第i'个短语级别的语义表示的集合,
Figure BDA00020058966400000511
表示自然语言句子sb中从第1个短语级别的语义表示到第j'个短语级别的语义表示的集合;
2)前文得到的是每个句子中单词之间相互依赖的隐层表示,而每个词的语义表示对整个句子的语义表示影响程度是不同的,而注意力机制可以帮助模型选出与语义表示关联程度最高的额外信息。
为了保证对句子语义的准确理解和表示,本发明实施例中,使用自注意力机制(self-attention)获得每个单词的语义表示对最终句子的语义表示的影响权重,并使用这些权重对所有词的隐层状态表示做加权和,从而得到了句子语义表示;
Figure BDA0002005896640000061
αa=ωT tanh(WAa+b)
Figure BDA0002005896640000062
其中,ω,W为自注意力机制计算中的权值,b为自注意力机制计算中的偏置,都属于模型训练过程中的参数,αa表示对自然语言句子sa使用自注意力机制之后得到的权值分布,第i、k′个元素分别为
Figure BDA0002005896640000068
ha表示自然语言句子sa的语义表示向量;
同理,对自然语言句子sb使用相同的操作,得到自然语言句子sb的语义表示向量hb
经过本步骤,本发明实施例得到了经过重复阅读与理解的句子语义表示,以及考虑单词之间相互依赖的每个词的隐层状态表示。
步骤13、利用句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量进行句子语义的动态理解,得到相应句子的动态理解表示向量。
本步骤的优选实施方式如下:
1)前文提到,人类在理解句子语义时会根据看到的信息和期望的信息选择关注的内容,一些词不会被读到,而另外一些词会被重复阅读。同时,在每次关注时只关注一个很小的范围。因此,本发明实施例提出利用一个选择函数在每一时刻选择出一个最重要的词,并通过GRU处理选择出的最重要的词,得到对应的隐层状态,在此基础上继续使用选择函数选出下一时刻最重要的词,利用GRU进行处理,得到下一时刻的隐层状态,并重复该过程,直至达到最大动态序列阅读长度。最后一个隐层状态将被作为句子的动态理解表示向量。由于该过程中GRU的输入是不确定的,需要根据之前所掌握的信息计算出当前的输入内容,因此该过程称之为动态阅读,该过程最终选择出的序列称之为动态阅读序列:
Figure BDA0002005896640000064
Figure BDA0002005896640000065
Figure BDA0002005896640000066
其中,F表示选择函数,
Figure BDA0002005896640000067
表示对应于自然语言句子sa的t-1时刻动态阅读序列的隐层状态,hb表示自然语言句子sb的语义表示向量,因为该模型针对的是句子语义匹配,因此在处理自然语言句子sa时需要将自然语言句子sb的语义表示向量hb作为额外的补充信息考虑进来,lT表示动态阅读序列的长度,是事先设定好的,va表示自然语言句子sa的动态理解表示向量;
同理,对自然语言句子sb使用相同的操作,得到自然语言句子sb的动态理解表示向量vb
正如前文所述,考虑注意力机制可以帮助模型选出与语义表示关联程度最高的一个词或几个词,为了实现在每个时刻都可以选择出最重要的词,本发明实施例中,使用另一种注意力机制选出t时刻最重要的词
Figure BDA0002005896640000071
Figure BDA0002005896640000072
Figure BDA0002005896640000073
Figure BDA0002005896640000074
Figure BDA0002005896640000075
其中,ωd,Wd,Ud,Md表示注意力机制计算中的权值,属于模型训练过程中的参数,
Figure BDA0002005896640000076
表示每个单词的语义表示对最终句子的语义表示的影响权重分布向量,
Figure BDA0002005896640000077
表示选出影响权重最大的值对应的索引值,
Figure BDA0002005896640000078
表示一个全为1的行向量,由于
Figure BDA0002005896640000079
是一个选择操作,是没有梯度的,为了保证整个模型可导,受softmax函数启发,本发明实施例将上式修改为如下形式:
Figure BDA00020058966400000710
Figure BDA00020058966400000711
Figure BDA00020058966400000712
其中,β是一个任意大的正整数,考虑到softmax函数的特性,在乘以一个任意大的正整数后,越重要的位置对应的权值越趋近于1,其他权值越趋近于0。通过该种方式,本发明实施例实现了可导的最重要词选取操作。
步骤14、将自然语言句子对的句子语义表示向量与句子的动态理解表示向量,各自进行整合,并根据整合结果实现自然语言句子对的语义关系分类。
本步骤的优选实施方式如下:
1)本发明实施例中,利用启发式的方法分别整合自然语言句子对的句子语义表示向量与句子的动态理解表示向量,具体来讲,可以选择表示向量点乘,相减,拼接等操作将这些表征向量整合起来,得到自然语言句子对之间的句子语义表示向量h和句子的动态理解表示向量v,然后通过多层感知机(MLP)求出在给定不同方面信息的条件下,自然语言句子对之间的语义关系的概率,上述过程表示为:
h=(ha,hb,hb⊙ha,hb-ha),
v=(va,vb,vb⊙va,vb-va),
ph=MLP1(h),
pv=MLP1(v),
其中,⊙表示点乘,-表示相减,(·,·)表示拼接操作;ph表示利用整合后的自然语言句子对之间的句子语义表示向量h计算得到的自然语言句子对的语义关系概率;pv表示利用整合后的自然语言句子对之间的句子的动态理解表示向量v计算得到的自然语言句子对的语义关系概率。
MLP是一个三层结构,包含两层的全连接层和ReLu激活函数,以及一层softmax输出层。在这层中,拼接操作可以最大限度的保留句子的语义表征信息,点乘可以得到两个句子之间的相似度信息,相减操作可以获取语义表征在每个维度上的不同程度。
2)为了实现对句子语义更为全面和准确的理解,通过融合ph与pv并再次对自然语言句子之间的语义关系进行分类:通过线性变换计算出ph与pv所占的权重,然后进行加权求和,最后通过另外一个多层感知机MLP求得最终的语义关系概率:
Figure BDA0002005896640000081
Figure BDA0002005896640000082
P(y|(sa,sb))=MLP2hphvpv)
其中,ωhv是ph与pv所占权重计算过程中的权值参数,bh,bv为对应的偏置参数,σ表示sigmoid函数,αh、αv对应的表示ph、pv所占的权重;P(y|(sa,sb))表示自然语言句子对sa与sb之间语义关系的概率分布。
本发明实施例提供的上述方案,不仅通过堆叠循环神经网络对句子序列的反复阅读,实现对句子语义的更为全面的理解;而且通过动态阅读序列结构对句子中重要词的精确选择和反复阅读,从而实现对句子语义的更为全面准确的理解和表示,进而高效建模两个句子之间的语义交互,最终准确判断两个句子之间的语义推断关系,同时还提供了一种精确的句子语义表征方法,弥补了现有方法在句子语义表示上存在的不足。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (6)

1.一种序列动态阅读的自然语言语义匹配方法,其特征在于,包括:
对自然语言句子对中的每个字进行语义建模,获得每一自然语言句子对应的词级别语义表示向量;
根据每一词级别语义表示向量,通过堆叠神经网络得到相应的句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量;
利用句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量进行句子语义的动态理解,得到相应句子的动态理解表示向量;
将自然语言句子对的句子语义表示向量与句子的动态理解表示向量,各自进行整合,并根据整合结果实现自然语言句子对的语义关系分类。
2.根据权利要求1所述的一种序列动态阅读的自然语言语义匹配方法,其特征在于,所述对自然语言句子对中的每个字进行语义建模,获得每一自然语言句子对应的词级别语义表示向量的步骤包括:
所述的自然语言句子对包括两个自然语言句子,一个自然语言句子记为
Figure FDA0002005896630000011
表示其由la个单词组成的文本,另一个自然语言句子记为
Figure FDA0002005896630000012
表示其由lb个单词组成的文本;其中,
Figure FDA0002005896630000013
对应的分别表示自然语言句子sa中的第i个单词、自然语言句子sb中的第j个单词;
自然语言句子对sa与sb中的所有单词构成一个词典V,其大小用lv表示;自然语言句子对sa和sb中的每一个单词都用一个独热向量表示,向量长度为词典V的大小,每个单词的独热向量中只有其在词典V中对应的索引位置为1,其他均为0;在此基础上,使用预训练好的词向量矩阵E得到每个单词的特征表示,也即预训练的词语义表示:
Figure FDA0002005896630000014
Figure FDA0002005896630000015
其中,
Figure FDA0002005896630000016
对应于自然语言句子sa中第i个单词、自然语言句子sb中第j个单词的预训练的语义表示;
假设自然语言句子对为英文文本,则将所有的英文字母组成一个字符集的词典Vc,其大小为26;单词中的每个字母都用一个独热向量表示,向量长度为词典Vc的大小,每个字母的独热向量中只有其在词典Vc中对应的索引位置为1,其他均为0;在此基础上,使用一维卷积分别处理单词的字母序列,然后使用最大池化操作,从而最后得到每个单词字符级别的语义表示:
Figure FDA0002005896630000021
Figure FDA0002005896630000022
Figure FDA0002005896630000023
Figure FDA0002005896630000024
其中,Ec表示需要训练的字符的向量表示矩阵,Conv1D表示一维卷积操作,Maxpooling表示最大池化操作,
Figure FDA0002005896630000025
对应的表示自然语言句子sa中第i个单词的第ic个字母的独热表示、自然语言句子sb中第j个单词的第jc个字母的独热表示;
再将从预训练中得到的单词的特征表示与相应的单词字符级别的语义表示拼接起来,然后使用两层的高速网络整合这些信息,从而最终得到自然语言句子中每个单词的语义表示向量:
Figure FDA0002005896630000026
Figure FDA0002005896630000027
其中,Highway(·)表示高速网络结构,ai、bj对应的表示自然语言句子sa第i个单词的语义表示向量、自然语言句子sb中第j个单词的语义表示向量。
3.根据权利要求2所述的一种序列动态阅读的自然语言语义匹配方法,其特征在于,所述根据每一词级别语义表示向量,通过堆叠神经网络得到相应的句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量的步骤包括:
使用堆叠循环神经网络对整个自然语言句子进行建模,得到每个自然语言句子中的每个单词的隐含状态序列:采用了门结构循环网络GRU作为基本单元,对于t时刻的输入xt,GRU的隐含状态ht更新如下:
z=σ(xtUz+ht-1Wz)
r=σ(xtUr+ht-1Wr)
Figure FDA0002005896630000028
Figure FDA0002005896630000029
其中,z、r、cm分别是GRU的更新门、重置门、记忆单元;Uz与Wz为更新门的参数矩阵,Ur与Wr为重置门的参数矩阵,Uh与Wh为记忆单元的参数矩阵,
Figure FDA00020058966300000210
表示点乘;xt表示自然语言句子sa或sb中第t个单词的语义表示向量;σ表示Sigmoid激活操作;
在此基础上,通过堆叠多层GRU,即stack-GRU,将每一层GRU的输入和隐层输出拼接到一起,作为下一层的输入:
Figure FDA0002005896630000031
其中,GRUl表示第l层的GRU,
Figure FDA0002005896630000032
表示第(l-1)层GRU的第t个隐层状态,
Figure FDA0002005896630000033
表示(l-1)层GRU的第t个输入,符号[,]表示拼接操作;
利用stack-GRU对自然语言句子对进行反复阅读和理解,得到每个自然语言句子中单词之间相互依赖的隐层表示,公式如下:
Figure FDA0002005896630000034
Figure FDA0002005896630000035
其中,
Figure FDA0002005896630000036
对应的表示自然语言句子sa中第i'个单词、自然语言句子sb中第j'个单词在句子级别的语义表示,
Figure FDA0002005896630000037
表示自然语言句子sa中从第1个短语级别的语义表示到第i'个短语级别的语义表示的集合,
Figure FDA0002005896630000038
表示自然语言句子sb中从第1个短语级别的语义表示到第j'个短语级别的语义表示的集合;
使用自注意力机制获得每个单词的语义表示对最终句子的语义表示的影响权重,并使用这些权重对所有词的隐层状态表示做加权和,从而得到了句子语义表示;
Figure FDA0002005896630000039
Figure FDA00020058966300000310
Figure FDA00020058966300000311
其中,ω,W为自注意力机制计算中的权值,b为自注意力机制计算中的偏置,都属于模型训练过程中的参数,αa表示对自然语言句子sa使用注意力机制之后得到的权值分布,ha表示自然语言句子sa的语义表示向量;
同理,对自然语言句子sb使用相同的操作,得到自然语言句子sb的语义表示向量hb
4.根据权利要求3所述的一种序列动态阅读的自然语言语义匹配方法,其特征在于,所述利用句子语义表示向量以及考虑了单词之间相互依赖的隐层表示向量进行句子语义的动态理解,得到相应句子的动态理解表示向量的步骤包括:
利用一个选择函数在每一时刻选择出一个最重要的词,并通过GRU处理选择出的最重要的词,得到对应的隐层状态,在此基础上继续使用选择函数选出下一时刻最重要的词,利用GRU进行处理,得到下一时刻的隐层状态,并重复该过程,直至达到设定的最大动态序列阅读长度,最终将最后一个隐层状态作为句子的动态理解表示向量:
Figure FDA0002005896630000041
Figure FDA0002005896630000042
Figure FDA0002005896630000043
其中,F表示选择函数,
Figure FDA0002005896630000044
表示对应于自然语言句子sa的t-1时刻动态阅读序列的隐层状态,hb表示自然语言句子sb的语义表示向量,lT表示动态阅读序列的长度,va表示自然语言句子sa的动态理解表示向量;
同理,对自然语言句子sb使用相同的操作,得到自然语言句子sb的动态理解表示向量vb
5.根据权利要求4所述的一种序列动态阅读的自然语言语义匹配方法,其特征在于,
使用另一种注意力机制选出t时刻最重要的词
Figure FDA0002005896630000045
Figure FDA0002005896630000046
Figure FDA0002005896630000047
Figure FDA0002005896630000048
其中,ωd,Wd,Ud,Md注意力机制计算中的权值,属于模型训练过程中的参数,
Figure FDA0002005896630000049
表示每个单词的语义表示对最终句子的语义表示的影响权重分布向量,
Figure FDA00020058966300000410
表示选出影响权重最大的值对应的索引值,
Figure FDA00020058966300000411
表示一个全为1的行向量,β是一个任意大的正整数。
6.根据权利要求4所述的一种序列动态阅读的自然语言语义匹配方法,其特征在于,将自然语言句子对的句子语义表示向量与句子的动态理解表示向量,各自进行整合,并根据整合结果实现自然语言句子对的语义关系分类的步骤包括:
利用启发式的方法分别整合自然语言句子对的句子语义表示向量与句子的动态理解表示向量,得到自然语言句子对之间的句子语义表示向量和句子的动态理解表示向量,然后通过多层感知机MLP求出在给定不同方面信息的条件下,自然语言句子对之间的语义关系的概率,上述过程表示为:
h=(ha,hb,hb⊙ha,hb-ha),
v=(va,vb,vb⊙va,vb-va),
ph=MLP1(h),
pv=MLP1(v),
其中,⊙表示点乘,-表示相减,(·,·)表示拼接操作;ph表示利用整合后的自然语言句子对之间的句子语义表示向量h计算得到的自然语言句子对的语义关系概率;pv表示利用整合后的自然语言句子对之间的句子的动态理解表示向量v计算得到的自然语言句子对的语义关系概率;
通过融合ph与pv并再次对自然语言句子之间的语义关系进行分类:通过线性变换计算出ph与pv所占的权重,然后进行加权求和,最后通过另外一个多层感知机MLP求得最终的语义关系概率:
Figure FDA0002005896630000051
Figure FDA0002005896630000052
P(y|(sa,sb))=MLP2hphvpv)
其中,ωhv是ph与pv所占权重计算过程中的权值参数,bh,bv为对应的偏置参数,σ表示sigmoid函数,αh、αv对应的表示ph、pv所占的权重;P(y|(sa,sb))表示自然语言句子对sa与sb之间语义关系的概率分布。
CN201910228242.9A 2019-03-25 2019-03-25 序列动态阅读的自然语言语义匹配方法 Active CN109948163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910228242.9A CN109948163B (zh) 2019-03-25 2019-03-25 序列动态阅读的自然语言语义匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910228242.9A CN109948163B (zh) 2019-03-25 2019-03-25 序列动态阅读的自然语言语义匹配方法

Publications (2)

Publication Number Publication Date
CN109948163A CN109948163A (zh) 2019-06-28
CN109948163B true CN109948163B (zh) 2022-10-28

Family

ID=67010836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910228242.9A Active CN109948163B (zh) 2019-03-25 2019-03-25 序列动态阅读的自然语言语义匹配方法

Country Status (1)

Country Link
CN (1) CN109948163B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110705311B (zh) * 2019-09-27 2022-11-25 安徽咪鼠科技有限公司 应用于智能语音鼠标的语义理解准确率提升方法、装置、***和存储介质
CN110765240B (zh) * 2019-10-31 2023-06-20 中国科学技术大学 多相关句子对的语义匹配评估方法
CN111859909B (zh) * 2020-07-10 2022-05-31 山西大学 一种语义场景一致性识别阅读机器人

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372107B (zh) * 2016-08-19 2020-01-17 中兴通讯股份有限公司 自然语言文句库的生成方法及装置
CN109214006B (zh) * 2018-09-18 2020-10-27 中国科学技术大学 图像增强的层次化语义表示的自然语言推理方法
CN109344404B (zh) * 2018-09-21 2020-08-25 中国科学技术大学 情境感知的双重注意力自然语言推理方法

Also Published As

Publication number Publication date
CN109948163A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109753566B (zh) 基于卷积神经网络的跨领域情感分析的模型训练方法
CN111368996B (zh) 可传递自然语言表示的重新训练投影网络
CN110096711B (zh) 序列全局关注和局部动态关注的自然语言语义匹配方法
CN110188358B (zh) 自然语言处理模型的训练方法及装置
Neubig Neural machine translation and sequence-to-sequence models: A tutorial
Yao et al. Bi-directional LSTM recurrent neural network for Chinese word segmentation
Beysolow Applied natural language processing with python
CN109344404B (zh) 情境感知的双重注意力自然语言推理方法
CN109214006B (zh) 图像增强的层次化语义表示的自然语言推理方法
JP2019533259A (ja) 逐次正則化を用いた同時多タスクニューラルネットワークモデルのトレーニング
CN112364638B (zh) 一种基于社交文本的人格识别方法
Li et al. A method of emotional analysis of movie based on convolution neural network and bi-directional LSTM RNN
CN109948163B (zh) 序列动态阅读的自然语言语义匹配方法
CN109241377A (zh) 一种基于深度学习话题信息增强的文本文档表示方法和装置
Popov Neural network models for word sense disambiguation: an overview
CN114254645A (zh) 一种人工智能辅助写作***
CN111914553A (zh) 一种基于机器学习的金融信息负面主体判定的方法
Tekir et al. Deep learning: Exemplar studies in natural language processing and computer vision
Varshitha et al. Natural language processing using convolutional neural network
US11941360B2 (en) Acronym definition network
CN114970497B (zh) 基于预训练特征嵌入的文本分类方法及词义消歧方法
Kandi Language Modelling for Handling Out-of-Vocabulary Words in Natural Language Processing
Pradhan et al. A multichannel embedding and arithmetic optimized stacked Bi-GRU model with semantic attention to detect emotion over text data
Julian Deep learning with pytorch quick start guide: learn to train and deploy neural network models in Python
Huang et al. Learning emotion recognition and response generation for a service robot

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