CN109858031A - 神经网络模型训练、上下文预测方法及装置 - Google Patents
神经网络模型训练、上下文预测方法及装置 Download PDFInfo
- Publication number
- CN109858031A CN109858031A CN201910113567.2A CN201910113567A CN109858031A CN 109858031 A CN109858031 A CN 109858031A CN 201910113567 A CN201910113567 A CN 201910113567A CN 109858031 A CN109858031 A CN 109858031A
- Authority
- CN
- China
- Prior art keywords
- word
- mark
- output
- skip
- training
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本公开是关于一种神经网络模型训练、上下文预测方法及装置,属于神经网络领域。所述方法包括:获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;以各个所述训练样本作为输入,调用基于位置关系的Skip‑Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;基于所述输出结果更新所述基于位置关系的Skip‑Gram,以对所述基于位置关系的Skip‑Gram进行训练。
Description
技术领域
本公开涉及神经网络领域,尤其涉及一种神经网络模型训练、上下文预测方法及装置。
背景技术
随着神经网络特别是深度学习的兴盛,连续跳跃模型(Continuous Skip-gramModel,Skip-Gram)、连续词袋模型(Continuous Bag-of-Words Model,CBOW)等利用神经网络学习文本表示的方法,逐渐成为自然语言处理领域不可或缺的技术手段。
Skip-Gram模型是一种根据中间词学习出上下文信息的模型,传统的Skip-Gram模型在模型训练时,根据词之间的上下文关系确定正负样本对输入到模型中进行训练,如将一个词和前后一定范围内的上下文组成正样本对,将该词和前后一定范围外的其他词组成负样本对,以此来学习语句中的词之间的关系。
但随着语言学习的发展,仅仅依靠词之间的上下文关系进行Skip-Gram模型的训练,所得到的Skip-Gram模型预测上下文的准确性不高。
发明内容
本公开提供一种神经网络模型训练、上下文预测方法及装置,以提高Skip-Gram模型预测上下文的准确性。
根据本公开实施例的第一方面,提供一种神经网络模型训练方法,所述方法包括:获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;以各个所述训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
在本公开实施例中,提供了一种基于位置关系的Skip-Gram,该Skip-Gram采用输入词的标识、输出词的标识和位置信息组成训练样本,以最大化对数似然函数作为目标来训练该Skip-Gram。由于该方案利用了位置信息,该位置信息为输出词和输入词的相对位置,因此该模型除了利用了上下文外,还利用了具体的相对位置关系,使得该Skip-Gram模型相比于传统的Skip-Gram,增强了词向量的学习效果,能够提高上下文预测准确性。
在本公开实施例的一种实现方式中,所述获取多个训练样本,包括:对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识;选取一定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;确定所述输入词和所述输出词的相对位置,得到所述位置信息;根据所述输入词的标识、所述输出词的标识和所述位置信息,生成所述训练样本。
在该实现方式中,通过对训练文本进行抽样和分词,并找到各个词在词典中的标识,得到输入词的标识以及输出词的标识,并根据输入词和输出词的位置关系确定出位置信息,从而组成训练样本,实现对基于位置关系的Skip-Gram的训练。
在本公开实施例的一种实现方式中,所述基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,所述隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN +M,R表示词典,N表示所述输入词的词向量和所述输出词的词向量的维度,M表示所述位置向量的维度,+表示向量拼接。
在该实现方式中,采用N和M分别表示词向量和位置向量的维度,二者可以不同,而不是必须相同,能够保证位置向量的意思更准确。同时,权重矩阵W和偏移矩阵B的尺寸也进行了对应修改,保证了权重矩阵W和偏移矩阵B中也考虑到了位置向量的信息。
在本公开实施例的一种实现方式中,基于所述输出结果更新所述基于位置关系的Skip-Gram,包括:基于所述输出结果,确定所述训练样本中的输出词在对应的位置上出现的概率;基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
在该实现方式中,先确定训练样本中的输出词在对应位置上出现的概率,然后利用这个概率来更新模型中的权重矩阵和偏移矩阵,使得最后训练得到的样本能够准确预测输入词的上下文。
在本公开实施例的一种实现方式中,所述基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量,包括:根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
在该实现方式中,采用输出词在对应的位置上出现的概率计算对数似然函数,然后以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram,一方面能够保证学习效果,另一方面由于以最大化对数似然函数作为目标为目前较为成熟的训练方式,容易实现。
在本公开实施例的一种实现方式中,所述根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数,包括:
通过如下公式计算所述对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示所述上下文的窗口中两端的位置,c+1表示所述上下文的窗口外的位置,wt在所述第t个输出词的标识的上下文的窗口的位置为0,wt+i在所述第t个输出词的标识的上下文的窗口中的位置为i,posi表示所述wt+i相对于所述wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示所述wj相对于所述wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
在该实现方式中,按照上述公式计算对数似然函数,使得对数似然函数成为与权重矩阵W和偏移矩阵B相关的函数,进而可以通过最大化对数似然函数实现对权重矩阵、偏移矩阵以及所述词向量和位置向量的更新。
在本公开实施例的一种实现方式中,所述以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量,包括:利用随机梯度下降学习算法更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
在该实现方式中,通过采用随机梯度下降学习算法来训练基于位置关系的Skip-Gram,一方面能够保证学习效果,另一方面由于随机梯度下降学习算法为目前较为成熟的训练方式,容易实现。
根据本公开实施例的第二方面,提供一种上下文预测方法,所述方法包括:获取待预测词语;调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如第一方面任一项所述的方法训练得到的。
根据本公开实施例的第三方面,提供一种神经网络模型训练装置,所述装置包括:获取模块,用于获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;输入模块,用于以各个所述训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;训练模块,用于基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
在本公开实施例的一种实现方式中,所述获取模块,包括:第一获取子模块,用于对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识;第二获取子模块,用于选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;第三获取子模块,用于确定所述输入词和所述输出词的相对位置,得到所述位置信息;生成子模块,用于根据所述输入词的标识、所述输出词的标识和所述位置信息,生成所述训练样本。
在本公开实施例的一种实现方式中,所述基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,所述隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN +M,R表示词典,N表示所述输入词的词向量和所述输出词的词向量的维度,M表示所述位置向量的维度,+表示向量拼接。
在本公开实施例的一种实现方式中,所述训练模块,包括:确定子模块,用于基于所述输出结果,确定所述训练样本中的输出词在对应的位置上出现的概率;更新子模块,用于基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
在本公开实施例的一种实现方式中,所述更新子模块,用于根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
在本公开实施例的一种实现方式中,所述更新子模块,用于通过如下公式计算对数似然函数:
通过如下公式计算所述对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示所述上下文的窗口中两端的位置,c+1表示所述上下文的窗口外的位置,wt在所述第t个输出词的标识的上下文的窗口的位置为0,wt+i在所述第t个输出词的标识的上下文的窗口中的位置为i,posi表示所述wt+i相对于所述wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示所述wj相对于所述wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
在本公开实施例的一种实现方式中,所述更新子模块,用于利用随机梯度下降学习算法更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
根据本公开实施例的第四方面,提供一种上下文预测装置,所述装置包括:获取模块,用于获取待预测词语;预测模块,用于调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如第一方面任一项所述的方法训练得到的。
根据本公开实施例的第五方面,提供一种神经网络模型训练装置,所述神经网络模型训练装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;以各个所述训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
根据本公开实施例的第六方面,提供一种上下文预测装置,所述装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:获取待预测词语;调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如第一方面任一项所述的方法训练得到的。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由神经网络模型训练装置的处理器执行时,使得所述神经网络模型训练装置能够执行如第一方面所述的神经网络模型训练方法。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由上下文预测装置的处理器执行时,使得所述上下文预测装置能够执行第二方面所述的上下文预测方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是传统Skip-Gram模型示意图;
图2是根据一示例性实施例示出的一种神经网络模型训练方法的流程图;
图3是根据一示例性实施例示出的一种神经网络模型训练方法的流程图;
图4是根据一示例性实施例示出的一种基于位置关系的Skip-Gram算法模型图;
图5是根据一示例性实施例示出的一种神经网络模型的损失变化示意图;
图6是根据一示例性实施例示出的一种神经网络模型的准确率变化曲线图;
图7是根据一示例性实施例示出的一种上下文预测方法的流程图;
图8是根据一示例性实施例示出的一种神经网络模型训练装置的框图;
图9是根据一示例性实施例示出的一种上下文预测装置的框图;
图10是根据一示例性实施例示出的一种神经网络模型训练/上下文预测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是传统Skip-Gram模型示意图。参见图1,传统Skip-Gram模型包括输入层(Input Layer)、隐藏层(Hidden Layer)和输出层(Output Layer),隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×N,B∈RN,R表示词典,N表示输入词的标识和输出词的标识的维度。
Skip-Gram模型的样本结构是(wt-n,wt),其中,wt-n表示输入词的标识,wt表示输出词的标识,wt-n对应的词属于wt对应的词的上下文。隐藏层利用权重矩阵W和偏移矩阵B来实现从输入词的标识到输出词的标识的映射,其映射方式相当于f(x)=W×x+B的函数,其中x为输入词的词向量,f(x)为输出词的词向量。可以看出,Skip-Gram模型是一种根据中间词(wt-n)学习出上下文信息(wt-2n、wt)的模型,并且传统的Skip-Gram模型中仅仅利用上下文距离(即通过限定一定距离之内的为正样本)来完成上下文的标识学习。
图2是根据一示例性实施例示出的一种神经网络模型训练方法的流程图。参见图2,神经网络模型训练方法包括:
在步骤S11中,获取多个训练样本。
其中,每个训练样本包括输入词的标识、输出词的标识和位置信息,在一个训练样本中,输出词属于输入词的上下文,位置信息用于表示输出词和输入词的相对位置。
其中,输入词的标识可以是输入词在词典中的序号;输出词的标识可以是输出词在词典中的序号。位置信息可以用位置标识来表示,例如采用1表示输入词在输出词后一位,采用-1表示输入词在输出词前一位等。
在步骤S12中,以各个训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,输出结果包括输入词及输出词的词向量和位置信息的位置向量。
基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示输入词的词向量和输出词的词向量的维度,M表示位置向量的维度,+表示向量拼接。
其中,向量的维度也即向量分量的个数。向量拼接是指将两个向量合并,合并后的向量的维度为原来两个向量的维度之和。例如N为200维,M为100维,则N+M为300维。合并的方式可以为将一个向量添加在另一个向量的后面。例如在本实施例中,将位置向量拼接在词向量的后面。
基于位置关系的Skip-Gram模型相比于传统的Skip-Gram模型,除了考虑词向量的上下文的距离(通过窗口选取正负样本),还考虑了词向量的位置关系(也即训练样本中的输入词和输出词的相对位置)。
这里的位置关系不仅仅是词向量与上下文的距离,还包括该词向量与输入词的标识的前后关系,例如位置向量为在位置向量中,“-”表示输出词在输入词前,1表示输出词和输入词的距离为1。
在步骤S13中,基于输出结果更新基于位置关系的Skip-Gram模型,以对基于位置关系的Skip-Gram模型进行训练。
在训练过程中,Skip-Gram模型会根据权重矩阵和偏移矩阵,计算出各个输出词在对应的位置上出现的概率,根据这些概率值即可完成对Skip-Gram模型的更新。
在本公开实施例中,提供了一种基于位置关系的Skip-Gram模型,该Skip-Gram模型在训练时,采用输入词的标识、输出词的标识和位置信息组成训练样本,以最大化对数似然函数作为目标来训练该Skip-Gram模型。由于该方案利用了位置信息,该位置信息为输出词和输入词的相对位置,因此该模型除了利用了上下文外,还利用了具体的相对位置关系,相比于传统的Skip-Gram模型,增强了词向量的学习效果。
可选地,获取多个训练样本,包括:对训练文本进行抽样和分词处理,并查找处理后得到各个词在词典中的标识;选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;确定输入词和输出词的相对位置,得到位置信息;根据输入词的标识、输出词的标识和位置信息,生成训练样本。
在该实现方式中,通过对训练文本进行抽样和分词,并找到各个词在词典中的标识,得到输入词的标识以及输出词的标识,并根据输入词和输出词的位置关系确定出位置信息,从而组成训练样本,实现对基于位置关系的Skip-Gram模型的训练。
可选地,基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示输入词的词向量和输出词的词向量的维度,M表示位置向量的维度,+表示向量拼接。
在该实现方式中,采用N和M分别表示词向量和位置向量的维度,二者可以不同,而不是必须相同,能够保证位置向量的意思更准确。同时,权重矩阵W和偏移矩阵B的尺寸也进行了对应修改,保证了权重矩阵W和偏移矩阵B中也考虑到了位置向量的信息。
可选地,基于输出结果更新基于位置关系的Skip-Gram,包括:基于输出结果,确定训练样本中的输出词在对应的位置上出现的概率;基于概率,按照训练目标更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
在该实现方式中,先确定训练样本中的输出词在对应位置上出现的概率,然后利用这个概率来更新模型中的权重矩阵和偏移矩阵,使得最后训练得到的样本能够准确预测输入词的上下文。
可选地,基于概率,按照训练目标更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量,包括:根据训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
在该实现方式中,采用输出词在对应的位置上出现的概率计算对数似然函数,然后以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram模型,一方面能够保证学习效果,另一方面由于以最大化对数似然函数作为目标为目前较为成熟的训练方式,容易实现。
可选地,根据训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数,包括:通过如下公式计算对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示上下文的窗口中两端的位置,c+1表示上下文的窗口外的位置,wt在第t个输出词的标识的上下文的窗口的位置为0,wt+i在第t个输出词的标识的上下文的窗口中的位置为i,posi表示wt+i相对于wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示wj相对于wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
这里的wk中k在1到n之间取值时,会取到和j相同的值。
在该实现方式中,按照上述公式计算对数似然函数,使得对数似然函数成为与权重矩阵W和偏移矩阵B相关的函数,进而可以通过最大化对数似然函数实现对权重矩阵、偏移矩阵以及词向量和位置向量的更新。
可选地,以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量,包括:利用随机梯度下降学习算法更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
其中,随机梯度下降学习算法是训练过程用到的方法,每训练一个样本都以最大化对数似然函数为目标来更新W和B,从而得到最优W和B。
在该实现方式中,通过采用随机梯度下降学习算法来训练基于位置关系的Skip-Gram模型,一方面能够保证学习效果,另一方面由于随机梯度下降学习算法为目前较为成熟的训练方式,容易实现。
值得说明的是,前述步骤S11-S13与上述可选步骤可以任意组合。
图3是根据一示例性实施例示出的一种神经网络模型训练方法的流程图。参见图3,神经网络模型训练方法包括:
在步骤S21中,对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识。
例如,先选定训练文本,然后从训练文本中抽取一定的句子,然后采用分词工具进行分词处理,在词典中查找到各个词的标识,也即在词典中的序号。
在步骤S22中,选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识。
在步骤S21的基础上,距离是指两个词的距离,这里的预定距离范围由上下文窗口的大小限定。选定上下文的窗口大小内的两个词分别作为输入词和输出词,这两个词对应的标识分别作为输入词的标识和输出词的标识。其中,上下文的窗口是指以输入词或输出词为中心的前后一定范围,上下文的窗口大小是指上下文的窗口中所包含的除中心词的词的数量。例如,训练文本抽样出的句子较多时,上下文的窗口大小可以设计得较小,例如为输出词的前后各2个词,即输出词的标识为wt,则输入词的标识包括wt-1、wt-2、wt+1、wt+2,此时上下文的窗口大小为4。再例如,训练文本抽样出的句子较少时,上下文的窗口大小可以设计得较大,例如为词向量的前后各6个词,此时上下文的窗口大小为12。
在步骤S23中,确定输入词和输出词的相对位置,得到位置信息。
例如,输出词的标识为wt,输入词的标识的wt-1,位置信息为pos-1,在位置信息中,“-”表示输出词在输入词前,1表示输出词和输入词的距离为1。
在步骤S24中,根据输入词的标识、输出词的标识和位置信息,生成训练样本。
每个训练样本包括输入词的标识、输出词的标识和位置信息,即训练样本可以为(wt-1,wt,pos-1)。
以上下文的窗口大小为2c为例,则位置信息对应的正样本选取窗口范围为(-c,-c+1,…,c),从-c到c分别表示在上下文的窗口中与当前词的相对距离,上下文的窗口中的单词出现在目标词之前定义为负,上下文的窗口中的单词出现在目标词之后定义为正,将出现在上下文的窗口中的词,与目标词构成正样本;除了正样本外,上下文的位置均采用c+1表示,也即c+1某个词与目标词无上下文关系,即,与目标词构成负样本。
由于负样本的数量较多,因此可以采用抽取的方式从所有负样本中抽取一定数量的负样本,与正样本一起组成训练样本。
通过步骤S21-S24的方式获取到多个训练样本。
在步骤S25中,以各个训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,输出结果包括输入词及输出词的词向量和位置信息的位置向量。
基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示输入词的词向量和输出词的词向量的维度,M表示位置向量的维度,+表示向量拼接。
其中,向量的维度也即向量分量的个数。向量拼接是指将两个向量合并,合并后的向量的维度为原来两个向量的维度之和。例如N为100维,M为200维,则N+M为300维。合并的方式可以为将一个向量添加在另一个向量的后面。例如在本实施例中,将位置向量拼接在词向量的后面。
基于位置关系的Skip-Gram模型相比于传统的Skip-Gram模型,除了考虑词向量的上下文的距离(通过窗口选取正负样本),还考虑了词向量的位置关系(也即训练样本中的输入词和输出词的相对位置)。
在步骤S26中,基于输出结果更新基于位置关系的Skip-Gram模型,以对基于位置关系的Skip-Gram模型进行训练。
在本公开实施例中,步骤S26可以包括:
基于输出结果,确定训练样本中的输出词在对应的位置上出现的概率;基于概率,按照训练目标更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
在本公开实施例中,基于概率,按照训练目标更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量,包括:根据训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化对数似然函数(或称为最小化负对数似然函数)为训练目标,更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
其中,对数似然函数可以通过如下公式计算:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示上下文的窗口中两端的位置,c+1表示上下文的窗口外的位置,wt在第t个输出词的标识的上下文的窗口的位置为0,wt+i在第t个输出词的标识的上下文的窗口中的位置为i,posi表示wt+i相对于wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示wj相对于wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
按照上述公式计算对数似然函数,使得对数似然函数成为与权重矩阵W和偏移矩阵B相关的函数,进而可以通过最大化对数似然函数实现对权重矩阵、偏移矩阵以及词向量和位置向量的更新。
其中,公式(2)即确定训练样本中的输出词在对应位置上出现的概率公式,按照该公式即可计算出输出词在对应位置上出现的概率。
在p(wt|wt+i,posi)中,wj为N行1列矩阵,则为1行N列矩阵,W为N行(N+M)列矩阵,相乘得到的为1行N+M列矩阵;B为1行(N+M)列矩阵,则矩阵相加得到的为1行N+M列矩阵;wj为N维向量,posi为M维向量,则向量拼接得到的(wt+i+posi)为(N+M)维向量,也即N+M行1列矩阵。由于,的列数与(wt+i+posi)行数相同,所以可以进行点乘运算。
可选地,以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量,包括:利用随机梯度下降学习算法更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
其中,随机梯度下降学习算法是训练过程用到的方法,在本公开实施例中,除了随机梯度下降学习算法外,还可以采用其他算法进行训练,例如最快梯度下降学习算法等。
另外,在本公开实施例中,最大化对数似然函数也只是训练目标的一种实现方式,当然也可以采用其他的训练目标进行模型训练。
图4是根据一示例性实施例示出的一种基于位置关系的Skip-Gram算法模型图。参见图4,其中空白部分表示词向量,阴影部分表示位置向量,在本公开提出的方法中,词向量与位置向量维度不同,词向量的维度通常较大,而位置向量的维度通常较小,二者维度设置不同,保证真实还原位置空间向量大小。
图5是根据一示例性实施例示出的一种神经网络模型的损失变化示意图。图6是根据一示例性实施例示出的一种神经网络模型的准确率变化曲线图。参见图5和图6,利用公开测试集中词语相似性任务(word similarity task)以及类比推理任务(analogicalreasoning task)中的数据库来进行模型效果的比较,首先使用宾州树库(Penn Treebank)作为训练集,用人类数据库(Men dataset)以及WordSim353作为验证集来进行对比实验,实验效果如图5和图6所示。
其中,图5是本公开提出基于位置向量的Skip-Gram模型(Position-WiseSkip-Gram,PWSG)与现有的模型(一种Skip-Gram模型)的损失变化曲线,图6是PWSG模型与模型的准确率变化曲线,在PWSG模型中词向量(word embedding)维度为256,位置向量(position embedding)维度为100,上下文的窗口为4(即取当前词前两个词以及后两个词作为上下文),训练过程中的批尺寸(batch size)为256,负样本采样个数为5,训练集/验证集比例为4:1,时期尺寸(epoch size)为10轮;虚线表示本公开提供的PWSG模型,实线表示模型。其中,一个epoch是所有训练样本的一个正向传递和一个反向传递的过程。
在训练过程中,从图5可以看出,在采用训练集训练时,PWSG模型能够比模型更快地达到平稳状态,即本申请提供的PWSG模型的收敛速度比模型更快。从图6可以看出,在采用验证集进行验证时,PWSG模型的准确率明显比模型更高,即本申请提供的PWSG模型的准确率高于模型。
在训练完成后,在Men dataset以及WordSim353上,用成对(pairwise)方式验证词向量效果,即A-B词对比C-D词对之间哪个更相似,准确率如下:
可以看出,在训练完成后,本公开提供的PWSG模型的准确率高于模型。
本公开基于Skip-Gram模型框架,融入位置信息,其中位置信息在训练过程中转化为位置向量,不限定词向量与位置向量维度相同,融入方式也不用词向量与位置向量的Hadamard乘积,而是为位置向量单独建模,用向量拼接方式更好地利用位置信息,在验证集与公开测试集上均取得了好的效果。
图7是根据一示例性实施例示出的一种上下文预测方法的流程图。参见图7,该方法包括:
步骤S31:获取待预测词语。
步骤S32:调用基于位置关系的Skip-Gram模型预测待预测词语的上下文,基于位置关系的Skip-Gram模型是采用如图2或图3所示的方法训练得到的。
值得说明的是,在获取待预测词语可以通过向量转换工具进行向量转换,得到词向量,然后调用基于位置关系的Skip-Gram模型预测待预测词语的上下文。
图8是根据一示例性实施例示出的一种神经网络模型训练装置的结构示意图,参见图8,神经网络模型训练装置包括:获取模块301、输入模块302和训练模块303。
其中,获取模块301用于获取多个训练样本,每个训练样本包括输入词的标识、输出词的标识和位置信息,在一个训练样本中,输出词属于输入词的上下文,位置信息用于表示输出词和输入词的相对位置;输入模块302用于以各个训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,输出结果包括输入词及输出词的词向量和位置信息的位置向量;训练模块303用于基于输出结果更新基于位置关系的Skip-Gram,以对基于位置关系的Skip-Gram进行训练。
在本公开的一种实现方式中,获取模块301,包括:
第一获取子模块311,用于对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识;
第二获取子模块312,用于选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;
第三获取子模块313,用于确定输入词和输出词的相对位置,得到位置信息;
生成子模块314,用于根据输入词的标识、输出词的标识和位置信息,生成训练样本。
在本公开的一种实现方式中,基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示输入词的词向量和输出词的词向量的维度,M表示位置向量的维度,+表示向量拼接。
在本公开的一种实现方式中,训练模块303,包括:
确定子模块331,用于基于输出结果,确定训练样本中的输出词在对应的位置上出现的概率;
更新子模块332,用于基于概率,按照训练目标更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
在本公开的一种实现方式中,更新子模块332,用于根据训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化对数似然函数为训练目标,更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
在本公开的一种实现方式中,更新子模块332,用于通过如下公式计算对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示上下文的窗口中两端的位置,c+1表示上下文的窗口外的位置,wt在第t个输出词的标识的上下文的窗口的位置为0,wt+i在第t个输出词的标识的上下文的窗口中的位置为i,posi表示wt+i相对于wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示wj相对于wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
在本公开的一种实现方式中,更新子模块332,用于利用随机梯度下降学习算法更新基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及词向量和位置向量。
获取模块301获取训练样本的方式可以参见步骤S21-S24;输入模块302输入训练样本到Skip-Gram模型的方式可以参见步骤S25;训练模块303更新基于位置关系的Skip-Gram的方式可以参见步骤S26,在此省略详细描述。
图9是根据一示例性实施例示出的一种上下文预测装置的结构示意图,参见图9,上下文预测装置包括:获取模块401和预测模块402。
其中,获取模块401用于获取待预测词语;预测模块402用于调用基于位置关系的Skip-Gram模型预测待预测词语的上下文,基于位置关系的Skip-Gram模型是采用如图2或图3的方法训练得到的。
获取模块401获取待预测词语的方式可以参见步骤S31;预测模块402预测待预测词语的上下文的方式可以参见步骤S32,在此省略详细描述。
图10是根据一示例性实施例示出的一种神经网络模型训练/上下文预测装置600的框图,该装置600可以为服务器。参照图10,神经网络模型训练装置600可以包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的***存储器604,以及连接***存储器604和中央处理单元601的***总线605。所述服务器600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)606,和用于存储操作***613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出***606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到***总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出***606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到***总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为服务器600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,所述服务器600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器600可以通过连接在所述***总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器601通过执行该一个或一个以上程序来实现图2或图3所示的神经网络模型训练方法,或者通过执行该一个或一个以上程序来实现图7所示的上下文预测方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成本发明各个实施例所示的神经网络模型训练/上下文预测方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种神经网络模型训练方法,其特征在于,所述方法包括:
获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;
以各个所述训练样本作为输入,调用基于位置关系的连续跳跃模型Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;
基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
2.根据权利要求1所述的方法,其特征在于,所述获取多个训练样本,包括:
对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识;
选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;
确定所述输入词和所述输出词的相对位置,得到所述位置信息;
根据所述输入词的标识、所述输出词的标识和所述位置信息,生成所述训练样本。
3.根据权利要求1所述的方法,其特征在于,所述基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,所述隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示所述输入词的词向量和所述输出词的词向量的维度,M表示所述位置向量的维度,+表示向量拼接。
4.根据权利要求1或3所述的方法,其特征在于,基于所述输出结果更新所述基于位置关系的Skip-Gram,包括:
基于所述输出结果,确定所述训练样本中的输出词在对应的位置上出现的概率;
基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
5.根据权利要求4所述的方法,其特征在于,所述基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量,包括:
根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;
以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
6.根据权利要求5所述的方法,其特征在于,所述根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数,包括:
通过如下公式计算所述对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示所述上下文的窗口中两端的位置,c+1表示所述上下文的窗口外的位置,wt在所述第t个输出词的标识的上下文的窗口的位置为0,wt+i在所述第t个输出词的标识的上下文的窗口中的位置为i,posi表示所述wt+i相对于所述wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示所述wj相对于所述wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
7.根据权利要求5所述的方法,其特征在于,所述以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量,包括:
利用随机梯度下降学习算法更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
8.一种上下文预测方法,其特征在于,所述方法包括:
获取待预测词语;
调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如权利要求1-7任一项所述的方法训练得到的。
9.一种神经网络模型训练装置,其特征在于,所述装置包括:
获取模块,用于获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;
输入模块,用于以各个所述训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;
训练模块,用于基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,包括:
第一获取子模块,用于对训练文本进行抽样和分词处理,并查找处理后得到的各个词在词典中的标识;
第二获取子模块,用于选取预定距离范围内的两个词的标识分别作为输入词的标识和输出词的标识;
第三获取子模块,用于确定所述输入词和所述输出词的相对位置,得到所述位置信息;
生成子模块,用于根据所述输入词的标识、所述输出词的标识和所述位置信息,生成所述训练样本。
11.根据权利要求9所述的装置,其特征在于,所述基于位置关系的Skip-Gram包括依次连接的输入层、隐藏层和输出层,所述隐藏层具有权重矩阵W和偏移矩阵B,W∈RN×(N+M),B∈RN+M,R表示词典,N表示所述输入词的词向量和所述输出词的词向量的维度,M表示所述位置向量的维度,+表示向量拼接。
12.根据权利要求9或11所述的装置,其特征在于,所述训练模块,包括:
确定子模块,用于基于所述输出结果,确定所述训练样本中的输出词在对应的位置上出现的概率;
更新子模块,用于基于所述概率,按照训练目标更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
13.根据权利要求12所述的装置,其特征在于,所述更新子模块,用于根据所述训练样本中的输出词在对应的位置上出现的概率,计算对数似然函数;以最大化所述对数似然函数为所述训练目标,更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
14.根据权利要求13所述的装置,其特征在于,所述更新子模块,用于通过如下公式计算对数似然函数:
通过如下公式计算所述对数似然函数:
其中,(wt+i,wt,posi)为一个正样本,(wj,wt,posc+1)为一个负样本,T为训练样本的数量,t为输出词的标识的序号,wt为第t个输出词的标识,2c为输出词的上下文的窗口大小,-c和c分别表示所述上下文的窗口中两端的位置,c+1表示所述上下文的窗口外的位置,wt在所述第t个输出词的标识的上下文的窗口的位置为0,wt+i在所述第t个输出词的标识的上下文的窗口中的位置为i,posi表示所述wt+i相对于所述wt的位置,n为以wt为输出词的标识的训练样本中的负样本数量,wj为以wt为输出词的标识的训练样本中的第j个负样本中的输入词的标识,posc+1表示所述wj相对于所述wt的位置,ln表示以e为底的对数函数;p(wt|wt+i,posi)为当输入词的标识为wt+i时,在posi对应的位置上输出词的标识为wt的概率;p(wt|wj,posc+1)为当输入词的标识为wj时,在posc+1对应的位置上输出词的标识为wt的概率;
其中:
exp表示以e为底的指数函数;为的转置矩阵,为wk对应的输入词的词向量,wk表示任一个负样本中的输入词的标识;为的转置矩阵,为wt+i对应的输入词的词向量,为posi对应的位置向量;为的转置矩阵,为wj对应的输入词的词向量,为posc+1对应的位置向量;·表示矩阵点乘。
15.根据权利要求13所述的装置,其特征在于,所述更新子模块,用于利用随机梯度下降学习算法更新所述基于位置关系的Skip-Gram的权重矩阵、偏移矩阵以及所述词向量和位置向量。
16.一种上下文预测装置,其特征在于,所述装置包括:
获取模块,用于获取待预测词语;
预测模块,用于调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如权利要求1-7任一项所述的方法训练得到的。
17.一种神经网络模型训练装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取多个训练样本,每个所述训练样本包括输入词的标识、输出词的标识和位置信息,在一个所述训练样本中,所述输出词属于所述输入词的上下文,所述位置信息用于表示所述输出词和所述输入词的相对位置;
以各个所述训练样本作为输入,调用基于位置关系的Skip-Gram,得到对应的输出结果,所述输出结果包括输入词及输出词的词向量和位置信息的位置向量;
基于所述输出结果更新所述基于位置关系的Skip-Gram,以对所述基于位置关系的Skip-Gram进行训练。
18.一种上下文预测装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取待预测词语;
调用基于位置关系的Skip-Gram预测所述待预测词语的上下文,所述基于位置关系的Skip-Gram是采用如权利要求1-7任一项所述的方法训练得到的。
19.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由神经网络模型训练装置的处理器执行时,使得所述神经网络模型训练装置能够执行权利要求1至7任一项所述的神经网络模型训练方法。
20.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由上下文预测装置的处理器执行时,使得所述上下文预测装置能够执行权利要求8所述的上下文预测方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113567.2A CN109858031B (zh) | 2019-02-14 | 2019-02-14 | 神经网络模型训练、上下文预测方法及装置 |
EP19200260.8A EP3696710A1 (en) | 2019-02-14 | 2019-09-27 | Method and apparatus based on neural network model and storage medium |
US16/588,626 US11615294B2 (en) | 2019-02-14 | 2019-09-30 | Method and apparatus based on position relation-based skip-gram model and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113567.2A CN109858031B (zh) | 2019-02-14 | 2019-02-14 | 神经网络模型训练、上下文预测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858031A true CN109858031A (zh) | 2019-06-07 |
CN109858031B CN109858031B (zh) | 2023-05-23 |
Family
ID=66897839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910113567.2A Active CN109858031B (zh) | 2019-02-14 | 2019-02-14 | 神经网络模型训练、上下文预测方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11615294B2 (zh) |
EP (1) | EP3696710A1 (zh) |
CN (1) | CN109858031B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274789A (zh) * | 2020-02-06 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN113438190A (zh) * | 2021-06-22 | 2021-09-24 | 电子科技大学 | 神经网络训练方法及装置、mimo均衡器与方法、可读介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101359B (zh) * | 2020-11-11 | 2021-02-12 | 广州华多网络科技有限公司 | 文本公式的定位方法、模型训练方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160247061A1 (en) * | 2015-02-19 | 2016-08-25 | Digital Reasoning Systems, Inc. | Systems and Methods for Neural Language Modeling |
CN105930318A (zh) * | 2016-04-11 | 2016-09-07 | 深圳大学 | 一种词向量训练方法及*** |
CN107239444A (zh) * | 2017-05-26 | 2017-10-10 | 华中科技大学 | 一种融合词性与位置信息的词向量训练方法及*** |
CN109190126A (zh) * | 2018-09-17 | 2019-01-11 | 北京神州泰岳软件股份有限公司 | 词嵌入模型的训练方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017090051A1 (en) * | 2015-11-27 | 2017-06-01 | Giridhari Devanathan | A method for text classification and feature selection using class vectors and the system thereof |
JP6862914B2 (ja) * | 2017-02-28 | 2021-04-21 | 富士通株式会社 | 解析プログラム、解析方法および解析装置 |
KR102540774B1 (ko) * | 2018-12-04 | 2023-06-08 | 한국전자통신연구원 | 서브워드 임베딩 및 스킵서트 기반 문장 임베딩 방법 및 장치 |
US11615311B2 (en) * | 2018-12-10 | 2023-03-28 | Baidu Usa Llc | Representation learning for input classification via topic sparse autoencoder and entity embedding |
-
2019
- 2019-02-14 CN CN201910113567.2A patent/CN109858031B/zh active Active
- 2019-09-27 EP EP19200260.8A patent/EP3696710A1/en not_active Withdrawn
- 2019-09-30 US US16/588,626 patent/US11615294B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160247061A1 (en) * | 2015-02-19 | 2016-08-25 | Digital Reasoning Systems, Inc. | Systems and Methods for Neural Language Modeling |
CN105930318A (zh) * | 2016-04-11 | 2016-09-07 | 深圳大学 | 一种词向量训练方法及*** |
CN107239444A (zh) * | 2017-05-26 | 2017-10-10 | 华中科技大学 | 一种融合词性与位置信息的词向量训练方法及*** |
CN109190126A (zh) * | 2018-09-17 | 2019-01-11 | 北京神州泰岳软件股份有限公司 | 词嵌入模型的训练方法及装置 |
Non-Patent Citations (1)
Title |
---|
ANDRIY MNIH 等: ""A Fast and Simple Algorithm for Training Neural Probabilistic Language Models"", 《ICML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274789A (zh) * | 2020-02-06 | 2020-06-12 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN111274789B (zh) * | 2020-02-06 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 文本预测模型的训练方法及装置 |
CN113438190A (zh) * | 2021-06-22 | 2021-09-24 | 电子科技大学 | 神经网络训练方法及装置、mimo均衡器与方法、可读介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200265297A1 (en) | 2020-08-20 |
EP3696710A1 (en) | 2020-08-19 |
US11615294B2 (en) | 2023-03-28 |
CN109858031B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299396B (zh) | 融合注意力模型的卷积神经网络协同过滤推荐方法及*** | |
CN107066583B (zh) | 一种基于紧凑双线性融合的图文跨模态情感分类方法 | |
CN107239802B (zh) | 一种图像分类方法及装置 | |
CN111368074B (zh) | 一种基于网络结构和文本信息的链路预测方法 | |
CN107871014A (zh) | 一种基于深度融合哈希的大数据跨模态检索方法及*** | |
CN110021051A (zh) | 一种基于生成对抗网络通过文本指导的人物图像生成方法 | |
CN107391709A (zh) | 一种基于新型注意模型进行图像字幕生成的方法 | |
CN113628059B (zh) | 一种基于多层图注意力网络的关联用户识别方法及装置 | |
CN111292195A (zh) | 风险账户的识别方法及装置 | |
JP2020061173A (ja) | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム | |
CN109993102A (zh) | 相似人脸检索方法、装置及存储介质 | |
CN109858031A (zh) | 神经网络模型训练、上下文预测方法及装置 | |
CN107357757A (zh) | 一种基于深度增强学习的代数应用题自动求解器 | |
CN110245285A (zh) | 一种基于异构信息网络的个性化推荐方法 | |
CN109508686B (zh) | 一种基于层次化特征子空间学习的人体行为识别方法 | |
CN104794455A (zh) | 一种东巴象形文字识别方法 | |
CN106203628A (zh) | 一种增强深度学习算法鲁棒性的优化方法和*** | |
CN109558882A (zh) | 基于鲁棒局部低秩稀疏cnn特征的图像分类方法及装置 | |
CN116310318A (zh) | 交互式的图像分割方法、装置、计算机设备和存储介质 | |
CN112000788A (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN115588193A (zh) | 基于图注意力神经网络与视觉关系的视觉问答方法及装置 | |
CN113380360B (zh) | 一种基于多模态病历图的相似病历检索方法及*** | |
CN110990630B (zh) | 一种基于图建模视觉信息的利用问题指导的视频问答方法 | |
CN113705159A (zh) | 商户名称的标注方法、装置、设备及存储介质 | |
CN108154165A (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 |