통화 후 분석 출력 - Amazon Transcribe

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

통화 후 분석 출력

통화 후 분석 기록은 세그먼트별 형식으로 표시됩니다. turn-by-turn 여기에는 통화 분류, 통화 특성(음량 점수, 중단, 침묵 시간, 발언 속도), 통화 요약(문제, 결과 및 조치 항목), 수정 및 감정이 포함됩니다. 또한 대화 특성 요약 정보는 트랜스크립트 끝부분에 있습니다.

정확도를 높이고 산업별 용어 포함 등 사용 사례에 맞게 트랜스크립트를 추가로 사용자 지정하려면 Call Analytics 요청에 사용자 지정 어휘 또는 사용자 지정 언어 모델을 추가하세요. 트랜스크립션 결과에서 원하지 않는 욕설 등의 단어를 마스킹하거나 삭제하거나 태그를 지정하려면 어휘 필터링을 추가하세요. 미디어 파일에 전달할 언어 코드를 잘 모르는 경우 배치 언어 식별을 활성화하여 미디어 파일의 언어를 자동으로 식별할 수 있습니다.

다음 섹션에서는 인사이트 수준에서 JSON 출력의 예를 보여줍니다. 컴파일된 출력은 컴파일된 통화 후 분석 출력 섹션을 참조하세요.

통화 분류

트랜스크립션 출력에서 범주 일치가 어떻게 보이는지는 다음과 같습니다. 이 예시는 40,040밀리초 타임스탬프에서 42,460밀리초 타임스탬프까지의 오디오가 '포지티브 해상도' 범주와 일치한다는 것을 보여줍니다. 이 경우 사용자 지정 '포지티브 해상도' 범주에서는 마지막 몇 초 동안 긍정적인 감정이 필요했습니다.

"Categories": { "MatchedDetails": { "positive-resolution": { "PointsOfInterest": [ { "BeginOffsetMillis": 40040, "EndOffsetMillis": 42460 } ] } }, "MatchedCategories": [ " positive-resolution" ] },

통화 특성

트랜스크립션 출력의 통화 특성은 다음과 같습니다. 음량 점수는 각 대화 턴에 대해 제공되지만 다른 모든 특성은 자막 끝에 제공됩니다.

"LoudnessScores": [ 87.54, 88.74, 90.16, 86.36, 85.56, 85.52, 81.79, 87.74, 89.82 ], ... "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, ... "TalkSpeed": { "DetailsByParticipant": { "AGENT": { "AverageWordsPerMinute": 150 }, "CUSTOMER": { "AverageWordsPerMinute": 167 } } }, "TalkTime": { "DetailsByParticipant": { "AGENT": { "TotalTimeMillis": 32750 }, "CUSTOMER": { "TotalTimeMillis": 18010 } }, "TotalTimeMillis": 50760 } },

문제, 조치 항목 및 다음 단계

  • 다음 예시에서 문제는 문자 7에서 시작하여 문자 51에서 끝나는 것으로 식별되며, 이는 "레시피 구독을 취소하고 싶습니다"라는 텍스트의 이 부분을 나타냅니다.

    "Content": "Well, I would like to cancel my recipe subscription.", "IssuesDetected": [ { "CharacterOffsets": { "Begin": 7, "End": 51 } } ],
  • 다음 예시에서 결과는 문자 12에서 시작하여 문자 78에서 끝나는 것으로 식별되며, 이는 텍스트에서 "계정을 모두 변경했으며 이제 할인이 적용됩니다" 부분을 나타냅니다.

    "Content": "Wonderful. I made all changes to your account and now this discount is applied, please check.", "OutcomesDetected": [ { "CharacterOffsets": { "Begin": 12, "End": 78 } } ],
  • 다음 예시에서 작업 항목은 문자 0에서 시작하여 문자 103에서 끝나는 것으로 식별되며, 이는 텍스트에서 "오늘 모든 세부 정보가 포함된 이메일을 보내고 다음 주에 다시 전화하여 후속 조치를 취하겠습니다" 부분을 나타냅니다.

    "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.", "ActionItemsDetected": [ { "CharacterOffsets": { "Begin": 0, "End": 103 } } ],

생성형 통화 요약

트랜스크립션 출력에서 생성형 통화 요약은 다음과 같이 표시됩니다.

