導航:首頁 > 編程語言 > python鄰接鏈表

python鄰接鏈表

發布時間:2025-03-19 08:19:38

Ⅰ [內附完整源碼和文檔] 基於python的新聞檢索系統

1 系統介紹
1.1 系統需求
新聞檢索系統:定向採集不少於 4 個中文社會新聞網站或頻道,實現這些網站新聞信息及評論信息的自動爬取、抽取、索引和檢索。本項目未使用 lucene,Goose 等成熟開源框架。

1.2 系統思路與框架
本系統總體的實現思路如圖 1 所示:

一個完整的搜索系統主要的步驟是:

對新聞網頁進行爬蟲得到語料庫

抽取新聞的主體內容,得到結構化的 xml 數據

內存式單遍掃描索引構建方法構建倒排索引,供檢索模塊使用

用戶輸入查詢,得到相關文檔返回給用戶

2 設計方案
2.1 新聞爬取
2.1.1 演算法簡述
該模塊針對搜狐,網易,騰訊三大主流新聞網站及官方的參考消息網站進行了新聞獲取。並基於其網站結構,設計了不同的爬取模式。由於網站架構兩兩相似,以下選取兩種類型的典型代表進行介紹:

(1)搜狐新聞
搜狐新聞除正常主頁外,存在隱藏的列表式新聞頁 , 如 http://news.sohu.com/1/0903/62/subject212846206.shtml 。

(2)網易新聞
可以將網易新聞及騰訊新聞歸結為一般類型的新聞主頁,我們採用了自新聞主頁開始的廣度優先的遞歸爬取策略。注意到新聞的正文頁往往是靜態網頁.html,因此,我們將網頁中出現的所有以.html 結尾的網頁的 URL 均記錄下來,在爬取到一定量時,進行一次去重。

對於一些不是新聞的錯分網頁,容錯處理即通過檢查新聞正文標簽

時會被剔除。

新聞正文頁中我們重點關注內容,時間,評論獲取。

2.1.2 創新點
實現了對新聞網頁動態載入的評論進行爬取,如搜狐新聞評論爬取

未藉助開源新聞爬取工具,自己實現了對新聞標題,正文,時間,評論內容,評論數目的高效爬取

2.2 索引構建
分詞,我們藉助開源的 jieba 中文分片語件來完成,jieba 分詞能夠將一個中文句子切成一個個詞項,這樣就可以統計 tf, df 了

去停用詞,去停詞的步驟在 jieba 分詞之後完成

倒排記錄表存儲,詞典用 B-樹或 hash 存儲,倒排記錄表用鄰接鏈表存儲方式,這樣能大大減少存儲空間

倒排索引構建演算法使用內存式單遍掃描索引構建方法(SPIMI),就是依次對每篇新聞進行分詞,如果出現新的詞項則插入到詞典中,否則將該文檔的信息追加到詞項對應的倒排記錄表中。

2.3 檢索模塊
2.3.1 檢索模式
(1)關鍵詞檢索
查詢即根據用戶輸入的關鍵字,返回其相應的新聞。首先根據用戶的查詢進行 jieba 分詞,記錄分詞後詞項的數量以字典形式進行存儲。

完整的源碼和詳細的文檔,上傳到了 WRITE-BUG技術共享平台 上,需要的請自取:

https://www.write-bug.com/article/3122.html

閱讀全文

與python鄰接鏈表相關的資料

熱點內容
c語言編譯器手機在線 瀏覽:848
戰艦世界什麼伺服器地址 瀏覽:550
windowsphone解壓縮 瀏覽:646
android工程目錄結構 瀏覽:137
pdf文檔是反的 瀏覽:528
javaobject比較 瀏覽:867
安卓如何設置微信屏幕鎖 瀏覽:189
本溪雲伺服器 瀏覽:375
玩機技巧華為app如何了解純凈模式 瀏覽:905
換演算法則數不變 瀏覽:719
java工作流activiti 瀏覽:788
單片機自動門程序 瀏覽:423
java培訓長沙 瀏覽:494
程序員生存現狀 瀏覽:588
光環游戲安裝器在哪個文件夾 瀏覽:654
公眾號圖片被壓縮 瀏覽:291
github優秀java 瀏覽:594
高壓縮視頻播放器 瀏覽:413
linux檢測apache 瀏覽:741
運行命令ur 瀏覽:938