语义的消歧方法及装置、存储介质、电子装置与流程

文档序号:26007602发布日期:2021-07-23 21:26阅读:66来源:国知局
语义的消歧方法及装置、存储介质、电子装置与流程

本发明涉及计算机领域,具体而言,涉及一种语义的消歧方法及装置、存储介质、电子装置。



背景技术:

相关技术中,词义消歧是自然语言处理中一个困扰已久但是未被很好解决的问题,同时词义消歧又是自然语言处理的核心问题之一,词义、句义以及篇章含义层次都会根据不同的上下文环境产生不同的意义,消歧就是指根据上下文确定对象语义的过程。现阶段进行词义消歧一般是通过人工注释的数据集来训练学习模型,再做相应的预测任务,但是由于人工注释代价昂贵,数据集通常规模很小,对于数据集中没有出现过或者不常见的单词,模型的预测能力表现不佳。

相关技术中,对于上下文语义嵌入,相关技术的有监督词义消歧方法将词义视为一个一个离散的标签,没有考虑该单词上下文的语境,对于训练过程中很少出现的单词的词义的预测不准确,对于训练过程中没有出现过的单词的词义的预测采用最频繁使用的该项词义。这导致在未出现和很少出现的单词的词义上预测性能低下,相关技术的有监督词义消歧的方法将词义视为离散的标签,丢失部分语义信息,这导致在未出现或者不常出现的词的语义上表现不佳。相关技术中,对于定义嵌入,考虑到用来做词义消歧的人工标注数据集很少并且昂贵。相关技术的词义消歧的方法需要用到大量人工标注的数据才能达到较好的预测性能,成本颇高。

针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。



技术实现要素:

本发明实施例提供了一种语义的消歧方法及装置、存储介质、电子装置。

根据本发明的一个实施例,提供了一种语义的消歧方法,包括:获取输入语句,其中,所述输入语句包括若干个待消歧的词单元;将所述输入语句中的每个词单元转换为词向量和上下文语义向量,并采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量;采用预设语义知识库获取每个所述词单元的定义嵌入概率,其中,所述预设语义知识库包括所述词单元的若干个语义信息;对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息。

可选的,将所述输入语句中的每个词单元转换为词向量包括:将所述输入语句分割成单词序列,采用特征提取器将所述单词序列转换为特征向量集合;将所述输入语句中各个词单元对应的特征向量输入双向长时间的短期记忆网络bilstm层,正向lstm根据输入的特征向量输出正向隐状态序列hf,表示第i个词单元的的正向隐状态,反向lstm根据输入的特征向量输出反向隐状态序列hb,表示第i个词单元的的反向隐状态;针对每个词单元,将所述正向隐状态序列hf和所述反向隐状态序列hb进行拼接得到完整的隐状态序列,并将所述隐状态序列确定为对应词单元的词向量。

可选的,将所述输入语句中的每个词单元转换上下文语义向量包括:使用缩放的点积注意力机制在每个时间步长获取上下文信息;针对第i个词单元xi,计算词向量ui与其他时间状态的词向量之间的相似度,得到得xi的第一注意力矩阵;将所述第一注意力矩阵转变成标准正态分布的第二注意力矩阵;采用所述第二注意力矩阵对投影矩阵加权,并和词向量做点积,生成上下文语义向量。

可选的,采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量包括:针对第i个词单元是xi,将词向量ui和上下文语义向量ci拼接成拼接向量ri;基于ri采用以下公式计算第i个词单元xi的上下文语义嵌入向量vi:vi=dropout(wlri);其中,wl为预设参数。

可选的,采用预设语义知识库获取每个所述词单元的定义嵌入概率包括:通过预训练模型获取所述预设语义知识库中各个元素的一维头向量和一维关系向量,其中,每个元素对应一个所述词单元,包括头节点、尾节点、关系;根据所述一维头向量和一维关系向量计算词单元的嵌入向量,以及获取所述词单元的语义向量矩阵,其中,所述语义向量矩阵包括对应词单元所有单词的实体定义向量;采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率。

