使用 APIs 進行分析 - Amazon Lex

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 APIs 進行分析

本節說明您用來擷取機器人分析API的操作。

注意

若要使用 ListUtteranceMetricsListUtteranceAnalyticsData,您的IAM角色必須具有執行 ListAggregatedUtterances操作的許可,這可讓您存取與語音相關的分析。如需詳細資訊和要套用至IAM角色IAM的政策,從 Lex V2 對話檢視語音統計資料請參閱 。

篩選結果

分析API請求需要您指定 startTimeendTime。會API傳回在 之後開始startTime並在 之前結束的工作階段、意圖、意圖階段或措辭endTime

filters 是 Analytics API請求中的選用欄位。它對應至 AnalyticsSessionFilterAnalyticsIntentFilterAnalyticsIntentStageFilterAnalyticsUtteranceFilter 物件的清單。在每個物件中,使用 欄位來建立要篩選的表達式。例如,如果您將下列篩選條件新增至清單,機器人會搜尋超過 30 秒的對話。

{ "name": "Duration", "operator": "GT", "value": "30 sec", }

擷取機器人的指標

使用 ListSessionMetricsListIntentMetricsListIntentStageMetricsListUtteranceMetrics操作來擷取工作階段 意圖 意圖階段 措辭 的摘要指標。

對於這些操作,請填寫下列必要欄位:

  • 提供 startTimeendTime 來定義您要擷取結果的時間範圍。

  • 指定要在 中計算的指標metrics,即 AnalyticsSessionMetricAnalyticsIntentMetricAnalyticsIntentStageMetricAnalyticsUtteranceMetric 物件的清單。在每個物件中,使用 name 欄位來指定指標以計算statistic欄位,以指定要計算 SumAverageMax數字,以及使用 order 欄位來指定要依 AscendingDescending 順序排序結果。

    注意

    metricsbinBy 物件都包含 order 欄位。您只能在兩個物件之一order中指定排序。

請求中的其餘欄位為選用。您可以透過下列方式篩選和組織結果:

  • 篩選結果 – 使用 filters 欄位篩選結果。如需詳細資訊,請參閱篩選結果

  • 依類別分組結果 – 指定 groupBy 欄位、包含單一 AnalyticsSessionResultAnalyticsIntentResultAnalyticsIntentStageResultAnalyticsUtteranceResult 物件的清單。在 物件中,使用您要將結果分組的類別指定 name 欄位。

    如果您在請求中指定groupBy欄位,回應中的results物件會包含 groupByKeys、、AnalyticsIntentStageGroupByKeyAnalyticsSessionGroupByKey AnalyticsIntentGroupByKeyAnalyticsUtteranceGroupByKey 物件的清單,每個物件都包含您在請求中指定的 name ,以及value欄位中該類別的成員。

  • 依時間分隔結果 – 指定 binBy 欄位,即包含單一AnalyticsBinBySpecification物件的清單。在 物件中,使用 指定name欄位ConversationStartTime,以透過對話開始的時間來分隔結果UtteranceTimestamp,或透過對話發生的時間來分隔結果。在interval欄位中指定您要將結果合併的時間間隔,以及是否要在order欄位中依時間AscendingDescending順序排序。

    如果您在請求中指定binBy欄位,回應中的results物件會包含 binKeysAnalyticsBinKey物件清單,每個物件都包含您在請求中指定的 name,以及定義value欄位中該儲存貯體的時間間隔。

    注意

    metricsbinBy 物件都包含 order 欄位。您只能在兩個物件之一order中指定排序。

使用下列欄位來處理回應的顯示:

  • maxResults欄位中指定介於 1 到 1,000 之間的數字,以限制在單一回應中傳回的結果數目。

  • 如果結果數目大於您在 maxResults 欄位中指定的數目,回應會包含 nextToken。再次提出請求,但在 nextToken 欄位中使用此值來傳回下一批結果。

如果您使用的是 ListUtteranceMetrics,您可以在 attributes 欄位中指定要傳回的屬性。此欄位會映射至包含單一AnalyticsUtteranceAttribute物件的清單。在 name LastUsedIntent欄位中指定 ,以傳回 Amazon Lex V2 在發音時正在使用的意圖。

在回應中, results 欄位會映射到 AnalyticsSessionResultAnalyticsIntentResultAnalyticsIntentStageResultAnalyticsUtteranceResult 物件的清單。每個物件都包含一個metrics欄位,除了從您指定的方法建立的任何儲存貯體或群組之外,還傳回您請求的指標的摘要統計值。

擷取機器人中工作階段和語音的中繼資料

使用 ListSessionAnalyticsDataListUtteranceAnalyticsData操作來擷取個別工作階段和語音的中繼資料。

填寫必填欄位startTimeendTime欄位,以定義您要擷取結果的時間範圍。

請求中的其餘欄位為選用。若要篩選和排序結果:

  • 篩選結果 – 使用 filters 欄位篩選結果。如需詳細資訊,請參閱篩選結果

  • 排序結果 – 使用包含 SessionDataSortByUtteranceDataSortBy 物件sortBy的欄位排序結果。在name欄位中指定您要排序的值,以及是否要在order欄位中排序AscendingDescending排序。

