基于集群的词向量处理方法、装置以及设备制造方法及图纸

技术编号:18237706 阅读:35 留言:0更新日期:2018-06-17 00:54
本说明书实施例公开了基于集群的词向量处理方法、装置以及设备,方案包括:集群包括服务器集群和工作机集群;工作机集群中的各工作机分别读取部分语料,并从读取的语料中提取词及其上下文词,从服务器集群中的服务器获取对应的词向量并计算梯度,将梯度异步更新至服务器;服务器根据梯度,对词及其上下文词的词向量进行更新。 1

Cluster based word vector processing method, device and device

This specification embodiment discloses a cluster based word vector processing method, device, and equipment. The scheme includes: cluster includes a server cluster and a cluster of working machines; each working machine in a working machine cluster reads part of the language and extracts words from the read language and its following words from the server cluster. The device gets the corresponding word vector and calculates the gradient, updates the gradient asynchronously to the server; the server updates the word vector of the word and its context words according to the gradient. One

【技术实现步骤摘要】
基于集群的词向量处理方法、装置以及设备
本说明书涉及计算机软件
,尤其涉及基于集群的词向量处理方法、装置以及设备。
技术介绍
如今的自然语言处理的解决方案,大都采用基于神经网络的架构,而在这种架构下一个重要的基础技术就是词向量。词向量是将词映射到一个固定维度的向量,该向量表征了该词的语义信息。在现有技术中,常见的用于生成词向量的算法比如包括谷歌公司的单词向量算法、微软公司的深度神经网络算法等,往往在单机上运行。基于现有技术,需要高效的大规模词向量训练方案。
技术实现思路
本说明书实施例提供基于集群的词向量处理方法、装置以及设备,用以解决如下技术问题:需要高效的大规模词向量训练方案。为解决上述技术问题,本说明书实施例是这样实现的:本说明书实施例提供的一种基于集群的词向量处理方法,所述集群包括多个工作机和服务器,所述方法包括:各所述工作机分别执行:获取从部分语料中提取的词及其上下文词;获取所述词及其上下文词的词向量;根据所述词及其上下文词,以及对应的词向量,计算梯度;将所述梯度异步更新至所述服务器;所述服务器根据所述梯度,对所述词及其上下文词的词向量进行更新。本说明书实施例提供的一种基于集群的词向量处理装置,所述集群包括多个工作机和服务器,所述装置位于所述集群,包括位于所述工作机的第一获取模块、第二获取模块、梯度计算模块、异步更新模块、位于所述服务器的词向量更新模块;各工作机通过相应的模块分别执行:所述第一获取模块获取从部分语料中提取的词及其上下文词;所述第二获取模块获取所述词及其上下文词的词向量;所述梯度计算模块根据所述词及其上下文词,以及对应的词向量,计算梯度;所述异步更新模块将所述梯度异步更新至所述服务器;所述服务器的所述词向量更新模块根据所述梯度,对所述词及其上下文词的词向量进行更新。本说明书实施例提供的一种基于集群的词向量处理设备,所述设备属于所述集群,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:获取从部分语料中提取的词及其上下文词;获取所述词及其上下文词的词向量;根据所述词及其上下文词,以及对应的词向量,计算梯度;将所述梯度异步更新;根据异步更新的梯度,对所述词及其上下文词的词向量进行更新。本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:在训练过程中,各工作机而无需相互等待,向服务器异步更新针对各词计算出的梯度,进而由服务器根据梯度更新各词的词向量,因此,有利于提高词向量训练收敛速度,再加上集群的分布式处理能力,使得该方案能够适用于大规模词向量训练且效率较高。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图;图2为本说明书实施例提供的一种基于集群的词向量处理方法的流程示意图;图3为本说明书实施例提供的一种实际应用场景下,基于集群的词向量处理方法的原理示意图;图4为本说明书实施例提供的对应于图3的一种基于集群的词向量处理方法的详细流程示意图;图5为本说明书实施例提供的对应于图2的一种基于集群的词向量处理装置的结构示意图。具体实施方式本说明书实施例提供基于集群的词向量处理方法、装置以及设备。为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本说明书的方案适用于集群,在集群下对于大规模词向量的处理效率更高,具体地:可以拆分训练语料,集群中的多个工作机分布式地分别根据拆分的部分语料,配合一个或者多个服务器训练所述部分语料对应的词向量,在训练过程中,各工作机负责计算各词对应的梯度,并异步更新至服务器,服务器负责根据梯度更新词向量。方案涉及的集群可以有一个或者多个,以图1为例,涉及了两个集群。图1为本说明书的方案在一种实际应用场景下涉及的一种整体架构示意图。该整体架构中,主要涉及三部分:包含多个服务器的服务器集群、包含多个工作机的工作机集群、数据库。数据库保存有用于训练的语料,供工作机集群读取,服务器集群保存原始的词向量,工作机集群与服务器集群进行配合,通过异步更新梯度,实现对词向量的训练。图1中的架构是示例性的,并非唯一。比如,方案也可以只涉及一个集群,该集群中包含至少一个调度机和多个工作机,由调度机完成上述服务器集群的工作;再比如,方案也可以涉及一个工作机集群和一个服务器;等等。下面基于图1中的架构,对本说明书的方案进行详细说明。图2为本说明书实施例提供的一种基于集群的词向量处理方法的流程示意图,所述集群包括工作机集群和服务器集群。图2中各步骤由集群中的至少一个机器(或者机器上的程序)执行,不同步骤的执行主体可以不同,图2中的流程可以执行多轮,每轮可以使用不同组的语料,语料用于训练词向量。图2中的流程包括以下步骤:S202:工作机集群包含的各工作机分别获取从部分语料中提取的词及其上下文词。S204:所述工作机获取所述词及其上下文词的词向量。S206:所述工作机根据所述词及其上下文词,以及对应的词向量,计算梯度。S208:所述工作机将所述梯度异步更新至服务器集群包含的服务器。S210:所述服务器根据所述梯度,对所述词及其上下文词的词向量进行更新。在本说明书实施例中,各工作机可以分布式地执行步骤S202~S208,各工作机对应的部分语料通常是不同的,如此能够高效利用大规模的训练语料,也能够提高词向量的训练效率。比如,对于当前用于训练词向量的语料,可以将语料拆分为多份,各工作机可以分别读取一部分,进而基于自己读取的部分语料执行步骤S202~S208。为了便于描述,对于步骤S202~S208,以下各实施例主要从某一个工作机的角度进行说明。在本说明书实施例中,若本轮流程是第一轮流程,步骤S204中获取的词向量可以是初始化得到的。比如,可以采用随机初始化的方式或者按照指定概率分布初始化的方式,初始化各词的词向量,以及各词的上下文词的词向量,指定概率分布比如是0-1分布等。而若本轮流程并非第一轮流程,则步骤S204中获取的词向量可以是上轮流程执行完毕后更新并保存的词向量。在本说明书实施例中,训练词向量的过程主要包括计算梯度以及根据梯度更新向量,分别由工作机集群和服务器集群执行。在训练过程中,工作机计算完成后,需要将结果同步到服务器,通常有两种模式:同步更新与异步更新。同步更新是指:各工作机采用某种方式进行模型平均后再更新至服务器(一般地,不同的平均策略会造成不同的结果,模型平均的策略设计是同步更新重要的一环)。而异步更新是指任一个工作机计算完成就立即向服务器更新数据,而不等待其他工作机更不用进行模本文档来自技高网
...
基于集群的词向量处理方法、装置以及设备

