View a markdown version of this page

Verwendung von Sprach-APIs zur Ausführung von Sprachanalysen für das Amazon Chime SDK - Amazon Chime SDK

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von Sprach-APIs zur Ausführung von Sprachanalysen für das Amazon Chime SDK

Aus Gründen der Abwärtskompatibilität können Sie die Amazon Chime SDK Voice APIs verwenden, um Sprachanalysen zu starten und zu verwalten. Allerdings bieten nur die Media Insights Pipeline-APIs für Sprachanalysen neue Funktionen. Wir empfehlen daher dringend, sie stattdessen zu verwenden.

In den folgenden Abschnitten werden die Unterschiede zwischen den APIs für Sprach- und Medienerkenntnisse erläutert.

Aufgaben beenden

Wenn Sie einen Voice Connector verwenden, um Sprachanalyseaufgaben zu starten, und Sie dann die UpdateMediaInsightsPipelineStatus API verwenden, um die Pipeline anzuhalten, werden die Aufgaben weiter ausgeführt. Um die Aufgaben zu beenden, müssen Sie die StopVoiceToneAnalysisTask APIs StopSpeakerSearchTask und aufrufen.

Grundlegendes zu den Unterschieden bei Benachrichtigungen

Wenn Sie Sprach-APIs zur Durchführung von Sprachanalysen verwenden, unterscheiden sich die Benachrichtigungen von denen, die von Media Insights-Pipelines generiert werden.

  • Ereignisse, die für Sprachanalysen bereit sind, sind nur für Aufgaben verfügbar, die mithilfe von Sprach-APIs gestartet wurden.

  • Sie müssen die callId Felder voiceConnectorIdtransactionId, oder in Ihren Benachrichtigungen verwenden, um eine Sprachanalyseaufgabe mit einem Anruf zu verknüpfen. Wenn Sie Media Insights-Pipelines verwenden, um Sprachanalysen auszuführen, verwenden Sie die channelId Felder mediaInsightsPipelineId und streamArn oder, um eine Aufgabe einem Anruf zuzuordnen.

In den folgenden Themen wird erläutert, wie Benachrichtigungen mit Sprach-APIs verwendet werden.

Ereignisse, die zur Sprachanalyse bereit sind

Ereignisse, die für Sprachanalysen geeignet sind, haben den VoiceAnalyticsStatus Detailtyp.

Sie verwenden Amazon Chime SDK Voice Connectors, um Analyseaufgaben zu starten. Wenn Sie ein Ereignis erhalten, das für die Sprachanalyse bereit ist, können Sie für den Anruf eine Sprechersuche oder eine Aufgabe zur Sprachtonanalyse auslösen, die anhand der folgenden Eigenschaften identifiziert wird:

  • voiceConnectorId

  • transactionId

Anmerkung

Diese Benachrichtigung wird nur angezeigt, wenn Sie eine Media Insights-Pipeline-Konfiguration mit aktivierter Sprachanalyse haben und die einem Voice Connector zugeordnet ist. Diese Benachrichtigung wird NICHT angezeigt, wenn Kunden die CreateMediaInsightsPipeline API aufrufen und über das Media Pipelines SDK eine Aufgabe zur Sprechersuche oder Sprachtonanalyse starten.

Die von einem Voice Connector zurückgegebenen SIP-Header enthalten die. transactionId Wenn Sie keinen Zugriff auf die SIP-Header haben, enthält das AnalyticsReady Benachrichtigungsereignis auch das voiceConnectorId Zeichen und. transactionId Dadurch können Sie die Informationen programmgesteuert empfangen und die StartSpeakerSearchTask, oder APIs aufrufen. StartVoiceToneAnalysisTask

Wenn die Sprachanalyse zur Verarbeitung bereit ist, sendet der Voice Connector ein Ereignis als "detailStatus": "AnalyticsReady" JSON-Text an das Benachrichtigungsziel. Wenn Sie Amazon SNS oder Amazon SQS verwenden, erscheint dieser Text im Feld „Datensätze“ in der Amazon SNS- oder Amazon SQS-Nutzlast.

Das folgende Beispiel zeigt einen typischen JSON-Text.

{ "detail-type": "VoiceAnalyticsStatus", "version": "0", "id": "Id-f928dfe3-f44b-4965-8a17-612f9fb92d59", "source": "aws.chime", "account": "123456789012", "time": "2022-08-26T17:55:15.563441Z", "region": "us-east-1", "resources": [], "detail": { "detailStatus": "AnalyticsReady", "callDetails": { "isCaller": false, "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436", "voiceConnectorId": "fuiopl1fsv9caobmqf2vy7" } } }

