當你有問題須要解答的時候,你一般會選擇去問誰呢?現在在不知不覺中,不少人的選擇已經變成了搜索引擎。天氣、交通路線、圖片、視頻、做業答案等等,搜索引擎可以回答人們平常生活中遇到的許多問題。甚至對不少人來講,若是在搜索引擎上找不到答案,那可能這個世界上就沒有對這個問題的現成答案了,才須要咱們本身去探索。算法
這麼看來,搜索引擎彷彿是一種最強大的人工智能,它從二十年前就開始生活在咱們的身邊。搜索引擎是如何一步一步變得如此強大,而它接下來又會往哪一個方向進化呢?這篇文章就簡單的從搜索引擎的發展歷程開始進行解讀。網絡
搜索引擎的誕生,來源於早期人們對高效尋找互聯網上信息的需求。採用傳統的圖書館信息檢索技術的早期搜索引擎並不能知足你們的需求。不管是網頁排序的準確度,反應速度和索引網頁的數目都不能知足互聯網用戶的需求。新需求下,產生了目前常見的幾個大通用搜索引擎:谷歌、微軟必應、雅虎(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芯片已經逐漸走入搜索引擎的數據中心。索引和排序服務系統也在進一步進化以知足算法對處理能力的要求。爲了更加實時的處理更大規模的數據,超低延遲網絡也正被普遍應用。
以上提到的全部這些努力,都是爲了更好的知足人們對搜索引擎的需求。可是搜索引擎真的能徹底理解人類的全部知識體系嗎?它下一步的任務是什麼?
顯然,目前搜索引擎已經可以較好的總結互聯網的信息用於知足你們的搜索請求,能夠直接回答一些常見問題。可是搜索引擎是否可以真正理解這些信息的內在含義,是否能夠創造性的解決之前從未出現的問題,以及可否高效的進行自我推演,還不得而知。可是有一點是確定的,更富創造性的機器學習算法,更增強大的計算能力,以及創新性的人機交互是一切的基礎,這些也是工業界和學術界共同努力的方向。
微軟亞洲研究院系統研究組主導和設計了必應搜索引擎新一代的的網頁處理系統,索引服務系統,語義排序系統。系統研究組同時致力於將新一代大規模人工智能算法更加系統的應用於不一樣領域。