可选的,根据所述一维头向量和一维关系向量计算词单元的嵌入向量包括:将所述一维头向量和一维关系向量分别压缩成二维向量后,再拼接成多维向量;通过卷积核对所述多维向量进行卷积,得到相应的特征映射;将所述特征映射展开成一维向量,并输入至全连接层,输出所述词单元的嵌入向量。

可选的,采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率包括:采用所述嵌入向量和所述语义向量矩阵构成的向量矩阵相乘,得到对应于每一个尾节点的概率值其中,eh,et分别是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形,w表示二维卷积,vec(*)表示*的矢量化,w表示线性全连接,f表示校正线性单元;基于在sigmoid层采用以下算法得到所述词单元的定义嵌入概率p:

可选的,对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息包括:对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,获得词单元每个词义的召回率;经过softmax层输出词单元xi在词义清单中所有候选词义的概率列表其中,s是所述预设语义知识库中每个词单元所有的词义清单,vi为词单元的第i个语义,pj为第i个语义的召回率,λ为加权系数,b为估计偏置参数;基于预设最小损失函数在所述中选择所述词单元的语义信息。

根据本发明的另一个实施例,提供了一种语义的消歧装置,包括:第一获取模块,用于获取输入语句,其中,所述输入语句包括若干个待消歧的词单元;生成模块,用于将所述输入语句中的每个词单元转换为词向量和上下文语义向量,并采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量;第二获取模块,用于采用预设语义知识库获取每个所述词单元的定义嵌入概率,其中,所述预设语义知识库包括所述词单元的若干个语义信息;输出模块,用于对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息。

可选的,所述生成模块包括:转换单元,用于将所述输入语句分割成单词序列,采用特征提取器将所述单词序列转换为特征向量集合;处理单元,用于将所述输入语句中各个词单元对应的特征向量输入双向长时间的短期记忆网络bilstm层,正向lstm根据输入的特征向量输出正向隐状态序列hf,表示第i个词单元的的正向隐状态,反向lstm根据输入的特征向量输出反向隐状态序列hb,表示第i个词单元的的反向隐状态;第一拼接单元,用于针对每个词单元,将所述正向隐状态序列hf和所述反向隐状态序列hb进行拼接得到完整的隐状态序列,并将所述隐状态序列确定为对应词单元的词向量。

可选的,所述生成模块包括:获取单元,用于使用缩放的点积注意力机制在每个时间步长获取上下文信息;第一计算单元,用于针对第i个词单元xi,计算词向量ui与其他时间状态的词向量之间的相似度,得到得xi的第一注意力矩阵;转变单元,用于将所述第一注意力矩阵转变成标准正态分布的第二注意力矩阵;生成单元,用于采用所述第二注意力矩阵对投影矩阵加权,并和词向量做点积,生成上下文语义向量。

可选的,所述生成模块包括:第二拼接单元,用于针对第i个词单元是xi,将词向量ui和上下文语义向量ci拼接成拼接向量ri;第二计算单元,用于基于ri采用以下公式计算第i个词单元xi的上下文语义嵌入向量vi:vi=dropout(wlri);其中,wl为预设参数。

可选的,所述第二获取模块包括:获取单元,用于通过预训练模型获取所述预设语义知识库中各个元素的一维头向量和一维关系向量,其中,每个元素对应一个所述词单元,包括头节点、尾节点、关系;处理单元,用于根据所述一维头向量和一维关系向量计算词单元的嵌入向量,以及获取所述词单元的语义向量矩阵,其中,所述语义向量矩阵包括对应词单元所有单词的实体定义向量;计算单元,用于采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率。

可选的,所述处理单元包括:压缩子单元,用于将所述一维头向量和一维关系向量分别压缩成二维向量后,再拼接成多维向量;卷积子单元,用于通过卷积核对所述多维向量进行卷积,得到相应的特征映射;输出子单元,用于将所述特征映射展开成一维向量,并输入至全连接层,输出所述词单元的嵌入向量。

