CN108509422B - 一种词向量的增量学习方法、装置和电子设备 - Google Patents

一种词向量的增量学习方法、装置和电子设备 Download PDF

Info

Publication number
CN108509422B
CN108509422B CN201810299691.8A CN201810299691A CN108509422B CN 108509422 B CN108509422 B CN 108509422B CN 201810299691 A CN201810299691 A CN 201810299691A CN 108509422 B CN108509422 B CN 108509422B
Authority
CN
China
Prior art keywords
word
incremental
vector
word vector
new
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
CN201810299691.8A
Other languages
English (en)
Other versions
CN108509422A (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.)
Guangzhou Li Zhi Network Technology Co Ltd
Original Assignee
Guangzhou Li Zhi Network Technology Co Ltd
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 Guangzhou Li Zhi Network Technology Co Ltd filed Critical Guangzhou Li Zhi Network Technology Co Ltd
Priority to CN201810299691.8A priority Critical patent/CN108509422B/zh
Publication of CN108509422A publication Critical patent/CN108509422A/zh
Application granted granted Critical
Publication of CN108509422B publication Critical patent/CN108509422B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施例提供了一种词向量的增量学习方法、装置和电子设备,该方法包括:获取新词;在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;获取训练语料;采用所述训练语料对所述词增量向量模型进行训练,获得词向量,利用迁移学习的特性增量学习词向量,无需重新学习词向量,大大减少了时间的消耗,降低了资源的耗费。

Description

