全部產品
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概述

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