TW201923620A - 基於叢集的詞向量處理方法、裝置以及設備 - Google Patents

基於叢集的詞向量處理方法、裝置以及設備 Download PDF

Info

Publication number
TW201923620A
TW201923620A TW107131853A TW107131853A TW201923620A TW 201923620 A TW201923620 A TW 201923620A TW 107131853 A TW107131853 A TW 107131853A TW 107131853 A TW107131853 A TW 107131853A TW 201923620 A TW201923620 A TW 201923620A
Authority
TW
Taiwan
Prior art keywords
word
words
gradient
context
server
Prior art date
Application number
TW107131853A
Other languages
English (en)
Inventor
曹紹升
楊新星
周俊
Original Assignee
香港商阿里巴巴集團服務有限公司
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
Priority to CN201711123278.8 priority Critical
Priority to CN201711123278.8A priority patent/CN108170663A/zh
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW201923620A publication Critical patent/TW201923620A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6256Obtaining sets of training patterns; Bootstrap methods, e.g. bagging, boosting

Abstract

本說明書實施例公開了基於叢集的詞向量處理方法、裝置以及設備,方案包括:叢集包括伺服器叢集和工作站叢集;工作站叢集中的各工作站分別讀取部分語料,並從讀取的語料中提取詞及其上下文詞,從伺服器叢集中的伺服器獲取對應的詞向量並計算梯度,將梯度異步更新至伺服器;伺服器根據梯度,對詞及其上下文詞的詞向量進行更新。

Description

