MLDM@LINE: 如何用機器學習技術讓聊天機器人了解你的意圖 / How to let chatbot understand your intent by machine learning

MLDM@LINE: 如何用機器學習技術讓聊天機器人了解你的意圖 / How to let chatbot understand your intent by machine learning

https://www.meetup.com/ja-JP/Taiwan-R/events/258461749
MLDM@LINE: 如何用機器學習技術讓聊天機器人了解你的意圖

53850955f15249a1a9dc49df6113e400?s=128

LINE Developers

February 18, 2019
Tweet

Transcript

  1. 2.

    Profile Image Penny Sun Data Engineer / Scientist • Bioinformatics

    • Image Processing • Big Data Engineering / Analytics • NLP penny.sun@linecorp.com
  2. 3.

    Dialog System – LINE HELP Deal With Chinese Language Transfer

    To Machine Language Let Machine Learn Sentence Intention Can We Trust Our Model? 01 02 03 04 05 Contents
  3. 6.

    Natural Language Generation (NLG) Natural Language Understanding (NLU) • Intent

    Detection • Slot Filling Dialogue Management (DM) • Dialog state tracking (DST) • Policy optimization DB Speech Recognition Speech 聊天機器人通常整合於對話系統 Dialog System ※ 資料來源: https://www.csie.ntu.edu.tw/~yvchen/doc/DeepDialogue_Tutorial.pdf Text Text / Speech / Image… Semantic Frame request_weather genre=rain, date=today 今天會下雨嗎? System Action/Policy request_location Text response 你人在哪呢?
  4. 9.

    9 I bought wrong stickers in LINE STORE, can I

    return them back? Deal With Chinese Language: Pre-processing I / bought / wrong / stickers / in / line / store / , / can / I / return / them / back / ? tokenization stemming stop words I / buy / wrong / sticker / in / line / store / , / can / I / return / them / back / ? I / buy / wrong / sticker / in / line / store / , / can / I / return / them / back / ?
  5. 10.

    10 我在LINE STORE買錯貼圖可以退貨嗎? Deal With Chinese Language: Pre-processing 我 /

    在 / line / store / 買錯 / 貼圖 / 可以 / 退貨 / 嗎 / ? tokenization stop words 我 / 在 / line / store / 買錯 / 貼圖 / 可以 / 退貨 / 嗎 / ?
  6. 11.

    11 Jieba: open source中文斷詞系統 Deal With Chinese Language: How Tokenizer

    Works? 需要斷詞處理的字串 ※ 資料來源: https://speakerdeck.com/fukuball/jieba-jie-ba-zhong-wen-duan-ci 正規式處理 Trie樹比對建立DAG圖 計算最佳切分結果 利用HMM得出未知詞 斷詞結果 我在LINE STORE買錯貼圖可以退貨嗎? 我在 LINE STORE 買錯貼圖可以退貨嗎 ? 我 / 在 / line / store / 買錯 / 貼圖 / 可 以 / 退貨 / 嗎 / ? 買錯: BE 我 / 在 / line / store / 買 / 錯 / 貼圖 / 可以 / 退貨 / 嗎 / ? 錯 0.2 買 0.1 貼 0.3 圖 0.1 圖 0.4 貼 0.2 可 0.2 可 0.4 以 0.2 以 0.5 退 0.3 貨 0.2 退 0.2 貨 0.4 嗎 0.1 嗎 0.1
  7. 14.

    14 Transfer To Machine Language: Vectorization TF-IDF: 透過 TF 和

    IDF 算每一個「詞」對每一篇「文件」的分數 (score) LDA: 降維,提取文件與詞中的概念 A: 台北 現在 有 下雨 嗎 ? 明天 會 下雨 嗎 ? B: 明天 台北 會 很冷 嗎 ? 「下雨」的 TF = 2/9, IDF = log(2/1) = log2, TF-IDF = TF x IDF = 2/9 x log2 = 0.067 文件 台北 現在 有 下雨 嗎 明天 會 很冷 ? A 1 1 1 2 2 1 1 0 2 B 1 0 0 0 1 1 1 1 1 TF-IDF LDA A: [0, 0.033, 0.033, 0.067, 0, 0, 0, 0, 0] B: [0, 0, 0, 0, 0, 0, 0, 0.033, 0] A: [X,X,X,…..,X] dim: 100 B: [X,X,X,…..,X] dim: 100 {(現在), (明天), (下雨)} -> {(1.3452 * 現在 + 0.2828 * 明天), (下雨)}
  8. 15.

    15 Transfer To Machine Language: Vectorization Word Embedding: Word2Vec •

    “you shall know a word by the company it keeps.” – Firth, 1957 f(x) -> y “大家都說林志玲正翻了” x=“林志玲”, y=“大家”,”都說”,”正”,”翻” “大家都說我正翻了” x=“我”, y=“大家”,”都說”,”正”,”翻” f(林志玲) = y = f(我), 結論: 我 = 林志玲 ※ 資料來源: https://zhuanlan.zhihu.com/p/26306795
  9. 16.

    16 Transfer To Machine Language: Vectorization Word Embedding: Word2Vec •

    當模型訓練完後,最後得到的其實是神經網絡的權重 ※ 資料來源: https://zhuanlan.zhihu.com/p/26306795
  10. 19.

    19 Let Machine Learn Sentence Intention: Classification 使用模型 Random Forest

    SVM SGD MLP/CNN 描述 • 結合多個弱學習器來 建構一個強穩的模型 • 將訓練材料表示為空間 中的點,它們被對映到 一幅圖中,由一條明確 的、儘可能寬的間隔分 開以區分兩個類別。 • 簡單但又非常高效的方 式判別式學習方法 • 成功應用到大規模和稀 疏機器學習問題上 • 受生物神經網路啟發而構建的演算法模 型。 優點 • 它比使用單個模型預 測出來的結果要精確 的多。而這種模型比 較不會發生overfit • 在非線性可分問題上表 現優秀 • 高效性 • 容易實現 (大量代碼調 整的機會) • 在語音、語義、視覺、各類遊戲(如圍 棋)的任務中表現極好 • 演算法可以快速調整,適應新的問題 缺點 • 需要大量的維護工作 • 非常難以訓練 • 很難解釋 • 需要許多超參數, 比如 正則化參數、迭代次 數 • 對特徵維度比較敏感 • 需要大量資料進行訓練 • 訓練要求很高的硬體配置 • 模型處於「黑箱狀態」,難以理解內部 機制 • 超參數與網路拓撲選擇困難。 Support Vector Machines Stochastic Gradient Descent
  11. 22.

    22 Can We Trust Our Model: LIME Model Explainer •

    Why we need a explainer? ※ 資料來源: https://arxiv.org/pdf/1602.04938.pdf
  12. 23.

    23 Can We Trust Our Model: LIME Model Explainer •

    How does LIME explainer works ? • 在每個個體附近 (Local),找出一個簡單可被理解 (Interpretable),且對任何模型 都適用 (Model-Agnostic)的決策準則 (Explanation) 你們會不會去加藝人或運動球員等等的人好 友呢?就是去找到他的真正的 fb本尊加好友 你們 運動 等等 好友 真正…. f(z) = [0.3,…] 會 去 球員 等等 fb… f(z) = [0.7,…] 你們 會 不會 去 … 好友 1 1 1 1 … 1 你們 會 不會 去 … 好友 1 0 0 0 … 1 你們 會 不會 去 … 好友 0 1 0 1 … 0 ※ 資料來源: https://arxiv.org/pdf/1602.04938.pdf
  13. 24.
  14. 26.