全部產品
Search
文件中心

Platform For AI:Doc2Vec

更新時間:Apr 02, 2025

Doc2Vec是一種用於產生文檔向量的機器學習演算法,通過將文檔ID視為特殊詞進行訓練,學習與文檔ID對應的句向量和詞向量。該演算法能夠實現文章到向量的映射,使得文檔之間的語義關係可以通過向量空間中的距離進行比較。輸入為詞彙表,輸出為文檔向量表、詞向量表或詞彙表。

使用限制

支援的計算引擎為MaxCompute。

組件配置

方式一:可視化方式

在Designer工作流程頁面添加Doc2Vec組件,並在介面右側配置相關參數:

參數類型

參數

描述

欄位設定

文檔ID列名

用來進行訓練的文檔列名。

文檔內容

用來進行訓練的詞彙,以空格分隔。

參數設定

單詞的特徵維度

單詞的特徵維度數量。取值範圍為0~1000,預設值為100。

語言模型

訓練使用的語言模型。取值範圍為

  • skip-gram模型(預設值)

  • cbow模型

單詞視窗大小

單詞的視窗大小。取值範圍為正整數,預設值為5。

截斷的最小詞頻

取值範圍為正整數,預設值為5。

Hierarchical Softmax

是否採用HIERARCHICAL SOFTMAX。預設採用。

Negative Sampling

負採樣的視窗大小。取值範圍為正整數,預設值為5,0表示不可用。

向下採樣閾值

向下採樣的閾值。取值範圍為1e-3~1e-5,預設值為1e-3,0表示不可用。

開始學習速率

取值大於0,預設值為0.025。

訓練的迭代次數

取值大於等於1,預設值為1。

Window是否隨機

指定單詞視窗的展示方式。取值範圍為大小在1~5間隨機不隨機,其值由window參數指定,預設值為不隨機,其值由window參數指定

執行調優

計算的核心數

預設為系統自動分配。

每個核心的記憶體(MB)

預設為系統自動分配。

方式二:PAI命令方式

使用PAI命令配置Doc2Vec組件參數。您可以使用SQL指令碼組件進行PAI命令調用,詳情請參見SQL指令碼

PAI -name pai_doc2vec
    -project algo_public
    -DinputTableName="d2v_input"
    -DdocIdColName="docid"
    -DdocColName="text_seg"
    -DoutputWordTableName="d2v_word_output"
    -DoutputDocTableName="d2v_doc_output";

參數名稱

是否必選

預設值

描述

inputTableName

輸入詞彙表的名稱。

inputTablePartitions

輸入詞彙表中參與分詞的分區名稱。格式為partition_name=value。多級分區格式為name1=value1/name2=value2。如果指定多個分區,用英文逗號(,)分隔。

docIdColName

用來進行訓練的文檔列名。

docColName

用來進行訓練的詞彙,以空格分隔。

layerSize

100

單詞的特徵維度數量。取值範圍為0~1000。

cbow

0

訓練使用的語言模型。取值範圍為0(skip-gram模型)和1(cbow模型)。

window

5

單詞的視窗大小。取值範圍為正整數。

minCount

5

截斷的最小詞頻。取值範圍為正整數。

hs

1

是否採用HIERARCHICAL SOFTMAX。取值範圍為0(不採用)和1(採用)。

negative

5

負採樣的視窗大小。取值範圍為正整數,0表示不可用。

sample

1e-3

向下採樣的閾值。取值範圍為1e-3~1e-5,預設值為1e-3,0表示不可用。

alpha

0.025

取值大於0。

iterTrain

1

取值大於等於1。

randomWindow

1

指定單詞視窗的展示方式。取值範圍為0(不隨機,其值由window參數指定)和1(大小在1~5間隨機)。

outVocabularyTableName

輸出詞彙表名稱。

outputWordTableName

輸出詞向量表名稱。

outputDocTableName

輸出文檔向量表名稱。

lifecycle

輸出表的生命週期。取值範圍為正整數。

coreNum

系統自動分配

核心數,需要與memSizePerCore參數同時設定才生效。取值範圍為正整數。

memSizePerCore

系統自動分配

記憶體數,需要與coreNum參數同時設定才生效。取值範圍為正整數。