一种词向量的增量学习方法、装置和电子设备
技术领域
本发明涉及机器学习技术领域,特别是涉及一种词向量的增量学习方法、装置和电子设备。
背景技术
word2vec算法是一种快算速度的近义词算法,原本用于将词做一个embedding(向量),从大量的离散id类别映射到一个几十到几百维度的N维空间中的一个点。
word2vec算法同样也用于具备语义相关性的序列,从而训练词向量。
例如,在推荐场景中用户浏览的记录,每一次会话或者时间间隔比较短的时间记录都可以认为是一次连续的时间序列,从而应用word2vec算法。
目前,随着新词的加入通常会需要对词向量进行扩展,此时,需要重新学习词向量。
发明内容
本发明实施例提出了一种词向量的增量学习方法、装置和电子设备,以解决加入新词需要重新学习词向量的问题。
第一方面,本发明实施例提供了一种词向量的增量学习方法,包括:
获取新词;
在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;
获取训练语料;
采用所述训练语料对所述词增量向量模型进行训练,获得词向量。
优选地,所述基础词向量模型为负采样的第一神经网络,所述第一神经网络包括基础词向量表与第一输出层,所述第一输出层中具有基础输出参数;
所述在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型,包括:
构造负采样的第二神经网络作为词增量向量模型,所述第二神经网络具有增量词向量表与第二输出层;
在所述基础词向量表的基础上初始化所述新词所属的增量词向量表;
在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
优选地,所述在所述基础词向量表的基础上初始化所述新词所属的增量词向量表,包括:
使用所述基础词向量表初始化所述增量词向量表;
将所述新词插入所述增量词向量表中;
在所述增量词向量表中随机初始化所述新词的词向量。
优选地,所述基础输出参数包括基础权值与基础偏置值,所述增量输出参数包括增量权值与增量偏置值;
所述在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数,包括:
在所述增量词向量表与所述基础词向量表中查询相同的词,作为原词;
使用所述基础权值与所述基础偏置值初始化所述原词对应的增量权值与增量偏置值;
对所述新词生成新的增量权值与增量偏置值;
随机初始化所述新词对应的增量权值与增量偏置值。
优选地,所述采用所述训练语料对所述词增量向量模型进行训练,获得词向量,包括:
使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对;
将所述上下文对应的词向量求和,获得求和词向量;
对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点;
对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
优选地,所述采用所述训练语料对所述词增量向量模型进行训练,获得词向量,还包括:
对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新;
对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
优选地,所述对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新,包括:
对所述词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持所述增量词向量表中原词的词向量。
对所述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新。
第二方面,本发明实施例提供了一种词向量的增量学习装置,包括:
新词获取模块,用于获取新词;
增量向量模型构建模块,用于在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;
训练语料获取模块,用于获取训练语料;
词向量增量模型训练模块,用于采用所述训练语料对所述词增量向量模型进行训练,获得词向量。
优选地,所述基础词向量模型为负采样的第一神经网络,所述第一神经网络包括基础词向量表与第一输出层,所述第一输出层中具有基础输出参数;
所述增量向量模型构建模块包括:
神经网络构造子模块,用于构造负采样的第二神经网络作为词增量向量模型,所述第二神经网络具有增量词向量表与第二输出层;
第一初始化子模块,用于在所述基础词向量表的基础上初始化所述新词所属的增量词向量表;
第二初始化子模块,用于在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
优选地,所述第一初始化子模块包括:
增量词向量表初始化单元,用于使用所述基础词向量表初始化所述增量词向量表;
新词插入单元,用于将所述新词插入所述增量词向量表中;
新词初始化单元,用于在所述增量词向量表中随机初始化所述新词的词向量。
优选地,所述基础输出参数包括基础权值与基础偏置值,所述增量输出参数包括增量权值与增量偏置值;
所述第二初始化子模块包括:
原词查询单元,用于在所述增量词向量表与所述基础词向量表中查询相同的词,作为原词;
原参数初始化单元,用于使用所述基础权值与所述基础偏置值初始化所述原词对应的增量权值与增量偏置值;
新参数生成单元,用于对所述新词生成新的增量权值与增量偏置值;
新参数初始化单元,用于随机初始化所述新词对应的增量权值与增量偏置值。
优选地,所述词向量增量模型训练模块包括:
词遍历子模块,用于使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对;
求和词向量计算子模块,用于将所述上下文对应的词向量求和,获得求和词向量;
分类子模块,用于对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点;
梯度计算子模块,用于对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
优选地,所述词向量增量模型训练模块还包括:
词向量更新子模块,用于对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新;
增量输出参数更新子模块,用于对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
优选地,所述词向量更新子模块包括:
第一更新单元,用于对所述词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持所述增量词向量表中原词的词向量;
第二更新单元,用于对所述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的词向量的增量学习方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的词向量的增量学习方法。
本发明实施例包括以下优点:
在本发明实施例中,若增加新词,则可以在已训练的基础词向量模型的基础上,对新词构造词增量向量模型,采用预先准备的训练语料对词增量向量模型进行训练,获得词向量,利用迁移学习的特性增量学习词向量,无需重新学习词向量,大大减少了时间的消耗,降低了资源的耗费。
附图说明
图1是一种词向量的学习的示意图;
图2是本发明的一种词向量的增量学习方法的步骤流程图;
图3是本发明的一种词向量的增量学习的示意图;
图4是本发明的一种词向量的增量学习装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,根据word2vec的原理,这里仅从其中的一种训练方法出发,即从negative sampling(负采样)的方法出发来训练词向量,包括如下步骤:
1、如果词向量表不存在,则随机初始化这个词向量表,其中,每一个词wordi(i=1,2,3,…,N)都对应一个长度为N(N为正整数)的一维数组,作为向量(即词向量)。
2、获取到事先准备好的训练语料,每一行表示一个时间序列。
3、使用滑动窗口来采集中心词和它周围的上下文context(即滑动窗口中除中心词外的其他词),来构成一个样本对(上下文的词列表,中心词)。
4、将上下文求和得到一个新的求和词向量sum of contexts,且向量维数也等于N。
将求和词向量进行前向传播做一个softmax多分类,词向量表里的每个词都作为一个多分类的输出节点。
5、采用negative sampling技术加速这部分softmax的分类过程。
进一步而言,从N个输出节点中取中心词作为正例,并随机采样的取k个词作为采样负例,其中,k远小于N,即k<<N。
这样,每次只会对softmax层网络的部分参数进行修正,从而大大加速训练速度。
6、对每个样本对求一次误差L,并都执行一次梯度的后向传播,沿着原路返回,并求出误差L对该上下文每个词向量中的每个值的梯度[i][j],其中,i表示词表中第i个词,而j表示word[i]向量的第j个值。
7、应用梯度下降法,对上下文中相关的词向量进行参数更新,同时对softmax层的多分类的权值weights和偏置值bias进行更新。
重复上述第3-6个步骤,直到整个训练语料训练完成,即可得到一个训练完成的词向量表。
可以看到的是,上面的模型其实是一个带embedding映射层的神经网络,在执行多分类任务。
参照图2,示出了本发明的一种词向量的增量学习方法的步骤流程图,具体可以包括如下步骤:
步骤201,获取新词。
在本发明实施例中,获取到新词出现的那部分语料,作为增量学习的训练样本。
步骤202,在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型。
应用本发明实施例,可以预先训练词向量模型(如上述图1中训练的词向量模型),作为基础词向量模型,在利用迁移学习的特性,可以该基础词向量模型的基础上,对新词构造词增量向量模型。
在本发明的一个优选实施例中,基础词向量模型为负采样的第一神经网络,第一神经网络包括基础词向量表(如上述图1中的词向量表)与第一输出层,第一输出层softmax中具有基础输出参数,则在本发明实施例中,步骤202可以包括如下子步骤:
子步骤S11,构造负采样的第二神经网络作为词增量向量模型。
在本发明实施例中,之所以采用negative sampling(负采样)的方式来执行增量学习,而没有采用层次化霍夫曼树的方式来执行增量学习,是因为层次化霍夫曼树的方式除了词向量本身,还涉及到树结构本身,除了树的每个非叶节点都有一组参数之外,这棵树是根据语料库中的词频建立的,对于新的语料库而言,它可能跟原来训练基础词向量表的语料库的词频分布不一样了,所以霍夫曼树理论上是需要重新建立的,这样一来需要调整的参数就比negative sampling更多,增加训练的难度。
其中,第二神经网络具有增量词向量表与第二输出层softmax。
子步骤S12,在所述基础词向量表的基础上初始化所述新词所属的增量词向量表。
在具体实现中,可以使用基础词向量表初始化增量词向量表,将新词插入所增量词向量表中,以及,在增量词向量表中随机初始化所述新词的词向量。
例如,如图3所示,词向量表(即增量词向量表)中已有N个词word,现插入新词wordN+1、wordN+2、wordN+3。
子步骤S13,在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
在具体实现中,基础输出参数包括基础权值weights与基础偏置值bias,增量输出参数包括增量权值weights与增量偏置值bias。
在增量词向量表与基础词向量表中查询相同的词,作为原词。
使用基础权值weights与基础偏置值bias初始化原词对应的增量权值weights与增量偏置值bias。
也就是说,在第二输出层softmax用原来训练好的基础词向量模型的第一输出层的基础权值weigths和基础偏置值bias去初始化原来基础词向量里已经存在的词对应的输出节点的增量权值weights和增量偏置值bias。
此外,对新词生成新的增量权值与增量偏置值,随机初始化新词对应的增量权值weigths与增量偏置值bias。
此时,对第二输出层的节点进行扩展,将新词作为新节点直接拼接到第二输出层上,新加的节点与前一层(sum of contexts对应的project layer)的每个节点生成新的增量权值weights和增量偏置值bias并使用随机初始化去初始化它们,参与整个词增量向量模型的训练。
至此,词增量向量模型已经构造完成。
步骤203,获取训练语料。
对于训练语料已事先准备好,可以直接从数据库中获取,每一行表示一个时间序列。
步骤204,采用所述训练语料对所述词增量向量模型进行训练,获得词向量。
在具体实现中,可以采用训练语料对词增量向量模型进行训练,从而在添加新词之后,增量学习新的词向量。
在本发明的一个优选实施例中,步骤204可以包括如下子步骤:
子步骤S21,使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对。
如图3所示,使用滑动窗口来采集中心词和它周围的上下文context(即滑动窗口中除中心词外的其他词),来构成一个样本对(上下文的词列表,中心词)。
子步骤S22,将所述上下文对应的词向量求和,获得求和词向量。
子步骤S23,对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点。
如图3所示,将上下文求和得到一个新的求和词向量sum of contexts,且向量维数也等于N。
将求和词向量进行前向传播做一个softmax多分类,词向量表里的每个词都作为一个多分类的输出节点。
采用negative sampling技术加速这部分softmax的分类过程。
进一步而言,从N个输出节点中取中心词作为正例,并随机采样的取k个词作为采样负例,其中,k远小于N,即k<<N。
这样,每次只会对softmax层网络的部分参数进行修正,从而大大加速训练速度。
子步骤S24,对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
对每个样本对求一次误差L,并都执行一次梯度的后向传播,沿着原路返回,并求出误差L对该上下文每个词向量中的每个值的梯度[i][j],其中,i表示词表中第i个词,而j表示word[i]向量的第j个值。
重复上述子步骤S21-子步骤S24,直到整个训练语料训练完成,即可得到一个训练完成的增量词向量表。
在本发明的另一个实施例中,步骤204可以包括如下子步骤:
子步骤S25,对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新。
在本发明实施例中,对增量词向量表中的参数应用梯度下降法,即对增量词向量表里的词向量进行参数更新。
这里有两种增量学习方式,分别是:
1、原词的词向量保持不变的增量学习
在某些场景中,其他模型或应用依赖增量词向量表里的参数,所以要求词向量不能随便改变,否则,其他依赖该增量词向量表的模型或应用也需要重新训练,而需要新词去适应原来的旧词表的值分布。
因此,对词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持增量词向量表中原词的词向量,而不对原词的词向量应用梯度下降算法。
2、原词的词向量可微调的增量学习
在某些场景中,将训练得到的增量词向量表去做其他模型的输入层的embedding的预训练pre-train使用。
因此,对述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新,即们可以对增量词向量表中全部词的词向量进行微调。
子步骤S26,对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
在本发明实施例中,对词增量向量模型中第二输出层softmax的参数应用梯度下降法,即对softmax层的多分类的权值weights和偏置值bias进行更新。
在本发明实施例中,若增加新词,则可以在已训练的基础词向量模型的基础上,对新词构造词增量向量模型,采用预先准备的训练语料对词增量向量模型进行训练,获得词向量,利用迁移学习的特性增量学习词向量,无需重新学习词向量,大大减少了时间的消耗,降低了资源的耗费。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种词向量的增量学习装置的结构框图,具体可以包括如下模块:
新词获取模块401,用于获取新词;
增量向量模型构建模块402,用于在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;
训练语料获取模块403,用于获取训练语料;
词向量增量模型训练模块404,用于采用所述训练语料对所述词增量向量模型进行训练,获得词向量。
在本发明的一个优选实施例中,所述基础词向量模型为负采样的第一神经网络,所述第一神经网络包括基础词向量表与第一输出层,所述第一输出层中具有基础输出参数;
所述增量向量模型构建模块402包括:
神经网络构造子模块,用于构造负采样的第二神经网络作为词增量向量模型,所述第二神经网络具有增量词向量表与第二输出层;
第一初始化子模块,用于在所述基础词向量表的基础上初始化所述新词所属的增量词向量表;
第二初始化子模块,用于在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
在本发明的一个优选实施例中,所述第一初始化子模块包括:
增量词向量表初始化单元,用于使用所述基础词向量表初始化所述增量词向量表;
新词插入单元,用于将所述新词插入所述增量词向量表中;
新词初始化单元,用于在所述增量词向量表中随机初始化所述新词的词向量。
在本发明的一个优选实施例中,所述基础输出参数包括基础权值与基础偏置值,所述增量输出参数包括增量权值与增量偏置值;
所述第二初始化子模块包括:
原词查询单元,用于在所述增量词向量表与所述基础词向量表中查询相同的词,作为原词;
原参数初始化单元,用于使用所述基础权值与所述基础偏置值初始化所述原词对应的增量权值与增量偏置值;
新参数生成单元,用于对所述新词生成新的增量权值与增量偏置值;
新参数初始化单元,用于随机初始化所述新词对应的增量权值与增量偏置值。
在本发明的一个优选实施例中,所述词向量增量模型训练模块404包括:
词遍历子模块,用于使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对;
求和词向量计算子模块,用于将所述上下文对应的词向量求和,获得求和词向量;
分类子模块,用于对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点;
梯度计算子模块,用于对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
在本发明的一个优选实施例中,所述词向量增量模型训练模块404还包括:
词向量更新子模块,用于对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新;
增量输出参数更新子模块,用于对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
在本发明的一个优选实施例中,所述词向量更新子模块包括:
第一更新单元,用于对所述词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持所述增量词向量表中原词的词向量。
第二更新单元,用于对所述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本发明实施例中,若增加新词,则可以在已训练的基础词向量模型的基础上,对新词构造词增量向量模型,采用预先准备的训练语料对词增量向量模型进行训练,获得词向量,利用迁移学习的特性增量学习词向量,无需重新学习词向量,大大减少了时间的消耗,降低了资源的耗费。
本发明实施例提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述词向量的增量学习方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图5是本发明一个实施例的一种电子设备的结构示意图,该电子设备可以为服务器。
该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述词向量的增量学习方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

