目錄
意圖定義語言
執行定義語言
首頁 科技週邊 人工智慧 基於狀態機的聊天機器人設計經驗總結

基於狀態機的聊天機器人設計經驗總結

Apr 11, 2023 pm 06:31 PM
機器人 狀態機 聊天

為了更了解智慧機器人專案的需求和改進方向,我們常常需要研發一些工具。在我參與的多個機器人專案中,大多數都能夠成功地滿足產品需求。透過這些實踐,我們深刻認識到,如果要不斷進步和提高,就必須對現有的機器人定義語言進行重大的改進。

  • 簡化需要複雜對話流程的機器人的創建過程。
  • 最大限度地提高可重用性,透過重複使用過去已經定義過的模組和對話路徑來創建機器人

在傳統的做法中,完成這些並不容易,因為意圖定義與部分排序約束混合在一起,限制了對話路徑的自由。這對於處理「開放式」機器人(常見於FAQ樣式的機器人),其中大多數問題是獨立的且始終可用的,這已經足夠了。但對於更「封閉」的機器人來說,潛在的對話限制要多得多(例如用於從線上訂票機器人)。

基於狀態機的聊天機器人設計經驗總結

為了將聊天機器人定義語言的功能提升到一個新的水平,在一些專案中我們引進了更接近狀態機語義的DSL,並完全將意圖定義與控制機器人執行定點可用意圖的轉換規則分離,這麼做有以下優勢:

  1. 新機器人中可以復用先前的意圖,即使設定的對話路徑不同。
  2. 可以使用狀態機定義複雜的對話流,讓機器人保持清晰和精確的語意。
  3. 可以建立複雜的狀態守護來控制轉換。根據使用者輸入、即將發生的事件以及先前的資料、對話參數等,將機器人移動到新狀態。
  4. 可以使用狀態主體來儲存複雜的對話邏輯,以回應使用者請求。
  5. 可以將機器人模組化,以便在其他機器人中重複使用部分狀態機。
  6. 可以將本地回退定義為狀態行為的一部分。除了預設的全域回退,還可以將本機回退與狀態相關聯,以便在狀態上下文中處理錯誤,例如顯示一則訊息,幫助使用者回答機器人在對話中的特定狀態下提出的問題。

意圖定義語言

意圖定義現在與執行部分解耦,但仍然是單獨的子語言。對於每個意圖,我們只需提供一些訓練句子,讓機器人能夠辨識出使用者話語的意圖,並從中提取所需的參數。

舉個例子,我們有一個簡單的機器人,它只能理解兩種類型的使用者話語:問候和陳述姓名。我們可以為每種話語類型提供幾個範例句子,讓機器人學會如何辨識它們。當使用者輸入話語時,機器人會根據它的意圖執行相應的操作,並從中提取所需的參數。

intent Hello {
inputs {
"你好"
"早上好"
}
}
 
intent MyNameIs {
inputs {
"我的名字叫小明"
"我是小明"
"你可以叫我小明"
}
creates context Greetings {
set parameter name from fragment "小明" (entity any)
}
}
登入後複製

我們為每個意圖提供一些樣本句子,來訓練機器人如何識別它們。此外,在某些情況下,我們也會在上下文中收集一些參數(例如,使用者的姓名),以便日後能更個人化地回答使用者。

我們還沒有具體說明機器人應該先嘗試匹配哪個意圖,這是執行部分語言的內容。這種方法使我們能夠重複利用這些意圖(例如,在另一個機器人中,我們可能需要詢問使用者的姓名,而不僅僅是在問候意圖之後)。

執行定義語言

使用執行檔來定義一個狀態機,描述機器人如何回應意圖/事件,並且可以進行轉換。這使得機器人的設計者可以查看執行文件,並了解整個對話流程。

執行語言中的每個狀態包含 3 個部分

  • Body (可選):機器人在進入狀態時執行的反應。
  • Next (必備):定義了出站轉換,表示為 condition –> State。  當接收到事件/意圖時,會評估條件,如果滿足轉換,則執行引擎會移動到指定的狀態並執行其相應的反應。需要注意的是,轉換條件可以非常複雜。  它們是真正的守衛,這意味著如果整個條件不為真,則轉換不可導航,引擎將保持當前狀態。
  • Fallback (可選):此部分可以包含任何程式碼(就像 Body 部分一樣),如果引擎無法找到可導航的轉換,則會執行這些代碼。

