二、自然語言處理(Natural Language Processing, NLP)是資訊檢索系統中的 應用之一。請說明 NLP 如何提高檢索準確率,並舉出兩個應用實例。 (25 分)

詳解 (共 1 筆)

詳解 提供者:yu
如何透過NLP解析自然語言語句轉換為檢索式
將自然語言語句(Natural Language)轉換為檢索式(如 SQL, Elasticsearch DSL, 或關鍵字關鍵字串)是現代資訊檢索與 AI 應用的核心技術。此過程主要依賴 自然語言理解(NLU) 技術。
以下是將自然語言解析為檢索式的通用步驟與技術方法:
 
1. 基礎前處理(Preprocessing)
在理解意圖前,需要將原始文字轉化為機器可處理的格式。 
69f1605b8638f.jpgNVIDIA 台灣官方部落格-
  • 斷詞/分詞 (Tokenization): 將句子拆分為詞彙(例如:「我想買手機」 -> 「我/想/買/手/機」)。
  • 去除停用詞 (Stopwords Removal): 移除對檢索意義不大的虛詞(如「的」、「了」、「在」)。
  • 詞性標註 (POS Tagging): 識別詞彙是名詞、動詞等,有助於識別實體(如識別「手機」為名詞)。 
    69f1605b8b5a0.jpg研之有物 +2
 
2. 核心分析:自然語言理解(NLU)
這是最關鍵的步驟,將文字轉化為語義結構。 
inbound.technology&client=AIM&size=128&type=FAVICON&fallback_opts=TYPE,SIZE,URLinbound.technology
  • 意圖識別 (Intent Recognition): 理解使用者想要做什麼(例如:「搜尋」、「購買」、「查詢」)。
  • 實體提取 (Named Entity Recognition, NER): 識別句子中的關鍵資訊點(例如:「在台北iPhone 15」 -> 地點: 台北, 產品: iPhone 15)。
  • 語義分析 (Semantic Parsing): 理解實體之間的關係,將其結構化。 
    69f1605b8770f.jpgiT 邦幫忙 +1
 
3. 解析轉換為檢索式
根據應用場景,將 NLU 的結果組合為特定語法。 
69f1605b87dfa.jpgrd.coach
  • 關鍵字搜尋(簡單場景): 將提取的關鍵名詞用 AND / OR 組合(例如:iPhone15 AND 台北)。
  • 結構化查詢(如 SQL, ES): 將意圖與實體填入模板。
    • 自然語言:「搜尋 2023 年發布的 Apple 手機」
    • 轉換後(ES DSL): {"query": {"bool": {"must": [{"match": {"brand": "Apple"}}, {"range": {"year": {"gte": 2023}}}]}}}
  • 知識圖譜查詢: 對應到知識庫中的實體(Entity)與關係(Relation)。 
    69f1605b89060.jpgVocus
 
4. 進階技術:語義搜尋與 LLM
利用深度學習技術,不再僅依賴詞彙匹配,而是理解語義。 
69f1605b8a128.jpgCloudflare
  • 詞向量化 (Vectorization/Embedding): 將文字轉為向量,在向量空間中計算語義相似度(例如:使用 BERT 模型)。
  • LLM (大型語言模型): 使用如 GPT-4 等模型,直接將+詢語句。 
    69f1605b8c2a0.jpgMedium +1
 
總結流程範例
  1. 使用者輸入: 「幫我找一下今天晚上在台北的義大利麵餐廳」
  2. 斷詞/NER: [時間: 今天晚上], [地點: 台北], [菜系: 義大利麵], [類型: 餐廳]
  3. 意圖: 搜尋
  4. 轉化檢索式 (SQL): SELECT * FROM restaurants WHERE city='Taipei' AND cuisine='Italian' AND time='night'
透過上述 NLP 技術,機器能將破碎、不規則的人類語言,精確地轉化為系統可執行查詢的「檢索式」。