Amazon Lex 常見問答集
一般問題
問:什麼是 Amazon Lex?
Amazon Lex 是一種服務,用於使用語音和文字來建立交談界面。Amazon Lex 使用與 Alexa 相同的交談引擎技術支援,提供高品質的語音辨識和語言理解功能,因此可在新的和現有應用程式中加入複雜的自然語言「聊天機器人」。Amazon Lex 簡化多平台開發的工作,讓您輕鬆地將語音或文字聊天機器人發佈到行動裝置和多種聊天服務 (如 Facebook Messenger、Slack、Kik 或 Twilio SMS)。與 AWS Lambda 及 Amazon CloudWatch 的原生相互操作性,以及易於整合 AWS 平台上許多其他服務 (包括 Amazon Cognito 和 Amazon DynamoDB),這些特性讓機器人開發變得毫不費力。
問:如何開始使用 Amazon Lex?
若要開始使用 Amazon Lex,您只需登入 AWS 管理主控台,然後瀏覽到 "Artificial Intelligence" (人工智慧) 類別下的 "Lex"。您必須擁有 Amazon Web Services 帳戶才能開始使用 Amazon Lex。若您尚未擁有帳戶,註冊過程中會提示您建立帳戶。如需詳細資訊,請參閱 Amazon Lex V2 入門指南。
問:Amazon Lex 的最常見使用案例為何?
最常用案例包括:
- 自助語音助手和聊天機器人 – 建置客服中心機器人
- 資訊型機器人 – 建立可回答問題的自動化客戶支援代理器或機器人
- 應用/交易型機器人 – 建立獨立運作的披薩訂購代理器或旅遊機器人
- 企業生產力機器人 – 建立自訂機器人以連接企業資料資源
- 裝置控制機器人 – 使用 Amazon Lex 對連網裝置發出操控命令
問:Amazon Lex 如何與其他 AWS 服務搭配使用?
Amazon Lex 運用 AWS Lambda 實現意圖、使用 Amazon Cognito 進行使用者身分驗證,以及利用 Amazon Polly 將文字轉換成語音。
問:是否必須是機器學習的專家才能使用 Amazon Lex?
使用 Amazon Lex 不需要機器學習專業知識。開發人員可透過宣告方式指定交談流程,而 Amazon Lex 會處理語音辨識和自然語言理解功能。開發人員提供一些以淺顯英文表達的話語範例,另外還提供各種不同參數 (槽),利用對應的提示向使用者收集所需的資訊。之後會自動建立語言模式。
問:Amazon Lex 可在哪些 AWS 區域使用?
如需支援的 Amazon Lex AWS 區域的清單,請參閱所有 AWS 全球基礎設施的 AWS 區域表。另外,如需詳細資訊,請參閱 AWS 一般參考中的區域和端點。
問:Amazon Lex 支援的頻寬上限是多少?
Amazon Lex 可隨您的需要進行擴展,沒有頻寬限制。
問:Amazon Lex 是否是受管服務?
Amazon Lex 是全受管服務,所以您無須管理資源的擴展,也不用維護程式碼。系統會自動備份您的互動結構描述和語言模式。我們也會提供完備的版本控制功能以便於輕鬆轉返。Amazon Lex 架構不需要儲存或備份最終使用者資料。
問:Amazon Polly和 Amazon Lex 的使用時機分別為何?
Amazon Polly 可將文字輸入轉換為語音。Amazon Lex 是一種服務,用於使用語音和文字來建置交談介面。
問:Amazon Lex 是否會在一段時間後變得更聰明?
是。Amazon Lex 使用深度學習,會隨著時間不斷改進。
機器人結構
問:如何在 Amazon Lex 中建立機器人?
要建立機器人,首先要定義機器人執行的動作。這些動作是機器人需要實現的意圖。您要針對每個目標新增話語範例和槽。話語是叫用意圖的片語。槽是實現意圖所需的輸入資料。最後,您將提供必要的商業邏輯來執行動作。Amazon Lex 機器人可透過主控台和 REST API 建立。
問:是否可在用戶端上實作商業邏輯?
是。Amazon Lex 可讓您選擇將已剖析的意圖和槽傳回用戶端以實作商業邏輯。
問:如何驗證使用者輸入?
Amazon Lex 已與 AWS Lambda 深度整合,所以您可以使用初始化和驗證 codeHook 來驗證使用者輸入。每一輪的交談都會執行這個程式碼。codehook 可用來設定工作階段參數、驗證使用者輸入及自訂回應。
問:什麼是意圖?
若要建置 Amazon Lex 機器人,您需要確認一組要機器人實現的動作 (稱為「意圖」)。一個機器人可以有多個意圖。例如,「訂票」機器人可以具有進行預訂、取消預訂和審閱預訂的意圖。
問:什麼是話語?
「話語」是叫用意圖所說出或輸入的片語。例如,要叫用意圖以進行預訂,您要提供話語範例,像是「我可以預訂嗎?」
問:什麼是槽?
為了實現意圖,Amazon Lex 需要從使用者獲得一些資訊。這些資訊會擷取在「槽」中。例如,針對進行預訂的意圖,您可以將演出名稱和時間定義為槽。
問:什麼是提示?
Amazon Lex 使用提供的「提示」引出定義的「槽」。例如,要引出「時間」槽的值,可以定義「您要預訂哪一場演出時間?」這類提示。Amazon Lex 能夠透過多輪交談引出多個槽值。
問:如何實現一個動作?
Amazon Lex 與 AWS Lambda 整合以「實現」動作或商業邏輯。或者,您可以設定 Amazon Lex 將已剖析的意圖和槽值傳回用戶端以實現動作。
問:如何監控和追蹤機器人?
您可在 Amazon Lex 主控台的 “Monitoring” (監控) 儀表板上追蹤機器人的指標。目前可追蹤機器人的遺漏話語數、請求延遲和通路流量。您可以檢視機器人無法辨識的話語清單,也就是「遺漏話語」。透過這些監控功能,您可以檢視使用者與機器人的互動方式並隨著時間改進。
Automated Chatbot Designer
問:如何使用 Automated Chatbot Designer?
Automated Chatbot Designer 讓您只需幾次點按即可建立機器人設計。首先,您要透過 Lex 主控台 (或 SDK) 提供 S3 位置的連結,該位置包含您的對話記錄。Automated Chatbot Designer 之後將處理這些記錄以揭示聊天機器人設計,其中包括使用者意圖、與這些意圖相關的範例片語,以及實現它們所需的全部資訊清單。接下來,您可以檢視 Automated Chatbot Designer 所提供的結果,並新增最適合您的機器人的意圖和槽類型。
問:Automated Chatbot Designer 支援哪些記錄格式?
記錄必須採用標準化 JSON 格式並包含呼叫者和客服人員之間的對話。您可以在 Amazon Lex 文件中找到採用此格式的範例記錄。使用 Contact Lens 的 Amazon Connect 客戶可以直接使用原始格式的對話記錄。其他轉錄服務的對話記錄可能要求簡單的對話。您可以在這裡找到轉換程序的詳細資訊。
問:Automated Chatbot Designer 支援什麼語言?
Automated Chatbot Designer 支援 Amazon Lex 所支援的全部英文地區設定 (美國、英國、澳大利亞、印度、南非)。在預覽版中,Automated Chatbot Designer 支援美國英文。
建置和測試
問:「建立」機器人時會發生什麼事?
建立機器人會觸發機器學習,同時打造機器人的模式。還會建立新的意圖和槽類型。建立之後,版本不可改變。
問:如何測試 Amazon Lex 機器人?
透過主控台上的測試視窗,可測試 Amazon Lex 機器人。AWS Lambda 中實作的任何商業邏輯,也可透過這個主控台進行測試。所有支援的瀏覽器都可搭配 Amazon Lex 機器人來測試文字;而 Chrome 瀏覽器則可測試語音。
部署
問:如何建立適用於行動裝置的 Amazon Lex 機器人?
Amazon Lex 提供適用於 iOS 和 Android 的 SDK。您可利用這些開發套件為行動裝置使用案例開發機器人。可透過 Amazon Cognito 啟用使用者身分驗證。
問:如何將 Amazon Lex 機器人提供給簡訊服務?
您可將 Amazon Lex 機器人發佈到 Facebook Messenger、Slack、Kik 和 Twilio SMS 這類的簡訊平台。要發佈機器人,您可在主控台中提供身分驗證字符,我們會將它存放在安全的地方,同時提供一個回呼 URL 讓您提供給聊天服務。
問:是否必須先提交機器人通過認證才能進行部署?
您的機器人不需要在部署前取得 Amazon 的認證。
問:是否可以部署某個版本的 Amazon Lex 機器人供最終使用者使用,同時繼續開發其他版本?
是。您可以將某個機器人版本建置和部署到生產環境,同時繼續開發其他版本。Amazon Lex 機器人的每個版本都有一個 ARN。每個版本都可與不同的別名關聯。您可以使用這些工具來設定開發、模擬和生產環境。
問:是否可以選擇不同的版本部署到不同的簡訊服務?
是。您可對每個簡訊服務部署特定版本。Amazon Lex 每個版本都有一個 ARN。每個版本都可與一個別名關聯。您可使用不同的別名來部署到不同的簡訊服務。另外,也可以將多個機器人部署到同一個簡訊服務。
問:語音輸入的最長時間為何?
Amazon Lex 機器人專門設計用於請求和回應互動或持續串流對話。透過請求和回應互動,Amazon Lex 支援最長 15 秒的語音輸入。在串流對話中,跨多個回合的所有使用者輸入都在一個串流 API 呼叫中處理,長達 15 秒語音輸入 (包括靜音)。
問:是否可以設定語音輸入和文字輸入?
是,您可以選擇 PostContent API 來提供語音輸入及選擇文字輸入。
問:Amazon Lex 支援幾種語言?
目前,Amazon Lex 支援美國英文、西班牙文、法文、德文、義大利文、澳洲英文、英國英文、加拿大法文、拉丁美洲西班牙文和美國西班牙文。
問:Amazon Lex 支援哪些音訊格式?
Amazon Lex 支援的輸入音訊格式:LPCM 和 Opus;支援的輸出音訊格式:MPEG、OGG、PCM。
問:是否可在 VPC 中使用 Amazon Lex?
透過公有端點可從 VPC 存取 Amazon Lex 來建置和執行機器人。目前 Amazon Lex 不提供 VPC 端點。
問:是否可在本機存取 Amazon Lex 機器人 (也就是不需要網際網路連線)?
否。最終使用者必須透過網際網路存取 Amazon Lex 執行時間端點。
Lex V2
問:V2 增强的主控台和 API 提供了哪些可用性改進?
Lex V2 主控台和 API 使用更新的資訊架構 (IA) 來提供簡化版本控制、對機器人中多種語言的支援以及串流功能。 其他改進包括儲存部分完成的機器人組態、重新命名資源、簡化導覽、大量上傳話語和精確偵錯。
問:如何使用串流功能?
您可以使用串流 API 與 Lex 機器人進行持續串流對話。透過串流對話,機器人會持續偵聽,且可以設計為主動回應使用者中斷和暫停。例如,您可以透過傳送定期訊息 (如 "Take your time. Let me know once you are ready." [慢慢來。準備好了就告訴我。]),將機器人設定為在使用者需要更多時間回應時保持對話。
問:V2 API 的定價詳細資訊是什麼?
Amazon Lex 機器人專門設計用於請求和回應互動或持續串流對話。透過請求和回應互動,每個使用者輸入 (語音或文字) 都作為單獨 API 呼叫進行處理。在串流對話中,跨多個回合的所有使用者輸入都在一個串流 API 呼叫中處理。如需詳細資訊,請參閱 Amazon Lex 定價頁面。
問:是否可以將使用 V2 API 建立的機器人程式與 Amazon Connect 聯絡流程整合?
是,Amazon Connect 聯絡流程同時與 Lex V2 和 V1 API 搭配使用。您可以使用 Lex V2 主控台來建立機器人並將其與 Amazon Connect 整合。
問:是否可以將 V2 API 功能用於現有的機器人?
否。如果您要利用 V2 功能,將需要使用 V2 API 重新建立機器人。Lex V1 API 不相容,因為 V2 API 使用更新的資訊架構來啟用簡化資源版本控制和對機器人中多種語言的支援。轉換為 V2 API 很容易,因此請開始使用本逐步遷移指南。
問:V2 API 支援哪些區域和語言?
Amazon Lex V2 API 和增强的主控台體驗在所有現有的 8 個區域和語言中都可用,包括美國英文、西班牙文、法文、德文、義大利文、日文、澳洲英文、英國英文、加拿大法文、拉丁美洲西班牙文和美國西班牙文。如需支援 Amazon Lex 的 AWS 區域清單,請參閱 AWS 區域表。
問:在現有 API 中,是否支援新功能,如簡化版本控制和機器人中的多種語言?
否。這些功能僅適用於 V2 API。如果要利用這些功能,您可以按照本遷移指南遷移至 V2 API。
問:是否可以存取 V1 主控台?
是,您可以在 AWS 管理主控台中存取 V1 主控台。一旦進入 Lex 主控台,您就可以在 V1 與 V2 主控台之間導覽。在 V1 主控台中建立的機器人將僅在 V1 主控台內可見。在 V2 主控台中重新建立 V1 機器人之前,您將無法在 V2 主控台中存取它們。將機器人遷移至 V2 很容易,以下是逐步遷移指南。
問:如何存取 V2 主控台?
您可以按一下左側導覽列中的連結,選擇 V1 或 V2 作為主控台。
問:是否仍然可以使用 Lex V1 API?
是。仍然支援現有 Lex V1 API。您可以繼續使用它們來建置和進行機器人對話。
Amazon Alexa
問:它與 Alexa Skills Kit 有何不同?
Alexa Skills Kit (ASK) 是用來建置用於 Alexa 生態系統和裝置的技術,可讓開發人員利用所有的 Alexa 功能,像是 Smart Home and Flash Briefing API、串流音訊及豐富的 GUI 體驗。Amazon Lex 機器人支援語音和文字兩者,而且可部署到各種行動和簡訊平台。
問:是否需要喚醒字來叫用 Amazon Lex 意圖?
Amazon Lex 不支援喚醒字功能。與 Amazon Lex 整合的應用程式需負責觸發麥克風,也就是按鍵通話。
問:Amazon Lex 機器人是否可以使用 Alexa 的語音來回應?
目前我們不支援 Alexa 語音用於 Amazon Lex 回應。不過,另外還有其他 7 種語音供您選用。
問:可以從 Amazon Lex 機器人建立 Alexa 技術嗎?
Amazon Lex 提供將 Amazon Lex 機器人結構描述匯出成與 Amazon Alexa 相容之 JSON 檔案的功能。以 JSON 檔案格式下載之後,您必須登入 Alexa 開發人員入口網站,再瀏覽至 “Interaction Model” (互動模型) 索引標籤,啟動 Alexa Skill Builder,然後將機器人結構描述貼到 Alexa 技術的程式碼編輯器。更多詳細資訊和步驟,可參閱 Amazon Lex 文件。
問:匯出 Amazon Lex 機器人結構描述以便在 Alexa 技術中使用時,AWS Lambda 函數是否也會匯出並包含在機器人結構描述中?
否。只會下載機器人定義。
問:我已經使用結構描述匯出功能從 Amazon Lex 機器人建立 Alexa 技術。哪些 Alexa 平台支援 Amazon Lex 機器人結構描述?
支援 Alexa 技術的所有 Alexa 平台皆可供使用:Amazon Echo、Amazon Dot、Amazon Look、Amazon Tap、Amazon Echo Show 及任何第三方啟用 Alexa 功能的裝置。
資料和安全
問:是否會存放 Amazon Lex 處理的語音和文字輸入?AWS 如何使用這些內容?
Amazon Lex 可能會存放及使用服務所處理的語音和文字輸入,這些輸入僅用於提供及維護服務,以及開發 Amazon Lex 和其他 Amazon 機器學習/人工智慧技術並改善品質。為了持續改善 Amazon Lex 客戶體驗 (包括開發及訓練相關技術),我們必須使用您的內容。不過,我們不會使用內容中包含的任何個人識別資訊來指定產品、服務或向您或您最終使用者進行行銷。我們將您的信任、您內容的隱私和安全性放在第一優先,而且實作適當且複雜的技術和實體控制 (包括靜態加密和傳輸加密),旨在避免未授權人員存取或公開您的內容,同時確保對內容的使用絕對遵守我們對您所做的承諾。如需詳細資訊,請參閱 https://aws.amazon.com/compliance/data-privacy-faq/。您可以使用 AWS Organizations 退出政策,選擇退出使用您的內容改善和開發 Amazon Lex 和其他 Amazon 機器學習/人工智慧技術的品質。如需如何退出的資訊,請參閱管理 AI 服務退出政策。
問:是否可刪除 Amazon Lex 存放的語音和文字輸入?
是。您可以聯絡退出人員,請求刪除與您帳戶關聯的語音和文字輸入。刪除語音和文字輸入可能會降低 Amazon Lex 的使用體驗。如需如何退出的資訊,請參閱管理 AI 服務退出政策。
問:哪些人可以存取 Amazon Lex 所處理及存放的內容?
只有得到授權的員工可以存取 Amazon Lex 所處理的內容。我們將您的信任、您內容的隱私和安全性放在第一優先,而且實作適當且複雜的技術和實體控制 (包括靜態加密和傳輸加密),旨在避免未授權人員存取或公開您的內容,同時確保對內容的使用絕對遵守我們對您所做的承諾。如需詳細資訊,請參閱 https://aws.amazon.com/compliance/data-privacy-faq/。
問:我是否仍擁有經過 Amazon Lex 處理及存放的內容?
您會永久保有自己內容的擁有權,而且我們只會在取得同意的情況下,才使用您的內容。
問:Amazon Lex 處理的內容是否會移出我使用 Amazon Lex 的 AWS 區域?
Amazon Lex 處理的任何內容都會經過加密,並靜態存放在您使用 Amazon Lex 的 AWS 區域中。Amazon Lex 處理的部分內容可能會存放在其他 AWS 區域,僅用於繼續改善及開發 Amazon Lex 客戶使用體驗和其他 Amazon 機器學習/人工智慧技術。您可以聯絡 AWS Support,請求刪除與您帳戶關聯的語音和文字輸入。我們將您的信任、您內容的隱私和安全性放在第一優先,而且實作適當且複雜的技術和實體控制 (包括靜態加密和傳輸加密),旨在避免未授權人員存取或公開您的內容,同時確保對內容的使用絕對遵守我們對您所做的承諾。如需詳細資訊,請參閱 https://aws.amazon.com/compliance/data-privacy-faq/。
問:我是否可以在針對 13 歲以下兒童且受兒童線上隱私保護法令 (COPPA) 規範的網站、程式或其他應用程式上使用 Amazon Lex?
是,您必須遵守 Amazon Lex 服務條款的規範,包括您有義務依據 COPPA 提供任何必要的通知和取得任何必要的可查證家長同意,如此即可在針對 13 歲以下兒童的全部或部分網站、程式或其他應用程式使用 Amazon Lex。根據 Amazon Lex 服務條款,客戶識別為針對 13 歲以下兒童且受 COPPA 規範的全部或部分網站、程式或應用程式,Amazon Lex 將不會存放或保留其語音或文字話語資訊。
問:如何判斷我的網站、程式或應用程式是否受 COPPA 規範?
如需 COPPA 要求的資訊以及判斷您的網站、程式或其他應用程式是否受 COPPA 規範的指導,請直接參閱美國聯邦貿易委員會提供和維護的資源。這個網站也包含如何判斷某個服務 (全部或部分) 是否針對 13 歲以下兒童的相關資訊。
軟體開發套件
問:Amazon Lex 支援哪些軟體開發套件?
Amazon Lex 目前支援執行時間服務的軟體開發套件。IoS 和 Android SDK,以及 Java、JS、Python、CLI、.Net、Ruby、PHP、Go 和 CPP 都支援文字和語音輸入。
問:是否可以使用軟體開發套件來建置機器人?
您可以使用下列軟體開發套件來建置機器人:Java、JavaScript、Python、CLI、.NET、Ruby on Rails、PHP、Go 和 CPP。
支援和計費
問:Amazon Lex 可使用哪些支援?
按照您簽訂的 AWS 支援合約,可根據開發人員支援、商業支援和企業支援計畫支援 Amazon Lex。您也可以在 Amazon Lex 論壇發佈您的查詢。
問:Amazon Lex 如何計算請求數?
對 Amazon Lex 機器人的每次輸入都計為一次請求。例如,假使最終使用者在交談中向機器人提供 5 次輸入,就會視為 5 次請求進行計費。依每個請求計算用量和費用。
問:Amazon Lex 的費用為何?
開始使用 AWS 免費方案。請參閱 Amazon Lex 定價頁面了解最新的定價資訊。
問:Amazon Lex 是否包含在 AWS 免費方案內?
是。您可以免費試用 Amazon Lex。從開始使用 Amazon Lex 的那一天起算,第一年每月可以免費處理多達 10,000 個文字請求和 5,000 個語音請求。