1 分類和實現方法
a QA bot
問答機器人,有明確目標,能夠返回准取的答案
通過信息檢索的方法去完成
b task bot
任務機器人
實現
1語音轉化為文本
2意識識別分裂
3槽位填充,對話管理
4自然語言生成
5語音轉文本
c chat bot 閑聊機器人,沒有明確的目的
信息檢索
自然語言生成
2 聊天機器人的關鍵技術
聊天機器人其實就是一個自動對話系統,研究一個這樣的系統,主要研究涉及到的知識領域就是自然語言處理。一般而言,這樣的一個自動對話系統,主要包括三大模塊:輸入處理模塊、信息檢索模塊、答案的生成與過濾模塊。
(1)輸入處理模塊:語料知識庫的獲取、中文分詞、詞性標註、句法分析、問句分析、關鍵字生成、語義消岐、大規模語義計算和推理、答案類別確定。
(2)信息檢索模塊:根據輸入處理模塊生成的關鍵詞,查詢關鍵詞所信息檢索,返回句子或者段落。
(3)答案生成與過濾:通過技術分析和推理從信息檢索模塊抽取出與提問一致的應答,然後根據概率對候選答案進行排序,最後選擇一個概率最高的作為答案。
3聊天機器人的技術實現
當前聊天機器人的幾種主流技術包括:基於檢索、基於人工模板、基於機器翻譯技術、以及基於深度學習自然語言理解技術的聊天機器人。
(1)基於檢索技術:類似於搜索引擎,在製作一個這樣的聊天系統之前,需要創建一個聊天對話庫並建立索引,根據輸入的問題,在聊天對話庫中進行搜索查詢來進行模糊匹配,直到找到最適合的應答內容返回給用戶。
(2)基於人工模板:技術原理是經過人工在聊天庫中設定一些對話場景,然後根據不同場景塑造相對應的對話模板,並根據每一個問題設計其可能會出現的答案。基於這個技術的優點是精確性高,缺點是人工工作量大,可擴展性差,不同的場景要有不同的設定。目前已經存在的 Siri 對話機器人就是使用這樣的技術生成的,相比於其他技術的對話機器人其精確性非常高。
(3)基於機器翻譯:基於機器翻譯的技術實際上就是把聊天對話過程看作是機器翻譯過程,即把用戶輸入的聊天信息 Message,翻譯成聊天機器人回答 Response 的過程類似於把漢語翻譯成英語。由於機器翻譯領域的一些技術相對比較成熟,通過這樣的技術假設,就可以在聊天機器人開發中使用這些較成熟的技術。
(4)基於深度學習:基於深度學習自然語言理解技術是本文後續內容主要介紹的技術路線,總體而言,絕大多數都是在編碼-解碼(或者稱作序列-序列)的深度學習技術框架下改進的,思路比較簡單,而且可擴展。 最近自然語言處理領域出現了很多的深度學習模型:詞向量表示方面、機器翻譯方面、情感分析方面、中文分詞領域。