$30 off During Our Annual Pro Sale. View Details »

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: 如何用機器學習技術讓聊天機器人了解你的意圖

LINE Developers
PRO

February 18, 2019
Tweet

More Decks by LINE Developers

Other Decks in Technology

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