可选的,所述计算单元包括:第一计算子单元,用于采用所述嵌入向量和所述语义向量矩阵构成的向量矩阵相乘,得到对应于每一个尾节点的概率值其中,eh,et分别是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形,w表示二维卷积,vec(*)表示*的矢量化,w表示线性全连接,f表示校正线性单元;第二计算子单元,用于基于在sigmoid层采用以下算法得到所述词单元的定义嵌入概率p:

可选的,所述输出模块包括:融合单元,用于对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,获得词单元每个词义的召回率;输出单元,用于经过softmax层输出词单元xi在词义清单中所有候选词义的概率列表其中,s是所述预设语义知识库中每个词单元所有的词义清单,vi为词单元的第i个语义,pj为第i个语义的召回率,λ为加权系数,b为估计偏置参数;选择单元,用于基于预设最小损失函数在所述中选择所述词单元的语义信息。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,获取输入语句,输入语句包括若干个待消歧的词单元,将输入语句中的每个词单元转换为词向量和上下文语义向量,并采用词向量和上下文语义向量拼接生成词单元的上下文语义嵌入向量,采用预设语义知识库获取每个词单元的定义嵌入概率,对定义嵌入概率和上下文语义嵌入向量进行点积融合,输出词单元的语义信息,获取输入的消歧句子的嵌入向量,可以让单词离散的标注信息转换成连续的向量表示,将词汇资源结合到词义消歧的任务中,利用了语义知识库的外部资源减轻了人工标注成本,同时因为成熟的词汇资源里面包含丰富的语义信息,从而加强了泛化效果,解决了相关技术对语义进行消歧的效率低的技术问题,提高了语句的识别准确率,实现了单词的精准语义识别。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种录音笔的硬件结构框图;

图2是根据本发明实施例的一种语义的消歧方法的流程图;

图3是本发明实施例中注意力机制上下文编码器的原理图;

图4是本发明实施例中定义编码器的原理图;

图5是本发明实施例中上下文语义嵌入和定义嵌入结合的原理图;

图6是根据本发明实施例的一种语义的消歧系统的结构框图;

图7是本发明实施例的一种电子装置的结构图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

本申请实施例一所提供的方法实施例可以在服务器、计算机、录音笔、手机、或者类似的运算装置中执行。以运行在录音笔上为例,图1是本发明实施例的一种录音笔的硬件结构框图。如图1所示,录音笔可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述录音笔还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述录音笔的结构造成限定。例如,录音笔还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储录音笔程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种语义的消歧方法对应的录音笔程序,处理器102通过运行存储在存储器104内的录音笔程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至录音笔。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括录音笔的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种语义的消歧方法,图2是根据本发明实施例的一种语义的消歧方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,获取输入语句,其中,输入语句包括若干个待消歧的词单元;

本实施例的数据语句可以是语音识别出的原始文本中的语句,也可以是直接获取到语句,输入语句包括一个或多个词单元,词单元即单词,如中文中的词组,英文中的单词,词组等。

步骤s204,将输入语句中的每个词单元转换为词向量和上下文语义向量,并采用词向量和上下文语义向量拼接生成词单元的上下文语义嵌入向量;

本实施例词向量用于表征词单元自身的实体特征,上下文语义向量用于表征词单元在输入语句的上下文的语义特征和语境特征。

步骤s206,采用预设语义知识库获取每个词单元的定义嵌入概率,其中,预设语义知识库包括词单元的若干个语义信息;

可选的,预设语义知识库可以是预定义的知识图谱,比如yago3-10和fb15k-237等。

步骤s208,对定义嵌入概率和上下文语义嵌入向量进行点积融合,输出词单元的语义信息。

通过上述步骤,获取输入语句,输入语句包括若干个待消歧的词单元,将输入语句中的每个词单元转换为词向量和上下文语义向量,并采用词向量和上下文语义向量拼接生成词单元的上下文语义嵌入向量,采用预设语义知识库获取每个词单元的定义嵌入概率,对定义嵌入概率和上下文语义嵌入向量进行点积融合,输出词单元的语义信息,获取输入的消歧句子的嵌入向量,可以让单词离散的标注信息转换成连续的向量表示,将词汇资源结合到词义消歧的任务中,利用了语义知识库的外部资源减轻了人工标注成本,同时因为成熟的词汇资源里面包含丰富的语义信息,从而加强了泛化效果,解决了相关技术对语义进行消歧的效率低的技术问题,提高了语句的识别准确率,实现了单词的精准语义识别。