基於叢集的詞向量處理方法、裝置以及設備
本說明書涉及電腦軟體技術領域,尤其涉及基於叢集的詞向量處理方法、裝置以及設備。
如今的自然語言處理的解決方案,大都採用基於神經網路的架構,而在這種架構下一個重要的基礎技術就是詞向量。詞向量是將詞映射到一個固定維度的向量,該向量表徵了該詞的語義資訊。   在現有技術中,常見的用於生成詞向量的算法比如包括谷哥公司的單詞向量算法、微軟公司的深度神經網路算法等,往往在單機上運行。   基於現有技術,需要高效的大規模詞向量訓練方案。
本說明書實施例提供基於叢集的詞向量處理方法、裝置以及設備,用以解決如下技術問題:需要高效的大規模詞向量訓練方案。   為解決上述技術問題,本說明書實施例是這樣實現的:   本說明書實施例提供的一種基於叢集的詞向量處理方法,所述叢集包括多個工作站和伺服器,所述方法包括:   各所述工作站分別執行:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新至所述伺服器;   所述伺服器根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。   本說明書實施例提供的一種基於叢集的詞向量處理裝置,所述叢集包括多個工作站和伺服器,所述裝置位於所述叢集,包括位於所述工作站的第一獲取模組、第二獲取模組、梯度計算模組、異步更新模組、位於所述伺服器的詞向量更新模組;   各工作站通過相應的模組分別執行:     所述第一獲取模組獲取從部分語料中提取的詞及其上下文詞;     所述第二獲取模組獲取所述詞及其上下文詞的詞向量;     所述梯度計算模組根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     所述異步更新模組將所述梯度異步更新至所述伺服器;   所述伺服器的所述詞向量更新模組根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。   本說明書實施例提供的一種基於叢集的詞向量處理設備,所述設備屬於所述叢集,包括:   至少一個處理器;以及,   與所述至少一個處理器通信連接的記憶體;其中,   所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新;   根據異步更新的梯度,對所述詞及其上下文詞的詞向量進行更新。   本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:在訓練過程中,各工作站而無需相互等待,向伺服器異步更新針對各詞計算出的梯度,進而由伺服器根據梯度更新各詞的詞向量,因此,有利於提高詞向量訓練收斂速度,再加上叢集的分布式處理能力,使得該方案能夠適用於大規模詞向量訓練且效率較高。
本說明書實施例提供基於叢集的詞向量處理方法、裝置以及設備。   為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。   本說明書的方案適用於叢集,在叢集下對於大規模詞向量的處理效率更高,具體地:可以拆分訓練語料,叢集中的多個工作站分布式地分別根據拆分的部分語料,配合一個或者多個伺服器訓練所述部分語料對應的詞向量,在訓練過程中,各工作站負責計算各詞對應的梯度,並異步更新至伺服器,伺服器負責根據梯度更新詞向量。   方案涉及的叢集可以有一個或者多個,以圖1為例,涉及了兩個叢集。   圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖。該整體架構中,主要涉及三部分:包含多個伺服器的伺服器叢集、包含多個工作站的工作站叢集、資料庫。資料庫保存有用於訓練的語料,供工作站叢集讀取,伺服器叢集保存原始的詞向量,工作站叢集與伺服器叢集進行配合,通過異步更新梯度,實現對詞向量的訓練。   圖1中的架構是示例性的,並非唯一。比如,方案也可以只涉及一個叢集,該叢集中包含至少一個調度機和多個工作站,由調度機完成上述伺服器叢集的工作;再比如,方案也可以涉及一個工作站叢集和一個伺服器;等等。   下面基於圖1中的架構,對本說明書的方案進行詳細說明。   圖2為本說明書實施例提供的一種基於叢集的詞向量處理方法的流程示意圖,所述叢集包括工作站叢集和伺服器叢集。圖2中各步驟由叢集中的至少一個機器(或者機器上的程式)執行,不同步驟的執行主體可以不同,圖2中的流程可以執行多輪,每輪可以使用不同組的語料,語料用於訓練詞向量。   圖2中的流程包括以下步驟:   S202:工作站叢集包含的各工作站分別獲取從部分語料中提取的詞及其上下文詞。   S204:所述工作站獲取所述詞及其上下文詞的詞向量。   S206:所述工作站根據所述詞及其上下文詞,以及對應的詞向量,計算梯度。   S208:所述工作站將所述梯度異步更新至伺服器叢集包含的伺服器。   S210:所述伺服器根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。   在本說明書實施例中,各工作站可以分布式地執行步驟S202~S208,各工作站對應的部分語料通常是不同的,如此能夠高效利用大規模的訓練語料,也能夠提高詞向量的訓練效率。比如,對於當前用於訓練詞向量的語料,可以將語料拆分為多份,各工作站可以分別讀取一部分,進而基於自己讀取的部分語料執行步驟S202~S208。   為了便於描述,對於步驟S202~S208,以下各實施例主要從某一個工作站的角度進行說明。   在本說明書實施例中,若本輪流程是第一輪流程,步驟S204中獲取的詞向量可以是初始化得到的。比如,可以採用隨機初始化的方式或者按照指定機率分佈初始化的方式,初始化各詞的詞向量,以及各詞的上下文詞的詞向量,指定機率分佈比如是0-1分佈等。而若本輪流程並非第一輪流程,則步驟S204中獲取的詞向量可以是上輪流程執行完畢後更新並保存的詞向量。   在本說明書實施例中,訓練詞向量的過程主要包括計算梯度以及根據梯度更新向量,分別由工作站叢集和伺服器叢集執行。在訓練過程中,工作站計算完成後,需要將結果同步到伺服器,通常有兩種模式:同步更新與異步更新。同步更新是指:各工作站採用某種方式進行模型平均後再更新至伺服器(一般地,不同的平均策略會造成不同的結果,模型平均的策略設計是同步更新重要的一環)。而異步更新是指任一個工作站計算完成就立即向伺服器更新資料,而不等待其他工作站更不用進行模型平均。從最終效果上講,異步更新由於不需要等待其他工作站計算完成,因此訓練收斂速度往往更快,本說明書的方案主要基於異步更新的方式進行說明,具體異步更新的資料包括由工作站計算的各詞對應的梯度。   在本說明書實施例中,步驟S208由伺服器叢集執行,更新後的詞向量也保存於伺服器叢集,以便下輪流程使用。當然,在圖1以外的其他架構中,步驟S208也可以由與工作站屬於同一叢集的調度機或伺服器執行。   以此類推,進行多輪流程直至所有組的訓練語料全部使用完畢後,伺服器叢集可以將最終更新得到的詞向量寫出到資料庫,以便用於需求詞向量的各種場景。   通過圖2的方法,在訓練過程中,各工作站而無需相互等待,向伺服器異步更新針對各詞計算出的梯度,進而由伺服器根據梯度更新各詞的詞向量,因此,有利於提高詞向量訓練收斂速度,再加上叢集的分布式處理能力,使得該方案能夠適用於大規模詞向量訓練且效率較高。   基於圖2的方法,本說明書實施例還提供了該方法的一些具體實施方案,以及擴展方案,繼續基於圖1中的架構進行說明。   在本說明書實施例中,從語料中提取詞及其上下文詞可以由工作站執行,也可以由其他設備預先執行。以前一種方式為例,則對於步驟S202,所述獲取從部分語料中提取的詞及其上下文詞前,還可以執行:各所述工作站分布式地讀取得到部分語料。語料若保存於資料庫,則可以從資料庫讀取。   在本說明書實施例中,所述獲取從部分語料中提取的詞及其上下文詞,具體可以包括:根據自己所讀取得到的語料,建立相應的詞對,所述詞對包含當前詞及其上下詞。比如,可以掃描自己所讀取得到的語料中的詞,當前掃描的詞為當前詞記作w ,根據設定的滑窗距離確定包含w 的一個滑窗,將該滑窗內的其他每個詞分別作為w 的一個上下文詞,記作c ,如此構成詞對{w,c }。   進一步地,假定詞向量保存於伺服器叢集包含的多個伺服器上。則對於步驟S204,所述獲取所述詞及其上下文詞的詞向量,具體可以包括:根據自己建立的各所述詞對,提取得到當前詞集合和上下文詞集合;從所述伺服器獲取所述當前詞集合和上下文詞集合包含的詞的詞向量。當然,這並非唯一實施方式,比如,也可以在掃描語料時,同步地從伺服器獲取當前掃描到的詞的詞向量而未必要依賴於建立的詞對,等等。   在本說明書實施例中,可以根據指定的損失函數,自己建立的各所述詞對,以及所述詞及其上下文詞的詞向量,計算各詞分別對應的梯度。   為了獲得更好的訓練效果以及更快地收斂,還可以引入指定的負樣例詞作為上下文詞的對照計算梯度,負樣例詞被視為:相比於上下文詞,與對應的當前詞相關性相對低的詞,一般可以在全部詞中隨機選擇若干個。在這種情況下,對於步驟S206,所述根據所述詞及其上下文詞,以及對應的詞向量,計算梯度,具體可以包括:根據指定的損失函數、負樣例詞、自己建立的各所述詞對,以及所述詞及其上下文詞的詞向量,計算各詞分別對應的梯度。   當前詞及其每個負樣例詞也可以構成一個詞對(稱為負樣例詞對),用c' 表示負樣例詞,負樣例詞對記作{w,c' },假定有λ 個負樣例詞,相應的λ 個負樣例詞對可以記作、…、,為了便於描述將負樣例詞對和上面的上下文詞對(當前詞及其上下文詞構成的詞對)統一記作{w,c },並用y 來區分,對於上下文詞對,y=1 ,對於負樣例詞對,y=0 。   在本發明實施例中,上述的損失函數可以有多種形式,一般包含至少兩項,一項反應當前詞與其上下文之間的相似度,另一項反應當前詞與其負樣例詞之間的相似度,其中,可以用向量點乘度量相似度,也可以採用其他方式度量相似度。以一種實際應用場景為例,比如利用以下公式計算當前詞對應的梯度∇:其中,表示的詞向量,表示c 的詞向量,σ 是激活函數,假定為Sigmoid函數,則。   進一步地,每個工作站上的一個或者多個執行緒可以以異步計算且不加鎖更新的方式,計算梯度。從而,工作站內各執行緒也可以並行計算梯度且不會相互妨礙,能夠進一步地提高計算效率。   在本說明書實施例中,對於步驟S208,所述工作站將所述梯度異步更新至所述伺服器,具體可以包括:所述工作站計算得到所述梯度後,將所述梯度發送給所述伺服器,其中,所述發送動作的執行無需等待其他工作站向所述伺服器發送梯度。   在本說明書實施例中,伺服器獲得工作站異步更新的梯度後,可以利用該梯度更新對應的當前詞的詞向量。不僅如此,伺服器還可以利用該梯度,更新當前詞的上下文詞以及負樣例詞的詞向量,具體的更新方式可以參照梯度下降法進行。   例如,對於步驟S210,所述伺服器根據所述梯度,對所述詞及其上下文詞的詞向量進行更新,具體可以包括:   按照以下公式,對所述詞及其上下文詞,以及所述負樣例詞的詞向量進行迭代更新:其中,w 表示當前詞,c 表示w 的上下文詞,c' 表示負樣例詞,表示w 的詞向量,表示c 的詞向量,表示在所述伺服器上的第t 次更新,Bk 表示所述工作站上第k 組語料,Г(w )表示w 的上下文詞和負樣例詞的集合,α 表示學習率,σ 比如為Sigmoid函數。   根據上面的說明,本說明書實施例還提供了一種實際應用場景下,基於叢集的詞向量處理方法的原理示意圖,如圖3所示,進一步地,本說明書實施例還提供了對應於圖3的一種基於叢集的詞向量處理方法的詳細流程示意圖,如圖4所示。   在圖3中,示例性地示出了工作站0~2、伺服器0~2,主要針對工作站0進行說明,而工作站1和2簡略地進行了表示,工作方式與工作站0是一致的。“wid”、“cid”為標識,分別表示當前詞和上下文詞,“wid list”、“cid list”是標識列表,分別表示當前詞集合和上下文詞集合。圖3中的簡略工作流程包括:各工作站分布式地讀取語料,建立詞對;各工作站從伺服器叢集獲取相應的詞向量;各工作站利用讀取的語料計算梯度並異步更新至伺服器叢集;伺服器叢集根據梯度更新詞向量。   圖4中示出了更詳細的流程,主要包括以下步驟:   S402:各工作站分布式地讀取部分語料,建立詞對{w,c },從詞對中提取wid list和cid list,如圖4中的工作站0所示。   S404:工作站根據wid list和cid list從伺服器拉取對應的詞向量,伺服器發送對應的詞向量給工作站。   S406:工作站根據詞對和對應的詞向量,計算梯度,具體採用上述的公式一進行計算。   S408:工作站的每個執行緒均以異步計算且不加鎖更新的方式,計算梯度,完成梯度計算後,不等待其他工作站,直接將計算出的該工作站上所有詞對應的梯度傳給伺服器。   S410:伺服器叢集根據梯度更新詞向量,具體採用上述的公式二和公式三進行計算。   基於同樣的思路,本說明書實施例還提供了上述方法的對應裝置,如圖5所示。   圖5為本說明書實施例提供的對應於圖2的一種基於叢集的詞向量處理裝置的結構示意圖,所述叢集包括多個工作站和伺服器,所述裝置位於所述叢集,包括位於所述工作站的第一獲取模組501、第二獲取模組502、梯度計算模組503、異步更新模組504、位於所述伺服器的詞向量更新模組505;   各工作站通過相應的模組分別執行:     所述第一獲取模組501獲取從部分語料中提取的詞及其上下文詞;     所述第二獲取模組502獲取所述詞及其上下文詞的詞向量;     所述梯度計算模組503根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     所述異步更新模組504將所述梯度異步更新至所述伺服器;   所述伺服器的所述詞向量更新模組505根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。   可選地,所述第一獲取模組501獲取從部分語料中提取的詞及其上下文詞前,分布式地讀取得到部分語料;   所述第一獲取模組501獲取從部分語料中提取的詞及其上下文詞,具體包括:   所述第一獲取模組501根據自己所讀取得到的語料,建立相應的詞對,所述詞對包含當前詞及其上下詞。   可選地,所述第二獲取模組502獲取所述詞及其上下文詞的詞向量,具體包括:   所述第二獲取模組502根據所述第一獲取模組501建立的各所述詞對,提取得到當前詞集合和上下文詞集合;   從所述伺服器獲取所述當前詞集合和上下文詞集合包含的詞的詞向量。   可選地,所述梯度計算模組503根據所述詞及其上下文詞,以及對應的詞向量,計算梯度,具體包括:   所述梯度計算模組503根據指定的損失函數、負樣例詞、自己建立的各所述詞對,以及所述詞及其上下文詞的詞向量,計算各詞分別對應的梯度。   可選地,所述梯度計算模組503計算梯度,具體包括:   所述梯度計算模組503的一個或者多個執行緒以異步計算且不加鎖更新的方式,計算梯度。   可選地,所述異步更新模組504將所述梯度異步更新至所述伺服器,具體包括:   所述異步更新模組504在所述梯度計算模組503計算得到所述梯度後,將所述梯度發送給所述伺服器,其中,所述發送動作的執行無需等待其他工作站的異步更新模組504向所述伺服器發送梯度。   可選地,所述詞向量更新模組505根據所述梯度,對所述詞及其上下文詞的詞向量進行更新,具體包括:   所述詞向量更新模組505按照以下公式,對所述詞及其上下文詞,以及所述負樣例詞的詞向量進行迭代更新:其中,w 表示當前詞,c 表示w 的上下文詞,c' 表示負樣例詞,表示w 的詞向量,表示c 的詞向量,表示在所述伺服器上的第t 次更新,Bk 表示所述工作站上第k 組語料,Г(w )表示w 的上下文詞和負樣例詞的集合,α 表示學習率,σ 為Sigmoid函數。   基於同樣的思路,本說明書實施例還提供了對應於圖2的一種基於叢集的詞向量處理設備,該設備屬於所述叢集,包括:   至少一個處理器;以及,   與所述至少一個處理器通信連接的記憶體;其中,   所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新;   根據異步更新的梯度,對所述詞及其上下文詞的詞向量進行更新。   基於同樣的思路,本說明書實施例還提供了對應於圖2的一種非揮發性電腦儲存媒體,儲存有電腦可執行指令,所述電腦可執行指令設置為:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新;   根據異步更新的梯度,對所述詞及其上下文詞的詞向量進行更新。   上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。   本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、設備、非揮發性電腦儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。   本說明書實施例提供的裝置、設備、非揮發性電腦儲存媒體與方法是對應的,因此,裝置、設備、非揮發性電腦儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、設備、非揮發性電腦儲存媒體的有益技術效果。   在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來確定。由設計人員自行程式設計來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用“邏輯編譯器(logic compiler) ”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、 Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL (Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。   控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、特殊應用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。   上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。   為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。   本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或電腦程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。   本說明書是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。   這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。   這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。   在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。   內部記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是電腦可讀媒體的示例。   電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可編程唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。   還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。   本說明書可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、組件、資料結構等等。也可以在分布式計算環境中實踐本說明書,在這些分布式計算環境中,由通過通信網路而被連接的遠程處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程電腦儲存媒體中。   本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。   以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
S202‧‧‧步驟
S204‧‧‧步驟
S206‧‧‧步驟
S208‧‧‧步驟
S210‧‧‧步驟
S402‧‧‧步驟
S404‧‧‧步驟
S406‧‧‧步驟
S408‧‧‧步驟
S410‧‧‧步驟
501‧‧‧第一獲取模組
502‧‧‧第二獲取模組
503‧‧‧梯度計算模組
504‧‧‧異步更新模組
505‧‧‧詞向量更新模組
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。   圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖;   圖2為本說明書實施例提供的一種基於叢集的詞向量處理方法的流程示意圖;   圖3為本說明書實施例提供的一種實際應用場景下,基於叢集的詞向量處理方法的原理示意圖;   圖4為本說明書實施例提供的對應於圖3的一種基於叢集的詞向量處理方法的詳細流程示意圖;   圖5為本說明書實施例提供的對應於圖2的一種基於叢集的詞向量處理裝置的結構示意圖。

Claims (15)

  1. 一種基於叢集的詞向量處理方法,所述叢集包括多個工作站和伺服器,所述方法包括:   各所述工作站分別執行:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新至所述伺服器;   所述伺服器根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。
  2. 如請求項1所述的方法,所述獲取從部分語料中提取的詞及其上下文詞前,所述方法還包括:   各所述工作站分布式地讀取得到部分語料;   所述獲取從部分語料中提取的詞及其上下文詞,具體包括:   根據自己所讀取得到的語料,建立相應的詞對,所述詞對包含當前詞及其上下詞。
  3. 如請求項2所述的方法,所述獲取所述詞及其上下文詞的詞向量,具體包括:   根據自己建立的各所述詞對,提取得到當前詞集合和上下文詞集合;   從所述伺服器獲取所述當前詞集合和上下文詞集合包含的詞的詞向量。
  4. 如請求項2所述的方法,所述根據所述詞及其上下文詞,以及對應的詞向量,計算梯度,具體包括:   根據指定的損失函數、負樣例詞、自己建立的各所述詞對,以及所述詞及其上下文詞的詞向量,計算各詞分別對應的梯度。
  5. 如請求項1所述的方法,所述計算梯度,具體包括:   所述工作站上的一個或者多個執行緒以異步計算且不加鎖更新的方式,計算梯度。
  6. 如請求項1所述的方法,所述工作站將所述梯度異步更新至所述伺服器,具體包括:   所述工作站計算得到所述梯度後,將所述梯度發送給所述伺服器,其中,所述發送動作的執行無需等待其他工作站向所述伺服器發送梯度。
  7. 如請求項4所述的方法,所述伺服器根據所述梯度,對所述詞及其上下文詞的詞向量進行更新,具體包括:   按照以下公式,對所述詞及其上下文詞,以及所述負樣例詞的詞向量進行迭代更新:其中,w 表示當前詞,c 表示的上下文詞,c' 表示負樣例詞,表示w 的詞向量,表示c 的詞向量,表示在所述伺服器上的第t 次更新,Bk 表示所述工作站上第k 組語料,Г(w )表示w 的上下文詞和負樣例詞的集合,α 表示學習率,σ 為Sigmoid函數。
  8. 一種基於叢集的詞向量處理裝置,所述叢集包括多個工作站和伺服器,所述裝置位於所述叢集,包括位於所述工作站的第一獲取模組、第二獲取模組、梯度計算模組、異步更新模組、位於所述伺服器的詞向量更新模組;   各工作站通過相應的模組分別執行:     所述第一獲取模組獲取從部分語料中提取的詞及其上下文詞;     所述第二獲取模組獲取所述詞及其上下文詞的詞向量;     所述梯度計算模組根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     所述異步更新模組將所述梯度異步更新至所述伺服器;   所述伺服器的所述詞向量更新模組根據所述梯度,對所述詞及其上下文詞的詞向量進行更新。
  9. 如請求項8所述的裝置,所述第一獲取模組獲取從部分語料中提取的詞及其上下文詞前,分布式地讀取得到部分語料;   所述第一獲取模組獲取從部分語料中提取的詞及其上下文詞,具體包括:   所述第一獲取模組根據自己所讀取得到的語料,建立相應的詞對,所述詞對包含當前詞及其上下詞。
  10. 如請求項9所述的裝置,所述第二獲取模組獲取所述詞及其上下文詞的詞向量,具體包括:   所述第二獲取模組根據所述第一獲取模組建立的各所述詞對,提取得到當前詞集合和上下文詞集合;   從所述伺服器獲取所述當前詞集合和上下文詞集合包含的詞的詞向量。
  11. 如請求項9所述的裝置,所述梯度計算模組根據所述詞及其上下文詞,以及對應的詞向量,計算梯度,具體包括:   所述梯度計算模組根據指定的損失函數、負樣例詞、自己建立的各所述詞對,以及所述詞及其上下文詞的詞向量,計算各詞分別對應的梯度。
  12. 如請求項8所述的裝置,所述梯度計算模組計算梯度,具體包括:   所述梯度計算模組的一個或者多個執行緒以異步計算且不加鎖更新的方式,計算梯度。
  13. 如請求項8所述的裝置,所述異步更新模組將所述梯度異步更新至所述伺服器,具體包括:   所述異步更新模組在所述梯度計算模組計算得到所述梯度後,將所述梯度發送給所述伺服器,其中,所述發送動作的執行無需等待其他工作站的異步更新模組向所述伺服器發送梯度。
  14. 如請求項11所述的裝置,所述詞向量更新模組根據所述梯度,對所述詞及其上下文詞的詞向量進行更新,具體包括:   所述詞向量更新模組按照以下公式,對所述詞及其上下文詞,以及所述負樣例詞的詞向量進行迭代更新: 其中,w 表示當前詞,c 表示w 的上下文詞,c' 表示負樣例詞,表示w 的詞向量,表示c 的詞向量,表示在所述伺服器上的第t 次更新,Bk 表示所述工作站上第k 組語料,Г(w )表示w 的上下文詞和負樣例詞的集合,α 表示學習率,σ 為Sigmoid函數。
  15. 一種基於叢集的詞向量處理設備,所述設備屬於所述叢集,包括:   至少一個處理器;以及,   與所述至少一個處理器通信連接的記憶體;其中,   所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:     獲取從部分語料中提取的詞及其上下文詞;     獲取所述詞及其上下文詞的詞向量;     根據所述詞及其上下文詞,以及對應的詞向量,計算梯度;     將所述梯度異步更新;   根據異步更新的梯度,對所述詞及其上下文詞的詞向量進行更新。
TW107131853A 2017-11-14 2018-09-11 基於叢集的詞向量處理方法、裝置以及設備 TW201923620A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711123278.8 2017-11-14
CN201711123278.8A CN108170663A (zh) 2017-11-14 2017-11-14 基于集群的词向量处理方法、装置以及设备

Publications (1)

Publication Number Publication Date
TW201923620A true TW201923620A (zh) 2019-06-16

Family

ID=62527339

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107131853A TW201923620A (zh) 2017-11-14 2018-09-11 基於叢集的詞向量處理方法、裝置以及設備

Country Status (6)

Country Link
US (1) US10846483B2 (zh)
EP (1) EP3657360A4 (zh)
CN (1) CN108170663A (zh)
SG (1) SG11202002266YA (zh)
TW (1) TW201923620A (zh)
WO (1) WO2019095836A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957989B9 (zh) 2017-10-23 2021-01-12 创新先进技术有限公司 基于集群的词向量处理方法、装置以及设备
CN108170663A (zh) * 2017-11-14 2018-06-15 阿里巴巴集团控股有限公司 基于集群的词向量处理方法、装置以及设备

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317507A (en) 1990-11-07 1994-05-31 Gallant Stephen I Method for document retrieval and for word sense disambiguation using neural networks
US5325298A (en) 1990-11-07 1994-06-28 Hnc, Inc. Methods for generating or revising context vectors for a plurality of word stems
US5233681A (en) 1992-04-24 1993-08-03 International Business Machines Corporation Context-dependent speech recognizer using estimated next word context
US7251637B1 (en) 1993-09-20 2007-07-31 Fair Isaac Corporation Context vector generation and retrieval
US5619709A (en) 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US5828999A (en) 1996-05-06 1998-10-27 Apple Computer, Inc. Method and system for deriving a large-span semantic language model for large-vocabulary recognition systems
US6137911A (en) 1997-06-16 2000-10-24 The Dialog Corporation Plc Test classification system and method
US6714925B1 (en) 1999-05-01 2004-03-30 Barnhill Technologies, Llc System for identifying patterns in biological data using a distributed network
US20030069873A1 (en) 1998-11-18 2003-04-10 Kevin L. Fox Multiple engine information retrieval and visualization system
US6317707B1 (en) 1998-12-07 2001-11-13 At&T Corp. Automatic clustering of tokens from a corpus for grammar acquisition
US6922699B2 (en) 1999-01-26 2005-07-26 Xerox Corporation System and method for quantitatively representing data objects in vector space
US6904405B2 (en) 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US7376618B1 (en) 2000-06-30 2008-05-20 Fair Isaac Corporation Detecting and measuring risk with predictive models using content mining
US7280957B2 (en) 2002-12-16 2007-10-09 Palo Alto Research Center, Incorporated Method and apparatus for generating overview information for hierarchically related information
US7340674B2 (en) 2002-12-16 2008-03-04 Xerox Corporation Method and apparatus for normalizing quoting styles in electronic mail messages
US7007069B2 (en) 2002-12-16 2006-02-28 Palo Alto Research Center Inc. Method and apparatus for clustering hierarchically related information
EP1894125A4 (en) 2005-06-17 2015-12-02 Nat Res Council Canada MEANS AND METHOD FOR ADAPTED LANGUAGE TRANSLATION
US9600568B2 (en) 2006-01-23 2017-03-21 Veritas Technologies Llc Methods and systems for automatic evaluation of electronic discovery review and productions
US9275129B2 (en) 2006-01-23 2016-03-01 Symantec Corporation Methods and systems to efficiently find similar and near-duplicate emails and files
US20080109454A1 (en) 2006-11-03 2008-05-08 Willse Alan R Text analysis techniques
US8027938B1 (en) 2007-03-26 2011-09-27 Google Inc. Discriminative training in machine learning
US7877258B1 (en) 2007-03-29 2011-01-25 Google Inc. Representing n-gram language models for compact storage and fast retrieval
US8756229B2 (en) 2009-06-26 2014-06-17 Quantifind, Inc. System and methods for units-based numeric information retrieval
US8719257B2 (en) 2011-02-16 2014-05-06 Symantec Corporation Methods and systems for automatically generating semantic/concept searches
US8488916B2 (en) 2011-07-22 2013-07-16 David S Terman Knowledge acquisition nexus for facilitating concept capture and promoting time on task
US9519858B2 (en) 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
JP6440732B2 (ja) 2013-11-27 2018-12-19 株式会社Nttドコモ 機械学習に基づく自動タスク分類
EP3100212A1 (en) 2014-01-31 2016-12-07 Google Inc. Generating vector representations of documents
US20160070748A1 (en) 2014-09-04 2016-03-10 Crimson Hexagon, Inc. Method and apparatus for improved searching of digital content
US9779085B2 (en) 2015-05-29 2017-10-03 Oracle International Corporation Multilingual embeddings for natural language processing
CN105095444A (zh) * 2015-07-24 2015-11-25 百度在线网络技术(北京)有限公司 信息获取方法和装置
US20170139899A1 (en) 2015-11-18 2017-05-18 Le Holdings (Beijing) Co., Ltd. Keyword extraction method and electronic device
CN107102981B (zh) * 2016-02-19 2020-06-23 腾讯科技(深圳)有限公司 词向量生成方法和装置
CN107133622A (zh) 2016-02-29 2017-09-05 阿里巴巴集团控股有限公司 一种单词的分割方法和装置
WO2017156791A1 (en) 2016-03-18 2017-09-21 Microsoft Technology Licensing, Llc Method and apparatus for training a learning machine
CN105786782B (zh) * 2016-03-25 2018-10-19 北京搜狗信息服务有限公司 一种词向量的训练方法和装置
US10789545B2 (en) * 2016-04-14 2020-09-29 Oath Inc. Method and system for distributed machine learning
JP6671020B2 (ja) 2016-06-23 2020-03-25 パナソニックIpマネジメント株式会社 対話行為推定方法、対話行為推定装置及びプログラム
JP6199461B1 (ja) * 2016-09-13 2017-09-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
CN106897265B (zh) * 2017-01-12 2020-07-10 北京航空航天大学 词向量训练方法及装置
CN106802888B (zh) 2017-01-12 2020-01-24 北京航空航天大学 词向量训练方法和装置
CN107239443A (zh) 2017-05-09 2017-10-10 清华大学 一种词向量学习模型的训练方法及服务器
US10303681B2 (en) 2017-05-19 2019-05-28 Microsoft Technology Licensing, Llc Search query and job title proximity computation via word embedding
US10380259B2 (en) 2017-05-22 2019-08-13 International Business Machines Corporation Deep embedding for natural language content based on semantic dependencies
CN107247704B (zh) * 2017-06-09 2020-09-08 阿里巴巴集团控股有限公司 词向量处理方法、装置以及电子设备
CN107273355B (zh) * 2017-06-12 2020-07-14 大连理工大学 一种基于字词联合训练的中文词向量生成方法
CN107957989B9 (zh) 2017-10-23 2021-01-12 创新先进技术有限公司 基于集群的词向量处理方法、装置以及设备
CN108170663A (zh) * 2017-11-14 2018-06-15 阿里巴巴集团控股有限公司 基于集群的词向量处理方法、装置以及设备
US10678830B2 (en) 2018-05-31 2020-06-09 Fmr Llc Automated computer text classification and routing using artificial intelligence transfer learning

Also Published As

Publication number Publication date
SG11202002266YA (en) 2020-04-29
CN108170663A (zh) 2018-06-15
EP3657360A1 (en) 2020-05-27
WO2019095836A1 (zh) 2019-05-23
EP3657360A4 (en) 2020-08-05
US10846483B2 (en) 2020-11-24
US20200167527A1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
TW201909009A (zh) 基於區塊鏈的資料處理方法及設備
WO2018214897A1 (zh) 一种数据库状态确定方法、一致性验证方法及装置
JP2020510892A (ja) ブロックチェーンベースのデータ処理方法および装置
TW201923620A (zh) 基於叢集的詞向量處理方法、裝置以及設備
TWI685761B (zh) 詞向量處理方法及裝置
US10366345B2 (en) Continuous interaction learning and detection in real-time
US10769383B2 (en) Cluster-based word vector processing method, device, and apparatus
Liu et al. Masc: Multi-scale affinity with sparse convolution for 3d instance segmentation
TW201903635A (zh) 對話生成方法、裝置以及電子設備
US9460243B2 (en) Selective importance sampling
TWI701588B (zh) 詞向量處理方法、裝置以及設備
TW201918916A (zh) 隨機游走、基於分散式系統的隨機游走方法、裝置以及設備
WO2021143397A1 (zh) 一种基于gpu虚拟化的资源复用方法、装置及设备
JP2020095701A (ja) ストレージでの最適な動的シャードを生成する装置及びシステム
WO2020168901A1 (zh) 一种数据计算方法及引擎
TWI680467B (zh) 隨機遊走、基於集群的隨機遊走方法、裝置以及設備
WO2019174392A1 (zh) 针对rpc信息的向量处理
TWI689831B (zh) 詞向量產生方法、裝置以及設備
WO2019072198A1 (zh) 一种文件分享方法、设备及计算机可读介质
TW201939318A (zh) 詞向量產生方法、裝置以及設備
Sharma et al. Parallel bat algorithm using mapreduce model
TWI687820B (zh) 隨機漫步、基於叢集的隨機漫步方法、裝置以及設備
Zhang et al. Small files storing and computing optimization in Hadoop parallel rendering
WO2019085601A1 (zh) 一种任务执行的方法及装置