

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

# 了解 Amazon Chime SDK 的通知
<a name="va-notification-targets"></a>

語音分析會在發言者搜尋或語音音調分析任務開始時、執行時，以及完成時，自動將事件傳送至目標。您可以使用通知目標來接收這些事件。如果您的工作流程或應用程式需要高可用性，我們建議您使用多個通知目標。

此外，您必須使用 IAM 角色搭配存取通知目標所需的政策。如需詳細資訊，請參閱[使用 Amazon Chime SDK 的呼叫分析資源存取角色](call-analytics-resource-access-role.md)。

**注意**  
對於 Amazon SQS 和 Amazon SNS，我們不支援first-in-first-out佇列。因此，訊息可能無法按順序送達。建議您檢查時間戳記以視需要排序訊息，並在 Amazon DynamoDB 等資料存放區中保留訊息。您也可以使用中所述APIs [輪詢 Amazon Chime SDK 的任務結果](va-task-result-poll.md) 來接收最新結果。

下表列出事件及其對應的詳細資訊類型。


| 通知事件 | 詳細資訊類型 | 
| --- | --- | 
| 語音分析中繼資料 | `VoiceAnalyticsStatus` | 
| 發言者搜尋 | `SpeakerSearchStatus` | 
| 語音音調分析 | `VoiceToneAnalysisStatus` | 

## 發言者搜尋事件
<a name="va-speaker-search-events"></a>

發言者搜尋事件具有`SpeakerSearchStatus`詳細資訊類型。

Amazon Chime SDK Voice Connectors 會傳送下列發言者搜尋事件：
+ 識別相符項目
+ 語音內嵌產生

事件可以有下列狀態：
+ `IdentificationSuccessful` – 成功識別至少一個在指定語音設定檔網域中具有高可信度分數的相符語音設定檔 ID。
+ `IdentificationFailure` – 無法執行識別。原因：來電者至少 10 秒沒有說話，音訊品質不佳。
+ `IdentificationNoMatchesFound` – 在指定的語音設定檔網域中找不到高可信度配對。發起人可能是新的，或其語音可能已變更。
+ `VoiceprintGenerationSuccessful` – 系統使用 20 秒的非靜音音訊產生語音內嵌。
+ `VoiceprintGenerationFailure` – 系統無法產生語音內嵌。原因：來電者至少 20 秒沒有說話，音訊品質不佳。

### 識別相符項目
<a name="va-id-matches"></a>

為指定的 呼叫 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StartSpeakerSearchTask](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_voice-chime_StartSpeakerSearchTask) API 之後`transactionId`，語音連接器服務會在 10 秒的非無提示語音後傳回識別比對通知。服務會傳回前 10 個相符項目，以及 【0， 1】 範圍內的語音設定檔 ID 和可信度分數。可信度分數越高，通話的發言者越有可能符合語音設定檔 ID。如果機器學習模型找不到相符項目，通知`detailStatus`的欄位會包含 `IdentificationNoMatchesFound`。

下列範例顯示成功配對的通知。

```
{    
    "version": "0",
    "id": "{{12345678-1234-1234-1234-111122223333}}",
    "detail-type": "SpeakerSearchStatus",
    "service-type": "VoiceAnalytics",
    "source": "aws.chime",
    "account": "{{111122223333}}",
    "time": "{{yyyy-mm-ddThh:mm:ssZ}}",
    "region": "{{us-east-1}}",
    "resources": [],
    "detail": {
        "taskId": "{{uuid}}",
        "detailStatus": "{{IdentificationSuccessful}}",
        "speakerSearchDetails" : {
            "results": [
                {
                    "voiceProfileId": "{{vp-505e0992-82da-49eb-9d4a-4b34772b96b6}}",
                    "confidenceScore": "{{0.94567856}}",
                },
                {
                    "voiceProfileId": "{{vp-fba9cbfa-4b8d-4f10-9e41-9dfdd66545ab}}",
                    "confidenceScore": "{{0.82783350}}",
                },
                {
                    "voiceProfileId": "{{vp-746995fd-16dc-45b9-8965-89569d1cf787}}",
                    "confidenceScore": "{{0.77136436}}",
                }
            ]
        },
        "mediaInsightsPipelineId": "{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "sourceArn": "arn:aws:chime:{{us-east-1}}:{{111122223333}}:media-pipeline/{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "streamArn": "arn:aws:kinesisvideo:{{us-east-1}}:{{111122223333}}:stream/{{my-stream}}/{{0123456789012}}",
        "channelId": 0
    }
}
```

### 語音內嵌產生
<a name="va-voice-print-generation"></a>

在額外 10 秒的非靜音語音之後，語音連接器會傳送語音內嵌產生通知至通知目標。您可以在語音設定檔中註冊新的語音內嵌，或更新已在語音設定檔中的列印。

下列範例顯示成功配對的通知，這表示您可以更新相關聯的語音設定檔。