執行模型還包含 2 個特殊狀態:

  • Init:是创建用户会话时进入的常规状态。它可以包含 Body、_Next_和 Fallback 部分。
  • Default_Fallback:它只能包含 Body 部分,并且不能作为转换的目标状态。该状态表示在当前状态中未定义本地回退时执行的默认回退代码。该状态可用于打印通用错误消息(例如,“抱歉,我没明白您的意思”),而本地回退则可以打印针对当前状态的定制消息(例如,“请回答是或否”)。

最后,一个状态可以定义一个单一的通配符转换(使用保留字符___作为转换条件),当计算状态主体时将自动导航。这使我们能够在多个地方重用相同的代码并模块化执行逻辑。下面是一个简单的机器人示例,它只回复问候意图,询问用户名并向用户问好。这个机器人的回复可以通过我们基于 React 的聊天小部件显示。

//We can always have an init state in case we need to initialize some bot parameters (e.g. welcoming message)
Init {
Next { 
//Here we state that the bot will first listen for an utterance matching the Hello intent, it will ignore anything else
intent == Hello --> HandleHello
}
}
HandleHello {
Body {
 ReactPlatform.Reply("你好, 你叫什么名字?")
}
Next {
//We wait for the user to input the name, no other transition is possible at this point
//Obviously, in more complex bots we may have several possible outgoing transitions in a given state
intent == MyNameIs --> HandleMyNameIs
}
}
HandleMyNameIs {
Body {
ReactPlatform.Reply("你好 " + context.get("Greetings").get("name"))
}
Next {
// An automatic transition to the Init state since at this point the conversation is finished and we can start again
_ --> Init
}
}
// Default Fallback state could go here
登入後複製


以上是基於狀態機的聊天機器人設計經驗總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1276
29
C# 教程
1256
24
2 個月不見,人形機器人 Walker S 會摺衣服了 2 個月不見,人形機器人 Walker S 會摺衣服了 Apr 03, 2024 am 08:01 AM

機器之能報道編輯:吳昕國內版的人形機器人+大模型組隊,首次完成疊衣服這類複雜柔性材料的操作任務。隨著融合了OpenAI多模態大模型的Figure01揭開神秘面紗,國內同行的相關進展一直備受關注。就在昨天,國內"人形機器人第一股"優必選發布了人形機器人WalkerS深入融合百度文心大模型後的首個Demo,展示了一些有趣的新功能。現在,得到百度文心大模型能力加持的WalkerS是這個樣子的。和Figure01一樣,WalkerS沒有走動,而是站在桌子後面完成一系列任務。它可以聽從人類的命令,折疊衣物

AI如何使機器人更具自主性和適應性? AI如何使機器人更具自主性和適應性? Jun 03, 2024 pm 07:18 PM

在工業自動化技術領域,最近有兩個熱點很難被忽視:人工智慧(AI)和英偉達(Nvidia)。不要改變原內容的意思,微調內容,重寫內容,不要續寫:「不僅如此,這兩者密切相關,因為英偉達在不僅僅局限於其最開始的圖形處理單元(GPU),正在將其GPU科技擴展到數位孿生領域,同時緊密連接著新興的AI技術。泰瑞達機器人及其MiR和優傲機器人公司。 Recently,Nvidiahascoll

第二代Ameca來了!和觀眾對答如流,臉部表情更逼真,會說幾十種語言 第二代Ameca來了!和觀眾對答如流,臉部表情更逼真,會說幾十種語言 Mar 04, 2024 am 09:10 AM

人形機器人Ameca升級第二代了!最近,在世界行動通訊大會MWC2024上,世界上最先進機器人Ameca又現身了。會場周圍,Ameca引來一大波觀眾。得到GPT-4加持後,Ameca能夠對各種問題做出即時反應。 「來一段舞蹈」。當被問及是否有情感時,Ameca用一系列的面部表情做出回應,看起來非常逼真。就在前幾天,Ameca背後的英國機器人公司EngineeredArts剛剛示範了團隊最新的開發成果。影片中,機器人Ameca具備了視覺能力,能看見並描述房間整個狀況、描述具體物體。最厲害的是,她還能

首個自主完成人類任務機器人出現,五指靈活速度超人,大模型加持虛擬空間訓練 首個自主完成人類任務機器人出現,五指靈活速度超人,大模型加持虛擬空間訓練 Mar 11, 2024 pm 12:10 PM