【技术保护点】
1.一种基于集群的词向量处理方法,所述集群包括多个工作机和服务器,所述方法包

【技术特征摘要】
1.一种基于集群的词向量处理方法,所述集群包括多个工作机和服务器,所述方法包括:各所述工作机分别执行:获取从部分语料中提取的词及其上下文词;获取所述词及其上下文词的词向量;根据所述词及其上下文词,以及对应的词向量,计算梯度;将所述梯度异步更新至所述服务器;所述服务器根据所述梯度,对所述词及其上下文词的词向量进行更新。2.如权利要求1所述的方法,所述获取从部分语料中提取的词及其上下文词前,所述方法还包括:各所述工作机分布式地读取得到部分语料;所述获取从部分语料中提取的词及其上下文词,具体包括:根据自己所读取得到的语料,建立相应的词对,所述词对包含当前词及其上下词。3.如权利要求2所述的方法,所述获取所述词及其上下文词的词向量,具体包括:根据自己建立的各所述词对,提取得到当前词集合和上下文词集合;从所述服务器获取所述当前词集合和上下文词集合包含的词的词向量。4.如权利要求2所述的方法,所述根据所述词及其上下文词,以及对应的词向量,计算梯度,具体包括:根据指定的损失函数、负样例词、自己建立的各所述词对,以及所述词及其上下文词的词向量,计算各词分别对应的梯度。5.如权利要求1所述的方法,所述计算梯度,具体包括:所述工作机上的一个或者多个线程以异步计算且不加锁更新的方式,计算梯度。6.如权利要求1所述的方法,所述工作机将所述梯度异步更新至所述服务器,具体包括:所述工作机计算得到所述梯度后,将所述梯度发送给所述服务器,其中,所述发送动作的执行无需等待其他工作机向所述服务器发送梯度。7.如权利要求4所述的方法,所述服务器根据所述梯度,对所述词及其上下文词的词向量进行更新,具体包括:按照以下公式,对所述词及其上下文词,以及所述负样例词的词向量进行迭代更新:其中,w表示当前词,c表示w的上下文词,c'表示负样例词,表示w的词向量,表示c的词向量,和表示在所述服务器上的第t次更新,Bk表示所述工作机上第k组语料,Γ(w)表示w的上下文词和负样例词的集合,α表示学习率,σ为Sigmoid函数。8.一种基于集群的词向量处理装置,所述集群包括多个工作机和服务器,所述装置位于所述集群,包括位于所述工作机的第一获取模块、第二获取模块、梯度计算模块、异步更新模块、位于所述服务器的词向量更新模块;各工作机通过相应的模块分别执行:所述第一获取模块获取从部分语料中提取的词及其上下文词;所述第二获取模块获取所述词及其上下文词的词向量;所述梯度计算模块根据所述词及其上下文词,以及对应的词向量,计算梯度;所述异步更新模块...

【专利技术属性】
技术研发人员:曹绍升杨新星周俊
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1