当前位置: 首页 > 专利查询>北京大学专利>正文

一种序列学习的动态标识符表示方法、装置及系统制造方法及图纸

技术编号:20329219 阅读:30 留言:0更新日期:2019-02-13 05:48
本发明专利技术提供了一种序列学习的动态标识符表示方法、装置及系统,所述方法包括:将语境向量和标识符向量作为输入,输入相关性子模块中,做相关性运算,得到相关性向量;将所述相关性向量输入Softmax子模块中,做归一化运算,得到组合向量;将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。使用本发明专利技术DTR模块的LSTM模型能够更快和更稳定的收敛,更好的理解未知标识符,并且能够提供更有竞争力的准确率,而且相比传统LSTM方法,其词汇量小得多。

【技术实现步骤摘要】
一种序列学习的动态标识符表示方法、装置及系统
本专利技术涉及计算机软件工程
,尤其是涉及一种序列学习的动态标识符表示方法、装置及系统。
技术介绍
序列学习在自然语言处理(NLP)和程序源代码分析中扮演着重要角色。标识符的表示对于序列学习非常重要。离散标识符的表示方法是序列学习中非常重要。通常的办法是使用一个静态一对一查找表来生成输入标识符的持续静态嵌入,并且使用一个单一嵌入来表示所有的标识符。但是,一个标识符的确切意义经常随着其出现的语境的变化而变化,所以静态嵌入方法不能总是准确的表达一个标识符的确切含义,尤其是对那些多义词和未知标识符而言。
技术实现思路
为解决以上问题,在本专利技术中,提出了一种基于记忆槽的动态标识符表示(DynamicTokenRepresentation,DTR)模块,考虑了动态表示生成过程中的当前语境。其中,标识符表示通过结合记忆槽中存储的语素向量而动态产生,考虑了当前语境。本专利技术设计了一个人工数据集(SAS)和两个NLP工业级数据集(Javasource、YahooAnswers),分析了程序代码。具体的,本专利技术提供了一种序列学习的动态标识符表示方法,包括:将语境向量和标识符向量作为输入,输入相关性子模块中,做相关性运算,得到相关性向量;将所述相关性向量输入Softmax子模块中,做归一化运算,得到组合向量;将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。优选的,所述相关性运算采用相关性函数。优选的,所述相关性函数是拼接函数。优选的,所述组合向量是基于组合权重的概率分布函数。优选的,所述记忆槽的数量是有限个而且每个槽之间互不相同。优选的,所述Softmax子模块使用L1-正则化算法。优选的,所述记忆槽是一个二维矩阵,以存储多义词向量,其中,每个槽内存储一个多义词向量。优选的,所述线性运算的组合权重根据所述相关性向量而产生。根据本专利技术的另一个方面,本专利技术还提供了一种序列学习的动态标识符表示模块,包括如下顺序相连的如下结构:相关性子模块,将语境向量和标识符向量作为所述相关性子模块的输入,做相关性运算,得到相关性向量;Softmax子模块,将所述相关性向量输入Softmax子模块中,做归一化运算,得到组合向量;记忆槽,将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。根据本专利技术的另一个方面,本专利技术还提供了一种序列学习的动态标识符表示装置,包括:一个如上所述的动态标识符表示模块,以及与所述动态标识符表示模块相串连的循环神经网络单元(RNN)或长短期记忆网络(LSTM)。根据本专利技术的另一个方面,本专利技术还提供了一种序列学习的动态标识符表示系统,包括:一个或多个串联的如上所述的动态标识符表示装置。本专利技术的优点在于:使用本专利技术DTR模块的LSTM模型能够更快和更稳定的收敛,更好的理解未知标识符,并且能够提供更有竞争力的准确率,而且相比传统LSTM方法,其词汇量小得多。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本专利技术序列学习的动态标识符表示方法流程图。图2为本专利技术的一种DTR-RNN装置结构示意图。图3为本专利技术的一种DTR-LSTM系统结构示意图。图4为本专利技术的一种DTR-LSTM系统与传统LSTM在SAS人工数据集上的学习曲线示意图。图5为本专利技术的一种DTR-LSTM系统与传统LSTM在Javasource数据集上的学习曲线对比示意图。图6为本专利技术的一种DTR-LSTM系统与传统LSTM在Yahoo!Answers数据集上的词汇量对于准确率的影响效果示意图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施方式。虽然附图中显示了本专利技术的示例性实施方式,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。为了解决静态嵌入方法面临的问题,本专利技术使用记忆槽来存储多义词向量,每个多义词向量放入一个对应的记忆槽中。然后标识符可以通过组合这些多义词向量而进行表示。由于组合权重是根据当前语境而动态产生的,所述表示就是动态的、语境相关的。另外,本专利技术的模块完全是可通用的:它可以适用于任何嵌入技术和任何一种基于循环神经网络(RNN)或长短期记忆网络(LSTM)的模型。实施例1图1为本专利技术序列学习的动态标识符表示方法流程图。包括如下步骤:S1、将语境向量和标识符向量作为输入,输入相关性子模块中,做相关性运算,得到相关性向量。所述相关性运算可以采用很多相关性函数,最简单的相关性函数是拼接函数。设语境向量的维度为n,标识符向量的维度为m,则该拼接函数的维度为n+m。另一个可以采用的相关性函数是全连接变形的拼接函数。一个设计良好的相关性函数能够获得更好的性能。S2、将所述相关性向量输入Softmax子模块中,做归一化运算(softmax),得到组合向量。所述组合向量是基于组合权重的概率分布函数。无论组合权重是如何产生的,该归一化运算都是必需的。一旦完成归一化,那么结果向量(即上述组合向量)就可以认为是一个概率分布函数。然后,所述组合权重必须是稀疏的,这意味着每个标识符的相当数量的记忆槽应该是有限的和不同的。最后,softmax函数是简单而漂亮的。Softmax自然的将输入向量映射为概率分布。当应用L1-正则化时,softmax函数输出稀疏概率分布。S3、将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。所述记忆槽是一个二维矩阵,存储多义词向量,其中,每个槽内存储一个多义词向量。基于这些槽的线性组合可以认为是标识符的表示。由于槽的组合权重是根据相关性向量而产生的,因此组合向量是语境相关的。实施例2根据本专利技术的另一个方面,本专利技术还提供了一种序列学习的动态标识符表示模块。包括如下顺序相连的如下结构:相关性子模块,将语境向量和标识符向量作为所述相关性子模块的输入,做相关性运算,得到相关性向量。所述相关性运算可以采用很多相关性函数,最简单的相关性函数是拼接函数。设语境向量的维度为n,标识符向量的维度为m,则该拼接函数的维度为n+m。另一个可以采用的相关性函数是全连接变形的拼接函数。一个设计良好的相关性函数能够获得更好的性能。Softmax子模块,将所述相关性向量输入Softmax子模块中,做归一化运算(softmax),得到组合向量。所述组合向量是基于组合权重的概率分布函数。无论组合权重是如何产生的,该归一化运算都是必需的。一旦完成归一化,那么结果向量(即上述组合向量)就可以认为是一个概率分布函数。然后,所述组合权重必须是稀疏的,这意味着每个标识符的相当数量的记忆槽应该是有限的和不同的。最后,softmax函数是简单而漂亮的。Softmax自然的将输入向量映射为概率分布。当应用L1-正则化时,softmax函数输出稀疏概率分布。记忆槽,将所述组合向量本文档来自技高网...