"ContactSummary": { "AutoGenerated": { "OverallSummary": { "Content": "A customer wanted to check to see if we had a bag allowance. We told them that we didn't have it, but we could add the bag from Canada to Calgary and then do the one coming back as well." } } }

다음과 같은 경우에는 요약 생성 없이 분석 작업이 완료됩니다.

  • 대화 내용이 충분하지 않음: 대화에는 상담원과 고객 모두의 차례가 한 번 이상 포함되어야 합니다. 대화 내용이 충분하지 않은 경우 서비스는 오류 코드 INFFINCIENT_CONVERSATION_CONTENT를 반환합니다.

  • 안전 가드레일: 적절한 요약이 생성되도록 하려면 대화가 안전 가드레일을 준수해야 합니다. 이러한 가드레일이 충족되지 않을 경우 서비스는 오류 코드 FAILED_SAFETY_GIELIDEN을 반환합니다.

오류 코드는 출력의 섹션에서 확인할 수 있습니다. Skipped AnalyticsJobDetails GetCallAnalyticsJobAPI 응답에서도 오류 원인을 찾을 수 있습니다. CallAnalyticsJobDetails

샘플 오류 출력

{ "JobStatus": "COMPLETED", "AnalyticsJobDetails": { "Skipped": [ { "Feature": "GENERATIVE_SUMMARIZATION", "ReasonCode": "INSUFFICIENT_CONVERSATION_CONTENT", "Message": "The conversation needs to have at least one turn from both the participants to generate summary" } ] }, "LanguageCode": "en-US", "AccountId": "***************", "JobName": "Test2-copy", ... }

감정 분석

트랜스크립션 출력의 감정 분석은 다음과 같습니다.

  • 질적 turn-by-turn 감정 값:

    "Content": "That's very sad to hear. Can I offer you a 50% discount to have you stay with us?", ... "BeginOffsetMillis": 12180, "EndOffsetMillis": 16960, "Sentiment": "NEGATIVE", "ParticipantRole": "AGENT" ... "Content": "That is a very generous offer. And I accept.", ... "BeginOffsetMillis": 17140, "EndOffsetMillis": 19860, "Sentiment": "POSITIVE", "ParticipantRole": "CUSTOMER"
  • 전체 통화의 질적 감정 값:

    "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 } ] } }

PII 수정

트랜스크립션 출력의 PII 수정은 다음과 같습니다.

"Content": "[PII], my name is [PII], how can I help?", "Redaction": [{ "Confidence": "0.9998", "Type": "NAME", "Category": "PII" }]

자세한 내용은 배치 작업의 PII 편집을 참조하세요.

언어 식별

이 기능이 활성화된 경우 트랜스크립션 출력의 언어 식별은 다음과 같습니다.

"LanguageIdentification": [{ "Code": "en-US", "Score": "0.8299" }, { "Code": "en-NZ", "Score": "0.0728" }, { "Code": "zh-TW", "Score": "0.0695" }, { "Code": "th-TH", "Score": "0.0156" }, { "Code": "en-ZA", "Score": "0.0121" }]

위 출력 예시에서 언어 식별은 언어 코드에 신뢰도 점수를 부여합니다. 점수가 가장 높은 결과가 트랜스크립션 언어 코드로 선택됩니다. 모드 세부 정보는 미디어에서 미디어의 지배적 언어 식별을 참조하세요.

컴파일된 통화 후 분석 출력

다음 트랜스크립션 출력에서는 일부 내용을 간결하게 줄임표로 대체했습니다.

이 샘플에는 선택적 기능인 생성적 통화 요약이 포함되어 있습니다.

{ "JobStatus": "COMPLETED", "LanguageCode": "en-US", "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?", "Items": [ ... ], "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.", "Items": [ ... ], "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.", "Items": [ ... ], "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.", "Items": [ ... ], "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 }, "ContactSummary": { // Optional feature - Generative call summarization "AutoGenerated": { "OverallSummary": { "Content": "The customer initially wanted to cancel but the agent convinced them to stay by offering a 50% discount, which the customer accepted after reconsidering cancelling given the significant savings. The agent ensured the discount was applied and said they would follow up to ensure the customer remained happy with the revised subscription." } } } }, "AnalyticsJobDetails": { "Skipped": [] }, ... }