在本实施例的一个实施方式中,将输入语句中的每个词单元转换为词向量包括:将输入语句分割成单词序列,采用特征提取器将单词序列转换为特征向量集合;将输入语句中各个词单元对应的特征向量输入双向长时间的短期记忆网络bilstm(bi-directionallongshort-termmemory,双向长时间的短期记忆网络)层,正向lstm根据输入的特征向量输出正向隐状态序列hf,表示第i个词单元的的正向隐状态,反向lstm根据输入的特征向量输出反向隐状态序列hb,表示第i个词单元的的反向隐状态;针对每个词单元,将正向隐状态序列hf和反向隐状态序列hb进行拼接得到完整的隐状态序列,并将隐状态序列确定为对应词单元的词向量。

本实施方式可以通过注意力机制上下文编码器来实现,编码器处理输入的一个文本中的词单元x,第i个词单元是xi,xi索引化得到实值向量ei,将向量集合e输入到双层双向lstm编码器。每个词通过拼接第二个lstm层前向隐藏层状态向量hf和第一个lstm层后向隐藏层状态向量hb来表示词义信息,对于第i个词单元的词向量就是

在本实施例的一个实施方式中,将输入语句中的每个词单元转换上下文语义向量包括:使用缩放的点积注意力机制在每个时间步长获取上下文信息;针对第i个词单元xi,计算词向量ui与其他时间状态的词向量之间的相似度,得到得xi的第一注意力矩阵;将第一注意力矩阵转变成标准正态分布的第二注意力矩阵;采用第二注意力矩阵对投影矩阵加权,并和词向量做点积,生成上下文语义向量。

输入语句中的词单元到bilstm中可以得到一个上下文向量集和,也就是词向量矩阵,u={u1,...,ui,...,un},n表示文本被切分成的n个词单元数。再使用缩放的点积注意力机制来获取每个时间段的上下文信息,使用投影矩阵wq,wk,wv来获得查询向量、键值向量、值向量,使用投影键值向量dk来缩放查询向量和值向量之间的点积,也就是:

其中,ut表示第t个词单元的词向量,ci表示第i个词单元的上下文语义向量,则输入一个文本到bilstm+attention(注意力机制)中可以的到表示该文本的上下文语义矩阵c。

在本实施例的一个实施方式中,采用词向量和上下文语义向量拼接生成词单元的上下文语义嵌入向量包括:针对第i个词单元是xi,将词向量ui和上下文语义向量ci拼接成拼接向量ri;基于ri采用以下公式计算第i个词单元xi的上下文语义嵌入向量vi:vi=dropout(wlri);其中,wl为预设参数。

对于第i个词单元是xi,为使能够充分获取语义信息,将词向量ui和上下文语义向量ci拼接起来ri=[ui,ci]。再经过一个完全连接的线性层,为了增强其泛化能力,并引入dropout,也就是:

vi=dropout(wlri)(2)

通过注意力机制上下文编码器,得到第i个词单元是xi的目标嵌入vi

图3是本发明实施例中注意力机制上下文编码器的原理图,数据预处理部分:先将输入的文本分割成n个词单元,再利用斯坦福大学自然语言处理实验室公开的预训练模型golve作为一个特征提取器,将词单元输入到glove中转化成计算机可以理解的向量形式,得到向量集合e,ei表示第i个词单元的特征向量。

注意力机制上下文编码器是bilstm+attention组成的,bilstm层,lstm是指长短期记忆的人工神经网络模型。bilstm是由一个正方向的lstm和一个反方向的lstm所构成。具体bilstm的训练或编码流程步骤如下:

(s31),bilstm能够根据a)得到的特征向量集合提取到词单元的特征信息,将文本的各个词单元对应的特征向量作为bilstm层的输入;

(s32),正向lstm根据输入的特征向量能够输出得到正向隐状态序列hf,表示第i个词单元的的正向隐状态;

