本文為您介紹Designer提供的Word2Vec演算法組件。
Word2Vec演算法組件利用神經網路,通過訓練,將詞映射為K維度空間向量,且支援對錶示詞的向量進行操作並和語義相對應。輸入為單詞列或詞彙表,輸出為詞向量表和詞彙表。
使用說明
Word2Vec組件的上遊需要接入詞頻統計組件。
詞頻統計的輸出結果為三元組,即詞和詞的統計。組件下遊接入Word2Vec組件,Word2Vec組件會先將資料整理成單個單詞的形式,後續會按照整個Doc來處理。
組件配置
您可以使用以下任意一種方式,配置Word2Vec組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
頁簽 | 參數 | 描述 |
欄位設定 | 選擇單詞列 | 用來進行訓練的單詞列。要求單詞數量最好不超過1千萬。 |
參數設定 | 單詞特徵維度 | 單詞的特徵維度數量。取值範圍為0~1000,預設值為100。 |
語言模型 | 訓練使用的語言模型。取值範圍為skip-gram模型和cbow模型,預設值為skip-gram模型。 | |
單詞視窗大小 | 單詞的視窗大小。取值範圍為正整數,預設值為5。 | |
使用隨機視窗 | 是否使用隨機視窗。預設使用。 | |
截斷最小詞頻 | 取值範圍為正整數,預設值為5。 | |
採用hierarchical softmax | 是否採用HIERARCHICAL SOFTMAX。預設採用。 | |
負採樣 | 負採樣的視窗大小。預設值為0,表示不可用。 | |
向下採樣閾值 | 向下採樣的閾值。預設值為0,表示不可用。 | |
起始學習速率 | 取值大於0,預設值為0.025。 | |
迭代次數 | 取值大於等於1,預設值為1。 | |
執行調優 | 核心數 | 預設為系統自動分配。 |
每個核的記憶體大小 | 預設為系統自動分配。 |
方式二:PAI命令方式
使用PAI命令方式,配置該組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼。
pai -name Word2Vec
-project algo_public
-DinputTableName=w2v_input
-DwordColName=word
-DoutputTableName=w2v_output;
參數名稱 | 是否必選 | 描述 | 預設值 |
inputTableName | 是 | 輸入詞彙表的名稱。 | 無 |
inputTablePartitions | 否 | 輸入詞彙表中參與分詞的分區名稱。格式為 | 無 |
wordColName | 是 | 單詞列名。單詞列中每行為一個單詞,分行符號用</s>表示。 | 無 |
inVocabularyTableName | 否 | 對輸入詞彙表執行wordcount操作後的輸出結果。 | 系統會對輸出表執行wordcount操作 |
inVocabularyPartitions | 否 | 對輸入詞彙表執行wordcount操作後的輸出結果中的分區名稱。 | inVocabularyTableName對應表的所有分區 |
layerSize | 否 | 單詞的特徵維度數量。取值範圍為0~1000。 | 100 |
cbow | 否 | 訓練使用的語言模型。取值範圍為0(skip-gram模型)和1(cbow模型)。 | 0 |
window | 否 | 單詞的視窗大小。取值範圍為正整數。 | 5 |
minCount | 否 | 截斷的最小詞頻。取值範圍為正整數。 | 5 |
hs | 否 | 是否採用HIERARCHICAL SOFTMAX。取值範圍為0(不採用)和1(採用)。 | 1 |
negative | 否 | 負採樣的視窗大小。取值範圍為正整數,0表示不可用。 | 0 |
sample | 否 | 向下採樣的閾值。取值範圍為1e-3~1e-5。0表示不可用。 | 0 |
alpha | 否 | 取值大於0。 | 0.025 |
iterTrain | 否 | 取值大於等於1。 | 1 |
randomWindow | 否 | 指定單詞視窗的展示方式。取值範圍為0(不隨機,其值由window參數指定)和1(大小在1~5間隨機)。 | 1 |
outVocabularyTableName | 否 | 輸出詞彙表的名稱。 | 無 |
outputTableName | 是 | 輸出詞向量表的名稱。 | 無 |
lifecycle | 否 | 輸出表的生命週期。取值範圍為正整數。 | 無 |
coreNum | 否 | 核心數,需要與memSizePerCore參數同時設定才生效。取值範圍為正整數。 | 系統自動分配 |
memSizePerCore | 否 | 記憶體數,需要與coreNum參數同時設定才生效。取值範圍為正整數。 | 系統自動分配 |
常見問題
報錯“Vocab size is zero! vocab_size: 0”,表示詞典為空白,調小minCount參數值,即可解決。