2021年2月8日 星期一

[NLP] 自然語言處理觀念整理-6 (主題概敘)

 

自然語言處理觀念整理-6

搜尋, 主題建模(topic), 原文摘要, 推薦, 機器翻譯

範圍太過廣泛, 本文只能介紹觀念

主題概敍分為以下幾個任務:
搜尋, 主題建模(topic), 原文摘要, 推薦, 機器翻譯

  • 搜尋: 為用戶查詢相關的內容
  • 主題建模: 尋找一組文件裡面的主題或隱含模式
  • 原文摘要: 建立原文的簡短版本
  • 推薦: 顯示相關的文章
  • 機器翻譯
  • 問題回答系統: 為查詢提供答案而非一組文件
搜尋
搜尋功能又包含了幾種任務:
  1. 拚寫糾正
  2. 相關的查詢
  3. 段落提取
  4. 傳記的資訊提取
  5. 搜尋結果分類(all, news, image, video...)
一般討論的是企業用搜尋引擎, 只搜尋機構中的內部文件
常見的工作如下:
  • 爬蟲: 如果需要外部資料
  • 原文正規化: 單元化, 小寫, 停用詞移除, 詞幹提取...
  • 建立索引: 必須將原文向量化,  TFIDF是常見的作法 or BERT取得內容向量表示法, 再根據向量距離產生最接近查詢的內容的文件
  • 指標納入引擎: 如瀏覽次數與銷售次數, 書評次數與評分, 或者用戶類型, 對書籍採取的動作 


主題建模
主題建模是業界最常見的應用之一, 常用於文章的分群聚類, 可以在原文分類時使用, 希望可以辨識文字集中的關鍵字, 且不須要先了解那些字, 例如使用TFIDF, LDA, 應用
  • 根據主題找出關鍵字來總結文件
  • 偵測一段時間的社交媒體趨勢
  • 推薦系統

LDA範例, 把文檔分為兩個topic

輸入是test.txt檔案,它是使用Jieba分詞之後的文字內容,通常每行代表一篇文件。
輸出則是這十篇文件的主題分佈,Shape(10L, 2L)表示10篇文件,2個主題 
 
[plain] view plain copy
  1. 新春 備 年貨 , 新年 聯歡晚會  
  2. 新春 節目單 , 春節 聯歡晚會 紅火  
  3. 大盤 下跌 股市 散戶  
  4. 下跌 股市 賺錢  
  5. 金猴 新春 紅火 新年  
  6. 新車 新年 年貨 新春  
  7. 股市 反彈 下跌  
  8. 股市 散戶 賺錢  
  9. 新年 , 看 春節 聯歡晚會  
  10. 大盤 下跌 散戶  
[plain] view plain copy
  1. shape: (10L, 2L)  
  2. doc: 0 topic: 0  
  3. doc: 1 topic: 0  
  4. doc: 2 topic: 1  
  5. doc: 3 topic: 1  
  6. doc: 4 topic: 0  
  7. doc: 5 topic: 0  
  8. doc: 6 topic: 1  
  9. doc: 7 topic: 1  
  10. doc: 8 topic: 0  
  11. doc: 9 topic: 1  

摘要生成
應用:
  • 報紙標題(標題又必須符合報社本身的立場)
  • 社群媒體操作(文章的小摘要吸引別人看)
  • 內容農場, 產生很多類似的文章
  • 新文章上上色摘要出來
  • 以摘要建立索引非全文, 減少索引大小
這裡有一個摘要範例(使用gensim)必須先將文字單元化(jieba, pyltp, NLTK)

萃取式摘要與抽象式摘要:
  • 萃取式: 從中挑句子, 句子不會寫錯
  • 抽象式: 經過一般消化後再重組出來, 輸入很長或輸出很長都不行 bert只能512 token, 可能要數十萬的pair訓練資料, 公司實作上很困難(困難)
  • 如果文章太長, 各段落又有各自的意義, 可以做兩層摘要, 把所有段落摘要加起來或再丟摘要一次
  • 排序每個段落或句子rank
  • 做一些排列組合讓句子更通順
  • 前一段或最後一段rank加高(baseline), 說不定還贏過生成(只能用在新聞等特定領域, 小說就不行)
  • model: top3, textRank, bert-sum-ext, transformer, BART(長文檔), t5
  • t5_model 範例, 但不敷使用
  • 常問題摘要bert=512, longformer=4096但一般GPU都跑不動了要變2048, 資料也很難前處理(困難)
  • 一個文件找摘要與多個文件找摘要

建議:
  • 生成演算法對文字大小很敏感, 如果過大的文檔建議先片段化, 非使用全文
  • 抽象式目前還在研究, 較少用於生產環境
範例套件:

推薦系統
常見如協同過濾, 根據用戶過去紀錄, 以及興趣相似用戶的資料來對用戶建議




問題回答系統
搜尋完並找出答案




Ref:
  • 自然語言處理最佳實務, O'Reilly

沒有留言:

張貼留言