百度的搜尋拼音聯想功能是大致下的原理是怎樣的呢 多謝

來源:互聯網
上載者:User
百度的搜尋拼音聯想功能是大致上的原理是怎樣的呢 謝謝!
在百度中 輸入guangzhou下方就會提示廣州、廣州新聞。我在想百度是不是將一些熱門關鍵字,然後用一個欄位記住這些關鍵字的拼音;搜尋的時候就直接查這個表。如果是拼音,就模糊比對這個拼音標示列。完成匹配後將結果返回。這些只是我的想象,好像當中還有關鍵字權重機制。Google找不到相關資料;是不是有其它方式實現我沒想到的呢。求助大俠 謝謝!


------解決方案--------------------
前陣子和公司搜尋部的人打了很多交到,瞭解了搜尋引擎的工作大致原理。

搜尋引擎內部有很多詞表:

停詞表,建義詞表,同義字表、漢字-拼音的詞表、suggest。

當你在搜尋引擎上輸入一個中文短句,搜尋引擎首先會進行分詞,然後將這些詞,分別去上面提到的幾個詞表中尋找有沒有相關聯的資訊。如你所說的,就會去尋找拼音-漢字的詞表。遇到guangzhou = 廣州,就會自動翻譯過來。然後優先拿廣州去進行搜尋。
當你輸入一個錯誤詞後,可能會被搜尋引擎的suggest糾正過來並提示你:您要找的是不是xxx?

其實上面只是搜尋引擎處理搜尋請求的其中一個分支,一次搜尋會並行進行很多請求。
比如你在搜尋引擎輸入個短句。

搜尋引擎首先會確定要搜尋的內容:
1 整句
2 標準分詞(可以理解為按中文文法分詞)
3 自然分詞(按單字、空格、標點進行分詞)
...

然後分表拿每個分支,上面提到的那些輔助的詞表,最佳化將要搜尋的內容。
幾個分支同時請求,拿到多個結果集。
接下來就是處理排序的問題了,一般來說,整句搜尋拿到的結果相關度最高,所以權重也最高,理應排在第一位。但現實中的搜尋引擎可能還要考慮到推廣位,以及你要搜尋的內容有更加官方的結果(比如你搜nginx,nginx的官方網站應該排在第一位)。或者是百度的百度推廣,它可能會放在前面。

大致就是這樣,實際上排序的邏輯是非常複雜的。它會根據好幾個維度來確定排序結果,他們稱這些叫“曲線”。當他調整每個維度參數後,對排序結果都會產生影響。


  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.