聊天機器人應用實務
Practical Applications of Chatbots
簡介
Introduction
Chatbot聊天機器人分類
General Purpose
終極目標: 無所不知
Task-Oriented
負責特定工作
中文版 Eliza (心理醫師)
(Artificial Linguistic Internet Computer Entity)
訂位、打包清單
點餐、訂單追蹤
Chatbot聊天機器人技術
Rule-based (規則主導/專家模式)
作法:樣式比對(pattern matching)
Corpus-based (詞庫主導/統計模式)
作法:採用大量詞庫進行訓練
詞庫來源: crowdsourcing, wikipedia
問答集
詞庫也是問答集的形式、大數據的概念
ChatGPT橫空出世
Generative Pre-trained Transformer (GPT)
生成式AI (Generative)
預訓練 (pre-trained)
轉換器 (Transformer)
ChatGPT橫空出世
Chatbot聊天機器人架構
語音辨識
自然語言理解
狀態追蹤
自然語言產生
文字轉語音
對話策略
ChatGPT
名詞釋疑
- 任務 Task
- 預訓練 Pre-trained
- 轉換器 Transformer
自然語言處理NLP
自然語言理解 (Natural Language Understanding)
自然語言處理 NLP
命名實體辨識
Name Entity Recognition
詞類標記
Port-Of-Speech tagging
文字分類
Text Categorization
機器翻譯
Machine Translation
自然語言理解 NLU
自然語言推理
Natural language Inference
語意解析
Semantic Parsing
文字摘要
Text Summarization
情感分析
Sentiment Analysis
問答系統
Question-Answering System
對話代理
Dialogue Agent
自然語言處理 (Natural Language Processing)
名詞釋疑
文本分析基本任務: 斷詞、詞性標記、實體辨識
"我和順仔早上5點登上「福建號」"
我和<person>順仔</person>早上5點登上「<ship>福建號</ship>」
斷詞(tagger)
(命名)實體辨識
name-entity-recognition
原文
我 和 順仔 早上 5點 登上 福建號
r c nr t t v nr
詞性標記
part-of-speech
專業術語 + 分類
應用:索引、Hyperlink
任務
文本分析常見任務
情感分析(Sentiment Analysis)
負面評價Negative
這家店的售後服務完全不行
餐點還不錯啦,但是還有改進空間
中性評價neutral
中性評價neutral
正面評價positive
很讚喔,超喜歡你們家的產品
分類問題
情感分析
任務
文本分析常見任務
編碼
輸入層
隱藏層
輸出層
輸出結果分類
真實
政治宣傳
惡搞
反諷
假新聞
帶風向
片面資訊
新聞分類
分類問題
任務
文本分析常見任務
機器翻譯
迴歸問題
Transformer
輸入英文: milk drink I
輸出法文: Je bois du lait <eos>
編碼器
解碼器
編碼器輸出
解碼器輸入
<sos>: 開始符號
<eos>: 結束符號
任務
文本分析文本生成
文本生成
輸入: 一句話
輸出: 一篇短文!
經過多個語言模型...
迴歸問題
任務
預訓練
訓練資料很難取得:以訓練評價分類器為例
預訓練
語言模型language model
圖片來源: http://arXiv:2005.14165
使用「隨機梯度下降」法進行「預訓練」
各式各樣的訓練資料
同類型資料: 語意情境
預訓練
預訓練
遷移學習(transfer learning): 研究者可以專注於目標領域資料集
機器學習傳統做法
資料集1
資料集2
資料集3
任務1
任務2
任務3
Transfer Learning
來源領域任務
資料集S
來源領域知識
目標領域任務
大量
資料集T
小量
預訓練
兩階段
預訓練
預訓練
需進行編碼:
任務與預訓練編碼問題
訓練模型擅長直接處理數值資料
[編碼方法1] One-hot encoding: 一字一編號
<SOS> I played the piano
1
2
3
4
5
6
7
8
編碼
輸入層
隱藏層
輸出層
以向量表示
編號
詞彙
<SOS>
編號
0 0 0 0 0 0 0 0
One-hot encoding問題: 詞彙很多(資料稀疏)、編碼與語意無關...
dog
文本分析的詞彙很多
字詞編碼:向量很長、資料稀疏
向量長度 =詞彙數量(10000)
one-hot encoding
任務與預訓練編碼問題
One-hot encoding問題: 詞彙很多(資料稀疏)、編碼與語意無關...
one-hot encoding
字彙語意相近,不一定有比較近的「距離」
近?
遠?
Coffee跟Laptop的距離比Tea近?
任務與預訓練編碼問題
[編碼方法2]: Word Embedding(詞嵌入)
字彙語意相近,編碼必須給予比較近的「距離」
任務與預訓練編碼問題
Word Embedding
詞彙
7D to 2D
7D to 2D
維度
Word2Vec
任務與預訓練編碼問題
任務與預訓練脈絡(context)
Word Embedding就是編碼問題的解答嗎?
千金散盡還復來
令千金最近好嗎?
他向來一諾千金,說到做到
同樣的詞 會有相同的 詞嵌入
But...
同樣的詞,不同前後文,經常有不同意涵
脈絡(Context)的影響
Vaswani et al., Attention is All You Need https://arxiv.org/abs/1706.03762
自注意(self-attention)機制
Encoder
Decoder
Attention Layer
Attention Layer
Attention Layer
轉換器 Transformers模型
轉換器
96個Transformer編碼器
句子 ➠ 預測下一個字
轉換器
轉換器 Transformers模型
96個Transformer編碼器
句子 ➠ 預測下一個字
轉換器 自注意力機制(8/9)
Key
Query
Value
轉換器
轉換器? Transformer運作
輸入:Anthony Hopkins admired Michaeal Bay as a great director.
RNN循環神經網路
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
依序
↓
Transformer
平行
↑
平行
↑
平行
↑
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
詞嵌入
Transformers架構可採用平行計算
聊天機器人應用實務-第一課
By Leuo-Hong Wang
聊天機器人應用實務-第一課
- 159