Diese Benachrichtigung ermöglicht es Ihnen, zusätzliche Rückrufe an Ihre Anwendung auszulösen und alle rechtlichen Anforderungen wie Benachrichtigung und Einwilligung zu erfüllen, bevor Sie die APIs für Sprachanalyseaufgaben aufrufen.

Veranstaltungen zur Sprechersuche

Ereignisse für die Sprechersuche haben den SpeakerSearchStatus Detailtyp.

Amazon Chime SDK Voice Connectors senden die folgenden Lautsprecher-Suchereignisse:

  • Die Identifizierung stimmt überein

  • Generierung der Spracheinbettung

Die Ereignisse können den folgenden Status haben:

  • IdentificationSuccessful— Mindestens eine passende Stimmprofil-ID mit einem hohen Konfidenzwert in der angegebenen Stimmprofildomäne wurde erfolgreich identifiziert.

  • IdentificationFailure— Identifizierung konnte nicht durchgeführt werden. Ursachen: Der Anrufer spricht mindestens 10 Sekunden lang nicht, schlechte Audioqualität.

  • IdentificationNoMatchesFound— In der angegebenen Sprachprofil-Domäne konnte kein Treffer mit hoher Konfidenz gefunden werden. Der Anrufer ist möglicherweise neu oder seine Stimme hat sich geändert.

  • VoiceprintGenerationSuccessful— Das System generierte eine Spracheinbettung, bei der 20 Sekunden lang kein Ton verstummt war.

  • VoiceprintGenerationFailure— Das System konnte keine Spracheinbettung generieren. Ursachen: Der Anrufer spricht mindestens 20 Sekunden lang nicht, schlechte Audioqualität.

Die Identifizierung stimmt überein

Nachdem die StartSpeakerSearchTask API für eine bestimmte Zeit aufgerufen wurdetransactionId, sendet der Voice Connector-Dienst nach 10 Sekunden ohne stumme Spracheingabe eine Benachrichtigung über die Identifikationsübereinstimmung zurück. Der Dienst gibt die 10 besten Treffer zusammen mit einer Stimmprofil-ID und einem Vertrauenswert im Bereich von [0, 1] zurück. Je höher der Vertrauenswert, desto wahrscheinlicher ist es, dass der Sprecher aus dem Anruf mit der Sprachprofil-ID übereinstimmt. Wenn das Machine-Learning-Modell keine Treffer findet, enthält das detailStatus Feld der Benachrichtigung FolgendesIdentificationNoMatchesFound.

Das folgende Beispiel zeigt eine Benachrichtigung über einen erfolgreichen Treffer.

{ "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", } ] }, "isCaller": false, "voiceConnectorId": "abcdef1ghij2klmno3pqr4", "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436" } }

Generierung der Spracheinbettung

Nach weiteren 10 Sekunden ohne Stummschaltung sendet der Voice Connector eine Benachrichtigung zur Generierung der Spracheinbettung an die Benachrichtigungsziele. Sie können neue Spracheinbettungen in ein Stimmprofil aufnehmen oder einen bereits in einem Stimmprofil vorhandenen Ausdruck aktualisieren.

Das folgende Beispiel zeigt die Benachrichtigung über einen erfolgreichen Match, was bedeutet, dass Sie das zugehörige Stimmprofil aktualisieren können.

{ "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", "isCaller": false, "transactionId": "12345678-1234-1234", "voiceConnectorId": "abcdef1ghij2klmno3pqr" } }

Ereignisse bei der Analyse des Sprachtons

Ereignisse der Stimmtonanalyse haben den VoiceToneAnalysisStatus Detailtyp. Die Analysen können die folgenden Status zurückgeben:

  • VoiceToneAnalysisSuccessful— Die Stimmen des Anrufers und des Agenten wurden erfolgreich im Hinblick auf die Wahrscheinlichkeit einer positiven, negativen oder neutralen Stimmung analysiert.

  • VoiceToneAnalysisFailure— Die Tonanalyse konnte nicht durchgeführt werden. Dies kann passieren, wenn der Anrufer 10 Sekunden lang hängen bleibt, ohne zu sprechen, oder wenn die Audioqualität zu schlecht wird.

  • VoiceToneAnalysisCompleted— Die Stimmen des Benutzers und des Agenten wurden erfolgreich auf die Stimmungswahrscheinlichkeiten für den gesamten Anruf hin analysiert. Dies ist das letzte Ereignis, das gesendet wird, wenn die Sprachtonanalyse abgeschlossen ist.

Das folgende Beispiel zeigt ein typisches Ereignis zur Stimmentonanalyse.

{ "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" } } }, "isCaller": true, "transactionId": "daaeb6bf-2fe2-4e51-984e-d0fbf2f09436", "voiceConnectorId": "fuiopl1fsv9caobmqf2vy7" }, "version": "0", "id": "Id-f928dfe3-f44b-4965-8a17-612f9fb92d59" }