對話機器人ChatBot綜述
主要內容
1. 模型簡介
- 基於生成 MLP
- 基於搜尋 Chatterbot、DocChat
(TFIDF、向量距離、KDtree) - 基於API
2. API 整理
3. 語料整理
4. 深度學習網路結構
專案 | git | 說明 |
---|---|---|
ChatterBot | https://github.com/gunthercox/ChatterBot | 搜尋 |
chatbot-retrieval | https://github.com/dennybritz/chatbot-retrieval/ | 生成 |
tf_chatbot_seq2seq_antilm | https://github.com/Marsan-Ma/tf_chatbot_seq2seq_antilm | anti-lm+attention |
DeepQA | https://github.com/Conchylicultor/DeepQA | web |
seq2seq | https://github.com/farizrahman4u/seq2seq | 封裝seq2seq、attention |
API 整理
圖靈機器人
網址:http://www.tuling123.com/
特點:提供場景服務
API:http://openapi.tuling123.com/openapi/api/v2
{
"reqType":0,
"perception": {
"inputText": {
"text": "附近的酒店"
},
"inputImage": {
"url": "imageUrl"
},
"selfInfo": {
"location": {
"city": "北京",
"province": "北京",
"street": "資訊路"
}
}
},
"userInfo": {
"apiKey": "",
"userId": ""
}
}
海知智慧 ruyi.ai
如意如意隨我心意,偏硬體
網址: https://ruyi.ai
API:https://api.ruyi.ai/v1/message?q=早安&app_key=APP_KEY&user_id=123456
{
"code": 0,
"msg": "ok",
"result": {
"_text": "早安",
"msg_id": "5c439ac4-8efe-491c-b31a-fbd600811cfb",
"intents": [{
"parameters": {
"service": "chat_kids"
},
"action": "早安",
"name": "問候_早安",
"result": {
"text": "早上好,心情好嗎",
"type": "dialog"
},
"outputs": [{
"type": "wechat.text",
"property": {
"text": "早上好啊!"
}
}, {
"type": "dialog",
"property": {
"text": "早安,睡的好麼",
"emotion": "calm"
}
}],
"score": "1.0",
"scoreColor": "c4",
"is_match": 1,
"id": "ecca5758-bbdf-4863-a5c1-d7089cc6f418"
}],
"meta_process_milliseconds": 65
}
}
simsimi 小賤雞
API: http://sandbox.api.simsimi.com/request.p
青雲客
天氣:msg=天氣深圳
中英翻譯:msg=翻譯i love you
歌詞⑴:msg=歌詞後來
歌詞⑵:msg=歌詞後來-劉若英
笑話:msg=笑話
計算⑴:msg=計算1+1*2/3-4
計算⑵:msg=1+1*2/3-4
域名⑴:msg=域名qingyunke.com
域名⑵:msg=qingyunke.com
IP⑴:msg=歸屬127.0.0.1
IP⑵:msg=127.0.0.1
手機⑴:msg=歸屬13430108888
手機⑵:msg=13430108888
智慧聊天:msg=你好
語料整理
英文
cornell,不多說。
小黃雞
200行,課件
1000條對話
https://github.com/warmheartli/ChatBotCourse/tree/master/chatbotv5/samples
何雲超
小米員工
https://github.com/candlewill/Dialog_Corpus
dgk_shooter_min.conv.zip
中文電影對白語料,噪音比較大,許多對白問答關係沒有對應好
<font size="">The NUS SMS Corpus
包含中文和英文簡訊息語料,據說是世界最大公開的短訊息語料ChatterBot中文基本聊天語料
ChatterBot聊天引擎提供的一點基本中文聊天語料,量很少,但質量比較高Datasets for Natural Language Processing
這是他人收集的自然語言處理相關資料集,主要包含Question Answering,Dialogue Systems, Goal-Oriented Dialogue Systems三部分,都是英文文字。可以使用機器翻譯為中文,供中文對話使用小黃雞
據傳這就是小黃雞的語料:xiaohuangji50w_fenciA.conv.zip (已分詞) 和 xiaohuangji50w_nofenci.conv.zip (未分詞)白鷺時代中文問答語料
由白鷺時代官方論壇問答板塊10,000+ 問題中,選擇被標註了“最佳答案”的紀錄彙總而成。人工review raw data,給每一個問題,一個可以接受的答案。目前,語料庫只包含2907個問答。(備份)Chat corpus repository
chat corpus collection from various open sources
包括:開放字幕、英文電影字幕、中文歌詞、英文推文保險行業QA語料庫
通過翻譯 insuranceQA產生的資料集。train_data含有問題12,889條,資料 141779條,正例:負例 = 1:10; test_data含有問題2,000條,資料 22000條,正例:負例 = 1:10;valid_data含有問題2,000條,資料 22000條,正例:負例 = 1:10
分析
shoot語料庫 電影對白
E
M 京/戲/裡/頭/
M 應/該/有/好/些/個/活/生/生/的/人/物/
E
M 他/們/不/再/完/全/按/照/舊/的/模/式/做/戲/
M 更/不/按/舊/的/模/式/做/人/
M 再/不/像/蘇/三/
M 受/了/那/麼/大/的/委/屈/
E
M 只/能/申/訴/不/許/反/抗/
M 只/許/老/老/實/實/的/蘇/三/
M 是/給/中/國/女/人/立/規/矩/的/
E
M 而/真/的/好/戲/
M 是/得/帶/著/人/打/破/人/生/的/規/矩/
E
M 邱/先/生/
M 邱/先/生/
M 您/今/天/講/的/挺/有/意/思/
M 有/些/道/理/很/深/
M 深/嗎/
E
M 我/怎/麼/覺/得/都/是/最/淺/顯/的/道/理/
M 哦/我/這/有/兩/張/戲/票/
M 不/知/道/您/有/沒/有/功/夫/賞/光/
M 馮/董/事/長/
M 嗯/
M 您/猜/怎/麼/著/啊/
M 怎/麼/著/
M 您/那/位/朋/友/他/敢/情/是/個/
M 啊/那/什/麼/
M 棒/槌/
M 棒/槌/
M 嗐/他/也/是/話/糙/理/不/糙/
M 京/戲/嘛/也/該/變/變/了/
M 啊/
E
SMS,簡訊沒有對話
<message id="3"><text>今晚肥不肥家吃飯 如果要 提前半小時跟我縮一下</text><source><srcNumber>86d1672e124b86e55b5bd5e535991406</srcNumber><phoneModel manufactuer="Apple iPhone" smartphone="unknown"/><userProfile><userID>86d1672e124b86e55b5bd5e535991406</userID><age>unknown</age><gender>unknown</gender><nativeSpeaker>yes</nativeSpeaker><country>unknown</country><city>unknown</city><experience>2 to 3 years</experience><frequency>2 to 5 SMS daily</frequency><inputMethod>Pinyin</inputMethod></userProfile></source><destination country="unknown"><destNumber>unknown</destNumber></destination><messageProfile language="zh" time="unknown" type="send"/><collectionMethod collector="Tao Chen" method="Web-based Transcription" time="2010/11"/></message>
<message id="4"><text>週六要通宵打麻將 帶點吃的喝的來</text><source><srcNumber>86d1672e124b86e55b5bd5e535991406</srcNumber><phoneModel manufactuer="Apple iPhone" smartphone="unknown"/><userProfile><userID>86d1672e124b86e55b5bd5e535991406</userID><age>unknown</age><gender>unknown</gender><nativeSpeaker>yes</nativeSpeaker><country>unknown</country><city>unknown</city><experience>2 to 3 years</experience><frequency>2 to 5 SMS daily</frequency><inputMethod>Pinyin</inputMethod></userProfile></source><destination country="unknown"><destNumber>unknown</destNumber></destination><messageProfile language="zh" time="unknown" type="send"/><collectionMethod collector="Tao Chen" method="Web-based Transcription" time="2010/11"/></message>
<message id="5"><text>我正在休息。明天有考試</text><source><srcNumber>5f2f98baf1b726ecff98f55845ad0285</srcNumber><phoneModel manufactuer="Nokia" smartphone="unknown"/><userProfile><userID>5f2f98baf1b726ecff98f55845ad0285</userID><age>unknown</age><gender>unknown</gender><nativeSpeaker>no</nativeSpeaker><country>unknown</country><city>unknown</city><experience>Less than 1 year</experience><frequency>2 to 5 SMS daily</frequency><inputMethod>Other</inputMethod></userProfile></source><destination country="unknown"><destNumber>unknown</destNumber></destination><messageProfile language="zh" time="unknown" type="send"/><collectionMethod collector="Tao Chen" method="Web-based Transcription" time="2010/11"/></message>
chatterbot語料
"trivia": [
[
"誰是美國第37屆總統?",
"理查德·尼克松"
],
[
"肯尼迪總統哪年遇刺身亡?",
"1963"
],
[
"太空競賽是哪兩個冷戰對手之間,在20世紀航天能力的霸主地位上的競爭?",
"蘇聯和美國."
],
[
"第一顆人造地球衛星的名稱是什麼?",
"斯普特尼克1號"
],
白鷺時代
0 +++$+++ shenhua8369 +++$+++ unity匯出外掛現在去哪裡下載?
1 +++$+++ GrantCheung +++$+++ https://github.com/egret-labs/egret-3d/tree/4f47a252af3436ef20078274fdf5eb955f0d0446/ExportTools
2 +++$+++ skyshow +++$+++ 如何刪除子物件
3 +++$+++ 天神仔 +++$+++ this.removeChild(this.view)
4 +++$+++ arvin0 +++$+++ 可以關閉exml打包整合嗎?
5 +++$+++ yjtx +++$+++ 你先看下 thm.json 有沒有這個 exml 檔案解析,如果有就不會再去載入 exml 了
6 +++$+++ haowangjiao +++$+++ 新手引導挖洞問題
7 +++$+++ yjtx +++$+++ rendertexture+blendmode
8 +++$+++ raphael +++$+++ 升級到4.0.1 執行egret apitest出錯
9 +++$+++ yjtx +++$+++ apitest 是2.0 升級2.5以上的檢測命令,其他的時候不可以使用,並且 4.0 不支援這個。
10 +++$+++ henry19 +++$+++ 菜鳥提問:如何在專案中引入動畫素材?
11 +++$+++ yjtx +++$+++ 先看下這些吧 http://developer.egret.com/cn/github/egret-docs/DB/dbLibs/createProject/index.html
12 +++$+++ 二兩夢想家 +++$+++ 請教一下,通過微信公眾號中的選單指引到一個webapp中。
13 +++$+++ ladeng6666 +++$+++ 這個需要自己開發微信公眾號後臺,預設的公眾號,是不允許在選單里加外鏈的
華為資料
微博形式,釋出+回覆
0##祝 各位 朋友 2012 年 萬事如意 !
1##在 家 看 某 電視臺 跨年 晚會 倒數 , 想起 2000 年 的 那 個 千禧 時刻 , 作為 大四 的 學生 , 並且 在 chinaren 做 兼職 的 工作 , 與 一 群 同學 兼 同事 到 ' 樂傑士 ' 餐廳 吃 夜宵 。 學生 的 懵懂 和 剛剛 開始 工作 的 憧憬 相 交織 , 加上 2000 這麼 一 個 整數 , 這 是 一 生 的 記憶 , 一 生 的 烙印 。 十二 年 後 , 再 祝 新年 快樂 !
2##2012 新年 鐘聲 即將 敲響 之際 , 向 關心 華為 手機 終端 的 博友們 、 朋友們 致 新年 的 祝福 ! 感謝 一 年 來 您 的 關心 與 寶貴 意見 , 這 是 我們 不斷 改進 的 強大 動力 ! 幾 天 之後 1 月 9 日 美國 拉斯維加斯 CES 展 上 , 華為 將 釋出 讓 世界 震驚 的 旗艦 智慧 手機 ! 至少 三 個 世界 No.1 ! 感謝 追求 卓越 的 研發 、 測試 與 供應鏈 兄弟 姐妹們 的 辛勤 努力 ! !
0##祝 湯 教授 新年 快樂
1##謝謝 ; 祝 你 新年 快樂
2##祝 各位 朋友 2012 年 十 有 七八 事 如意 ! 看 我 數學 文化 學得 好 吧 …
3##喜歡 教授 的 內容 , 受益匪淺 , 祝 新年 快樂 !
4##數學 文化 , 代代 傳承 !
5##祝願 我 考研 數學 得 個好 成績 ! ! !
李航微博資料集
stc_weibo同微博資料集,李航 諾亞方舟主任
ubuntu資料集
___dada____資料集
https://www.jianshu.com/p/c1865d2b911c
目前已有的資料統計(每天仍有增長-PS:由於平臺封殺,已停止收集):
單輪:600w
多輪:800w資料特點
- 可能有表情——eg:(o)/YES!
- 對話資料為短文字,字數平均長度在10以內
- 極少數的對話是其它語言,eg:英語、日語、韓語等
- 資料已去重
定價- 單輪定價:100w組/510元
- 多輪每百萬組定價(平均輪數為4.40±):(4.4-1)*510=1734
備註
- 100w起售
- 購買時如果有能力證明自己是學生的,購買一律9折,證明方式:學生證或一卡通及身份證主頁照片,承諾不儲存照片
- 對於資料仍有疑問的,可留言,在下感激不盡
- 如果大家想切實看到對話效果,可考慮買多輪資料
- 有意購買,可聯絡客服qq:3492562997。恕不討價
連結:https://www.jianshu.com/p/c1865d2b911c
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。
自己動手做聊天機器人教程
https://github.com/warmheartli/ChatBotCourse
直接獲取語料資料
如果你不想經歷上面這麼痛苦的過程,可以直接獲取我建設好的三千萬(實際是33042896條)語料檔案,考慮到個人的人工成本以及資料本身的真正價值,形式上收取9.9元的苦力費以表支援,希望大家多多理解,也算是對我的鼓勵,獲取方式比較簡單,點選下方支付按鈕(微信客戶端可用),支付9.9元,支付成功後在訂單列表中點選“傳送”會自動已通知訊息形式傳送至您的微信:點選支付
小說 txt
黑道風雲 東北往事
“上午,我和紅兵也回到了營地,到了營地,我再也按捺不住,拿起衝鋒槍
朝天狂掃了好久。大家都認為我要瘋了。只有我知道,我還沒瘋,而且,這一輩
子再也不會瘋。這一夜過後,我也成了男人。”
“而紅兵,把小花的頭交給了軍工,自己去睡了,睡的很踏實,一睡就睡了
十幾個小時。”
“小花火化時,我們都在,整容整的不錯,四肢的假肢也跟真的差不多,拍
照拍出來看起來還不錯。紅兵說的對,他把小花帶回家了,他做到了。”
那年,趙紅兵21歲,沈公子19歲半。
人民的名義
侯亮平拍了拍趙德漢肩膀,能精確到百位數,你記憶力真好。
趙德漢道:好記性不如爛筆頭嘛。侯處長,我給你說呀,我喜歡記賬,誰給我多少錢,啥時候啥地方給的,每筆賬都記得清清楚楚。
侯亮平眼睛一亮,馬上追問:那賬本呢?藏在啥地方了?
趙德漢遲疑一下,指了指天花板:主臥吊頂上邊就是賬本!
小韓迅速離去,不一會兒取回一摞包著塑料袋的賬本來。
侯亮平翻看著賬本,不由得驚歎:我的天哪,你是學會計的吧?
趙德漢帶著哭腔道:不……不是,我是學採礦的,會計是自學的!
太專業了,你自學成才啊,老趙!真心話,我都想謝謝你了!
趙德漢可憐巴巴問:侯處長,那……那能算我坦白立功吧?
京東多輪對話
==漢語對話教材==
網路結構
seq2seq
decoderOutputs, states = tf.contrib.legacy_seq2seq.embedding_rnn_seq2seq(
self.encoderInputs, # List<[batch=?, inputDim=1]>, list of size args.maxLength
self.decoderInputs, # For training, we force the correct output (feed_previous=False)
encoDecoCell,
self.vocabularySize,
self.vocabularySize,
embedding_size=self.args.embeddingSize, # Dimension of each word
feed_previous=bool(self.args.test) # When we test (self.args.test), we use previous output as next input (feed_previous)
)
attention
抗語言模型與互資訊模型
在文獻 Li et al., 2015 中提到,可以通過加入抗語言資訊或者互資訊來提高結果的BLEU和Diversity。
假設我們訓練語料的第一句話是S,而其他人的回覆是T,例如:
S:你今年幾歲了?
T:野原新之助,5歲!一般來說我們所訓練提高的概率就是P(T|S),損失函式log(P(T|S))
抗語言(anti-language)損失函式
log(P(T|S)) - log(P(T))也就是我們在提高P(T|S)的同時,需要抑制P(T)
解釋是:如果T是經常出現的句子,例如“我不知道”, 那麼P(T)就會很高。 所以我們需要人為降低P(T)出現的概率。
互資訊損失函式
log(P(T|S)) + log(P(S|T))解釋是:提高S與T的相關性。如果T是與S完全無關的回覆,例如“我不知道”,那麼P(S|T)的概率就會很低,即相關性很低。 我們的目的是獎勵S與T相關性(互資訊高)的訓練資料。
BTW:文獻中結論為,抗語言模型比互資訊模型的diversity高,而互資訊模型的BLEU更高。
引至:https://github.com/qhduan/ConversationalRobotDesign
Beam search
tensorflow 1.0 版本實現seq2seq+attention+anti-LM+Beam-search
https://github.com/Marsan-Ma/tf_chatbot_seq2seq_antilm
未來
受對話+表情識別,確實很受啟發。
蔚來汽車中控臺,
自動給我推薦。
Vivo NEC
vivo NEX 遇流氓軟體自動彈出攝像頭,“別緊張我就想看看你在幹嘛”
相關文章
- 對話系統綜述
- 對話系統任務綜述與基於POMDP的對話系統
- 智慧機器人以及智慧控制演算法綜述小論文機器人演算法
- 智慧聊天對話機器人的對比機器人
- 電話機器人是如何實現對話的?機器人
- 人機對話,不再尬聊:聊天機器人的未來機器人
- 用圖靈機器人實現的兩個機器人對話聊天圖靈機器人
- Nature 機器智慧綜述:AI如何自動生成遊戲AI遊戲
- 回顧·智慧導購對話機器人實踐機器人
- 智慧對話機器人實戰視訊教程機器人
- 揭祕任務型對話機器人(上篇)機器人
- 揭祕任務型對話機器人(下篇)機器人
- 兩個機器人聊天對話實現原始碼機器人原始碼
- Figure首發OpenAI機器人可與人類全面對話OpenAI機器人
- 「NLP-ChatBot」我們熟悉的聊天機器人都有哪幾類?機器人
- 【轉】虛擬機器VMware安裝OracleRAC.環境綜述虛擬機Oracle
- 計算器製作JAVA版(綜述)Java
- 電話機器人好用嗎?機器人
- “小會話,大學問”:如何讓聊天機器人讀懂對話歷史?會話機器人
- Spring綜述Spring
- API安全綜述API
- 聊天機器人(Chatbot)開發:自然語言處理(NLP)技術棧機器人自然語言處理
- 對話機器人框架 CommuneChatbot 釋出 v0.1.0 版機器人框架
- 打造一個window桌面應用:線上聊天對話機器人機器人
- 中電金信推出智慧對話機器人管理平臺機器人
- NGFS:金融機構環境風險分析綜述
- 萬字綜述之生成對抗網路(GAN)
- 視覺SLAM綜述視覺SLAM
- Spring Bean 綜述SpringBean
- JavaScript模板引擎綜述JavaScript
- Java集合框架綜述Java框架
- pl/sql reference綜述SQL
- (譯)haslayout 綜述(一)
- 智慧對話機器人如何設計產品主流程框架?機器人框架
- 評估智慧對話機器人的7大資料指標機器人大資料指標
- 計算機視覺入門系列(一) 綜述計算機視覺
- 「技術綜述」人臉年齡估計研究現狀
- AWS GenAI LLM Chatbot: 多模型多RAG驅動的聊天機器人解決方案AI模型機器人