3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
實(shí)際上,Google所做的工作非常重要,而且乍一看是違反直覺(jué)的。他們沒(méi)有像檢查字典那樣做任何事情,但是他們利用統(tǒng)計(jì)信息來(lái)識(shí)別返回比您的查詢更多結(jié)果的“相似”查詢,確切的算法當(dāng)然是未知的。
這里有不同的子問(wèn)題需要解決,作為所有自然語(yǔ)言處理統(tǒng)計(jì)數(shù)據(jù)的基礎(chǔ),必須有一本書:統(tǒng)計(jì)自然語(yǔ)言處理基礎(chǔ)。
具體來(lái)說(shuō),為了解決單詞/查詢相似性的問(wèn)題,我使用Edit Distance取得了很好的效果,Edit Distance是一種字符串相似性的數(shù)學(xué)度量,效果出乎意料。我曾經(jīng)使用Levenshtein,但其他人可能值得研究。
根據(jù)我的經(jīng)驗(yàn),Soundex很糟糕。
實(shí)際上有效地存儲(chǔ)和搜索大的拼寫錯(cuò)誤的詞典,并且具有亞秒級(jí)的檢索功能也是不容易的,最好的選擇是利用現(xiàn)有的全文索引和檢索引擎(即不是數(shù)據(jù)庫(kù)的那個(gè)),Lucene當(dāng)前是其中的一種最好的之一,巧合地移植到許多平臺(tái)上。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
有人問(wèn)到如何為搜索引擎創(chuàng)建最先進(jìn)的拼寫建議系統(tǒng),我感到非常驚訝。我在一家搜索引擎公司從事這一主題的工作已經(jīng)一年多了,我可以指出有關(guān)該主題的公共領(lǐng)域信息。
如前一篇文章所述,Google(以及Microsoft和Yahoo!)既不使用任何預(yù)定義的字典,也不使用成群的語(yǔ)言學(xué)家來(lái)思考可能的拼寫錯(cuò)誤的查詢。由于問(wèn)題的嚴(yán)重性,這將是不可能的,而且還因?yàn)椴磺宄藗兪欠窨梢哉_識(shí)別查詢的時(shí)間和是否拼錯(cuò)。
相反,有一個(gè)簡(jiǎn)單而有效的原則也適用于所有歐洲語(yǔ)言。假設(shè)參考查詢是計(jì)數(shù)最高的查詢,請(qǐng)?jiān)谒阉魅罩局蝎@取所有唯一查詢,并計(jì)算所有查詢對(duì)之間的編輯距離。
這個(gè)簡(jiǎn)單的算法非常適合許多類型的查詢。如果您想將其提高到一個(gè)新的水平,那么我建議您閱讀Microsoft Research關(guān)于該主題的論文。你可以在這里找到
本文有很好的介紹,但之后您將需要了解諸如隱馬爾可夫模型的概念。
- 3 回答
- 0 關(guān)注
- 443 瀏覽
添加回答
舉報(bào)