本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
APIs用于分析
本节介绍您用于检索机器人分析的API操作。
注意
要使用ListUtteranceMetrics和 ListUtteranceAnalyticsData,您的IAM角色必须具有执行该ListAggregatedUtterances操作的权限,该操作提供对与话语相关的分析的访问权限。有关详细信息以及适用于该IAM角色的IAM政策,请参阅查看 Lex V2 对话中的话语统计信息。
-
以下API操作检索机器人的摘要指标:
-
以下API操作检索会话和话语的元数据列表:
-
该ListIntentPaths操作会检索有关客户在与机器人对话时所采用的意图顺序的指标。
筛选结果
分析API请求要求您指定startTime
和endTime
。API返回会话、意图、意图阶段或话语,这些语句在之后开始startTime
并在之前结束。 endTime
filters
是 Analytics API 请求中的一个可选字段。它映射到AnalyticsSessionFilter、AnalyticsIntentFilterAnalyticsIntentStageFilter、或AnalyticsUtteranceFilter对象的列表。在每个对象中,使用字段创建表达式以作为筛选条件。例如,如果您将以下筛选条件添加到列表中,则机器人将搜索时长超过 30 秒的对话。
{ "name": "Duration", "operator": "GT", "value": "30 sec", }
检索机器人的指标
使用 ListSessionMetrics
、ListIntentMetrics
、ListIntentStageMetrics
和 ListUtteranceMetrics
操作来检索会话、意图、意图阶段和言语的摘要指标。
对于这些操作,请填写以下必填字段:
-
提供
startTime
和endTime
以定义要检索结果的时间范围。 -
指定要计算的指标
metrics
、AnalyticsSessionMetricAnalyticsIntentMetricAnalyticsIntentStageMetric、或AnalyticsUtteranceMetric对象的列表。在每个对象中,使用name
字段指定要计算的指标,使用statistic
字段指定计算的是Sum
、Average
或Max
数,并且使用order
字段指定结果的排序方式是Ascending
还是Descending
。注意
metrics
和binBy
对象均包含order
字段。您只能在这两个对象中的一个对象中指定排序order
。
该请求中的其余字段为可选字段。您可以通过以下方式筛选和整理结果:
-
筛选结果:使用
filters
字段来筛选结果。有关更多信息,请参阅 筛选结果。 -
按类别对结果进行分组-指定
groupBy
字段、包含单个AnalyticsSessionResult、AnalyticsIntentResultAnalyticsIntentStageResult、或AnalyticsUtteranceResult对象的列表。在对象中,指定要以其为基础对结果进行分组的类别的name
字段。如果您在请求中指定一个
groupBy
字段,则响应中的results
对象将包含groupByKeys
、AnalyticsSessionGroupByKeyAnalyticsIntentGroupByKeyAnalyticsIntentStageGroupByKey、或AnalyticsUtteranceGroupByKey多个对象的列表,每个对象都name
包含您在请求中指定的,value
字段中包含该类别的成员。 -
按时间对结果进行分箱-指定
binBy
字段,即包含单个AnalyticsBinBySpecification对象的列表。在对象中,将name
字段指定为ConversationStartTime
以便按对话开始的时间对结果进行分箱,或者指定为UtteranceTimestamp
以便按言语发生的时间对结果进行分箱。在interval
字段中指定要对结果进行分箱的时间间隔,并且在order
字段中指定排序是Ascending
还是Descending
。如果您在请求中指定一个
binBy
字段,则响应中的results
对象将包含binKeys
一个AnalyticsBinKey对象列表,每个对象都name
包含您在请求中指定的对象以及value
字段中定义该数据桶的时间间隔。注意
metrics
和binBy
对象均包含order
字段。您只能在这两个对象中的一个对象中指定排序order
。
使用以下字段来处理响应的显示:
-
在
maxResults
字段中指定一个介于 1 到 1,000 之间的数字,以限制单个响应中返回的结果数。 -
如果结果数大于您在
maxResults
字段中指定的数字,则响应中包含nextToken
。再次发出请求,但使用nextToken
字段中的值以便返回下一批结果。
如果使用 ListUtteranceMetrics
,则可以在 attributes
字段中指定要返回的属性。此字段映射到包含单个AnalyticsUtteranceAttribute对象的列表。在 name
字段中指定 LastUsedIntent
,以返回 Amazon Lex V2 在言语时使用的意图。
在响应中,该results
字段映射到AnalyticsSessionResult、AnalyticsIntentResultAnalyticsIntentStageResult、或AnalyticsUtteranceResult对象的列表。每个对象均包含 metrics
字段,以返回您所请求的指标的汇总统计数据以及使用您指定的方法创建的任何数据分箱或组。
在机器人中检索会话和言语的元数据
使用ListSessionAnalyticsData和ListUtteranceAnalyticsData操作检索有关各个会话和话语的元数据。
填写必填的 startTime
和 endTime
字段以定义要检索结果的时间范围。
该请求中的其余字段为可选字段。要对结果进行筛选和排序,请执行以下操作:
-
筛选结果:使用
filters
字段来筛选结果。有关更多信息,请参阅 筛选结果。 -
对@@ 结果进行排序-使用包含SessionDataSortBy或UtteranceDataSortBy对象的
sortBy
字段对结果进行排序。在字段name
中指定要作为排序依据的值,并且在order
字段中指定以Ascending
还是Descending
进行排序。
使用以下字段来处理响应的显示:
-
在
maxResults
字段中指定一个介于 1 到 1,000 之间的数字,以限制单个响应中返回的结果数。 -
如果结果数大于您在
maxResults
字段中指定的数字,则响应中包含nextToken
。再次发出请求,但使用nextToken
字段中的值以便返回下一批结果。
在响应中,sessions
或utterances
字段映射到SessionSpecification或UtteranceSpecification对象的列表。每个对象均包含单个会话或言语的元数据。
在机器人中检索会话和言语的元数据
使用该ListIntentPaths操作来检索有关客户在与机器人对话时所采用的意图顺序的指标。
对于这些操作,请填写以下必填字段:
-
提供
startTime
和endTime
以定义要检索结果的时间范围。 -
提供
intentPath
以定义检索指标的意图顺序。路径中的意图用正斜杠隔开。例如,将intentPath
字段填充为/BookCar/BookHotel
,以查看关于用户以该顺序调用BookCar
和BookHotel
意图的次数的详细信息。
使用可选的 filters
字段来筛选结果。有关更多详细信息,请参阅筛选结果。
查看 Lex V2 对话中的话语统计信息
您可以使用言语统计数据来确定您的用户向机器人发送的言语。系统将统计 Amazon Lex V2 成功检测到的言语以及未成功检测到的言语。您可以使用此信息来优化机器人。
例如,如果您发现用户正在发送 Amazon Lex V2 遗漏的言语,则可以将该言语添加到意图中。系统将使用新的言语来更新该意图的 Draft 版本,以便您在将其部署到机器人之前对其进行测试。
当 Amazon Lex V2 将某个言语识别为试图调用为机器人配置的意图时,该言语即被检测到。当 Amazon Lex V2 未能识别某个言语而是调用 AMAZON.FallbackIntent
时,将错过该言语。
可以使用ListUtteranceMetrics
API和查看话语统计信息。ListAggregatedUtterance
API
在以下ListUtteranceMetrics
API条件下,不会使用生成话语统计信息:
-
当使用控制台创建机器人时,“儿童在线隐私保护法案”设置被设置为是,或者在使用
CreateBot
操作创建机器人时,childDirected
字段被设置为 true。
ListUtteranceMetrics
API提供了其他功能,包括:
-
更多可用信息,例如检测到言语的被映射意图。
-
更多筛选功能(包括频道和模式)。
-
更长的保留日期范围(30 天)。
-
API即使您已选择退出数据存储,也可以使用。控制台功能将依赖于漏掉和检测到的话语。
ListUtteranceMetrics
API
在以下ListAggregatedUtterance
API条件下,不会使用生成话语统计信息:
-
当使用控制台创建机器人时,“儿童在线隐私保护法案”设置被设置为是,或者在使用
CreateBot
操作创建机器人时,childDirected
字段被设置为 true。 -
您正在对一个或多个槽位使用槽位模糊处理。
-
您已选择退出 Amazon Lex 改进计划。
ListAggregatedUtterance
API提供的功能包括:
-
可用的详细信息较少(不存在言语的被映射意图)。
-
有限的筛选功能(不包括频道和模式)。
-
较短的保留日期范围(15 天)。
您可以使用言语统计信息来查看是否检测到或遗漏了特定的话语,以及机器人交互中上次使用该言语的时间。
当用户与您的机器人交互时,Amazon Lex V2 会持续不断地存储言语。您可以使用控制台或 ListAggregatedUtterances
操作来查询统计数据。数据保留期为 15 天。如果用户选择退出数据存储,则不可用。您可以使用 DeleteUtterances
操作或选择退出数据存储来删除言语。如果您关闭帐户,则所有话语都将被删除。 AWS 所存储的言语使用服务器管理的密钥进行加密。
如果使用 ListUtteranceMetrics
删除机器人版本,则该版本的言语统计数据最多可用 30 天,而如果使用 ListAggregatedUtterances
删除机器人版本,则该版本的言语统计数据最多可用 15 天。您无法在 Amazon Lex V2 控制台中查看已删除版本的统计数据。要查看已删除版本的统计数据,可以使用 ListAggregatedUtterances
和 ListUtteranceMetrics
操作。
如果同时使用ListAggregatedUtterances
和 ListUtteranceMetrics
APIs,则话语按话语的文本汇总。例如,客户发出“我想订购披萨”的话语的所有实例均会在回复中汇总到同一行中。使用该RecognizeUtterance操作时,使用的文本是输入脚本。
要使用ListAggregatedUtterances
和 ListUtteranceMetrics
APIs,请对角色应用以下策略。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListAggregatedUtterancesPolicy", "Effect": "Allow", "Action": "lex:ListAggregatedUtterances", "Resource": "*" } ] }