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