回到作品集

🔍 CNIRS

關於系統 About

📚 專案簡介

CNIRS (Chinese News Intelligent Retrieval System) 是一個針對中文新聞的智能檢索系統,整合了多種資訊檢索技術與模型。

本系統為 LIS5033 - Automatic Classification and Indexing 課程的期末專案,實作了從資料收集、預處理、索引建構到檢索評估的完整流程。

⚙️ 核心功能

  • 多模型檢索: 支援 Boolean, TF-IDF, BM25, BERT 四種檢索模型
  • 中文 NLP 處理: Jieba 分詞、CKIP NER 實體識別、TextRank 關鍵詞提取
  • 索引結構: Inverted Index, Positional Index, TF-IDF Vectors, BM25 Index, BERT Embeddings
  • 評估框架: 實作 MAP, nDCG, P@K, R@K, F1@K 等指標
  • 模型對比: 並行比較不同模型的檢索效能

🎯 檢索模型說明

Boolean Retrieval (布林檢索)

原理: 精確匹配查詢詞,支援 AND/OR 運算

優點: 快速、可預測、適合精確查詢

缺點: 無排序、結果數量難以控制

TF-IDF (向量空間模型)

原理: 基於詞頻-逆文檔頻率,使用餘弦相似度排序

優點: 簡單有效、可解釋性強

缺點: 無法處理同義詞、語義理解有限

評估結果: MAP=0.3581, nDCG=0.4012

BM25 (機率排序模型) ⭐ 推薦

原理: 基於機率理論,考慮文檔長度正規化

優點: 業界標準、效能優異、速度快

缺點: 仍無法理解語義

評估結果: MAP=0.3708, nDCG=0.4064 (最佳)

BERT (語義檢索)

原理: 使用預訓練語言模型編碼文本語義

優點: 深層語義理解、處理同義詞與語義相似

缺點: 計算量大、小資料集表現較差

評估結果: MAP=0.1586, nDCG=0.2306

📊 資料集資訊

  • 來源: 中央社 (CNA) 新聞
  • 文章數量: 121 篇
  • 時間範圍: 2025-11-07 ~ 2025-11-13
  • 分類: 政治新聞
  • 詞彙數: 10,248 unique terms
  • 總 Tokens: 48,412 tokens

🛠️ 技術架構

  • 後端: Flask (Python)
  • 前端: HTML5, CSS3, JavaScript
  • NLP: Jieba, CKIP Transformers, sentence-transformers
  • 檢索: 自建索引與檢索引擎
  • 評估: TREC QRELS format, pytrec_eval

📖 參考文獻

Introduction to Information Retrieval - Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze

Stanford University, Cambridge University Press, 2008

👤 作者資訊

National Taiwan University

LIS5033 - Automatic Classification and Indexing

2025 Fall Semester