(s33),反向lstm根据输入的特征向量能够输出得到反向隐状态序列hb,表示第i个词单元的的反向隐状态;

(s34),将正向隐状态序列hf和反向隐状态序列hb进行拼接得到完整的隐状态序列,它表示了文本词单元的特征信息。在完整隐状态序列中包含了经过bilstm通过词单元特征向量学习到的词与词之间的关系特征信息。

注意力机制attention单元:使用缩放的点积注意机制在每个时间步长t获取上下文信息,包括:

(1)对于第i个词单元xi,先求出它的词向量ui和其他时间状态向量相近程度,也就是求得xi的注意力矩阵。是为了把注意力矩阵变成标准正态分布,使得softmax归一化后的结果更加稳定,以便反向传播的时候获取平衡的梯度。

(2)再用处理过后的注意力矩阵给投影矩阵wv加权,并和词向量做点积,得到新的向量。

(3)最后将词向量ui和词向量ci拼接起来,再经过一个完全连接的线性层。为了增强其泛化能力,并引入dropout,也就是公式(2),就得到注意力机制上下文编码器的目标嵌入vi。本实施例需要对词进行消歧,所以取的就是待消歧的词单元。

在本实施例的一个实施方式中,采用预设语义知识库获取每个词单元的定义嵌入概率包括:

s11,通过预训练模型获取预设语义知识库中各个元素的一维头向量和一维关系向量,其中,每个元素对应一个词单元,包括头节点、尾节点、关系;

s12,根据一维头向量和一维关系向量计算词单元的嵌入向量,以及获取词单元的语义向量矩阵,其中,语义向量矩阵包括对应词单元所有单词的实体定义向量;

在本实施例的一个实施方式中,根据一维头向量和一维关系向量计算词单元的嵌入向量包括:将一维头向量和一维关系向量分别压缩成二维向量后,再拼接成多维向量;通过卷积核对多维向量进行卷积,得到相应的特征映射;将特征映射展开成一维向量,并输入至全连接层,输出词单元的嵌入向量。

本实施方式的方案可以采用定义编码器来实现,用语义知识库的知识图谱在单词实体上定义的一组关系,可以通过其关系获取到与单词实体相关的信息。知识图谱由n个三元组(h,l,t)组成,h是头部,t是尾部,l表示关系。本部分使用一种多层卷积网络模型conve(convolutional2dknowledgegraphembeddings,2d卷积知识图嵌入)来学习知识图的单词实体的有效表示(本实施例中的表示是一种计算机可以识别的机器数据,可以是向量数据格式等)。

首先,先通过预训练方法得到头节点和关系的初始表示,再把这两个一维向量都成扩展为二维向量再拼接起来,再通过卷积核进行卷积,得到相应的特征映射。将这些特征映射展开成一维向量,再通过一个全连接层获得到最终的关于这个头节点和关系的嵌入表示。

s13,采用嵌入向量和语义向量矩阵计算得到每个词单元的定义嵌入概率。

在本实施例的一个实施方式中,采用嵌入向量和语义向量矩阵计算得到每个词单元的定义嵌入概率包括:采用嵌入向量和语义向量矩阵构成的向量矩阵相乘,得到对应于每一个尾节点的概率值

其中,eh,et分别是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形,w表示二维卷积,vec(*)表示*的矢量化,w表示线性全连接,f表示校正线性单元;基于在sigmoid层采用以下算法得到词单元的定义嵌入概率p:

最后和所有单词实体定义表示构成的向量矩阵相乘,得到对应于每一个尾节点的得分。加上一个sigmoid层即得到预测分数。打分函数也就是:

其中,eh,et是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形(如eh的二维整形),w表示二维卷积,vec(*)表示*的矢量化(即的矢量化),w表示线性全连接,f表示校正线性单元。

对于给定的头部实体h,用与之相关的单词实体作为尾部计算分数通过对打分函数应用logisticsigmoid函数,得到了概率估计:

使用交叉熵进行训练,最小化损失函数:

