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. 如何用機器學習技術讓聊天機器人了解你的意圖 How to let chatbot understand your intent by machine

    learning Penny Sun / LINE Taiwan Engineer 2019.02.18
  2. Profile Image Penny Sun Data Engineer / Scientist • Bioinformatics

    • Image Processing • Big Data Engineering / Analytics • NLP penny.sun@linecorp.com
  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
  4. 4 Dialog System – LINE HELP LINE捨棄了用LUIS,API.ai等熱門的方法,用機器學習 (ML)技術土法煉鋼的做了一個有自然語言處 理 (NLP)能力的客服聊天機器人

    (LINE小幫手),來解決大量的客服問題。 01
  5. LINE客服聊天機器人,用文字對話的方式來詢問LINE相關問題 LINE HELP …而已嗎?

  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 你人在哪呢?
  7. 判斷使用者說的話是屬於哪個類別 Intent Classification 美食 政治 體育 用分類器 (classifier)來實現意圖偵測 Intent Detection

    QA
  8. 8 Deal With Chinese Language Pre-processing: Tokenization 02

  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 / ?
  10. 10 我在LINE STORE買錯貼圖可以退貨嗎? Deal With Chinese Language: Pre-processing 我 /

    在 / line / store / 買錯 / 貼圖 / 可以 / 退貨 / 嗎 / ? tokenization stop words 我 / 在 / line / store / 買錯 / 貼圖 / 可以 / 退貨 / 嗎 / ?
  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
  12. 中文斷詞 訓練材料 的準備 錯字 主要遇到的問題 Deal With Chinese Language: Key

    Problems
  13. 13 Transfer To Machine Language Vectorization: Word Embedding 03

  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 * 明天), (下雨)}
  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
  16. 16 Transfer To Machine Language: Vectorization Word Embedding: Word2Vec •

    當模型訓練完後,最後得到的其實是神經網絡的權重 ※ 資料來源: https://zhuanlan.zhihu.com/p/26306795
  17. 訓練文本 特徵向量 維度大小 主要遇到的問題 Transfer To Machine Language: Key Problems

  18. 18 Let Machine Learn Sentence Intention Classification 04

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

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

    Key Problems
  21. 21 Can We Trust Our Model? Model Explainer: LIME 05

  22. 22 Can We Trust Our Model: LIME Model Explainer •

    Why we need a explainer? ※ 資料來源: https://arxiv.org/pdf/1602.04938.pdf
  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
  24. 24 Can We Trust Our Model: LIME Model Explainer •

    Apply Explainer to NLU Task
  25. 好的訓練材料 好的斷詞 好的特徵 好的模型 想得到好的意圖分類結果 Keynotes

  26. THANK YOU

  27. WE ARE HIRING! https://career.linecorp.com/linecorp/zh-hant/career/list?classId=228&locationCd=TW