通过实时转录进行通话后分析 - Amazon Transcribe

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过实时转录进行通话后分析

通话后分析是一项可选特征,可用于实时呼叫分析转录。除了标准的实时分析见解外,通话后分析还为您提供以下信息:

  • 操作项目:列出在通话中识别的所有操作项目。

  • 中断:衡量一个参与者是否以及何时打断了另一个参与者的话

  • 问题:提供通话中发现的问题

  • 音量:衡量每位参与者的说话音量

  • 非通话时间:衡量不含语音的时间段

  • 结果:提供在通话中识别的结果或解决方案

  • 通话速度:衡量两个参与者的说话速度

  • 通话时间:衡量每个参与者在通话期间的说话时长,以毫秒为单位

启用后,来自音频流的呼叫后分析会生成类似于音频文件中的通话后分析的脚本,并将其存储在中指定的 Amazon S3 存储桶中。OutputLocation此外,通话后分析会记录您的音频流,并将其作为音频文件(WAV格式)保存在同一个 Amazon S3 存储桶中。如果您启用密文,则经过编辑的笔录和经过编辑的音频文件也会存储在指定的存储桶中。 Amazon S3 对音频流启用通话后分析会生成两到四个文件,如下所述:

  • 如果启用编辑功能,则您的输出文件为:

    1. 未经编辑的转录

    2. 未经编辑的音频文件

  • 如果在没有未编辑选项 (redacted) 的情况下启用了编辑功能,则您的输出文件为:

    1. 经过编辑的转录

    2. 经过编辑的音频文件

  • 如果在未编辑选项 (redacted_and_unredacted) 的情况下启用了编辑功能,则您的输出文件为:

    1. 经过编辑的转录

    2. 经过编辑的音频文件

    3. 未经编辑的转录

    4. 未经编辑的音频文件

请注意,如果您在请求中启用了通话后分析 (PostCallAnalyticsSettings),并且您使用的是 FLACOPUS-OGG 媒体,则不会在转录中体现 loudnessScore,也不会创建音频流的音频录音。Transcribe 也可能无法为持续时间超过 90 分钟的长时间播放的音频流提供通话后分析。

有关为音频流通话后分析提供的见解的更多信息,请参阅话通后分析见解部分。

提示

如果您在实时呼叫分析请求中启用通话后分析,则您的所有 POST_CALLREAL-TIME 类别都将应用于您的通话后分析转录。

启用通话后分析

要启用通话后分析,您必须在实时呼叫分析请求中包含 PostCallAnalyticsSettings 参数。启用 PostCallAnalyticsSettings 时必须包括以下参数:

  • OutputLocation: 您要 Amazon S3 存储通话后记录的存储桶。

  • DataAccessRoleArn:有权访问指定 Amazon S3 存储桶的 Amazon S3 角色的 Amazon 资源名称 (ARN)。请注意,您还必须使用适用于实时分析的信任策略

如果您想要一份经过编辑的转录,可以在请求中包含 ContentRedactionOutputContentRedactionType。有关这些参数的更多信息,请参阅 API 参考中的 StartCallAnalyticsStreamTranscription

要在启用呼叫后分析的情况下开始实时呼叫分析转录,您可以使用 AWS Management Console(仅限演示)、HTTP/ 2 或。WebSockets有关示例,请参阅启动实时呼叫分析转录

重要

目前, AWS Management Console 唯一提供带有预加载音频示例的实时呼叫分析演示。如果您想使用自己的音频,则必须使用 API(HTTP/2 或 SDK)。 WebSockets

通话后分析输出示例

通话后记录按分段的 turn-by-turn 格式显示。它们包括通话特点、情绪、通话摘要、问题检测和(可选)PII 编辑。如果您的任何通话后类别与音频内容匹配,则这些类别也会出现在您的输出中。

为了提高准确性并根据您的用例进一步自定义您的转录(例如包括特定行业的术语),请在您的呼叫分析请求中添加自定义词汇表自定义语言模型。要屏蔽、删除或标记不希望出现在转录结果中的单词(例如脏话),请添加词汇表过滤

以下是编译后的通话后分析输出示例:

