建立 Amazon Lex 聊天機器人

更新於 發佈於 閱讀時間約 6 分鐘

Amazon Lex 是 AWS 的一項服務,可以利用語音、文字在應用程式建立對話式介面。Amazon Lex 採用與 Alexa 相同的技術支援,具備自然語言了解 (NLU) 和自動語音辨識 (ASR) 的功能,能學習理解使用者輸入的意思,並呼叫相對應的功能以滿足使用者需求,打造進行逼真、互動式交談的交談環境。

本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex!

Amazon Lex 聊天機器人的 5 大元素

在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項:

  • 意圖 (Intent):使用者想要執行的操作
  • 範例表達 (Utterance):能夠觸發操作的使用者輸入
  • 提示 (Prompt):由聊天機器人發出、目的在於請求完成操作所需資料的訊息
  • 位置 (Slot):完成操作所需的輸入資料
  • 履行 (Fulfillment):根據使用者請求完成的操作

以本篇文章想要建立的訂飲料聊天機器人而言,上面提到 5 個建立 Lex 聊天機器人的元素分別可以對應到:

  • 意圖:使用者想要訂飲料
  • 範例表達:使用者在互動介面輸入「我想要訂飲料」
  • 提示:聊天機器人詢問使用者「你想要喝什麼」
  • 位置:使用者輸入飲料名稱
  • 履行:聊天機器人回覆飲料訂購完成,並結束對話

是不是很容易理解呢?但是!在筆者寫文章的當下 Amazon Lex 只支援 10 種語言,其中不包括中文,所以待會兒的實作會以中文操作介面進行,以英語作為主要的輸入語言。

[建立] Amazon Lex Bot

Step 1: 預備動作

  • 在 AWS 主控台搜尋「Lex」
  • 點擊〔開始使用 Amazon Lex〕
  • 點擊〔Get Started〕
  • 點擊〔建立機器人〕
圖2、建立機器人

圖2、建立機器人

Step 2: 機器人設定

  • 選擇〔建立空白的機器人〕
  • 輸入機器人名稱,例如 orderDrinks
  • 選擇〔使用基本的 Amazon Lex 許可建立角色〕
  • COPPA 的部分選擇〔沒有〕
  • 設定閒置工作階段逾時為 5 分鐘
  • 頁面拉至最下面,點擊〔下一個〕

Step 3: 新增語言

  • 頁面拉至最下面,點擊〔完成〕

建立機器人後,系統會跳轉到新增意圖的地方

Step 4: 修改意圖 (Intent)

  • 將意圖名稱改為可以辨識的名稱,例如 OrderDrinks
圖3、修改意圖名稱

圖3、修改意圖名稱

  • 新增表達範例 (Utterance),例如 drinks, please
  • 點擊右下方橘色的〔儲存意圖〕
圖4、新增表達範例

圖4、新增表達範例

Amazon Lex 內建日期、時間、地點等位置類型,如果有需要特殊的類型,例如飲料類型,我們也可以自己另外在 Lex 的控制台中建立。

Step 5: 新增位置類型

  • 開啟左側清單,點擊〔返回意圖清單〕
圖5、返回意圖清單

圖5、返回意圖清單

  • 點擊左側清單中的〔位置類型〕
  • 點擊右上方的〔新增位置類型〕>〔新增空白位置類型〕
圖6、新增位置類型

圖6、新增位置類型

  • 輸入位置名稱,例如 drinkTypes
  • 點擊〔新增〕
  • 在位置類型值的地方新增飲料種類,例如 milk
  • 點擊〔儲存位置類型〕
圖7、輸入位置名稱

圖7、輸入位置名稱

Step 6: 完成尚未編輯完的意圖

  • 回到方才 OrderDrinks 的編輯頁面
  • 頁面下拉到位置,點擊〔新增位置〕
  • 輸入位置名稱,例如 drinkTypes
  • 位置類型選擇方才建置的〔drinkTypes〕
  • 輸入提示,例如 What kind of drinks do you want?
  • 點擊〔新增〕
圖8、新增位置