使用下列欄位來處理回應的顯示:

  • maxResults欄位中指定介於 1 到 1,000 之間的數字,以限制在單一回應中傳回的結果數目。

  • 如果結果數目大於您在 maxResults 欄位中指定的數目,回應會包含 nextToken。再次提出請求,但在 nextToken 欄位中使用此值來傳回下一批結果。

在回應中, sessionsutterances 欄位映射到 SessionSpecificationUtteranceSpecification 物件的清單。每個物件都包含單一工作階段或語音的中繼資料。

擷取機器人中工作階段和語音的中繼資料

使用 ListIntentPaths操作來擷取有關客戶與機器人對話時所採取之意圖順序的指標。

針對此操作,請填寫下列必要欄位:

  • 提供 startTimeendTime 來定義您要擷取結果的時間範圍。

  • 提供 intentPath來定義您要擷取指標的意圖順序。使用正斜線分隔路徑中的意圖。例如,將 intentPath 欄位填入 /BookCar/BookHotel ,以查看使用者按該順序叫用 BookCarBookHotel意圖的次數詳細資訊。

使用選用filters欄位篩選結果。如需詳細資訊,請參閱篩選結果

從 Lex V2 對話檢視語音統計資料

您可以使用發音統計資料來判斷使用者要傳送到機器人的發音。您可以同時看到 Amazon Lex V2 成功偵測到的詞彙,以及它未偵測到的詞彙。您可以使用此資訊來協助調整機器人。

例如,如果您發現您的使用者傳送的 Amazon Lex V2 缺少的話語,您可以將的話語新增至意圖。意圖的草稿版本會隨著新的措辭更新,您可以在將其部署至機器人之前進行測試。

當 Amazon Lex V2 將表達體識別為嘗試叫用為機器人設定的意圖時,就會偵測到表達體。當 Amazon Lex V2 無法識別 表達式並反AMAZON.FallbackIntent而叫用 時,會錯過表達式。

可使用 ListUtteranceMetricsAPI和 檢視差異統計資料ListAggregatedUtteranceAPI。

ListUtteranceMetricsAPI下列情況下,不會使用 產生差異統計資料:

  • 使用主控台建立機器人時,Child Online Privacy Protection Act 設定設定為 Yes,或使用 CreateBot操作建立機器人時, childDirected 欄位設定為 true。

ListUtteranceMetrics API 提供其他功能,包括:

  • 可用的詳細資訊,例如偵測到的措辭的映射意圖。

  • 更多篩選功能 (包括頻道和模式)。

  • 較長的保留日期範圍 (30 天)。

  • API 即使您選擇退出資料儲存,也可以使用 。遺漏和偵測到的措辭的主控台功能將依賴 ListUtteranceMetrics API。

ListAggregatedUtteranceAPI下列情況下,不會使用 產生差異統計資料:

  • 使用主控台建立機器人時,Child Online Privacy Protection Act 設定設定為 Yes,或使用 CreateBot操作建立機器人時, childDirected 欄位設定為 true。

  • 您正在將插槽混淆與一或多個插槽搭配使用。

  • 您已選擇不參與改善 Amazon Lex 。

ListAggregatedUtterance API 提供的功能包括:

  • 可用的詳細資訊較少 (沒有詞彙的映射意圖)。

  • 有限的篩選功能 (不包括頻道和模式)。

  • 短期保留日期範圍 (15 天)。

使用表達式統計資料,您可以查看是否偵測到或錯過特定表達式,以及上次在機器人互動中使用表達式。

當使用者與您的機器人互動時,Amazon Lex V2 會持續儲存語音。您可以使用主控台或 ListAggregatedUtterances操作來查詢統計資料。它的資料保留期為 15 天,如果使用者選擇退出資料儲存,則無法使用。您可以使用 DeleteUtterances操作或選擇退出資料儲存來刪除詞彙。如果您關閉 AWS 帳戶,則會刪除所有詞彙。儲存的話語會使用伺服器受管金鑰加密。

當您刪除機器人版本時,該版本可使用 表達式統計資料最多 30 天ListUtteranceMetrics,而使用 則最多 15 天ListAggregatedUtterances。您在 Amazon Lex V2 主控台中看不到已刪除版本的統計資料。若要查看已刪除版本的統計資料,您可以使用 ListAggregatedUtterancesListUtteranceMetrics操作。

使用 ListAggregatedUtterancesListUtteranceMetrics 時APIs,表達式會以表達式的文字彙總。例如,客戶使用「我想要訂購披薩」片語的所有執行個體都會彙總到回應中的同一行。當您使用 RecognizeUtterance操作時,所使用的文字是輸入文字記錄。

若要使用 ListAggregatedUtterancesListUtteranceMetrics APIs,請將下列政策套用至角色。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListAggregatedUtterancesPolicy", "Effect": "Allow", "Action": "lex:ListAggregatedUtterances", "Resource": "*" } ] }