搜索引擎是如何一步一步變得如此強大,而它接下來又會往哪個方向進化呢?
本文由微軟研究院AI頭條(微信ID:MSRAsia)授權i黑馬發布,作者 。
當你有問題需要解答的時候,你通常會選擇去問誰呢?如今在不知不覺中,很多人的選擇已經變成了搜索引擎。天氣、交通路線、圖片、視頻、作業答案等等,搜索引擎能夠回答人們日常生活中遇到的許多問題。甚至對很多人來說,如果在搜索引擎上找不到答案,那可能這個世界上就沒有對這個問題的現成答案了,才需要我們自己去探索。
這麽看來,搜索引擎仿佛是一種最強大的人工智能,它從二十年前就開始生活在我們的身邊。搜索引擎是如何一步一步變得如此強大,而它接下來又會往哪個方向進化呢?這篇文章就簡單的從搜索引擎的發展歷程開始進行解讀。
搜索引擎的誕生與發展
搜索引擎的誕生,來源於早期人們對高效尋找互聯網上信息的需求。采用傳統的圖書館信息檢索技術的早期搜索引擎並不能滿足大家的需求。無論是網頁排序的準確度,反應速度和索引網頁的數目都不能滿足互聯網用戶的需求。新需求下,產生了目前常見的幾個大通用搜索引擎:谷歌、微軟必應、雅虎(Yahoo采用微軟必應作為其搜索技術的提供商)和百度。它們大都創立於2000年左右。在這些搜索引擎誕生之初,大數據,機器學習,分布式系統這些詞就和它們緊密相連。
首先,現代搜索引擎充分利用了互聯網數據的特點。網頁之間的超鏈接,網民自發的在網頁上留下的足跡,比如商品評論、點贊等,都成為搜索引擎更好的對網頁進行排序的依據。同時搜索引擎的系統設計也將其變為一個可以不斷自我學習和改善的系統。搜索引擎根據用戶對相關結果的點擊行為,進行評估自己算法的好壞。
微軟基於機器學習算法的排序系統不斷的學習,以及總結不同用戶對搜索引擎的反饋,於2005年提出了一系列使用神經網絡、決策樹等為基礎的網頁排序算法:RankNet, LambdaRank 和LambdaMART。這些算法以大規模機器學習系統為基礎,將搜索引擎的排序精度不斷的提升。同時,機器學習算法也有其他多個方面的應用,例如檢測垃圾網頁、提高搜索廣告相關性等等。
除了上述算法上的進步以外,系統層面的不斷創新也為搜索引擎的進步添磚加瓦。谷歌在創始之初,就開創性的提出了盡量將所有的網頁信息保存在計算機內存而不是磁盤上的系統革新,這樣可以將回答用戶問題的時間從秒級減少到毫秒級。
微軟必應搜索引擎在2008年開始,針對固態硬盤的特點,重新設計了網頁索引結構。新的多級索引結構不僅能保證和全內存系統相當的查詢速度,單臺機器支持的網頁數目及查詢吞吐量得到了幾十倍的提升,這樣保證搜索引擎可以索引和服務互聯網上更多的網頁。
大數據系統更是和搜索引擎的發展緊密相連。為了更方便的存儲和處理網頁信息,谷歌推出的MapReduce, BigTable, GFS等著名分布式系統,掀開了大數據時代的簾幕。與此同時,微軟公司也部署了Cosmos, Dryad, Scope, Kirin等系統。其中Dryad和Scope系統由於其更加前瞻的設計理念,成為新一代大數據處理系統的參考設計範本。
更人工智能的搜索體驗
機器學習算法的不斷進步,搜索引擎巧妙的人機交互設計,分布式系統的革新讓搜索引擎在不知不覺中成為人們生活中不可或缺的一部分。同時,隨著人們新需求的不斷湧現,搜索引擎也沒有停下變革的步伐。一方面,搜索引擎嘗試以不一樣的形式展示在你面前,比如Cortana, Siri, Google Now這類對話式的智能交互技術背後都離不開搜索引擎的支持。同時它也在不停的擴展它新的能力。
如果你夠細心的話,你可能會發現當下的搜索引擎可以更加直接的回答你搜索的某個具體問題。比如在搜索結果頁面的右邊,會有和你搜索相關的其他相近實體的信息。在頁面的頂部,某些結果(例如天氣,航班等信息)會以更豐富的形式提供答案。最近,一個更加引人關註的變化是,對很多知識性的問題,搜索引擎開始嘗試給出直接的答案,而不是某幾個網頁鏈接。比如:當你問如何做一份美味的節日點心,如何安裝某個新的軟件時,微軟必應搜索都可以直接給出答案。
搜索引擎是如何做到這一點的呢?要回答這個問題,就不得不提到過去一段時間以來深度學習領域的研究進展。搜索引擎通過大量的數據,利用DNN/RNN等新算法來更加充分的理解網頁內容和用戶問題之間的關系,從而可以幫助用戶在網頁中直接找到和問題相關的答案。微軟最近收購的由著名深度學習專家Yoshua Bengio 指導的深度學習創業公司Maluuba也旨在加強微軟在深度閱讀理解領域的實力。而在深度文本理解方面,微軟的研究小組也都處於領先位置。
隨著算法的發展,搜索引擎的後臺也在飛速進化。為了支持以深度學習為代表的新一代機器學習算法,GPU,FPGA以及定制的ASIC芯片已經逐漸走入搜索引擎的數據中心。索引和排序服務系統也在進一步進化以滿足算法對處理能力的要求。為了更加實時的處理更大規模的數據,超低延遲網絡也正被廣泛應用。
智能搜索引擎的下一個目標
以上提到的所有這些努力,都是為了更好的滿足人們對搜索引擎的需求。但是搜索引擎真的能完全理解人類的所有知識體系嗎?它下一步的任務是什麽?
顯然,目前搜索引擎已經能夠較好的總結互聯網的信息用於滿足大家的搜索請求,可以直接回答一些常見問題。但是搜索引擎是否能夠真正理解這些信息的內在含義,是否可以創造性的解決以前從未出現的問題,以及能否高效的進行自我推演,還不得而知。但是有一點是肯定的,更富創造性的機器學習算法,更加強大的計算能力,以及創新性的人機交互是一切的基礎,這些也是工業界和學術界共同努力的方向。