Claims (14)

1.一种词向量的增量学习方法,其特征在于,包括:
获取新词;
在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;
获取训练语料;
采用所述训练语料对所述词增量向量模型进行训练,获得词向量;
其中,所述基础词向量模型为负采样的第一神经网络,所述第一神经网络包括基础词向量表与第一输出层,所述第一输出层中具有基础输出参数;
所述在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型,包括:
构造负采样的第二神经网络作为词增量向量模型,所述第二神经网络具有增量词向量表与第二输出层;
在所述基础词向量表的基础上初始化所述新词所属的增量词向量表;
在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
2.根据权利要求1所述的方法,其特征在于,所述在所述基础词向量表的基础上初始化所述新词所属的增量词向量表,包括:
使用所述基础词向量表初始化所述增量词向量表;
将所述新词插入所述增量词向量表中;
在所述增量词向量表中随机初始化所述新词的词向量。
3.根据权利要求1所述的方法,其特征在于,所述基础输出参数包括基础权值与基础偏置值,所述增量输出参数包括增量权值与增量偏置值;
所述在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数,包括:
在所述增量词向量表与所述基础词向量表中查询相同的词,作为原词;
使用所述基础权值与所述基础偏置值初始化所述原词对应的增量权值与增量偏置值;
对所述新词生成新的增量权值与增量偏置值;
随机初始化所述新词对应的增量权值与增量偏置值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述采用所述训练语料对所述词增量向量模型进行训练,获得词向量,包括:
使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对;
将所述上下文对应的词向量求和,获得求和词向量;
对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点;
对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
5.根据权利要求4所述的方法,其特征在于,所述采用所述训练语料对所述词增量向量模型进行训练,获得词向量,还包括:
对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新;
对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
6.根据权利要求5所述的方法,其特征在于,所述对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新,包括:
对所述词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持所述增量词向量表中原词的词向量;
对所述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新。
7.一种词向量的增量学习装置,其特征在于,包括:
新词获取模块,用于获取新词;
增量向量模型构建模块,用于在已训练的基础词向量模型的基础上,对所述新词构造词增量向量模型;
训练语料获取模块,用于获取训练语料;
词向量增量模型训练模块,用于采用所述训练语料对所述词增量向量模型进行训练,获得词向量;
其中,所述基础词向量模型为负采样的第一神经网络,所述第一神经网络包括基础词向量表与第一输出层,所述第一输出层中具有基础输出参数;
所述增量向量模型构建模块包括:
神经网络构造子模块,用于构造负采样的第二神经网络作为词增量向量模型,所述第二神经网络具有增量词向量表与第二输出层;
第一初始化子模块,用于在所述基础词向量表的基础上初始化所述新词所属的增量词向量表;
第二初始化子模块,用于在所述第二输出层中,使用所述基础输出参数的基础上初始化所述新词对应的增量输出参数。
8.根据权利要求7所述的装置,其特征在于,所述第一初始化子模块包括:
增量词向量表初始化单元,用于使用所述基础词向量表初始化所述增量词向量表;
新词插入单元,用于将所述新词插入所述增量词向量表中;
新词初始化单元,用于在所述增量词向量表中随机初始化所述新词的词向量。
9.根据权利要求7所述的装置,其特征在于,所述基础输出参数包括基础权值与基础偏置值,所述增量输出参数包括增量权值与增量偏置值;
所述第二初始化子模块包括:
原词查询单元,用于在所述增量词向量表与所述基础词向量表中查询相同的词,作为原词;
原参数初始化单元,用于使用所述基础权值与所述基础偏置值初始化所述原词对应的增量权值与增量偏置值;
新参数生成单元,用于对所述新词生成新的增量权值与增量偏置值;
新参数初始化单元,用于随机初始化所述新词对应的增量权值与增量偏置值。
10.根据权利要求7-9任一项所述的装置,其特征在于,所述词向量增量模型训练模块包括:
词遍历子模块,用于使用滑动窗口在所述训练语料中采集中心词和所述中心词的上下文,作为样本对;
求和词向量计算子模块,用于将所述上下文对应的词向量求和,获得求和词向量;
分类子模块,用于对所述求和词向量执行前向传播,以进行分类,其中,增量词向量表里的每个词作为一个分类的输出节点;
梯度计算子模块,用于对每个样本对计算误差,并进行后向传播,求出误差对该样本词的上下文中每个词向量中每个值的梯度。
11.根据权利要求10所述的装置,其特征在于,所述词向量增量模型训练模块还包括:
词向量更新子模块,用于对所述词增量向量模型的增量词向量表中的词向量通过梯度下降进行更新;
增量输出参数更新子模块,用于对所述词增量向量模型中第二输出层的增量输出参数通过梯度下降进行更新。
12.根据权利要求11所述的装置,其特征在于,所述词向量更新子模块包括:
第一更新单元,用于对所述词增量向量模型的增量词向量表中新词的词向量通过梯度下降进行更新,保持所述增量词向量表中原词的词向量;
第二更新单元,用于对所述词增量向量模型的增量词向量表中新词与原词的词向量通过梯度下降进行更新。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6之任一项所述的词向量的增量学习方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6之任一项所述的词向量的增量学习方法。
CN201810299691.8A 2018-04-04 2018-04-04 一种词向量的增量学习方法、装置和电子设备 Active CN108509422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810299691.8A CN108509422B (zh) 2018-04-04 2018-04-04 一种词向量的增量学习方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810299691.8A CN108509422B (zh) 2018-04-04 2018-04-04 一种词向量的增量学习方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN108509422A CN108509422A (zh) 2018-09-07
CN108509422B true CN108509422B (zh) 2020-01-24

