百度新闻后台逻辑流程分析
?? /*版權聲明:可以任意轉載,轉載時請務必標明文章原始出處和作者信息 .*/??
?
???????????? 百度新聞后臺邏輯流程分析
?
??????????? CopyMiddle:張俊林
??????????? TimeStamp:2008年1月9日
?
??? 今天分析了一下百度新聞,琢磨了一下其后臺運行機制,出乎意料的是,我發現其運行機制比我想象的要簡單,我原先沒仔細看,以為至少會用到文本聚類,但是分析結果顯示好像沒用到,只是使用了文本分類和文本相似性計算而已。
??? 下面簡單描述一下其可能的運行機制,純屬個人分析,不保證正確性。??
??? 1.后臺若干爬蟲不間斷的爬取各個新聞網站的最新新聞,網頁HTML TAG過濾,得到新聞正文(解析出標題,發表時間,來源等元信息);
??? 2.所有爬蟲解析到的新聞存入某個POOL內,比如內存里建立新聞隊列,積攢到一定量或者每隔一定時間(按照百度說法是5分鐘),開始逐一進行處理;
??? 3.對于每個新聞N,首先進行文本分類,分到國內,國際,財經,互聯網等若干類別內;
??? 4.計算新聞N和現有每篇新聞(最近5天內的)的相似性,如果和比如已有K篇新聞相似性大于一定值(比如>0.95),判斷為已有新聞,不做處理(界面上某條新聞的“相同的K條新聞"就是這么計算得到的);
??????? 注1:為什么是通過文本相似性計算得到的?看這個例子
??????? http://news.baidu.com/n?cmd=8&page=%68%74%74%70%3a%2f%2f%69%74%2e%68%65%78%75%6e%2e%63%6f%6d%2f%32%30%30%38%2d%30%31%2d%30%39%2f%31%30%32%37%30%36%36%34%30%2e%68%74%6d%6c&pn=1&clk=rrel&cls=housenews&where=toppage
?????? 其實百度說是”相同新聞“,而實際上是兩個不同的新聞,只是計算時候相似度高于閾值導致被認為是相同新聞。
?????? 注2:這個計算結果,即新聞N和現有的任何一篇新聞K的相似性要記住,后面有用處;
?????? 注3:新聞標題在計算相似性時候會賦予更高權值。
??? 5.如果發現沒有和已有新聞完全相同的新聞,則認為是一條新的值得顯示的新聞,將這條新聞列入”最新新聞“里面,并顯示在界面;
????? 接下來要做的是:計算相關新聞。也就是百度新聞界面顯示的”M條相關“的內容。還用計算么?不用計算了,上一步驟不是計算過文本相似性了么?
?直接拿來用即可,只要把相似性大于閾值(比如0.4)的文章作為相關新聞即可。
??????? 注1:步驟4在計算相似性的時候,居然不是在本分類內的文章計算,而是所有新聞,不管哪個分類的都進行計算,這個也出乎我的意料,為何這么說?
?? ????????來看http://news.baidu.com/n?cmd=5&page=%68%74%74%70%3a%2f%2f%6e%65%77%73%2e%78%69%6e%68%75%61%6e%65%74%2e%63%6f%6d%2f%6e%65%77%73%63%65%6e%74%65%72%2f%32%30%30%38%2d%30%31%2f%30%39%2f%63%6f%6e%74%65%6e%74%5f%37%33%39%33%30%31%34%2e%68%74%6d&pn=1
??? ???????主新聞:多米尼加發現家禽感染禽流感病毒 ,居然和很多諸如:“全球十大計算機病毒排名 CIH病毒居首”? 這些已有新聞關聯。這說明了不是和本分類新聞計算相似性,否則”全球十大計算機病毒排名 CIH病毒居首“是不會被錯誤的分類到國際新聞的。
???????? 注2:在步驟4計算的新進新聞N和已有新聞K之間的相似性,也會被新聞K用到,做過比較后,如果相似性大于閾值,此時點擊新聞K,會在相關新聞里面顯示新聞N;
???? 6.此時基本完工,因為每個頻道的”最新新聞“搞完,就意味著技術活到此結束了。
???? 7.每個頻道的主體顯示的有圖片的新聞應該是人工選擇的,人工從”最新新聞“里面選擇決定哪些顯示在主體頁面內。
??????? 注:剛開始我以為是程序自動選擇的,比如”相同新聞“>100就顯示在頻道主體內,但是好像有若干新聞相同新聞很少也入選了。當然可能有其它機制決定是否放入頻道主體顯示,比如是否有圖片,但是我傾向于認為是認為干預的結果。
???? 8.首頁顯示的新聞是各個頻道主體內容的前K個,這個是自動的。
????
???? 完畢,收工。???????
總結
以上是生活随笔為你收集整理的百度新闻后台逻辑流程分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从选秀策略看市场测试
- 下一篇: 自然语言处理中的模式(模式0:模式无处不