图4是本发明实施例中定义编码器的原理图,数据集预先处理包括:通过数据集网站获取数据集wordnet-wn18rr.tar.gz,里面包含了三个文件,分别是train.txt,test.txt,valid.txt。将这三个数据文本里面的实体和关系进行存储格式转换,分别得到四个文件,也即是e1rel_to_e2_train.json、e1rel_to_e2_ranking_test.json、e1rel_to_e2_ranking_dev.json,还有一个是所有的数据放在一起组成的,e1rel_to_e2_full.json。再用spodernet模型对这四个.json文件进行处理,获得train_bacher、test_rank_batcher、dev_rank_batcher这三个批处理数据文件和整个数据的实体与关系词表vocab。conve训练得到嵌入表示包括:将实体与关系词表vocab内的关于待消歧的词的头结点和关系输入conve中,conve使用torch.nn.embedding()对其进行向量化,得到一个200维的头向量eh和一个200维的关系向量el,将它们压缩成20*10的二维向量,再将它们拼接起来得到嵌入表示embedding,维度是20*20。再输入卷积网络torch.nn.conv2d(1,32,(3,3),1,0,bias=true)进行卷积,得到特征映射featuremap,再将特征映射展开成一维向量,再通过一个全连接层获得到最终的关于这个头节点h和关系l的嵌入表示。最后和所有头结点表示构成的嵌入表示相乘,得到对应于每一个尾节点的得分,对应公式(3)。加上一个sigmoid层即得到预测分数,也就是得到待消歧的词的n个词义的估计概率,对应公式(4)。即定义编码器的输出。

可选的,还可以使用最小化损失函数进行约束,对应公式(5),再进行反向传播和优化,在一个示例中,优化器使用adam,训练1000轮,epoch设置为1000,训练完一批train_bacher就用dev_rank_batcher和test_rank_batcher验证和测试一次。

在本实施例的一个实施方式中,对定义嵌入概率和上下文语义嵌入向量进行点积融合,输出词单元的语义信息包括:对定义嵌入概率和上下文语义嵌入向量进行点积融合,获得词单元每个词义的召回率;经过softmax层输出词单元xi在词义清单中所有候选词义的概率列表其中,s是预设语义知识库中每个词单元所有的词义清单,vi为词单元的第i个语义,pj为第i个语义的召回率,λ为加权系数(反映估计偏置对整体概率的影响大小),b为估计偏置参数(工程经验值);基于预设最小损失函数在中选择词单元的语义信息。

图5是本发明实施例中上下文语义嵌入和定义嵌入结合的原理图,本部分将注意力机制上下文编码器得到的目标词嵌入vi和定义编码器得到的概率分布估计做点积,获得每个词义的打分(对应召回率),经过softmax层输出每个词义的概率估计:

其中,s是词汇资源词典里面的每个单词所有的词义清单,对于待消歧的词单元xi,得到了xi在词义清单里面的所有候选词义的概率。

设定一个阈值参数θ=0.5,如果某项词义的概率估计大于θ就保留,否则就去掉。

使用交叉熵进行训练,最小化损失函数:

其中,zi是目标词候选词义的one-hot表示。

在本实施例中,融合语义嵌入的词义消歧方案由注意机制上下文编码器和定义编码器:注意机制上下文编码器:使用具有自我注意力机制的双向lstm编码器将输入语句中的单元序列转换为上下文特定的单词表示,再与bilstm处理过的句子的单词表示相连接,得到了上下文语义嵌入;定义编码器:结合语义知识库中对词的定义,将其作为定义编码器训练的语料。使用多层卷积网络模型conve以获得每个单词的定义嵌入,最后上下文语义嵌入和定义嵌入结合:通过定义编码器得到的定义嵌入,和通过注意机制上下文编码器得到的上下文特定的上下文语义嵌入,将二者做点积来融合,同时加入偏置。