{ "JobStatus": "COMPLETED", "LanguageCode": "en-US", "AccountId": "1234567890", "Channel": "VOICE", "Participants": [{ "ParticipantRole": "AGENT" }, { "ParticipantRole": "CUSTOMER" }], "SessionId": "12a3b45c-de6f-78g9-0123-45h6ab78c901", "ContentMetadata": { "Output": "Raw" } "Transcript": [{ "LoudnessScores": [ 78.63, 78.37, 77.98, 74.18 ], "Content": "[PII], my name is [PII], how can I help?", ... "Content": "Well, I would like to cancel my recipe subscription.", "IssuesDetected": [{ "CharacterOffsets": { "Begin": 7, "End": 51 } }], ... "Content": "That's very sad to hear. Can I offer you a 50% discount to have you stay with us?", "Id": "649afe93-1e59-4ae9-a3ba-a0a613868f5d", "BeginOffsetMillis": 12180, "EndOffsetMillis": 16960, "Sentiment": "NEGATIVE", "ParticipantRole": "AGENT" }, { "LoudnessScores": [ 80.22, 79.48, 82.81 ], "Content": "That is a very generous offer. And I accept.", "Id": "f9266cba-34df-4ca8-9cea-4f62a52a7981", "BeginOffsetMillis": 17140, "EndOffsetMillis": 19860, "Sentiment": "POSITIVE", "ParticipantRole": "CUSTOMER" }, ... "Content": "Wonderful. I made all changes to your account and now this discount is applied, please check.", "OutcomesDetected": [{ "CharacterOffsets": { "Begin": 12, "End": 78 } }], ... "Content": "I will send an email with all the details to you today, and I will call you back next week to follow up. Have a wonderful evening.", "Id": "78cd0923-cafd-44a5-a66e-09515796572f", "BeginOffsetMillis": 31800, "EndOffsetMillis": 39450, "Sentiment": "POSITIVE", "ParticipantRole": "AGENT" }, { "LoudnessScores": [ 78.54, 68.76, 67.76 ], "Content": "Thank you very much, sir. Goodbye.", "Id": "5c5e6be0-8349-4767-8447-986f995af7c3", "BeginOffsetMillis": 40040, "EndOffsetMillis": 42460, "Sentiment": "POSITIVE", "ParticipantRole": "CUSTOMER" } ], ... "Categories": { "MatchedDetails": { "positive-resolution": { "PointsOfInterest": [{ "BeginOffsetMillis": 40040, "EndOffsetMillis": 42460 }] } }, "MatchedCategories": [ "positive-resolution" ] }, ... "ConversationCharacteristics": { "NonTalkTime": { "Instances": [], "TotalTimeMillis": 0 }, "Interruptions": { "TotalCount": 2, "TotalTimeMillis": 10700, "InterruptionsByInterrupter": { "AGENT": [{ "BeginOffsetMillis": 26040, "DurationMillis": 5510, "EndOffsetMillis": 31550 }], "CUSTOMER": [{ "BeginOffsetMillis": 770, "DurationMillis": 5190, "EndOffsetMillis": 5960 }] } }, "TotalConversationDurationMillis": 42460, "Sentiment": { "OverallSentiment": { "AGENT": 2.5, "CUSTOMER": 2.1 }, "SentimentByPeriod": { "QUARTER": { "AGENT": [{ "Score": 0.0, "BeginOffsetMillis": 0, "EndOffsetMillis": 9862 }, { "Score": -5.0, "BeginOffsetMillis": 9862, "EndOffsetMillis": 19725 }, { "Score": 5.0, "BeginOffsetMillis": 19725, "EndOffsetMillis": 29587 }, { "Score": 5.0, "BeginOffsetMillis": 29587, "EndOffsetMillis": 39450 } ], "CUSTOMER": [{ "Score": -2.5, "BeginOffsetMillis": 0, "EndOffsetMillis": 10615 }, { "Score": 5.0, "BeginOffsetMillis": 10615, "EndOffsetMillis": 21230 }, { "Score": 2.5, "BeginOffsetMillis": 21230, "EndOffsetMillis": 31845 }, { "Score": 5.0, "BeginOffsetMillis": 31845, "EndOffsetMillis": 42460 } ] } } }, "TalkSpeed": { "DetailsByParticipant": { "AGENT": { "AverageWordsPerMinute": 150 }, "CUSTOMER": { "AverageWordsPerMinute": 167 } } }, "TalkTime": { "DetailsByParticipant": { "AGENT": { "TotalTimeMillis": 32750 }, "CUSTOMER": { "TotalTimeMillis": 18010 } }, "TotalTimeMillis": 50760 } }, ... }