Family

ID=63380610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810299691.8A Active CN108509422B (zh) 2018-04-04 2018-04-04 一种词向量的增量学习方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN108509422B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308356A (zh) * 2018-09-18 2019-02-05 中山大学 一种基于词向量的检测词义随时间变化的方法
CN109753566B (zh) * 2019-01-09 2020-11-24 大连民族大学 基于卷积神经网络的跨领域情感分析的模型训练方法
CN110162627B (zh) * 2019-04-28 2022-04-15 平安科技(深圳)有限公司 数据增量方法、装置、计算机设备及存储介质
CN110175708B (zh) * 2019-05-13 2023-04-18 湖南麓川信息科技有限公司 一种用于在线增量预测食材的模型及方法
CN110909551B (zh) * 2019-12-05 2023-10-27 北京知道创宇信息技术股份有限公司 语言预训练模型更新方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786782A (zh) * 2016-03-25 2016-07-20 北京搜狗科技发展有限公司 一种词向量的训练方法和装置
CN106776534A (zh) * 2016-11-11 2017-05-31 北京工商大学 词向量模型的增量式学习方法
CN106844342A (zh) * 2017-01-12 2017-06-13 北京航空航天大学 基于增量学习的词向量生成方法和装置
CN106897265A (zh) * 2017-01-12 2017-06-27 北京航空航天大学 词向量训练方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672814B2 (en) * 2015-05-08 2017-06-06 International Business Machines Corporation Semi-supervised learning of word embeddings
US10019438B2 (en) * 2016-03-18 2018-07-10 International Business Machines Corporation External word embedding neural network language models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786782A (zh) * 2016-03-25 2016-07-20 北京搜狗科技发展有限公司 一种词向量的训练方法和装置
CN106776534A (zh) * 2016-11-11 2017-05-31 北京工商大学 词向量模型的增量式学习方法
CN106844342A (zh) * 2017-01-12 2017-06-13 北京航空航天大学 基于增量学习的词向量生成方法和装置
CN106897265A (zh) * 2017-01-12 2017-06-27 北京航空航天大学 词向量训练方法及装置

