2016-12-30 86 views
-1

我一直在想如果這是已經創建,但形象的功能,可以驗證一個字符串,並確定它是否是一個字。例如是否存在單詞檢查算法?

print(validateWord("Hello")) --> true 
print(validateWord("Haloe")) --> true (may not be a real word but follows the standards of placements of vowels and such) 
print(validateWord("sewxdw")) --> false 

我不要求代碼,我只是想,如果這個已經存在的知識和wiki後這個算法會,如果它確實是很好的。

+0

取決於「單詞」的語言和定義。所以一般來說:不。儘管某些語言可能存在這樣的算法或至少是近似值。簡而言之:在目前的狀態下,這個問題太廣泛了,很可能已經存在特定語言的重複。 – Paul

+0

通過詢問一個「算法」,你是否在尋找解決問題的東西,而不用在包含有效單詞的字典中查找輸入內容? –

+0

@RichardSchwartz:困難在於找到一個包含* all *有效單詞的字典。 – usr2564301

回答

3

你想要的是一個隱藏的馬爾可夫模型,在英語語料庫(或任何您感興趣的語言)中對單詞進行訓練。然後,您可以評估模型是否喜歡它們。它只會禁止實際不允許的組合,比如「jx」,但它應該給不太可能的候選人一個低分數。

嘗試將文本分解爲音素符號(th,ae qu,ph等),而不是編寫使用原始字母的模型,可能會有更好的運氣。