第四十六章 搜尋引擎的研發(第2/3 頁)
做起,開發一整套完整的技術體系。
其中包括網路爬蟲(WebCrawler)服務、索引服務、快取服務、日誌服務等幾大模組,各模組之間互相影響,構成了整個搜尋引擎體系。
從開發量上,技術難度是遠遠大於目錄式檢索技術的。
首先說網路爬蟲,也稱網路蜘蛛(WebSpider),這項技術是基於Web的自動化瀏覽程式,透過網頁連結(URL),爬蟲不斷的透過網際網路中獲得新的網頁資料,下載頁面資料形成後臺資料庫。
可以說,網路爬蟲抓取資料是搜尋引擎工作流程的第一步。
爬蟲的體系架構直接關係到搜尋引擎每天資料的採集量,而抓取策略則關係到搜尋結果的資料質量,資料的更新策略則關係到系統資源的利用率。
這只是第一步,採集了大量資料資訊之後,還需要透過自然語言處理(NLP),將文字資訊分解為結構化資料和價值性資料。
這裡面就又存在一個問題,目前國外的搜尋引擎都是英文分詞,而中文比較特殊,最小單位是字,但具有語義的最小單位是詞。
所以,在中文分詞這一部分,就需要技術團隊單獨進行開發。
透過建立詞庫、採用條件隨機機率分佈模型、詞性標註、語義相似度、已存句法分析、情感傾向分析等,透過各種模型判斷,讓程式理解抓取到的關鍵詞中文的語義,才能提高搜尋的準確性和查全率。
這還只是其中比較小的開發困難。
比如,搜尋引擎的核心就是透過海量資料抓取後的快速檢索,而抓取的資料越多,當龐大的資料儲存在資料庫裡,就需要構建快速存取資料的分散式儲存架構。
再比如,為了讓使用者在最短的時間內獲得想要的搜尋結果,就需要後臺系統不斷的執行資料抓取和建立索引等操作。
這就需要建立分散式實時計算系統,以及對索引結構的構建……
王川估計也是最近開發中有些鬱悶了,一說起來就滔滔不絕。
隋波雖然不太懂他說的一些技術術語,但畢竟前世作為使用者也使用了20多年的搜尋引擎,接觸的多了,也瞭解一些基本的知識。
他安靜的聽著王川不斷的講述團隊面臨的一個個困難,又是怎麼想辦法克服的。
不時提問兩句,顯得聽的很認真。
腦子裡卻不斷的在回憶,當初Google和百度是有哪些創新的舉措,才一舉成功的?
印象最深的,就是那句“百度更懂中文”,這應該就是剛才王川所提的中文分詞了,這塊王川已經考慮到了。
至於是不是更進一步,先弄個智慧輸入法出來?……
現在團隊的研發壓力已經很大了,暫時先略過不提。
還有就是百度快照,不過好像這個功能雖然對使用者而言很有價值,但爭議很大……
還有就是Google獨創的PageRank技術。
這是一種根據網頁之間的連結結構來評價判斷網頁重要性的排序演算法。
想到這裡,隋波就提了一下,是否在搜尋結果的排序演算法上,可以採用這種模式?
從網頁的連結數量、權威性、主題相關性、網頁內容的匹配性等多個方面,綜合分析,進行搜尋結果的排序。
王川聽了以後若有所思:“這個演算法我回去研究一下,應該沒問題。”
隋波笑道:“技術上我沒辦法給你太大的幫助,不過我可以從公司激勵政策和後勤上為團隊鼓勁!
你回去和大家說一下,搜尋引擎專案的團隊專案獎金定在10萬,而且根據每個人的表現,到時候還有個人獎勵。
我已經讓清泉給你們做好後勤,每天會
本章未完,點選下一頁繼續。