基本概念
- Word Embedding
- Word2vec:
- 可以透過 gensim 實作
- BERT
- Word2vec:
- 詞袋模型 (Bag of Words Model)
- Topic Model
- LDA
- NMF
- Utterance: 句子
- Tokenizer
- Jieba
- hanlp
- ckiptagger
- SOTA model
- State of the art
- 机器之心SOTA 根據不同領域找出 SOTA 模型
RNN
- seq2seq
- GRU: 比 LSTM 快並且不損失太多精準度
- LSTM
預訓練模型 (Pretrained Transformers)
- Summary of the models — transformers 4.7.0 documentation
- BERT
- 句子 (utterance) 相似度:
- Sentence-Transformers
- Fine-tuning
- 位置嵌入
Chatbot
根據領域分類
- Open Domain
- Close Domain
根據目標
-
Task oriented chatbot
- 框架: rasa
- 助理機器人
-
Chit-chat bot
- Xiaoice: 大多數是 Retrieval based
- Kuki: AIML
根據回應方法
- Rule based (ex: AIML)
- Pandorabots / Kuki / Mitsuku
- Retrieval based
- Xiaoice 70% response
- Generative Models
- seq2seq chatbot
- DialoGPT: 微軟的對話模型
- yangjianxin1/GPT2-chitchat: GPT2 for Chinese chitchat/用于中文闲聊的GPT2模型(实现了DialoGPT的MMI思想)
Dialogue
模塊
- Natural Language Understanding (NLU)
- Intent: 意圖
- Natural Language Generation (NLG)
- Response Selector
- Conversational Response Selection | Papers With Code 可以找到近期的 SOTA
檢索系統
- Lucene
- ElasticSearch 或 Solr
- facebookresearch/faiss: A library for efficient similarity search and clustering of dense vectors.
chatbot 框架
Rasa 如何開啟多個 NLU 伺服器,並且佔用最少資源
rasa run two model
rasa 如果要用 action server 觸發 event ,必須使用 aiohttp 而不是 requests 後者會導致阻塞的問題
rasa 的 DM 可以 直接輸入 message ,而不必全部仰賴意圖
安裝 rasa x 1.1.4
由於官方社區版只支援 rasa x 1.1.x,查看兼容矩陣後,我們可以安裝 rasa-x==1.1.4
和 rasa==3.1.7
註,以下並非官方建議的安裝方法(棄用方法),但安裝上簡單夠用
pip install rasa-x==1.1.4 --extra-index-url https://pypi.rasa.com/simple
pip install rasa==3.1.11
接下來只需要解決 dependency 的問題
pip install pyparsing==2.4.2
其他注意事項
- 關於登入網址
An error occurred while handling an error rasa
,似乎不能直接使用 cli 給的連結,回到 http://localhost 另外登入就可解決,密碼用 cli 提供的 - 如果是從 rasa 2.x 遷移到 3.x ,那需要修改所有的訓練資料到
version: "3.0"
並且修改自定義的 compoments,那要怎麼修改可以參考官方的 source - rasa 1.1 有一些 bug,比如沒辦法選擇部分的中文字,還沒有找到解決方法
NLP Transformer Chatbot Tokenizer seq2seq RNN