共用方式為


將 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 轉換為向量

此元件需要包含文字數據行的數據集。 前置處理過的文字比較好。

  1. Word 轉換成向量 元件至管線。

  2. 作為元件的輸入,提供包含一或多個文字數據行的數據集。

  3. 針對 [ 目標] 資料行,只選擇一個包含要處理之文字的數據行。

    由於此元件會從文字建立詞彙,因此數據行的內容會有所不同,這會導致不同的詞彙內容。 這就是為什麼元件只接受一個目標數據行。

  4. 針對 Word2Vec 策略,從 GloVe 預先定型的英文模型Gensim Word2VecGensim FastText 中選擇。

  5. 如果 Word2Vec 策略Gensim Word2VecGensim FastText

    • 針對 Word2Vec 定型演算法,從 Skip_gramCBOW 中選擇。 原始檔(PDF)引進了差異。

      默認方法是 Skip_gram

    • 針對 文字內嵌的長度,指定字向量的維度。 此設定會對應至 size Gensim 中的 參數。

      預設的內嵌大小為100。

    • 針對 [內容] 視窗大小,指定所預測文字與目前單字之間的最大距離。 此設定會對應至 window Gensim 中的 參數。

      默認視窗大小為 5。

    • 針對 [Epoch 數目],指定主體上的 Epoch 數(反復專案)。 對應至 iter Gensim 中的 參數。

      預設的 Epoch 數位為 5。

  6. 針對 [ 詞彙大小上限],指定所產生詞彙中的字數上限。

    如果有比大小上限更獨特的單字,請剪除不常的字組。

    默認詞彙大小為 10,000。

  7. 針對 [ 最小字數] ,提供最小字數。 元件會忽略頻率低於此值的所有字組。

    預設值是 5。

  8. 提交管線。

範例

元件有一個輸出:

  • 內嵌的詞彙:包含產生的詞彙,以及每個單字的內嵌。 一個維度佔用一個數據行。

下列範例示範將 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。

下一步

請參閱 Azure 機器學習 可用的元件集。

如需設計工具元件特定的錯誤清單,請參閱 機器學習 錯誤碼