圖8、新增位置

  • 輸入確認提示和拒絕回應
圖9、確認提示和拒絕回應

圖9、確認提示和拒絕回應

上圖中 {drinkTypes} 代表的是在聊天機器人詢問「What kind of drinks do you want?」後,使用者輸入的飲料名稱。

  • 輸入履行 (Fulfillment) 時的回覆
圖10、輸入履行時的回覆

圖10、輸入履行時的回覆

  • 輸入關閉回應
圖11、輸入關閉回應

圖11、輸入關閉回應

Step 7: 建置與測試

  • 點擊〔儲存意圖〕
  • 點擊〔建置〕
  • 點擊〔測試〕
圖12、建置與測試

圖12、建置與測試

點擊測試後,網頁右方會跳出簡易的聊天視窗,我們可以在此測試聊天機器人。

圖13、測試聊天機器人

圖13、測試聊天機器人

由於 Lex 內建自然語言了解的功能,所以就算使用者的輸入和我們預設的內容稍有不同,Lex 能協助判斷內容並給出適當回應。

圖14、Lex 協助判斷場景1

圖14、Lex 協助判斷場景1

圖15、Lex 協助判斷場景2

圖15、Lex 協助判斷場景2

結語

這篇文章透過 Amazon Lex 建立了一個簡單的聊天機器人,文章當中只使用到幾個 Lex 最基本的功能,若是讀者們有興趣,可以再接續研究如何讓聊天機器人詢問使用者冰塊甜度、如何處理使用者答非所問的情況,或是更進一步了解如何搭配 Lambda 和其他 AWS 服務將聊天機器人部署在現實生活中的場合。

延伸閱讀

Amazon Lex 開發人員指南

使用 AWS 建立 .NET 機器人

參考資料

用 Amazon Lex 建立聊天機器人,以銀行客服機器人為例







