全部產品
Search
文件中心

Platform For AI:字串相似性

更新時間:Jul 13, 2024

計算字串相似性是機器學習領域的一個基本操作,主要用於資訊檢索、自然語言處理和生物資訊學等領域。本文為您介紹字串相似性演算法組件的配置方法。

背景資訊

字串相似性演算法組件支援Levenshtein(Levenshtein Distance)、LCS(Longest Common SubString)、SSK(String Subsequence Kernel)、Cosine(Cosine)和Simhash_Hamming五種相似性計算方式,支援兩兩計算。

  • Levenshtein支援計算距離和相似性。

    • 距離在參數中表示為levenshtein

    • 相似性=1-距離。在參數中表示為levenshtein_sim

  • lCS支援計算距離和相似性。

    • 距離在參數中表示為lcs

    • 相似性=1-距離。相似性在參數中表示為lcs_sim

  • SSK支援計算相似性,在參數中表示為ssk

  • Cosine支援計算相似性,在參數中表示為cosine

  • Simhash_Hamming,其中SimHash演算法是把原始的文本映射為64位的二進位指紋,Hamming Distance則是計算二進位指紋在相同位置上不同字元的個數,支援計算距離和相似性。

    • 距離在參數中表示為simhash_hamming

    • 相似性=1-距離/64.0。相似性在參數中表示為simhash_hamming_sim

組件配置

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

方式一:可視化方式

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

頁簽

參數

描述

欄位設定

輸出表追加的列名

指定輸出表中追加的列名。

相似性計算中第一列的列名

預設為表中第一個STRING類型的列名。

相似性計算中第二列的列名

預設為表中第二個STRING類型的列名。

輸出表中相似性列的列名

指定輸出表中相似性列的列名。

參數設定

相似性計算方法

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

  • levenshtein

  • levenshtein_sim

  • lcs

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming

  • simhash_hamming_sim

預設值為levenshtein_sim。

子串的長度

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

匹配字串的權重

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

執行調優

計算的核心數

預設為系統自動分配。

每個核心的記憶體(MB)

預設為系統自動分配。

方式二:PAI命令方式

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

PAI -name string_similarity
    -project algo_public
    -DinputTableName="pai_test_string_similarity"
    -DoutputTableName="pai_test_string_similarity_output"
    -DinputSelectedColName1="col0"
    -DinputSelectedColName2="col1";

參數名稱

是否必選

描述

預設值

inputTableName

輸入表的名稱。

outputTableName

輸出表的名稱。

inputSelectedColName1

相似性計算中第一列的列名。

表中第一個STRING類型的列名

inputSelectedColName2

相似性計算中第二列的列名。

表中第二個STRING類型的列名

inputAppendColNames

輸出表追加的列名。

inputTablePartitions

輸入表的分區名稱。

所有分區

outputColName

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

output

method

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

  • levenshtein

  • levenshtein_sim

  • lcs

  • lcs_sim

  • ssk

  • cosine

  • simhash_hamming

  • simhash_hamming_sim

levenshtein_sim

lambda

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

0.5

k

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

2

lifecycle

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

coreNum

計算的核心數。

系統自動分配

memSizePerCore

每個核心的記憶體數。

系統自動分配

相關文檔

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

  • 您也可以使用字串相似性-topN演算法組件計算字串相似性,並篩選出最相似的Top N個資料。關於該組件的使用詳情,請參見字串相似性-topN