使用双向lstm(bilstm)编码器将输入句中的单元序列转换为上下文语义的嵌入。自我注意力机制用于增强上下文以消除当前单词的歧义,然后是一个投影层,为每个输入单元产生语义嵌入。对输入的消歧句子使用自我注意力机制的bilstm来获得其目标嵌入,让单词离散的标注信息转换成连续的向量表示。利用外部语义知识库(比如wordnet等)中对词的定义,捕捉出词的定义含义,充分利用了现有的语义知识库的资源,学习了一种新的意义定义的句子编码器,也学习了最近提出的知识图嵌入方法,同时不依赖任何重叠启发式,使用一个单一的定义,以生成定义嵌入。结合了将词汇资源结合到词义消歧的任务中,不仅利用了外部资源减轻了人工标注成本,同时因为成熟的词汇资源里面包含丰富的语义信息,从而加强了泛化效果。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种语义的消歧装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图6是根据本发明实施例的一种语义的消歧装置的结构框图,如图6所示,该装置包括:第一获取模块60,生成模块62,第二获取模块64,输出模块66,其中,

第一获取模块60,用于获取输入语句,其中,所述输入语句包括若干个待消歧的词单元;

生成模块62,用于将所述输入语句中的每个词单元转换为词向量和上下文语义向量,并采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量;

第二获取模块64,用于采用预设语义知识库获取每个所述词单元的定义嵌入概率,其中,所述预设语义知识库包括所述词单元的若干个语义信息;

输出模块66,用于对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息。

可选的,所述生成模块包括:转换单元,用于将所述输入语句分割成单词序列,采用特征提取器将所述单词序列转换为特征向量集合;处理单元,用于将所述输入语句中各个词单元对应的特征向量输入双向长时间的短期记忆网络bilstm层,正向lstm根据输入的特征向量输出正向隐状态序列hf,表示第i个词单元的的正向隐状态,反向lstm根据输入的特征向量输出反向隐状态序列hb,表示第i个词单元的的反向隐状态;第一拼接单元,用于针对每个词单元,将所述正向隐状态序列hf和所述反向隐状态序列hb进行拼接得到完整的隐状态序列,并将所述隐状态序列确定为对应词单元的词向量。

可选的,所述生成模块包括:获取单元,用于使用缩放的点积注意力机制在每个时间步长获取上下文信息;第一计算单元,用于针对第i个词单元xi,计算词向量ui与其他时间状态的词向量之间的相似度,得到得xi的第一注意力矩阵;转变单元,用于将所述第一注意力矩阵转变成标准正态分布的第二注意力矩阵;生成单元,用于采用所述第二注意力矩阵对投影矩阵加权,并和词向量做点积,生成上下文语义向量。

可选的,所述生成模块包括:第二拼接单元,用于针对第i个词单元是xi,将词向量ui和上下文语义向量ci拼接成拼接向量ri;第二计算单元,用于基于ri采用以下公式计算第i个词单元xi的上下文语义嵌入向量vi:vi=dropout(wlri);其中,wl为预设参数。

可选的,所述第二获取模块包括:获取单元,用于通过预训练模型获取所述预设语义知识库中各个元素的一维头向量和一维关系向量,其中,每个元素对应一个所述词单元,包括头节点、尾节点、关系;处理单元,用于根据所述一维头向量和一维关系向量计算词单元的嵌入向量,以及获取所述词单元的语义向量矩阵,其中,所述语义向量矩阵包括对应词单元所有单词的实体定义向量;计算单元,用于采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率。

可选的,所述处理单元包括:压缩子单元,用于将所述一维头向量和一维关系向量分别压缩成二维向量后,再拼接成多维向量;卷积子单元,用于通过卷积核对所述多维向量进行卷积,得到相应的特征映射;输出子单元,用于将所述特征映射展开成一维向量,并输入至全连接层,输出所述词单元的嵌入向量。

可选的,所述计算单元包括:第一计算子单元,用于采用所述嵌入向量和所述语义向量矩阵构成的向量矩阵相乘,得到对应于每一个尾节点的概率值其中,eh,et分别是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形,w表示二维卷积,vec(*)表示*的矢量化,w表示线性全连接,f表示校正线性单元;第二计算子单元,用于基于在sigmoid层采用以下算法得到所述词单元的定义嵌入概率p:

可选的,所述输出模块包括:融合单元,用于对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,获得词单元每个词义的召回率;输出单元,用于经过softmax层输出词单元xi在词义清单中所有候选词义的概率列表其中,s是所述预设语义知识库中每个词单元所有的词义清单,vi为词单元的第i个语义,pj为第i个语义的召回率,λ为加权系数,b为估计偏置参数;选择单元,用于基于预设最小损失函数在所述中选择所述词单元的语义信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例3