Also Published As

Publication number Publication date
CN108509422A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108509422B (zh) 一种词向量的增量学习方法、装置和电子设备
US11829874B2 (en) Neural architecture search
JP6712642B2 (ja) モデル学習装置、その方法、及びプログラム
CN113011581B (zh) 神经网络模型压缩方法、装置、电子设备及可读存储介质
CN108334945B (zh) 深度神经网络的加速与压缩方法及装置
CN111985523A (zh) 基于知识蒸馏训练的2指数幂深度神经网络量化方法
CN106897265B (zh) 词向量训练方法及装置
US10950225B2 (en) Acoustic model learning apparatus, method of the same and program
CN111160191A (zh) 一种视频关键帧提取方法、装置及存储介质
CN111357051B (zh) 语音情感识别方法、智能装置和计算机可读存储介质
CN111738010A (zh) 用于生成语义匹配模型的方法和装置
CN115860100A (zh) 一种神经网络模型训练方法、装置及计算设备
CN110275928B (zh) 迭代式实体关系抽取方法
CN112257466B (zh) 一种应用于小型机器翻译设备的模型压缩方法
KR102505946B1 (ko) 인공신경망 모델 학습 방법 및 시스템
CN110874635A (zh) 一种深度神经网络模型压缩方法及装置
CN111078891B (zh) 一种基于粒子群算法的医学特征识别方法及装置
CN110489435B (zh) 基于人工智能的数据处理方法、装置、及电子设备
CN116187401A (zh) 神经网络的压缩方法、装置、电子设备及存储介质
JP2017142746A (ja) 単語ベクトル学習装置、自然言語処理装置、方法、及びプログラム
JP7081455B2 (ja) 学習装置、学習方法、及び学習プログラム
Huang et al. Sampling adaptive learning algorithm for mobile blind source separation
CN117193008B (zh) 面向高维扰动环境的小样本鲁棒模仿学习训练方法、电子设备及存储介质
CN116629374B (zh) 一种针对异构特征空间学件的查搜与复用方法
CN110929527B (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