這週,由OpenAI、微軟、貝佐斯和英偉達投資的機器人公司FigureAI宣布獲得接近7億美元的融資,計劃在未來一年內研發出可獨立行走的人形機器人。而特斯拉的擎天柱也屢屢傳出好消息。沒人懷疑,今年會是人形機器人爆發的一年。一家位於加拿大的機器人公司SanctuaryAI最近發布了一款全新的人形機器人Phoenix。官方號稱它能以和人類一樣的速率自主完成許多工作。世界上第一台能以人類速度自主完成任務的機器人Pheonix可以輕輕地抓取、移動並優雅地將每個物件放置在它的左右兩側。它能夠自主辨識物體的

微信不顯示該聊天怎麼恢復?微信不顯示該聊天恢復方法 微信不顯示該聊天怎麼恢復?微信不顯示該聊天恢復方法 Mar 13, 2024 pm 01:50 PM

微信,作為當下最受歡迎的社交軟體之一,提供了豐富的聊天功能。但有時,我們可能會遇到「不顯示該聊天」的情況,導致某些重要對話被隱藏。要恢復這些聊天,其實很簡單。只要依照以下這些步驟操作,就能輕鬆恢復被隱藏的聊天,繼續享受微信帶來的便利交流體驗。微信不顯示該聊天怎麼恢復?微信不顯示此聊天恢復方法方法一,嘗試直接在微信的訊息清單中搜尋該聊天物件的名稱或關鍵字。如果搜尋到了,點擊進入聊天介面,這樣就可以恢復顯示該聊天了。方法二,透過好友聊天恢復:開啟微信,點選通訊錄,找到被隱藏聊天顯示的好友,點選發送訊息

人形機器人會變魔術了,春晚節目組了解一下 人形機器人會變魔術了,春晚節目組了解一下 Feb 04, 2024 am 09:03 AM

一眨眼的功夫,機器人都已經學會變魔術了?只見它先是拿起桌上的水勺,向觀眾證明了裡面什麼也沒有……然後,它又把手中雞蛋似的物體放了進去,然後把水勺放回桌子上,開始「施法」… …就在它把水勺再次拿起的時候,奇蹟發生了。原先放進去的雞蛋不翼而飛,跳出的東西變成了一個籃球……再來看一遍連貫動作:△此動圖為二倍速一套動作下來如行雲流水,只有把視頻用0.5倍速反复觀看,才終於發現其中的端倪了:如果手速再快一些,大概真的就可以瞞天過海了。有網友感嘆,機器人變魔術的程度比自己還要高:為我們表演這段魔術的,是Mag

雲鯨逍遙001掃拖機器人,長「腦子」了! | 體驗 雲鯨逍遙001掃拖機器人,長「腦子」了! | 體驗 Apr 26, 2024 pm 04:22 PM

近幾年最受消費者歡迎的智慧家電,掃拖機器人可謂是其中之一。它所帶來的操作便利性,甚至是無需操作,讓懶人們釋放了雙手,讓消費者能夠從日常的家務中「解放」出來,也能拿更多的時間花在自己喜歡的事情上,變相提高了生活品質。藉著這股熱潮,市面上幾乎所有的家電產品品牌都在做自己的掃拖機器人,一時間使得整個掃拖機器人市場熱鬧非凡。但市場的快速拓張必然會帶來一個隱患:很多廠商會採用機海戰術的方式快速佔領更多的市場份額,從而導致很多新品並沒有什麼升級點,說它是“套娃”機型也不為過。不過,並不是所有的掃拖機器人都是

塑造未來的十款類人機器人 塑造未來的十款類人機器人 Mar 22, 2024 pm 08:51 PM

以下10款類人機器人正在塑造我們的未來:1、ASIMO:ASIMO由Honda開發,是最知名的人形機器人之一。 ASIMO高4英尺,重119磅,配備先進的感測器和人工智慧功能,使其能夠在複雜的環境中導航並與人類互動。 ASIMO的多功能性使其適用於各種任務,從幫助殘疾人到在活動中進行演示。 2、Pepper:由SoftbankRobotics創建,Pepper旨在成為人類的社交伴侶。憑藉其富有表現力的面孔和識別情緒的能力,Pepper可以參與對話、在零售環境中提供幫助,甚至提供教育支持。 Pepper的

See all articles