建立 Amazon Lex 聊天機器人

閱讀時間約 5 分鐘
Amazon Lex 是 AWS 的一項服務,可以利用語音、文字在應用程式建立對話式介面。Amazon Lex 採用與 Alexa 相同的技術支援,具備自然語言了解 (NLU) 和自動語音辨識 (ASR) 的功能,能學習理解使用者輸入的意思,並呼叫相對應的功能以滿足使用者需求,打造進行逼真、互動式交談的交談環境。
本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex!

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

在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項:
  • 意圖 (Intent):使用者想要執行的操作
  • 範例表達 (Utterance):能夠觸發操作的使用者輸入
  • 提示 (Prompt):由聊天機器人發出、目的在於請求完成操作所需資料的訊息
  • 位置 (Slot):完成操作所需的輸入資料
  • 履行 (Fulfillment):根據使用者請求完成的操作
圖1、Amazon Lex 聊天機器示意圖(Source: https://aws.amazon.com/tw/lex/features/)
以本篇文章想要建立的訂飲料聊天機器人而言,上面提到 5 個建立 Lex 聊天機器人的元素分別可以對應到:
  • 意圖:使用者想要訂飲料
  • 範例表達:使用者在互動介面輸入「我想要訂飲料」
  • 提示:聊天機器人詢問使用者「你想要喝什麼」
  • 位置:使用者輸入飲料名稱
  • 履行:聊天機器人回覆飲料訂購完成,並結束對話
是不是很容易理解呢?但是!在筆者寫文章的當下 Amazon Lex 只支援 10 種語言,其中不包括中文,所以待會兒的實作會以中文操作介面進行,以英語作為主要的輸入語言。

[建立] Amazon Lex Bot

Step 1: 預備動作

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

Step 2: 機器人設定

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

Step 3: 新增語言

  • 頁面拉至最下面,點擊〔完成〕
建立機器人後,系統會跳轉到新增意圖的地方

Step 4: 修改意圖 (Intent)

  • 將意圖名稱改為可以辨識的名稱,例如 OrderDrinks
圖3、修改意圖名稱
  • 新增表達範例 (Utterance),例如 drinks, please
  • 點擊右下方橘色的〔儲存意圖〕
圖4、新增表達範例
Amazon Lex 內建日期、時間、地點等位置類型,如果有需要特殊的類型,例如飲料類型,我們也可以自己另外在 Lex 的控制台中建立。

Step 5: 新增位置類型

  • 開啟左側清單,點擊〔返回意圖清單〕
圖5、返回意圖清單
  • 點擊左側清單中的〔位置類型〕
  • 點擊右上方的〔新增位置類型〕>〔新增空白位置類型〕
圖6、新增位置類型
  • 輸入位置名稱,例如 drinkTypes
  • 點擊〔新增〕
  • 在位置類型值的地方新增飲料種類,例如 milk
  • 點擊〔儲存位置類型〕
圖7、輸入位置名稱

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

  • 回到方才 OrderDrinks 的編輯頁面
  • 頁面下拉到位置,點擊〔新增位置〕
  • 輸入位置名稱,例如 drinkTypes
  • 位置類型選擇方才建置的〔drinkTypes〕
  • 輸入提示,例如 What kind of drinks do you want?
  • 點擊〔新增〕
圖8、新增位置
  • 輸入確認提示和拒絕回應
圖9、確認提示和拒絕回應
上圖中 {drinkTypes} 代表的是在聊天機器人詢問「What kind of drinks do you want?」後,使用者輸入的飲料名稱。
  • 輸入履行 (Fulfillment) 時的回覆
圖10、輸入履行時的回覆
  • 輸入關閉回應
圖11、輸入關閉回應

Step 7: 建置與測試

  • 點擊〔儲存意圖〕
  • 點擊〔建置〕
  • 點擊〔測試〕
圖12、建置與測試
點擊測試後,網頁右方會跳出簡易的聊天視窗,我們可以在此測試聊天機器人。
圖13、測試聊天機器人
由於 Lex 內建自然語言了解的功能,所以就算使用者的輸入和我們預設的內容稍有不同,Lex 能協助判斷內容並給出適當回應。
圖14、Lex 協助判斷場景1
圖15、Lex 協助判斷場景2

結語

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

延伸閱讀

參考資料

為什麼會看到廣告
avatar-img
20會員
29內容數
AWS Startup Content Team
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
AWS Educate的沙龍 的其他內容
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
本篇文章要介紹的是 AWS 的雲端運算服務 —— Amazon Elastic Compute Cloud (EC2),文末也會帶領讀者使用 EC2 建立 Web Server。
【人物專訪】企劃是由 AWS Educate PR Team 主導的一項全新計畫!! 這次人物專訪邀請到的是在104資訊科技擔任Data Engineer的Scott Hsieh來與我們分享雲端學習和使用經驗,同時他也是AWS Community builder Program的成員之一。
十分榮幸本次能夠邀請到雲端大使偉傑與我們分享雲端相關的所見所聞,以及擔任大使期間的豐富經驗及心得,下文以四大主軸回顧本場精彩的分享。
本篇文章要和大家介紹的是 AWS 的重量級核心服務之一 —— Amazon Simple Storage Service (因為名字有3個 S 簡稱 S3),S3屬於物件儲存,會依據資料的頻繁度把資料存放到相應類別。
很榮幸 AWS Educate Ambassador 在 11 月份邀請到 Vocus 方格子的創辦人翁子騏先生與我們分享媒體產業的演進史、方格子作為新興媒體的理念與經營策略、以及踏上創業路的心路歷程,本文以三大主軸回顧本場精彩的分享!
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
本篇文章要介紹的是 AWS 的雲端運算服務 —— Amazon Elastic Compute Cloud (EC2),文末也會帶領讀者使用 EC2 建立 Web Server。
【人物專訪】企劃是由 AWS Educate PR Team 主導的一項全新計畫!! 這次人物專訪邀請到的是在104資訊科技擔任Data Engineer的Scott Hsieh來與我們分享雲端學習和使用經驗,同時他也是AWS Community builder Program的成員之一。
十分榮幸本次能夠邀請到雲端大使偉傑與我們分享雲端相關的所見所聞,以及擔任大使期間的豐富經驗及心得,下文以四大主軸回顧本場精彩的分享。
本篇文章要和大家介紹的是 AWS 的重量級核心服務之一 —— Amazon Simple Storage Service (因為名字有3個 S 簡稱 S3),S3屬於物件儲存,會依據資料的頻繁度把資料存放到相應類別。
很榮幸 AWS Educate Ambassador 在 11 月份邀請到 Vocus 方格子的創辦人翁子騏先生與我們分享媒體產業的演進史、方格子作為新興媒體的理念與經營策略、以及踏上創業路的心路歷程,本文以三大主軸回顧本場精彩的分享!
你可能也想看
Google News 追蹤
傳統的聊天機械人主要承擔基礎客服的角色,但隨着ChatGPT的出現,如今越來越多聊天機械人工具已經可以根據用戶的個性化需求提供定製化服務。 比如,將聊天機械人應用於網頁設計,可以極大地改變用戶與網站的互動方式,從而提高用戶效率和滿意度。此外,設計師在考慮聊天機械人的應用時,可以嘗試將智能問答、
01 基礎大語言模型 02 代理人輪廓 Agent Profiles 03 代理人工具與行動 Agent Tools and Actions 04 建立代理人平台 Build Agent Platforms 05 知識與記憶 Knowledge and Memory
背後的機制是: 人類用戶:設定目標 AI Agent:定義任務排序任務 (Defining and Sequencing Tasks),執行任務 (Task Execution),評估 (Evaluation) 而這途中,AI Agent可以使用大語言模型,可以使用網路,可以使用其他工具。
跟 AI 機器人表達自己的需求實際上是在訓練自己的表達能力。明確向對方說你的目的是什麼,給予什麼樣的參考資料和範本。最後要求對方產出的作品是什麼。這樣的流程不論是講給 AI 或人類都很重要。那些會說 AI 很難用的人,或許現實中也常常覺得別人怎麼都聽不懂自己想說什麼,這種人即使跟 AI 表達需求,
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
Thumbnail
  前陣子我花了一些時間學習 SageMaker 的相關使用,但除了 SageMaker外,AWS 中尚有大量的機器學習相關服務,剛好趁此機會好好的統整分類一下,後續也能作為選擇學習目標的依據。
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
在當今競爭激烈的市場中,提供優質的客戶服務已經成為企業成功的關鍵。隨著科技的不斷發展,AI聊天機器人作為一種創新的客服解決方案,正以其高效、便捷的特性受到越來越多企業的青睞。
在進入人工智能時代的今天,聊天機器人已經成為不可或缺的新形態。這些機器人不僅僅是科技的產物,更是智能化生活的一部分。它們不僅可以在日常生活中提供幫助,還能夠增進人機互動的自然性和智能性,從而改變我們的生活方式。
Thumbnail
Chatbots 是一種模擬人類對話的電腦程式,通常透過文字或語音互動進行。隨著自然語言處理 (NLP) 和人工智慧 (AI) 技術的發展,Chatbots 在各個產業的應用日益廣泛。根據 Tidio 的研究,Chatbots 在五大產業中的應用主要集中在這些領域...
傳統的聊天機械人主要承擔基礎客服的角色,但隨着ChatGPT的出現,如今越來越多聊天機械人工具已經可以根據用戶的個性化需求提供定製化服務。 比如,將聊天機械人應用於網頁設計,可以極大地改變用戶與網站的互動方式,從而提高用戶效率和滿意度。此外,設計師在考慮聊天機械人的應用時,可以嘗試將智能問答、
01 基礎大語言模型 02 代理人輪廓 Agent Profiles 03 代理人工具與行動 Agent Tools and Actions 04 建立代理人平台 Build Agent Platforms 05 知識與記憶 Knowledge and Memory
背後的機制是: 人類用戶:設定目標 AI Agent:定義任務排序任務 (Defining and Sequencing Tasks),執行任務 (Task Execution),評估 (Evaluation) 而這途中,AI Agent可以使用大語言模型,可以使用網路,可以使用其他工具。
跟 AI 機器人表達自己的需求實際上是在訓練自己的表達能力。明確向對方說你的目的是什麼,給予什麼樣的參考資料和範本。最後要求對方產出的作品是什麼。這樣的流程不論是講給 AI 或人類都很重要。那些會說 AI 很難用的人,或許現實中也常常覺得別人怎麼都聽不懂自己想說什麼,這種人即使跟 AI 表達需求,
Thumbnail
  這回來介紹 AWS 在目前生成式 AI 各種群魔亂舞下推出的 Bedrock 服務,其官網說明可以快速且傻瓜式的部屬生成式 AI 到你的應用上,看看是不是如其所述的功能強大。
Thumbnail
  前陣子我花了一些時間學習 SageMaker 的相關使用,但除了 SageMaker外,AWS 中尚有大量的機器學習相關服務,剛好趁此機會好好的統整分類一下,後續也能作為選擇學習目標的依據。
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
在當今競爭激烈的市場中,提供優質的客戶服務已經成為企業成功的關鍵。隨著科技的不斷發展,AI聊天機器人作為一種創新的客服解決方案,正以其高效、便捷的特性受到越來越多企業的青睞。
在進入人工智能時代的今天,聊天機器人已經成為不可或缺的新形態。這些機器人不僅僅是科技的產物,更是智能化生活的一部分。它們不僅可以在日常生活中提供幫助,還能夠增進人機互動的自然性和智能性,從而改變我們的生活方式。
Thumbnail
Chatbots 是一種模擬人類對話的電腦程式,通常透過文字或語音互動進行。隨著自然語言處理 (NLP) 和人工智慧 (AI) 技術的發展,Chatbots 在各個產業的應用日益廣泛。根據 Tidio 的研究,Chatbots 在五大產業中的應用主要集中在這些領域...