View a markdown version of this page

Comprendre les notifications pour le SDK Amazon Chime - Kit SDK Amazon Chime

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Comprendre les notifications pour le SDK Amazon Chime

L'analyse vocale envoie automatiquement des événements à une cible lorsque les tâches de recherche de haut-parleurs ou d'analyse de tonalité vocale démarrent, pendant leur exécution et lorsqu'elles se terminent. Vous utilisez des cibles de notification pour recevoir ces événements. Nous vous recommandons d'utiliser plusieurs cibles de notification si votre flux de travail ou votre application nécessite une haute disponibilité.

Vous devez également utiliser un rôle IAM avec les politiques nécessaires pour accéder à vos cibles de notification. Pour de plus amples informations, veuillez consulter Utilisation du rôle d'accès aux ressources d'analyse des appels pour le SDK Amazon Chime.

Note

Pour Amazon SQS et Amazon SNS, nous ne prenons pas en charge les files d'attente « premier entré, premier sorti ». Par conséquent, les messages peuvent arriver dans le désordre. Nous vous recommandons de vérifier les horodatages pour classer les messages selon les besoins et de conserver les messages dans un magasin de données tel qu'Amazon DynamoDB. Vous pouvez également utiliser les API Get décrites dans Sondage des résultats des tâches pour le SDK Amazon Chime pour recevoir les derniers résultats.

Le tableau suivant répertorie les événements et leurs types de détails correspondants.

Événement de notification

Type de détail

Métadonnées d'analyse vocale

VoiceAnalyticsStatus

Recherche de conférenciers

SpeakerSearchStatus

Analyse de la tonalité vocale

VoiceToneAnalysisStatus

Événements de recherche de conférenciers

Les événements de recherche de conférenciers ont le type de SpeakerSearchStatus détail.

Les connecteurs vocaux Amazon Chime SDK envoient les événements de recherche de haut-parleurs suivants :

  • Correspondances d'identification

  • Génération d'intégration vocale

Les événements peuvent avoir les statuts suivants :

  • IdentificationSuccessful— Identification réussie d'au moins un identifiant de profil vocal correspondant avec un score de confiance élevé dans le domaine de profil vocal donné.

  • IdentificationFailure— Impossible de procéder à l'identification. Causes : l'appelant ne parle pas pendant au moins 10 secondes, mauvaise qualité audio.

  • IdentificationNoMatchesFound— Impossible de trouver une correspondance avec un niveau de confiance élevé dans le domaine de profil vocal donné. L'appelant est peut-être nouveau ou sa voix a peut-être changé.

  • VoiceprintGenerationSuccessful— Le système a généré une intégration vocale en utilisant 20 secondes de son non silencieux.

  • VoiceprintGenerationFailure— Le système n'a pas réussi à générer une intégration vocale. Causes : l'appelant ne parle pas pendant au moins 20 secondes, mauvaise qualité audio.

Correspondances d'identification

Une fois que l'StartSpeakerSearchTaskAPI est appelée pour un moment donnétransactionId, le service Voice Connector renvoie une notification de correspondance d'identification après 10 secondes de discours non silencieux. Le service renvoie les 10 meilleurs résultats, ainsi qu'un identifiant de profil vocal et un score de confiance compris entre [0, 1]. Plus le score de confiance est élevé, plus il est probable que le locuteur participant à l'appel corresponde à l'identifiant du profil vocal. Si le modèle d'apprentissage automatique ne trouve aucune correspondance, le detailStatus champ de notification contientIdentificationNoMatchesFound.

L'exemple suivant montre une notification en cas de correspondance réussie.

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

Génération d'intégration vocale

Après 10 secondes supplémentaires de discours non silencieux, le connecteur vocal envoie une notification de génération d'intégration vocale aux cibles de notification. Vous pouvez enregistrer de nouvelles intégrations vocales dans un profil vocal ou mettre à jour une impression déjà présente dans un profil vocal.

L'exemple suivant montre la notification d'une correspondance réussie, ce qui signifie que vous pouvez mettre à jour le profil vocal associé.

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

Événements d'analyse des tonalités vocales

Les événements d'analyse de tonalité vocale ont le type de VoiceToneAnalysisStatus détail. Les analyses peuvent renvoyer les états suivants :

  • VoiceToneAnalysisSuccessful— A analysé avec succès les voix de l'appelant et de l'agent en fonction des probabilités de sentiment, qu'elles soient positives, négatives ou neutres.

  • VoiceToneAnalysisFailure— Impossible d'effectuer l'analyse de tonalité. Cela peut se produire si l'appelant se bloque sans parler pendant 10 secondes ou si la qualité audio devient trop mauvaise.

  • VoiceToneAnalysisCompleted— Analyse réussie des voix des utilisateurs et des agents pour déterminer les probabilités de sentiment pendant l'ensemble de l'appel. Il s'agit de l'événement final, envoyé lorsque l'analyse de la tonalité vocale est terminée.

L'exemple suivant illustre un événement typique d'analyse de tonalité vocale.

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

Post-call résumé des événements

Les événements récapitulatifs après l'appel sont envoyés 5 minutes après la fin de l'appel. Ces résumés donnent un aperçu des tâches de recherche de conférenciers effectuées tout au long de l'appel.

L'exemple suivant montre un résumé post-appel avec la meilleure correspondance de profil vocal, l'identité du locuteur confirmée et une liste des profils vocaux créés ou mis à jour via les appels d'UpdateVoiceProfileAPI CreateVoiceProfile et les appels d'API effectués pendant l'appel.

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