# 問句分析 (Question Analysis) 問句 = input("請輸入你的問題: ") 代表問句的一組資訊詞 = 問句分析(問句) 使用者意圖 = 意圖識別(代表問句的一組資訊詞, 知識圖譜) # 片語映射 (Phrase Mapping) if (使用者意圖 == Null) 問句 = input("我不懂你的意思,請換個方式告訴我: ") else if (使用者意圖 == 特定服務) 服務所需的一組資訊詞 = 所缺的資訊詞填入預設值(代表問句的一組資訊詞) 問句資訊詞的本體 = 自然語言映射到本體(服務所需的一組資訊詞, 知識圖譜) # 查詢建構 (Query Construction) 答案的關鍵內容 = 查詢(問句資訊詞的本體, 各種API服務) 答案的本體 = 服務映射到本體(答案的關鍵內容, 知識圖譜) 一組候選答案 = 產生答案(答案的本體, 知識圖譜) # 消歧 (Disambiguation) 一組候選答案 = 消歧(一組候選答案, 服務所需的一組資訊詞) # 答案生成 (Answer Generation) 一個答案 = 排序(一組候選答案) 回答 = 轉換成自然語言(一個答案, 回答模板) print(回答)
標籤: IBM Watson
[對話式AI-1] Chatbot的類型與對比(問答、對話與閒聊系統)
由於常常跟客戶和外部工程師雞同鴨講,最後發現大家對聊天機器人的定義都不一樣;你知道Chatbot可以分成三類嗎?對話式AI專欄的第一篇,就來介紹一下「各類Chatbot的用途」,並針對「開發方法」、「特點」、「關鍵評價指標」及「應用場景」等進行深入對比,讓你一次搞懂Chatbot,不再一知半解。
類別 | 問答系統 | 任務導向對話系統 | 閒聊系統 |
英文 | Question Answering system | Task-Oriented Dialogue system | Chit-Chat Dialogue system |
功能 | 回答使用者問題 | 代替使用者完成任務 | 陪伴使用者閒聊 |
領域 | 特定領域 | 特定領域 | 開放領域 |
方法 | 基於Web檢索、基於知識庫、基於社群 | 模組化(基於規則、資料驅動)、端對端(資料驅動) | 基於檢索、基於生成 |
特點 | 單輪對話,著重問句分析(識別資訊詞) | 多輪對話,著重對話管理 | 多輪對話,著重個性化及情感分析 |
關鍵指標 | 召回率(Recall)、精確率(Precision)、F-Measure | 任務完成率、對話耗時、對話輪數、機器模擬使用者評分 | 詞重疊率、詞向量距離、機器模擬使用者評分 |
應用場景 | FAQ、教育 | 助理、訂票 | 閒聊、陪伴 |
知名案例 | IBM Watson | Siri、Google Assistant | 微軟小冰、SimSimi |
實作方法 | 基於知識庫的問答系統 | 模組化的任務導向對話系統 | 應用搜尋引擎檢索,或訓練Seq2seq模型生成 |