全部產品
Search
文件中心

Platform For AI:語義向量距離

更新時間:Jul 13, 2024

本文為您介紹Designer提供的語義向量距離演算法組件。

基於演算法語義向量結果(如Word2Vec產生的詞向量),計算給定的詞(或者句子)的擴充詞(或者擴充句),即計算其中某一向量距離最近的向量集合。其中一個用法是,基於Word2Vec產生的詞向量結果,根據輸入的詞返回最為相似的詞列表。

組件配置

您可以使用以下任意一種方式,配置語義向量距離組件參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數

描述

欄位設定

id所在列名

輸入其唯一識別欄位ID所在列名。預設為空白,即輸入表中的所有向量參與計算。

輸入連接埠2的id列表格式為一列,每一行一個ID。例如:

1
2
4
6
8

向量的列名列表

如f1,f2。

參數設定

輸出的距離最近的向量的數目

預設值為5。

距離的計算方式

支援如下計算方式:

  • euclidean

  • cosine

  • manhattan

預設值為euclidean。

距離的閾值

當兩個向量的距離小於此值時輸出,預設值為+∞。

執行調優

計算的核心數

預設自動分配。

每個核心的記憶體(MB)

預設自動分配。

方式二:PAI命令方式

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

PAI -name SemanticVectorDistance 
    -project algo_public    
    -DinputTableName="test_input"    
    -DoutputTableName="test_output"    
    -DidColName="word"    
    -DvectorColNames="f0,f1,f2,f3,f4,f5"    
    -Dlifecycle=30

參數名稱

是否必選

描述

預設值

inputTableName

輸入表名。

inputTablePartitions

輸入表中指定參與計算的分區。

輸入表的所有分區

outputTableName

輸出表名。

idTableName

需要計算相近向量的ID的列表所在表名。格式為一列,每一行一個ID。預設為空白,即輸入表中的所有向量參與計算。

idTablePartitions

ID表中參與計算的分區列表,預設為所有分區。

idColName

ID所在列名。

3

vectorColNames

向量的列名列表,如f1,f2。

topN

輸出的距離最近的向量的數目。取值範圍[1,+∞]。

5

distanceType

距離的計算方式。

euclidean

distanceThreshold

距離的閾值。當兩個向量的距離小於此值時輸出。取值範圍(0,+∞)。

+∞

lifecycle

輸入出表的生命週期,取值為正整數。

coreNum

參與計算的核心數,取值為正整數。

系統自動計算

memSizePerCore

每個核心需要的記憶體,取值為正整數。

系統自動計算

樣本

輸出表為四列,分別是original_id、near_id、distance、rank。

original_id

near_id

distance

rank

hello

hi

0.2

1

hello

xxx

xx

2

Man

Woman

0.3

1

Man

xx

xx

2