【技术保护点】
1.一种序列学习的动态标识符表示方法,其特征在于,包括:将语境向量和标识符向量作为输入,输入相关性子模块中,做相关性运算,得到相关性向量;将所述相关性向量输入Softmax子模块中,做归一化运算,得到组合向量;将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。

【技术特征摘要】
1.一种序列学习的动态标识符表示方法,其特征在于,包括:将语境向量和标识符向量作为输入,输入相关性子模块中,做相关性运算,得到相关性向量;将所述相关性向量输入Softmax子模块中,做归一化运算,得到组合向量;将所述组合向量输入记忆槽,使得所述记忆槽中的槽之间根据所述组合向量做线性运算,得到所述动态标识符表示。2.根据权利要求1所述的序列学习的动态标识符表示方法,其特征在于:所述相关性运算采用相关性函数。3.根据权利要求2所述的序列学习的动态标识符表示方法,其特征在于:所述相关性函数是拼接函数。4.根据权利要求1所述的序列学习的动态标识符表示方法,其特征在于:所述组合向量是基于组合权重的概率分布函数。5.根据权利要求1所述的序列学习的动态标识符表示方法,其特征在于:所述记忆槽的数量是有限个而且每个槽之间互不相同。6.根据权利要求1所述的序列学习的动态标识符表示方法,其特征在于:所述Softmax子模块使用L1-正则化算法。7.根据权利要求1所述的序列学习的动态标识符表示方法...

【专利技术属性】
技术研发人员:李戈金芝
申请(专利权)人:北京大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1