```
{
    "version": "0",
    "id": "{{12345678-1234-1234-1234-111122223333}}",
    "detail-type": "SpeakerSearchStatus",
    "service-type": "VoiceAnalytics",
    "source": "aws.chime",
    "account": "{{111122223333}}",
    "time": "{{yyyy-mm-ddThh:mm:ssZ}}",
    "region": "{{us-east-1}}",
    "resources": [],
    "detail": {
        "taskId": "{{guid}}",
        "detailStatus": "{{VoiceprintGenerationSuccess}}",
        "mediaInsightsPipelineId": "{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "sourceArn": "arn:aws:chime:{{us-east-1}}:{{111122223333}}:media-pipeline/{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "streamArn": "arn:aws:kinesisvideo:{{us-east-1}}:{{111122223333}}:stream/{{my-stream}}/{{0123456789012}}",
        "channelId": 0
    }
}
```

## 語音音調分析事件
<a name="va-tone-status"></a>

語音音調分析事件具有`VoiceToneAnalysisStatus`詳細資訊類型。分析可以傳回這些狀態：
+ `VoiceToneAnalysisSuccessful` – 成功將來電者和客服人員的語音分析為情緒概率：正面、負面或中性。
+ `VoiceToneAnalysisFailure` – 無法執行音調分析。如果來電者未說話就掛斷 10 秒，或音訊品質變得太差，就會發生這種情況。
+ `VoiceToneAnalysisCompleted` – 成功將使用者和客服人員的語音分析為整個通話的情緒可能性。這是語音音調分析完成時傳送的最終事件。

下列範例顯示典型的音調分析事件。

```
{
  "detail-type": "VoiceToneAnalysisStatus",
  "service-type": "VoiceAnalytics",
  "source": "aws.chime",
  "account": "{{216539279014}}",
  "time": "{{2022-08-26T17:55:15.563441Z}}",
  "region": "{{us-east-1}}",
  "detail": {
    "taskId": "{{uuid}}",
    "detailStatus": "{{VoiceToneAnalysisSuccessful}}",
    "voiceToneAnalysisDetails": {
      "currentAverageVoiceTone": {
          "startTime": "{{2022-08-26T17:55:15.563Z}}",
          "endTime": "{{2022-08-26T17:55:45.720Z}}",
          "voiceToneLabel": "{{neutral}}",
          "voiceToneScore": {    
            "neutral": "{{0.83}}",    
            "positive": "{{0.13}}",    
            "negative": "{{0.04}}"
          }
      },
      "overallAverageVoiceTone": {
          "startTime": "{{2022-08-26T16:23:13.344Z}}",
          "endTime": "{{2022-08-26T17:55:45.720Z}}",
          "voiceToneLabel": "{{positive}}",
          "voiceToneScore": {    
            "neutral": "{{0.25}}",    
            "positive": "{{0.65}}",    
            "negative": "{{0.1}}"
          }
      }
    },
        "startFragmentNumber": "{{01234567890123456789}}",
        "mediaInsightsPipelineId": "{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "sourceArn": "arn:aws:chime:{{us-east-1}}:{{111122223333}}:media-pipeline/{{87654321-33ca-4dc6-9cdf-abcde6612345}}",
        "streamArn": "arn:aws:kinesisvideo:{{us-east-1}}:{{111122223333}}:stream/{{my-stream}}/{{0123456789012}}",
        "channelId": 0
  },
  "version": "0",
  "id": "{{Id-f928dfe3-f44b-4965-8a17-612f9fb92d59}}"
}
```

## 通話後摘要事件
<a name="va-post-call-summary-events"></a>

通話結束後 5 分鐘會傳送通話後摘要事件。這些摘要提供在整個通話中發生的發言者搜尋任務的概觀。

下列範例顯示通話後摘要，其中包含最佳語音設定檔比對、已確認發言者身分，以及透過 `CreateVoiceProfile`和 `UpdateVoiceProfile` API 在通話期間進行的通話所建立或更新的語音設定檔清單。

```
{
    "version": "0",
    "id": "{{12345678-1234-1234-1234-111122223333}}",
    "detail-type": "VoiceAnalyticsStatus",
    "service-type": "VoiceAnalytics",
    "source": "aws.chime",
    "account": "{{111122223333}}",
    "time": "{{yyyy-mm-ddThh:mm:ssZ}}",    
    "region": "{{us-east-1}}",
    "resources": [],
    "detail": {
        "detailStatus": "PostCallVoiceAnalytics",
        "callId": "{{22e8dee8-bbd7-4f94-927b-2d0ebaeddc1c}}",
        "transactionId": "{{daaeb6bf-2fe2-4e51-984e-d0fbf2f09436}}",
        "voiceConnectorId": "{{abcdef1ghij2klmno3pqr4}}",
        "isCaller": {{true | false}},
        "speakerSearchResults": {
            "bestMatchedVoiceProfileId": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
            "customerValidatedCallerIdentity": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
            "createVoiceProfileTransactions": [
                {
                    "voiceProfileId": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
                    "requestTimestamp": "{{2022-12-14T18:38:38.796Z}}"
                },
                {
                    "voiceProfileId": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
                    "requestTimestamp": "{{2022-12-14T18:38:38.796Z}}",
                }
            ],
            "updateVoiceProfileTransactions": [
                {
                    "voiceProfileId": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
                    "requestTimestamp": "{{2022-12-14T18:38:38.796Z}}",
                },
                {
                    "voiceProfileId": "{{vp-04c25ba1-a059-4fd3-8495-4ac91b55e2bf}}",
                    "requestTimestamp": "{{2022-12-14T18:38:38.796Z}}",
                }
            ]
        }
    }
}
```