互联网搜索引擎
說明:文章內(nèi)容來源于課程視頻和課程ppt。我只學(xué)習(xí)了課程沒有做習(xí)題。文章不是翻譯,是我對(duì)課程的理解。
1 挑戰(zhàn)
互聯(lián)網(wǎng)搜索引擎與一般搜索引擎的區(qū)別主要在以下問題。
第一是數(shù)據(jù)量(scalability)。互聯(lián)網(wǎng)搜索需要處理的數(shù)據(jù)量大,如何保證能有效地處理這些數(shù)據(jù),保證搜索的完整性,同時(shí)搜索速度也要在可接受范圍內(nèi)。解決策略:索引時(shí)候并行處理,搜索時(shí)候分布式處理。
第二個(gè)是如何衡量數(shù)據(jù)質(zhì)量,過濾垃圾數(shù)據(jù)?解決策略是垃圾檢測(cè)?!?
第三個(gè)是互聯(lián)網(wǎng)的動(dòng)態(tài)性。要處理的數(shù)據(jù)會(huì)有新增和更新,怎么處理?解決策略是鏈接分析。
VSM是一種普適算法,可以用在一般或者互聯(lián)網(wǎng)搜索引擎中。這是它的優(yōu)點(diǎn)。但它的問題是不能有效的利用網(wǎng)頁或者文檔的一些特性(例如:網(wǎng)頁鏈接、發(fā)布日期、超鏈接文本等)
2 組成部分
web searchEngine = Crawler+Indexer+(Inverted) Index + Retriever
爬蟲、索引操作、倒排索引、搜索操作
2.1 爬蟲
實(shí)驗(yàn)室級(jí)別爬蟲:
從優(yōu)先隊(duì)列獲得地址,回到2。
真正在生產(chǎn)環(huán)境下的爬蟲需要處理:
2.2 索引操作、倒排索引
創(chuàng)建互聯(lián)網(wǎng)級(jí)別的索引,挑戰(zhàn)在兩方面:存儲(chǔ)和效率。
這些多數(shù)據(jù)怎么存儲(chǔ):分布式文件系統(tǒng)GFS、HDFS。
這么多數(shù)據(jù)怎么有效地檢索:MapReduce—-Hadoop
2.3 搜索-1 鏈接分析 Link Analysis
2.3.1 鏈接分析-1
分析鏈接關(guān)系,提高搜索引擎搜索結(jié)果(怎么評(píng)估搜索結(jié)果,請(qǐng)參考文本搜索系統(tǒng)的評(píng)估)。
標(biāo)準(zhǔn)的信息檢索模型(IR)可以應(yīng)用在互聯(lián)網(wǎng)搜索(WR)中,但不夠高效。原因如下。
1 IR中人們主要查找圖書資源,查找文獻(xiàn)資源(literature Information)。WR人們需要查找一個(gè)頁面,WR是具有導(dǎo)航性質(zhì)的,一般稱為導(dǎo)航搜索。所以分析鏈接關(guān)系可能有所幫助。
2 網(wǎng)頁一般還有其他信息可以作為搜索的線索。例如:布局、標(biāo)題、鏈接信息。
3 網(wǎng)頁搜索可能還有其他因素,影響搜索結(jié)果。
綜上所述,我們可以通過鏈接分析、點(diǎn)擊次數(shù)提高搜索結(jié)果。一般來講會(huì)使用機(jī)器學(xué)習(xí)算法,把各個(gè)因素綜合考慮。
頁面間引用關(guān)系,首先注意到的是錨點(diǎn)(anchor text)。錨點(diǎn)一般來說描述了所指向頁面的主要內(nèi)容或者特點(diǎn)。例如上面提交的“文本搜索系統(tǒng)的評(píng)估”,所指向的頁面就是關(guān)系文本檢索系統(tǒng)評(píng)估方面的內(nèi)容。
鏈接關(guān)系的第二個(gè)就是入鏈和出鏈。出鏈就像是一個(gè)路由器(hub)指向不同頁面。入鏈?zhǔn)且粋€(gè)authority的頁面:別人都在證明這個(gè)頁面可能更有用。這有點(diǎn)像文獻(xiàn)中的引用和被引用關(guān)系。成熟的解決方案是PageRank,考慮入鏈的個(gè)數(shù)以及質(zhì)量。要注意處理沒有入鏈的頁面。
2.3.2 PageRank
簡(jiǎn)要描述PageRank算法。
PageRank 是一個(gè)隨機(jī)訪問模型。參數(shù)α= 跳出本頁面到其他頁面(在瀏覽器中輸入一個(gè)地址)的概率;1?α= 在頁面上隨機(jī)選擇一個(gè)連接進(jìn)行下去。
如果一個(gè)頁面有很多的入鏈(inlinke),也就是說入鏈數(shù)量高,那這個(gè)頁面就更可能被訪問到。因?yàn)橛懈嗟目赡軓囊粋€(gè)頁面鏈接到這個(gè)頁面。
如果某個(gè)頁面L1的某個(gè)入鏈L4有很多的入鏈,這些鏈接和L1形成一個(gè)間接鏈接關(guān)系。因?yàn)長(zhǎng)4有很多的入鏈,L4的訪問概率增加,那從L4到L1的概率也會(huì)增加。從這個(gè)角度看,算法也捕捉到了間接鏈接的關(guān)系。
PageRank計(jì)算:轉(zhuǎn)移矩陣、訪問到某個(gè)頁面的概率。
PageRank的計(jì)算可以從線性代數(shù)的角度理解,也可以理解為是圖的傳播。
PageRank可以用于計(jì)算某個(gè)主題相關(guān)頁面的PageRank,也可以用于社交網(wǎng)絡(luò)或者圖的情形。
2.3.3 HITS
直覺假設(shè):被廣泛引用的頁面是一個(gè)好的Authority頁面;引用了很多連接的頁面是一個(gè)好的Hub頁面。
這是一個(gè)相互增強(qiáng)的思想。
2.4 搜索-2 排序 Ranking
這是web搜索的最后一部分了。這里主要用機(jī)器學(xué)習(xí)的方法考慮各個(gè)因素,提高排序質(zhì)量。
現(xiàn)在我們有檢索模型(BM25)可以計(jì)算查詢語句與文檔的相似度,我們也知道錨點(diǎn)、鏈接分值(PageRank)可以影響排序。問題是如何把這些因素結(jié)合起來,獲得一個(gè)好的排序函數(shù)?用機(jī)器學(xué)習(xí)模型。
假設(shè):p(R=1|Q,D)=s(X1(Q,D),...Xn(Q,D),λ),λ是參數(shù),是一個(gè)向量。
訓(xùn)練數(shù)據(jù):為了獲得參數(shù),我們首先要獲得訓(xùn)練數(shù)據(jù)。訓(xùn)練數(shù)據(jù)要包含每個(gè)文檔對(duì)每個(gè)查詢的相關(guān)度,形成一個(gè)(文檔、查詢、相關(guān)度)的數(shù)據(jù)。這些信息可以是很準(zhǔn)確的用戶處理的數(shù)據(jù),也可以是基于點(diǎn)擊量估計(jì)的(假設(shè)被點(diǎn)擊的文檔比跳過的文檔更相關(guān))。
舉例:邏輯回歸模型(logistic regression)。最簡(jiǎn)單的模型。假設(shè)影響因素之間的關(guān)系是線性的。Xi(Q,D)是一個(gè)特征,β是參數(shù),模型如下:
logP(R=1|Q,D)1?P(R=1|Q,D)=β0+∑ni=1βiXi
P(R=1|Q,D)=11+exp(?β0?∑ni=1βiXi)
β0+∑ni=1βiXi值越大,P(R=1|Q,D)值也就越大,越相關(guān)(這與視頻中講的矛盾了,之后求證一下)。
舉例子。圖中選擇的是最大似然求解,此外還有最小二乘法。當(dāng)然這里就涉及到乘法和加法的區(qū)別了。β參數(shù)學(xué)習(xí)到之后就可以用于文檔排序了。
還有更多選擇的算法用來直接提高搜索結(jié)果(MAP,nDCG)??梢蚤喿x參考文獻(xiàn)
?Tie-Yan Liu. Learning to Rank for Information Retrieval. Foundations and Trends in Information Retrieval 3, 3 (2009): 225-331.
?Hang Li. A Short Introduction to Learning to Rank, IEICE Trans. Inf. & Syst. E94-D, 10 (Oct. 2011): n.p.
3 互聯(lián)網(wǎng)搜索引擎的未來發(fā)展
3.1 趨勢(shì)
說的是趨勢(shì),其實(shí)很多已經(jīng)實(shí)現(xiàn)了。
下一代搜索引擎被認(rèn)為更定制化,形成垂直搜索引擎。垂直搜索引擎被認(rèn)為更好的原因是 1 針對(duì)特定的一個(gè)群體,他們擁有共同的基本概念。2 可以更個(gè)性化(personalization)。
搜索引擎將會(huì)不斷自動(dòng)學(xué)習(xí)。
搜索、推薦、導(dǎo)航集一體的搜索引擎。
不再只是搜索,而是完成特定任務(wù)。例如購物。
3.2 新功能設(shè)想
從用戶、數(shù)據(jù)、服務(wù)三個(gè)角度組合形成不同的產(chǎn)品。
3.3 更智能化的途徑
總結(jié)
- 上一篇: 快速上手Ubuntu搭建Python编程
- 下一篇: [转] UML中关联、依赖、聚集等关系的