Lab T2 : Exercise.4-6

組別:第二組  

組員:許復凱 劉凱銘 許聆容

先說這題在做什麼:題目說,現在我們的code可以依照inbound links中的text做rank了。
可是有一種狀況是這樣的,就是我們有時候用關鍵字去搜尋,但是最符合的網站可能沒有你的關鍵字內容
這時候就會發生搜尋不到的情形,題目提到搜尋圖片就是典型的例子。
課本希望我們改善他的search code解決這個問題。

早在前幾次課堂中報告了這題,當時的作法是利用資料庫去另建table做處理,想得很複雜
之所以會想要從資料庫著手,最主要原因是當時沒有時間跑一次crawler把data建起來

現在重新著手這題,卻意外發現這題只要加個關鍵一行code就可以完成
道理很簡單,我在記錄這頁有什麼關鍵字的時候,偷偷把這些關鍵字也link給下一個page
找到這個function : addlinkref(self,urlFrom,urlTo,linkText)
最後 + self.con.execute("insert into linkwords(linkid,wordid) values (%d,%d)" % (toid,wordid))
OK!
(單純但是這樣做像是wordlocation那個資料表就會不完善了,不過是小問題~重點是可以搜到)

我在課堂報告也提出了一個機制,道理跟我現在弄得很像
不過我每個關鍵字都給他加上了權重,利用上方程式碼加上去的關鍵字權重都給0.3,一般關鍵字就是原來的1
這樣做不會影響到原本的演算法,在計算上只要在最後面加上取floor,也就是最後計算1.2則以1算,2.1以2算
物理上的意義就是,一個page接受的外部相同關鍵字大於4個才可以跟出現在那個page的關鍵字權重相當(4*0.3=1.2)
當然數值只是一個大概,沒有實際測量過,方法我倒覺得挺不錯
可是當我發現這個方法要加在程式裡面就好麻煩唷>"<