本申请实施例还提供了一种电子装置,图7是本发明实施例的一种电子装置的结构图,如图7所示,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,存储器73,用于存放计算机程序;

处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:获取输入语句,其中,所述输入语句包括若干个待消歧的词单元;将所述输入语句中的每个词单元转换为词向量和上下文语义向量,并采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量;采用预设语义知识库获取每个所述词单元的定义嵌入概率,其中,所述预设语义知识库包括所述词单元的若干个语义信息;对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息。

可选的,将所述输入语句中的每个词单元转换为词向量包括:将所述输入语句分割成单词序列,采用特征提取器将所述单词序列转换为特征向量集合;将所述输入语句中各个词单元对应的特征向量输入双向长时间的短期记忆网络bilstm层,正向lstm根据输入的特征向量输出正向隐状态序列hf,表示第i个词单元的的正向隐状态,反向lstm根据输入的特征向量输出反向隐状态序列hb,表示第i个词单元的的反向隐状态;针对每个词单元,将所述正向隐状态序列hf和所述反向隐状态序列hb进行拼接得到完整的隐状态序列,并将所述隐状态序列确定为对应词单元的词向量。

可选的,将所述输入语句中的每个词单元转换上下文语义向量包括:使用缩放的点积注意力机制在每个时间步长获取上下文信息;针对第i个词单元xi,计算词向量ui与其他时间状态的词向量之间的相似度,得到得xi的第一注意力矩阵;将所述第一注意力矩阵转变成标准正态分布的第二注意力矩阵;采用所述第二注意力矩阵对投影矩阵加权,并和词向量做点积,生成上下文语义向量。

可选的,采用所述词向量和所述上下文语义向量拼接生成所述词单元的上下文语义嵌入向量包括:针对第i个词单元是xi,将词向量ui和上下文语义向量ci拼接成拼接向量ri;基于ri采用以下公式计算第i个词单元xi的上下文语义嵌入向量vi:vi=dropout(wlri);其中,wl为预设参数。

可选的,采用预设语义知识库获取每个所述词单元的定义嵌入概率包括:通过预训练模型获取所述预设语义知识库中各个元素的一维头向量和一维关系向量,其中,每个元素对应一个所述词单元,包括头节点、尾节点、关系;根据所述一维头向量和一维关系向量计算词单元的嵌入向量,以及获取所述词单元的语义向量矩阵,其中,所述语义向量矩阵包括对应词单元所有单词的实体定义向量;采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率。

可选的,根据所述一维头向量和一维关系向量计算词单元的嵌入向量包括:将所述一维头向量和一维关系向量分别压缩成二维向量后,再拼接成多维向量;通过卷积核对所述多维向量进行卷积,得到相应的特征映射;将所述特征映射展开成一维向量,并输入至全连接层,输出所述词单元的嵌入向量。

可选的,采用所述嵌入向量和所述语义向量矩阵计算得到每个所述词单元的定义嵌入概率包括:采用所述嵌入向量和所述语义向量矩阵构成的向量矩阵相乘,得到对应于每一个尾节点的概率值其中,eh,et分别是头结点和尾节点的实体参数,el是关系参数,表示*的二维整形,w表示二维卷积,vec(*)表示*的矢量化,w表示线性全连接,f表示校正线性单元;基于在sigmoid层采用以下算法得到所述词单元的定义嵌入概率p:

可选的,对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,输出所述词单元的语义信息包括:对所述定义嵌入概率和所述上下文语义嵌入向量进行点积融合,获得词单元每个词义的召回率;经过softmax层输出词单元xi在词义清单中所有候选词义的概率列表其中,s是所述预设语义知识库中每个词单元所有的词义清单,vi为词单元的第i个语义,pj为第i个语义的召回率,λ为,b为;基于预设最小损失函数在所述中选择所述词单元的语义信息。

上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的语义的消歧方法。

在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的语义的消歧方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1