留言
avatar-img
留言分享你的想法!
avatar-img
AWS Educate的沙龍
20會員
29內容數
AWS Startup Content Team
AWS Educate的沙龍的其他內容
2022/04/26
什麼是 serverless (無伺服器運算)? 無伺服器運算是一種開發架構,允許開發者在不用管理伺服器的情況下建置部署和執行應用程式。無伺服器運算裡仍然有伺服器,只是伺服器是由雲端服務供應商負責處理配置、維護、拓展伺服器基礎設施的日常工作,開發者可以專注於開發程式碼。
Thumbnail
2022/04/26
什麼是 serverless (無伺服器運算)? 無伺服器運算是一種開發架構,允許開發者在不用管理伺服器的情況下建置部署和執行應用程式。無伺服器運算裡仍然有伺服器,只是伺服器是由雲端服務供應商負責處理配置、維護、拓展伺服器基礎設施的日常工作,開發者可以專注於開發程式碼。
Thumbnail
2022/04/19
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
Thumbnail
2022/04/19
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
Thumbnail
2022/03/12
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
Thumbnail
2022/03/12
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
使用 AWS Chatbot 的 Slack 結合使用 Amazon Q ,可以從 Slack 中提問。 實作開始 來到 AWS Chatbot,Chat client 選擇 Slack 點擊後,會跳到 Slack 授權 新增工作區後,需新增channel 輸入名子跟 Channel
Thumbnail
使用 AWS Chatbot 的 Slack 結合使用 Amazon Q ,可以從 Slack 中提問。 實作開始 來到 AWS Chatbot,Chat client 選擇 Slack 點擊後,會跳到 Slack 授權 新增工作區後,需新增channel 輸入名子跟 Channel
Thumbnail
Hi, 大家好。我是茶桁。 在之前的课程中,我们接触了AI进行文字回复,语音合成。 那么将这两个组合在一起,我们基本就可以制作一个智能的语音聊天机器人了。看过电影《Her》的同学都应该清楚,AI因为用了女神斯嘉丽.约翰逊的配音,吸引到了不少的观众。 不过, 我们怎么能就满足于此呢,从文字到音频
Thumbnail
Hi, 大家好。我是茶桁。 在之前的课程中,我们接触了AI进行文字回复,语音合成。 那么将这两个组合在一起,我们基本就可以制作一个智能的语音聊天机器人了。看过电影《Her》的同学都应该清楚,AI因为用了女神斯嘉丽.约翰逊的配音,吸引到了不少的观众。 不过, 我们怎么能就满足于此呢,从文字到音频
Thumbnail
本文詳述如何將大型語言模型(LLM)與程式碼深度整合,運用於3C賣場的客服助理示例,透過接收並解析使用者訊息,提取產品資訊,並與後端產品資料庫整合。接著,將整合資訊回傳給LLM生成最終回應訊息。同時,也探討了中英文理解差距及解決方法,並展示如何利用Python模擬資料庫提取詳細資訊。
Thumbnail
本文詳述如何將大型語言模型(LLM)與程式碼深度整合,運用於3C賣場的客服助理示例,透過接收並解析使用者訊息,提取產品資訊,並與後端產品資料庫整合。接著,將整合資訊回傳給LLM生成最終回應訊息。同時,也探討了中英文理解差距及解決方法,並展示如何利用Python模擬資料庫提取詳細資訊。
Thumbnail
這堂課闡述開發ChatGPT所需的重要概念和工具。涵蓋語言模型如何處理文字(Token),LLM的兩種類型(Base LLM和Instruction tuned LLM),系統、助手和用戶的角色定義。並介紹以Prompting簡化AI開發流程,且透過實戰教學說明如何進行分類和預防注入提示
Thumbnail
這堂課闡述開發ChatGPT所需的重要概念和工具。涵蓋語言模型如何處理文字(Token),LLM的兩種類型(Base LLM和Instruction tuned LLM),系統、助手和用戶的角色定義。並介紹以Prompting簡化AI開發流程,且透過實戰教學說明如何進行分類和預防注入提示
Thumbnail
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
Thumbnail
由于 ChatGPT 的出現讓我們看到了聊天機器人的新可能性,我們這篇文章的目的,就是要來製作第一個屬於自己的聊天機器人。 我們先來準備範例的程式碼,並且稍後會再跟大家介紹要設計自己的 ChatGPT 聊天機器人的重要概念。 初始專案與環境設定 下載程式碼 請先使用下面這一段指令下載我們的範例程式碼
Thumbnail
前言 ChatGPT 的熱門程度早已想當然而,企業們爭相開始導入 OpenAI 技術的應用,好比進入了 AI 群雄割據的年代,不過 Microsoft Copilot 的主權宣示,這個重視高生產力時代,將會暫時遠離一場腥風血雨的爭鬥。 回歸本次的主角「AI 客服機器人」,筆者將他應用於課程回覆的狀況
Thumbnail
前言 ChatGPT 的熱門程度早已想當然而,企業們爭相開始導入 OpenAI 技術的應用,好比進入了 AI 群雄割據的年代,不過 Microsoft Copilot 的主權宣示,這個重視高生產力時代,將會暫時遠離一場腥風血雨的爭鬥。 回歸本次的主角「AI 客服機器人」,筆者將他應用於課程回覆的狀況
Thumbnail
如果常常遇到顧客詢問相同的問題,或是打烊期間沒有辦法即時回覆顧客 這時候就可以設定自動回覆訊息幫店家減輕回覆人力,也不會讓顧客覺得怎麼都沒有人回應喔! 如果!!又不想讓客戶感覺在跟機器人對話 想在空閒時間可以回覆客戶,聊天功能要先開啟喔! 確定什麼時間才可以回覆顧客後,就可以開始設定回應的
Thumbnail
如果常常遇到顧客詢問相同的問題,或是打烊期間沒有辦法即時回覆顧客 這時候就可以設定自動回覆訊息幫店家減輕回覆人力,也不會讓顧客覺得怎麼都沒有人回應喔! 如果!!又不想讓客戶感覺在跟機器人對話 想在空閒時間可以回覆客戶,聊天功能要先開啟喔! 確定什麼時間才可以回覆顧客後,就可以開始設定回應的
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News