全部產品
Search
文件中心

Platform For AI:字串相似性-topN

更新時間:Jul 13, 2024

字串相似性-topN演算法組件用於計算字串相似性,並篩選出最相似的Top N個資料。本文為您介紹字串相似性-topN演算法組件的配置方法。

組件配置

您可以使用以下任意一種方式,配置字串相似性-topN組件參數。

方式一:可視化方式

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

頁簽

參數

描述

欄位設定

輸入表在輸出表追加的列名

輸入表中需要在輸出表中追加的列名。

映射表在輸出表追加的列名

映射表中需要在輸出表中追加的列名。

相似性計算中左表的列名

在相似性計算中,左表的列名。

相似性計算中映射表的列名

在相似性計算中,映射表的列名。左表中的每一行都會和映射表中所有的字串計算出相似性,並最終以Top N的方式輸出計算結果。

輸出表中相似性列的列名

輸出表中相似性列的列名。列名中不能有特殊字元,只能使用英文a~z、A~Z、數字或底線(_),且以字母開頭,長度不超過128位元組。預設值為output。

參數設定

最終給出的相似性最大值的個數

輸出Top相似性的個數。取值範圍為正整數,預設值為10。

相似性計算方法

指定相似性計算方法類型。取值範圍為:

  • levenshtein_sim(預設值)

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming_sim

子串的長度

僅當相似性計算方法取值為ssk、cosine或simhash_hamming_sim時,才需要配置該參數。取值範圍為(0,100)。預設值為2。

匹配字串的權重

僅當相似性計算方法取值為ssk或simhash_hamming_sim時,才需要配置該參數。取值範圍為(0,1)。預設值為0.5。

執行調優

計算的核心數

預設為系統自動分配。

每個核心的記憶體(MB)

預設為系統自動分配。

方式二:PAI命令方式

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

PAI -name string_similarity_topn
    -project algo_public
    -DinputTableName="pai_test_string_similarity_topn"
    -DoutputTableName="pai_test_string_similarity_topn_output"
    -DmapTableName="pai_test_string_similarity_map_topn"
    -DinputSelectedColName="col0"
    -DmapSelectedColName="col1";

參數名稱

是否必選

描述

預設值

inputTableName

是

輸入表的名稱。

無

mapTableName

是

映射表的名稱。

無

是

輸出表的名稱。

無

inputSelectedColName1

否

在相似性計算中,左表的列名。

表中第一個STRING類型的列名

inputSelectedColName2

否

在相似性計算中,映射表的列名。

表中第一個STRING類型的列名

inputAppendColNames

否

輸入表中需要在輸出表追加的列名。

無

inputAppendRenameColNames

否

輸入表中需要在輸出表追加的列名的別名。

無

mapSelectedColName

是

相似性計算中字典表的列名。

無

mapAppendColNames

否

映射表中需要在輸出表追加的列名。

無

mapAppendRenameColNames

否

映射表中需要在輸出表追加的列名的別名。

無

inputTablePartitions

否

輸入表的分區名稱。

所有分區

mapTablePartitions

否

映射表的分區名稱。

所有分區

outputColName

否

輸出表中相似性列的列名。列名中不能有特殊字元,只能使用英文a~z,A~Z、數字或底線(_),且以字母開頭,長度不超過128位元組。

output

method

否

相似性計算方法類型。取值範圍為:

  • levenshtein_sim

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming_sim

levenshtein_sim

lambda

否

僅當相似性計算方法取值為ssk或simhash_hamming_sim時,才需要配置該參數。取值範圍為(0,1)。

0.5

k

否

僅當相似性計算方法取值為ssk、cosine或simhash_hamming_sim時,才需要配置該參數。取值範圍為(0,100)。

2

lifecycle

否

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

無

coreNum

否

計算的核心數。

系統自動分配

memSizePerCore

否

每個核心的記憶體數。

系統自動分配

資源使用及費用預估

由於string_similarity_topn是一個M*N計算複雜度的演算法(在M條記錄中為N條記錄找到最接近的字串,需要計算兩兩樣本的距離,因此需要計算M*N次),因此運行該演算法時申請使用的資源和M*N成正比關係。

如果要在M條記錄中為N條記錄找到距離最近的記錄,則申請的worker數量為M*N/(1024*1024*32),最大為1000;每個worker的記憶體為N/8 MB,取值範圍為4~64 GB;按照計量模型的一個CU提供4 GB記憶體來計算,該演算法最大CU申請量為1000*64/4=16000 CU。

相關文檔

  • 關於Designer更詳細的內容介紹,請參見Designer概述。

  • 您可以在資訊檢索、自然語言處理和生物資訊學等領域,使用字串相似性組件來計算字串相似性。關於該組件的使用詳情,請參見字串相似性。