DOUBLEMETAPHONE 函式

根據 Double Metaphone 演算法,針對輸入字串傳回由主要和次要語音編碼組成的雙元素陣列。

Double Metaphone 演算法會對輸入字串進行處理,並產生該輸入字串的主要和次要拼字。如為英語字詞,則演算法會移除無聲字母並將字元組合正規化為單一定義,接著移除字詞開頭以外的母音。藉此將拼字不一致的情形正規化以改善比對結果。詳情請參閱 https://en.wikipedia.org/wiki/Metaphone

提示:這個函式很適合用來對字串值 (例如可能的彙整鍵值) 執行模糊比對。

來源值可以是字串常值、資料欄參照或求出值為字串的運算式。

基本用法

字串常值參照範例:

derive type:single DOUBLEMETAPHONE('My String') as:'double_metaphone'

輸出:請參閱下列範例。

["MSTRNK","MSTRNK"]

資料欄參照範例:

derive type:single value:DOUBLEMETAPHONE(string1) as:'double_metaphone'

輸出:產生 double_metaphone 的新資料欄,其中含有透過 Double Metaphone 演算法評估 string1 資料欄值的結果。

語法

derive type:single value:DOUBLEMETAPHONE(string_ref)

引數是否必要?資料類型說明
string_ref字串要套用於函式的資料欄名稱或字串常值

若要進一步瞭解語法標準,請參閱語言文件語法附註

string_ref1

您要使用 Double Metaphone 演算法來篩選其中元素的字串常值、資料欄參照或運算式。

使用須知:

是否必要?資料類型示例值
字串常值、資料欄參照或得出結果為字串的運算式myString1

範例

範例:拼音字串比較

此範例說明下列 Double Metaphone 演算法函式如何在 Cloud Dataprep by TRIFACTA® 中作業。

  • DOUBLEMETAPHONE:計算輸入字串的主要及次要語音編碼,編碼會傳回雙元素陣列。詳情請參閱 DOUBLEMETAPHONE 函式
  • DOUBLEMETAPHONEQUALS:使用 Double Metaphone 演算法比較兩個輸入字串,如果語音相符,系統會傳回 true。詳情請參閱 DOUBLEMETAPHONEEQUALS 函式

來源:

下表含有待比較的字串範例。

string1string2附註
My Stringmy string系統進行比較時不區分大小寫
judgejuge錯字
knocknock不發音字母
whitewite字母缺失
recordrecord兩個不一樣的英文字串,但比對結果相符
pairpear比對結果相符,但是不同的字串
bookkeeperbook keeper空格會導致比較發生錯誤
test1test123系統不會比較數字
the end.the end….標點符號的差異沒有影響
a elephantan elephant系統會將 a 和 an 視為不同字串


轉換:

您可以使用 DOUBLEMETAPHONE 函式產生語音拼字,如下所示:

derive type: single value: DOUBLEMETAPHONE(string1) as: 'dblmeta_s1'

您可以使用 DOUBLEMETAPHONEEQUALS 函式比較 string1string2

derive type: single value: DOUBLEMETAPHONEEQUALS(string1, string2, 'normal') as: 'compare'

結果:

下表含有待比較的字串範例。

string1dblmeta_s1string2比較附註
My String["MSTRNK","MSTRNK"]my stringTRUE系統進行比較時不區分大小寫
judge["JJ","AJ"]jugeTRUE錯字
knock["NK","NK"]nockTRUE不發音字母
white["AT","AT"]witeTRUE字母缺失
record["RKRT","RKRT"]recordTRUE兩個不一樣的英文字串,但比對結果相符
pair["PR","PR"]pearTRUE比對結果相符,但是不同的字串
bookkeeper["PKPR","PKPR"]book keeperFALSE空格會導致比較發生錯誤
test1["TST","TST"]test123TRUE系統不會比較數字
the end.["0NT","TNT"]the end….TRUE標點符號的差異沒有影響
a elephant["ALFNT","ALFNT"]an elephantFALSE系統會將 a 和 an 視為不同字串

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