劉燦 任劍宇 李偉 張強強
摘 要:為了滿足人們能快速、準確地獲取個人最關心的教育類新聞的實際需求,本文提出了一種面向個性化推薦的教育新聞爬取及展示系統。本系統采用主題爬蟲技術,在對爬取策略及爬取內容進行文本解析的基礎上,獲取教育新聞數據。結合用戶需求特征,利用協同過濾的推薦策略,生成滿足不同用戶需求的個性化頁面,并以詞云和列表的形式展示給用戶。該系統為人們獲取最具時效性的教育新聞信息提供了一種可行的途徑。
關鍵詞:個性化推薦;教育新聞;主題爬蟲;詞云
中圖分類號:TP319 文獻標識碼:A
Abstract:In order to meet the actual needs of people who can quickly and accurately obtain the education news that individuals are most concerned about,we propose a customized crawling and displaying system for education news.Based on the text analysis mechanism of crawling strategy and crawling content,this system obtains the educational news data,combines the characteristics of user needs,and uses the recommendation strategy of collaborative filtering to generate a personalized page that meets the needs of different users,and presents the page to users in the form of word clouds and lists.The system provides a viable way for people to obtain the most up-to-date educational news information.
Keywords:personalized recommendation;education news;topical crawler;word cloud
1 引言(Introduction)
隨著國家及個人對各類教育重視程度的不斷提升,關注教育熱點信息的社會群體越來越多。然而,由于教育新聞種類繁多,既有中小學、大學等課堂教育相關的新聞,又有培訓、繼續教育等非學歷教育相關的信息,還有國家及地方政府出臺的各類教育制度等,人們很難快速、準確地獲取到最關心的教育新聞。如何從浩如煙海的互聯網大數據環境中快速、準確地獲取最權威的教育新聞熱點信息成為一個亟待解決的問題。此外,從個性化推薦的角度分析,多數新聞站點對所有用戶提供的都是同樣的資源,缺乏針對不同用戶的個性化推薦功能。因此,研發一種面向個性化推薦的教育新聞爬取及展示系統已成為一個重要研究課題,這對于更好地服務民眾具有重要的現實意義。
2 相關研究(Related research)
2.1 主題爬蟲技術
網絡爬蟲(Web Crawler),又稱為網頁蜘蛛,是一種按照一定的規則,自動地抓取互聯網信息的程序或者腳本[1]。網絡爬蟲的結構大致可以分為頁面爬行模塊、頁面分析模塊、鏈接過濾模塊、頁面數據庫、URL隊列、初始URL集合等幾部分。為了提高工作效率,網絡爬蟲通常會采取深度優先策略、廣度優先策略等爬行策略。由于通用的網絡爬蟲獲取的結果主題性不夠突出,結果不夠深入和專業化,在個性化推薦領域通常采用主題爬蟲技術。主題爬蟲(Topical Crawler),也稱為聚焦爬蟲(Focused Crawler),是一種下載特定主題網頁的程序[2]。和通用網絡爬蟲相比,主題爬蟲只需要爬行與主題相關的頁面,極大地節省了硬件和網絡資源,保存的頁面也由于數量少而更新快,還可以很好地滿足一些特定人群對特定領域信息的需求。
近年來,大量的學者對主題爬蟲技術進行了相關的研究和應用,并取得了突出的成果。例如,黃仁等提出一種基于主題相關概念和網頁分頁的主題爬蟲,在垂直搜索引擎和輿情分析應用方面具有較好的搜索效果[3]。吳岳廷等采用擴展主題特征庫引入基于爬蟲的網頁過濾算法,提高了網頁抓取精度,具有較高可用性[4]。陳一峰等利用一種基于遺傳算法的主題爬蟲改進策略,在不影響查全率的情況下,與主題相關且重要的網頁數量可提升5%以上[5]。此外,李璐等提出一種基于SVM分類的主題爬蟲技術,能夠較好地區分主題相關網頁和不相關網頁,提高了主題相關網頁的查準率和查全率[6]。
2.2 個性化推薦技術
個性化推薦技術通過建立用戶與信息之間的二元關系,利用已有的選擇過程或相似性關系挖掘每個用戶潛在感興趣的對象,進而進行個性化推薦[7]。傳統的推薦方法主要包括:基于內容(content-based)的推薦系統,協同過濾(collaborative filtering)推薦系統和混合(hybrid)推薦系統[8,9]。近年來,深度學習在圖像處理、自然語言理解和語音識別等領域取得了突破性進展[10],基于深度學習的推薦系統為推薦系統的研究帶來了新的機遇[11]。
個性化推薦系統已廣泛應用于書籍推薦、互聯網信息推薦、信息過濾等領域。例如,王永固等人研究了一個基于協同過濾技術的學習資源個性化推薦的理論模型,有效提高了學習資源個性化推薦的精度和效率[12]。朱夏等人提出了一種云計算環境下基于協同過濾的個性化推薦機制RAC,構建基于分布式存儲系統的兩個階段平分索引,在此基礎上提出候選鄰居的協同過濾算法,有良好的推薦精度和推薦效率[13]。呂學強等提出了一種結合影評內容相似度和長短期興趣模型來計算電影相似度的推薦方法[14]。Wang等研究了融入圖像內容信息來提升興趣點推薦的問題[15]。Huang等提出了一種神經概率模型用于基于情境的引用推薦[16]。將深度學習技術融入推薦系統中,研究如何整合海量的多源異構數據,構建更加貼合用戶偏好需求的用戶模型,以提高推薦系統的性能和用戶滿意度,成為基于深度學習的推薦系統的主要任務[17]。
3 系統設計(System design)
3.1 系統架構
本文設計了一個面向個性化推薦的教育新聞爬取及展示系統。系統通過爬取給定待爬取列表中的相關數據,及時地把爬取到的教育新聞信息進行解析,并把所有的信息進行分類存儲;然后,根據用戶喜好,利用個性化推薦方法,以詞云或列表形式把用戶最關心的教育新聞展示給用戶,系統總體架構如圖1所示。
在信息爬取方面,系統采用Scrapy框架和輪循策略,爬蟲系統在多線程方式下工作,采用生產者/消費者模型。使用權重值的爬取策略,對于影響力較大的教育新聞網站,通過給定較高的初始權重而優先爬取其數據,從而有利于獲取最權威、最真實的信息。
在個性化推薦方面,使用一種基于協同過濾的推薦算法。首先進行新聞用戶的跟蹤,推測出用戶感興趣的主題;再通過分析用戶的特征數據;然后根據用戶的特征信息對其進行新聞推薦,從而實現教育新聞的個性化推薦。
在信息展示方面,根據信息來源站點的權威性和用戶需求,對相關新聞以權重比進行排序,并以詞云和列表的方式展示給用戶。
3.2 信息爬取
本系統中,信息爬取部分采用主題爬蟲技術,根據功能需求進行模塊劃分,采用調用組件的方法運行,便于根據功能需求進行系統修改,且維護簡單,擴展性能好。主題爬蟲模塊結構如圖2所示。
主題爬蟲按照權重值大小對從給定的待爬取列表進行分組,使用生產者/消費者模型,以多線程的方式依次爬取每個權重組內的站點。生產者把抽取到的鏈接加入URL隊列,消費者從URL隊列中取出鏈接進行爬取,并把爬取的網頁放入網頁池。消費者從網頁池中提取出網頁進行解析及主題相關度判定,并把最終數據存儲在數據庫中,供展示系統調用。
在爬取過程中,首先判斷該URL列表中的鏈接是否爬取過。如果已經爬取過,則轉向下一個鏈接的處理。對于一個新鏈接,考慮該頁面是否包含Robots協議。若存在Robots協議,則采用適當的反爬技術。由于網絡或網站本身的原因,導致網頁未下載成功,則放棄下載,并且轉向下一個鏈接的處理。
3.3 個性化推薦
通過跟蹤用戶的使用軌跡,應用基于余弦相似度的協同過濾推薦方法分別對新聞用戶和教育新聞的特征量建模,從而實現根據用戶的需求推送用戶感興趣的信息。個性化推薦模塊圖如圖3所示。
首先,通過用戶訪問網站的軌跡分析用戶的偏好特征,如用戶感興趣的話題、登錄時間等信息;然后,使用特征向量描述每一篇新聞,利用余弦相似度度量方法,獲取用戶與相關新聞的相似性,并對結果進行篩選排序;最后,將相似度值最高的k個信息推薦給用戶,k由系統或用戶設定,默認值為8。
3.4 信息展示
信息展示部分主要以詞云和列表的方式在Web頁面中展示所查詢到的教育新聞熱點信息。系統還支持個性化查詢,支持的查詢方式包括按照日期(含時間段)、類別、新聞題目、作者、全文、媒體名稱等方式。在列表方式展示中,為了突出重點關注新聞的重要性,將按照當天新聞的關注程度智能地進行排序,如多個站點均包含的新聞熱點信息將排列在列表的前部。
4 系統實現(System implementation)
本系統采用主題爬蟲、個性化推薦、詞云等技術,利用Python語言,實現了面向個性化推薦的教育新聞爬取及展示功能。系統界面如圖4所示。系統界面左側為當天新聞熱點詞云展示頁面,展示了當天的熱點詞語。通過查看此詞云,可以獲取今日教育新聞的熱點信息。系統右側為當天教育新聞的列表。
熱點新聞的具體展示頁面如圖5所示。
上述圖4和圖5實現了以詞云和列表方式展示在Web頁面上。本系統具有如下優點:根據用戶的需要,實時推送給用戶感興趣的教育新聞;提出一種基于權重模型的爬行策略,提高爬蟲的準確性和效率。
5 結論(Conclusion)
本系統以主題爬蟲和個性化推薦為核心技術,建立一個面向個性化推薦的教育新聞爬取及展示系統。利用主題爬蟲技術,從海量的教育類新聞頁面中爬取各類教育新聞信息;利用協同過濾的個性化推薦策略,根據收集的用戶愛好信息,實現教育新聞的個性化推薦;通過詞云和列表形式,以友好的界面把用戶最感興趣的信息展示給用戶。該系統對于公眾獲取最具時效性的教育新聞信息具有重要的實用價值。
參考文獻(References)
[1] 周德懋,李舟軍.高性能網絡爬蟲:研究綜述[J].計算機科學,2009,36(08):26-29;53.
[2] 于娟,劉強.主題網絡爬蟲研究綜述[J].計算機工程與科學,2015,37(02):231-237.
[3] 黃仁,王良偉.基于主題相關概念和網頁分塊的主題爬蟲研究[J].計算機應用研究,2013,30(08):2377-2380;2409.
[4] 吳岳廷,李石君.基于擴展主題特征庫的領域主題爬蟲[J].計算機工程與設計,2015,36(05):1342-1347.
[5] 陳一峰,趙恒凱,余小清,等.基于遺傳算法的主題爬蟲策略改進[J].計算機仿真,2010,27(10):87-90;123.
[6] 李璐,張國印,李正文.基于SVM的主題爬蟲技術研究[J].計算機科學,2015,42(02):118-122.
[7] 劉建國,周濤,汪秉宏.個性化推薦系統的研究進展[J].自然科學進展,2009,19(01):1-15.
[8] Balabanovic M,Shoham Y.Fab:content-based,collaborative recommendation[J].Communications of the ACM,1997,40(3):66-72.
[9] 王曉軍.推薦系統中分布式混合協同過濾方法[J].北京郵電大學學報,2016,39(02):25-29.
[10] LeCun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,521(7553):436-444.
[11] 黃立威,劉艷博,李德毅.基于深度學習的推薦系統[J].計算機學報,2017:1-29.
[12] 王永固,邱飛岳,趙建龍,等.基于協同過濾技術的學習資源個性化推薦研究[J].遠程教育雜志,2011,29(03):66-71.
[13] 朱夏,宋愛波,東方,等.云計算環境下基于協同過濾的個性化推薦機制[J].計算機研究與發展,2014,51(10):2255-2269.
[14] 呂學強,王騰,李雪偉,等.基于內容和興趣漂移模型的電影推薦算法研究[J].計算機應用研究,2018(03):1-2.
[15] Wang S,Wang Y,Tang J,et al.What your images reveal:Exploiting visual contents for point-of-interest recommendation[C].Proceedings of the 26th International Conference on World Wide Web.International World Wide Web Conferences Steering Committee,2017:391-400.
[16] Huang W,Wu Z,Chen L,et al.A Neural Probabilistic Model for Context Based Citation Recommendation[C].AAAI,2015: 2404-2410.
[17] Covington P,Adams J,Sargin E.Deep neural networks for youtube recommendations[C].Proceedings of the 10th ACM Conference on Recommender Systems.ACM,2016:191-198.
作者簡介:
劉 燦(1993-),女,碩士生.研究領域:深度學習.
任劍宇(1994-),男,本科生.研究領域:軟件工程.
李 偉(1996-),男,本科生.研究領域:計算機應用.
張強強(1997-),男,本科生.研究領域:計算機應用.