摘 要: 介紹了利用BP神經網絡對查詢結果進行排名,通過了解人們在得到搜索結果以后都點了哪些鏈接,BP神經網絡會將搜索過程與搜索結果關聯(lián)起來,利用這些信息來改變搜索結果的排列順序,讓用戶得到更好的搜索體驗。
關鍵詞: 神經網絡;BP算法;搜索結果;排名
隨著信息技術的快速發(fā)展,互聯(lián)網已經成為人們獲知信息的重要渠道。面對一些門戶網站龐大復雜的信息資源,僅依靠瀏覽器瀏覽的方式來獲得所關心的信息是非常困難的,這就促使了站內搜索引擎的出現(xiàn)和快速發(fā)展。搜索引擎起到了信息導航的作用,已成為人們獲取信息的有效工具。但是網站的信息量呈爆炸趨勢增長,每天都有大量新的網頁出現(xiàn),使得搜索引擎對信息的覆蓋率和搜索出結果的相關性、準確性在整體上呈下降趨勢。檢索出的結果集數(shù)量之多,經常都是幾十萬條甚至是幾百萬條記錄,其中存在著大量的重復信息或是與檢索主題無關的信息,要想從中快速、準確地找出所需要的信息變得越來越困難。
目前簡單關鍵字搜索已經無法滿足需要,智能化搜索是未來發(fā)展的必然趨勢[1]。本文通過對BP神經網絡的深入了解,設計并實現(xiàn)了用BP神經網絡對站內搜索結果進行排名,讓用戶得到更好的體驗。
1 BP神經網絡概述
神經網絡最早是由心理學家和神經學家提出的,旨在尋求開發(fā)和測試神經的計算模擬。粗略地說,神經網絡是一組連接的輸入/輸出單元,其中每個連接都與一個權相相聯(lián)。在學習階段,通過調整神經網絡的權,使得能夠預測輸入樣本的正確類標號來學習。由于單元之間的連接,神經網絡學習又稱連接者學習。神經網絡需要很長的訓練時間,因而對于有足夠長訓練時間的應用更合適。它需要大量的參數(shù),這些通常主要靠經驗確定,如網絡拓撲或“結構”[2]。
神經網絡的一個例子如圖1所示。輸入對應于對每個訓練樣本度量的屬性,輸入同時提供給稱作輸入層的單元層。這些單元的加權輸出依次同時地提供給稱作隱藏層的“類神經元的”第二層;該隱藏層的加權輸出可以輸入到另一個隱藏層;如此下去。隱藏層的數(shù)量是任意的,盡管實踐中通常只用一層。最后一個隱藏層的加權輸出作為構成輸出層的單元的輸入。輸出層發(fā)布給定樣本的網絡預測。
2 用于對查詢結果排名的神經網絡的設計
神經網絡可以有多個中間層,不過在本文中,只使用一層。對輸入的組合結果就是一組單詞,因此可以將這一層看作是“查詢層”。圖2是本文神經網絡的結構。所有位于輸入層中的節(jié)點都與所有位于隱藏層中的節(jié)點相連,而所有位于隱藏層中的節(jié)點也都與所有位于輸出層中的節(jié)點相連。
為了讓神經網絡得到最佳查詢結果,本文將與查詢條件中出現(xiàn)的單詞對應的輸入節(jié)點設值為1。這些節(jié)點的輸出端開啟后,會試圖激活隱藏層,相應地位于隱藏層中的節(jié)點如果得到一個足夠強力的輸入,就會觸發(fā)其輸出端,并試圖激活位于輸出層中的節(jié)點。位于輸出層中的節(jié)點將處于不同程度的活躍狀態(tài),可以利用其活躍程度來判斷一個URL與原查詢中出現(xiàn)的單詞在相關性上的緊密程度[3]。最終的結果取決于被逐漸糾正的連接強度,因此只要有人執(zhí)行搜索,并從結果中選擇鏈接,就對該網絡進行訓練。
如圖3所示,許多人已在搜索“apple iphone”之后,點擊過有關apple iphone的相關結果,而這一點加強了單詞與URL的聯(lián)系。
本文討論了BP神經網絡在搜索結果排名中應用,反向推理出搜索詞與隱藏層在相關性上的緊密程度以及隱藏層對搜索結果排序的影響權重,使搜索引擎更具智能化,提高了搜索的精度與靈活性。
參考文獻
[1] HATCHER E, GOSPODNETIC O. Lucene in action[M]. Manning Publications,2004.
[2] Han Jiawei, KAMBER M.數(shù)據(jù)挖掘概念與技術[M].范明,孟小鋒,譯.北京:機械工業(yè)出版社,2007.
[3] SEGARAN T. Programming collective intelligence[M].O′Reilly Media,2007.
[4] 王紅霞.神經網絡BP算法在網絡搜索中的應用[J].微計算機信息,2007,23(15):53.