1.後臺若幹爬蟲不間斷的爬取各個新聞網站的最新新聞,網頁HTML TAG過濾,得到新聞正文(解析出標題,發表時間,來源等元信息);
2.所有爬蟲解析到的新聞存入某個POOL內,比如內存裏建立新聞隊列,積攢到壹定量或者每隔壹定時間(按照百度說法是5分鐘),開始逐壹進行處理;
3.對於每個新聞N,首先進行文本分類,分到國內,國際,財經,互聯網等若幹類別內;
4.計算新聞N和現有每篇新聞(最近5天內的)的相似性,如果和比如已有K篇新聞相似性大於壹定值(比如>0.95),判斷為已有新聞,不做處理(界面上某條新聞的“相同的K條新聞"就是這麽計算得到的);
註1:為什麽是通過文本相似性計算得到的?看這個例子
/n?cmd=8&am ... s&where=toppage
其實百度說是”相同新聞“,而實際上是兩個不同的新聞,只是計算時候相似度高於閾值導致被認為是相同新聞。
註2:這個計算結果,即新聞N和現有的任何壹篇新聞K的相似性要記住,後面有用處;
註3:新聞標題在計算相似性時候會賦予更高權值。
5.如果發現沒有和已有新聞完全相同的新聞,則認為是壹條新的值得顯示的新聞,將這條新聞列入”最新新聞“裏面,並顯示在界面;
接下來要做的是:計算相關新聞。也就是百度新聞界面顯示的”M條相關“的內容。還用計算麽?不用計算了,上壹步驟不是計算過文本相似性了麽?
直接拿來用即可,只要把相似性大於閾值(比如0.4)的文章作為相關新聞即可。
註1:步驟4在計算相似性的時候,居然不是在本分類內的文章計算,而是所有新聞,不管哪個分類的都進行計算,這個也出乎我的意料,為何這麽說?
來看/n?cmd=5&am ... e%68%74%6d&pn=1
主新聞:多米尼加發現家禽感染禽流感病毒 ,居然和很多諸如:“全球十大計算機病毒排名 CIH病毒居首” 這些已有新聞關聯。這說明了不是和本分類新聞計算相似性,否則”全球十大計算機病毒排名 CIH病毒居首“是不會被錯誤的分類到國際新聞的。
註2:在步驟4計算的新進新聞N和已有新聞K之間的相似性,也會被新聞K用到,做過比較後,如果相似性大於閾值,此時點擊新聞K,會在相關新聞裏面顯示新聞N;
6.此時基本完工,因為每個頻道的”最新新聞“搞完,就意味著技術活到此結束了。
7.每個頻道的主體顯示的有圖片的新聞應該是人工選擇的,人工從”最新新聞“裏面選擇決定哪些顯示在主體頁面內。
註:剛開始我以為是程序自動選擇的,比如”相同新聞“>100就顯示在頻道主體內,但是好像有若幹新聞相同新聞很少也入選了。當然可能有其它機制決定是否放入頻道主體顯示,比如是否有圖片,但是我傾向於認為是認為幹預的結果。
8.首頁顯示的新聞是各個頻道主體內容的前K個,這個是自動的。
希望對有幫助,也可以來/seo345交流更多有關seo方面的問題