天天看點

模糊字元串比對:雙重解密算法

名稱比對的一個大問題是錯誤的傾向。有許多不同的方式,人們拼寫相同的名字,打字錯誤,誤讀了另一個人說的話。有許多方法可以免費形式的語言資料被破壞。當您需要搜尋/比對不良資料時,會導緻許多頭疼。

有很多不同的方法來解決它。像levenshtein算法一樣,它計算出使一個字元串比對另一個字元串需要進行多少次編輯。或者檢查字元串組成的較小序列的ngram算法,并将它們與一個同義詞串的序列進行比較。然後有語音算法根據“聲音”如何編碼字元串。就像soundex或double metaphone算法一樣。

什麼是雙重轉錄?

double metaphone是一種語音算法,它采用一個字元串,并産生2個編碼,說明如何用口頭語言發音。産生兩個編碼,因為有時可以以多種方式發音。

它用于英文,包含許多關于字元串“聲音”的規則。它也試圖解釋在斯拉夫語,德語,凱爾特語,希臘語,法語,意大利語,西班牙語,中文和其他來源的羅馬化詞語的英文發音的差異。

它是如何工作的?

該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:什麼是雙重轉錄?double metaphone是一種語音算法,它采用一個字元串,并産生2個編碼,說明如何用口頭語言發音。産生兩個編碼,因為有時可以以多種方式發音。它用于英文,包含許多關于字元串“聲音”的規則。它也試圖解釋在斯拉夫語,德語,凱爾特語,希臘語,法語,意大利語,西班牙語,中文和其他來源的羅馬化詞語的英文發音的差異。它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:什麼是雙重轉錄?double metaphone是一種語音算法,它采用一個字元串,并産生2個編碼,說明如何用口頭語言發音。産生兩個編碼,因為有時可以以多種方式發音。它用于英文,包含許多關于字元串“聲音”的規則。它也試圖解釋在斯拉夫語,德語,凱爾特語,希臘語,法語,意大利語,西班牙語,中文和其他來源的羅馬化詞語的英文發音的差異。它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:産生兩個編碼,因為有時可以以多種方式發音。它用于英文,包含許多關于字元串“聲音”的規則。它也試圖解釋在斯拉夫語,德語,凱爾特語,希臘語,法語,意大利語,西班牙語,中文和其他來源的羅馬化詞語的英文發音的差異。它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:産生兩個編碼,因為有時可以以多種方式發音。它用于英文,包含許多關于字元串“聲音”的規則。它也試圖解釋在斯拉夫語,德語,凱爾特語,希臘語,法語,意大利語,西班牙語,中文和其他來源的羅馬化詞語的英文發音的差異。它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:它是如何工作的?該算法通過檢視數百個語音規則來建立語音字元串。它使用的規則的一些例子是:

p和b被編碼為相同的聲音。除非p之後是h,然後将其編碼為f聲。

sci被編碼為s聲音,而sco被編碼為sk聲音。

t和d被編碼為相同的聲音。除非t之後是h,然後将h編碼為由0号表示的θ聲音。

該算法産生2個,潛在的,不同的輸入字的發音。門檻值參數确定每個發音的最大長度。是以,left(輸出,門檻值)是主要發音,right(輸出,門檻值)是潛在的不同發音。是以,當編碼産生具有小于門檻值的字元的發音時的空格。

該算法被編碼為一次編碼單個字,并且不處理字元串中的非字母字元。是以這些應該在運作代碼之前從字元串中提取出來。在進行任何其他處理之前,将其提取到該函數中。

這是設計。當使用低門檻值時,較長的單詞将被截斷,并可能與較短的單詞錯誤地比對。例如,門檻值為4,“ 我把它作為一個參數,是以使用者可以選擇使用更大的門檻值。vbscript中的示例實作 此實作采用字元串輸入以及輸入的長度i,并輸出每個長度為i的字元串的兩個可能的不同語音編碼。 例如,調用它将傳回,包含空格。 您可以使用它來預先計算表中名稱或單詞的發音,并将2種不同的語音代碼與表中的所有其他語音代碼進行比較,以查找類似的名稱或單詞。我把它作為一個參數,是以使用者可以選擇使用更大的門檻值。vbscript中的示例實作此實作采用字元串輸入以及輸入的長度i,并輸出每個長度為i的字元串的兩個可能的不同語音編碼。例如,調用它将傳回,包含空格。您可以使用它來預先計算表中名稱或單詞的發音,并将2種不同的語音代碼與表中的所有其他語音代碼進行比較,以查找類似的名稱或單詞。vbscript中的示例實作此實作采用字元串輸入以及輸入的長度i,并輸出每個長度為i的字元串的兩個可能的不同語音編碼。例如,調用它将傳回,包含空格。您可以使用它來預先計算表中名稱或單詞的發音,并将2種不同的語音代碼與表中的所有其他語音代碼進行比較,以查找類似的名稱或單詞。vbscript中的示例實作此實作采用字元串輸入以及輸入的長度i,并輸出每個長度為i的字元串的兩個可能的不同語音編碼。例如,調用它将傳回,包含空格。您可以使用它來預先計算表中名稱或單詞的發音,并将2種不同的語音代碼與表中的所有其他語音代碼進行比較,以查找類似的名稱或單詞。

<code>doublemetaphone("smith", 4)sm0 xmt</code>

結束功能

繼續閱讀