將 Word 轉換為向量元件
本文說明如何使用 Azure 機器學習 設計工具中的將 Word 轉換成向量元件來執行下列工作:
- 在您指定為輸入的文字主體上套用各種 Word2Vec 模型(Word2Vec、FastText、GloVe 預先定型模型)。
- 使用文字內嵌產生詞彙。
此元件使用 Gensim 連結庫。 如需 Gensim 的詳細資訊,請參閱其 官方網站,其中包含教學課程和演算法的說明。
深入瞭解將單字轉換成向量
將單字轉換成向量或文字向量化是自然語言處理 (NLP) 程式。 此程式會使用語言模型將文字對應至向量空間。 向量空間會以實數向量來表示每個單字。 它也允許具有類似意義的單字具有類似的表示法。
使用文字內嵌作為 NLP 下游工作的初始輸入,例如文字分類和情感分析。
在這個元件中,在各種文字內嵌技術中,我們實作三種廣泛使用的方法。 Word2Vec 和 FastText 兩個是在線定型模型。 另一個是預先定型的模型,glove-wiki-gigaword-100。
在線定型模型會訓練您的輸入數據。 預先定型的模型會在較大的文字主體上脫機定型(例如維琪百科,Google 新聞),通常包含約 1000 億字。 然後,文字內嵌會在文字向量化期間維持不變。 預先定型的文字模型提供優點,例如縮短定型時間、編碼更好的文字向量,以及改善整體效能。
以下是方法的一些相關信息:
Word2Vec 是使用淺層神經網路來學習文字內嵌的最常用技術之一。 本文將討論此理論,以 PDF 下載形式提供: 有效估計向量空間中的文字表示法。 此元件中的實作是以 Word2Vec 的 Gensim 連結庫為基礎。
本文將說明FastText理論,以 PDF 下載形式提供: 使用子字詞資訊擴充文字向量。 此元件中的實作是以FastText的 Gensim 連結庫為基礎。
GloVe 預先定型的模型是 glove-wiki-gigaword-100。 它是以維琪百科文字主體為基礎的預先定型向量集合,其中包含56億個標記和40萬個未包含的詞彙字組。 PDF 下載可供使用: GloVe:Word 表示的全域向量。
如何設定將 Word 轉換為向量
此元件需要包含文字數據行的數據集。 前置處理過的文字比較好。
將 Word 轉換成向量 元件至管線。
作為元件的輸入,提供包含一或多個文字數據行的數據集。
針對 [ 目標] 資料行,只選擇一個包含要處理之文字的數據行。
由於此元件會從文字建立詞彙,因此數據行的內容會有所不同,這會導致不同的詞彙內容。 這就是為什麼元件只接受一個目標數據行。
針對 Word2Vec 策略,從 GloVe 預先定型的英文模型、 Gensim Word2Vec 和 Gensim FastText 中選擇。
如果 Word2Vec 策略 是 Gensim Word2Vec 或 Gensim FastText:
針對 Word2Vec 定型演算法,從 Skip_gram 和 CBOW 中選擇。 原始檔(PDF)引進了差異。
默認方法是 Skip_gram。
針對 文字內嵌的長度,指定字向量的維度。 此設定會對應至
size
Gensim 中的 參數。預設的內嵌大小為100。
針對 [內容] 視窗大小,指定所預測文字與目前單字之間的最大距離。 此設定會對應至
window
Gensim 中的 參數。默認視窗大小為 5。
針對 [Epoch 數目],指定主體上的 Epoch 數(反復專案)。 對應至
iter
Gensim 中的 參數。預設的 Epoch 數位為 5。
針對 [ 詞彙大小上限],指定所產生詞彙中的字數上限。
如果有比大小上限更獨特的單字,請剪除不常的字組。
默認詞彙大小為 10,000。
針對 [ 最小字數] ,提供最小字數。 元件會忽略頻率低於此值的所有字組。
預設值是 5。
提交管線。
範例
元件有一個輸出:
- 內嵌的詞彙:包含產生的詞彙,以及每個單字的內嵌。 一個維度佔用一個數據行。
下列範例示範將 Word 轉換成向量元件的運作方式。 它會使用將 Word 轉換成向量,並將預設設定轉換成預處理過的 Wikipedia SP 500 數據集。
來源資料集
數據集包含類別數據行,以及從維琪百科擷取的全文。 下表顯示一些代表性範例。
Text |
---|
納斯達克 100 元件 s p 500 元件基金會創始人位置城市蘋果校園 1 無限迴圈街道無限迴圈杯蒂諾加州杯子加州位置美國... |
br 納斯達克 100 納斯達克 100 元件 br s p 500 s p 500 元件產業計算機軟體基金會 br 創始人查理斯格施ke br john warnock location adobe systems... |
s p 500 s p 500 元件產業汽車工業汽車前身通用汽車公司 1908 2009 繼任者... |
s p 500 s p 500 component industry conglomerate company conglomerate foundation founder location city fairfield connecticut fairfield connecticut location country usa area... |
br s p 500 s p 500 component foundation 1903 founder william s harley br arthur davidson harley davidson founder arthur davidson br walter davidson br william a davidson location. |
使用內嵌輸出詞彙
下表包含此元件的輸出,以維琪百科 SP 500 數據集作為輸入。 最左邊的數據行表示詞彙。 其內嵌向量是由相同數據列中剩餘數據行的值表示。
詞彙 | 內嵌 dim 0 | 內嵌暗色 1 | 內嵌暗色 2 | 內嵌暗色 3 | 內嵌暗色 4 | 內嵌暗色 5 | ... | 內嵌暗色 99 |
---|---|---|---|---|---|---|---|---|
納斯達克 | -0.375865 | 0.609234 | 0.812797 | -0.002236 | 0.319071 | -0.591986 | ... | 0.364276 |
component | 0.081302 | 0.40001 | 0.121803 | 0.108181 | 0.043651 | -0.091452 | ... | 0.636587 |
s | -0.34355 | -0.037092 | -0.012167 | 0.151542 | 0.601019 | 0.084501 | ... | 0.149419 |
p | -0.133407 | 0.073244 | 0.170396 | 0.326706 | 0.213463 | -0.700355 | ... | 0.530901 |
基礎 | -0.166819 | 0.10883 | -0.07933 | -0.073753 | 0.262137 | 0.045725 | ... | 0.27487 |
創始人 | -0.297408 | 0.493067 | 0.316709 | -0.031651 | 0.455416 | -0.284208 | ... | 0.22798 |
location | -0.375213 | 0.461229 | 0.310698 | 0.213465 | 0.200092 | 0.314288 | ... | 0.14228 |
市/鎮 | -0.460828 | 0.505516 | -0.074294 | -0.00639 | 0.116545 | 0.494368 | ... | -0.2403 |
蘋果 | 0.05779 | 0.672657 | 0.597267 | -0.898889 | 0.099901 | 0.11833 | ... | 0.4636 |
校園 | -0.281835 | 0.29312 | 0.106966 | -0.031385 | 0.100777 | -0.061452 | ... | 0.05978 |
無限 | -0.263074 | 0.245753 | 0.07058 | -0.164666 | 0.162857 | -0.027345 | ... | -0.0525 |
loop | -0.391421 | 0.52366 | 0.141503 | -0.105423 | 0.084503 | -0.018424 | ... | -0.0521 |
在此範例中,我們使用預設 Gensim Word2Vec for Word2Vec 策略,而定型演算法為 Skip-gram。 內嵌 文字的長度為100,因此我們有100個內嵌數據行。
技術注意事項
本節包含常見問題的秘訣和解答。
在線定型和預先定型模型之間的差異:
在此將 Word 轉換成向量元件中,我們提供了三種不同的策略:兩個在線定型模型和一個預先定型的模型。 在線定型模型會使用您的輸入數據集作為定型數據,並在定型期間產生詞彙和文字向量。 預先定型的模型已經由較大的文字主體定型,例如維琪百科或 X 文字。 預先定型的模型實際上是文字/內嵌配對的集合。
GloVe 預先定型的模型會摘要輸入數據集中的詞彙,並針對預先定型模型的每個字產生內嵌向量。 如果沒有在線定型,使用預先定型的模型可以節省定型時間。 它具有較佳的效能,特別是輸入數據集大小相對較小時。
內嵌大小:
一般而言,文字內嵌的長度會設定為數百個。 例如,100、200、300。 小型內嵌大小表示小型向量空間,這可能會導致文字內嵌衝突。
預先定型模型的文字內嵌長度是固定的。 在此範例中,glove-wiki-gigaword-100 的內嵌大小為 100。
下一步
如需設計工具元件特定的錯誤清單,請參閱 機器學習 錯誤碼。