Mit der Sprachtranskription können Sie Ihre Streaming-Audiodaten in Echtzeit in transkribierten Text umwandeln. Agent Assist macht Vorschläge auf Grundlage von Text. Audiodaten müssen also konvertiert werden, bevor sie verwendet werden können. Sie können auch transkribierte Streaming-Audiodaten mit Conversational Insights verwenden, um Echtzeitdaten zu Agent-Unterhaltungen zu erfassen, z. B. Themenmodellierung.
Es gibt zwei Möglichkeiten, Streaming-Audio für die Verwendung mit Agent Assist zu transkribieren: entweder mit der SIPREC-Funktion oder durch gRPC-Aufrufe mit Audiodaten als Nutzlast. Auf dieser Seite wird beschrieben, wie Sie Streaming-Audiodaten mit gRPC-Aufrufen transkribieren.
Die Sprache wird mithilfe der Streaming-Spracherkennung von Speech-to-Text transkribiert. Speech-to-Text bietet mehrere Erkennungsmodelle, Standard- und optimierte. Die Sprachtranskription wird auf GA-Ebene nur unterstützt, wenn sie mit dem Telefonie-Modell verwendet wird.
Vorbereitung
- Erstellen Sie ein Projekt inGoogle Cloud.
- Dialogflow API aktivieren
- Wenden Sie sich an Ihren Google-Kundenbetreuer, um sicherzustellen, dass Ihr Konto Zugriff auf erweiterte Speech-to-Text-Modelle hat.
Unterhaltungsprofil erstellen
Wenn Sie ein Unterhaltungsprofil erstellen möchten, verwenden Sie die Agent Assist Console oder rufen Sie die Methode create
direkt für die Ressource ConversationProfile
auf.
Für die Spracheingabe empfehlen wir, ConversationProfile.stt_config
als Standard-InputAudioConfig
zu konfigurieren, wenn Audiodaten in einer Unterhaltung gesendet werden.
Transkriptionen während der Unterhaltung abrufen
Wenn Sie während der Unterhaltung Transkriptionen erhalten möchten, müssen Sie Teilnehmer für die Unterhaltung erstellen und Audiodaten für jeden Teilnehmer senden.
Teilnehmer erstellen
Es gibt drei Arten von Teilnehmern.
Weitere Informationen zu ihren Rollen finden Sie in der Referenzdokumentation. Rufen Sie die Methode create
für participant
auf und geben Sie role
an. Nur ein Teilnehmer mit der Rolle END_USER
oder HUMAN_AGENT
kann StreamingAnalyzeContent
aufrufen, was für eine Transkription erforderlich ist.
Audiodaten senden und ein Transkript erhalten
Sie können StreamingAnalyzeContent
verwenden, um das Audio eines Teilnehmers an Google zu senden und ein Transkript zu erhalten. Dazu sind die folgenden Parameter erforderlich:
Die erste Anfrage im Stream muss
InputAudioConfig
sein. Die hier konfigurierten Felder überschreiben die entsprechenden Einstellungen unterConversationProfile.stt_config
. Senden Sie erst bei der zweiten Anfrage Audioeingaben.audioEncoding
muss aufAUDIO_ENCODING_LINEAR_16
oderAUDIO_ENCODING_MULAW
festgelegt werden.model
: Das ist das Speech-to-Text-Modell, das Sie zum Transkribieren Ihrer Audiodaten verwenden möchten. Setzen Sie dieses Feld auftelephony
. Die Variante hat keinen Einfluss auf die Transkriptionsqualität. Sie können Sprachmodellvariante also nicht angeben oder Beste verfügbare verwenden auswählen.singleUtterance
sollte für eine optimale Transkriptionsqualität auffalse
festgelegt werden. Sie solltenEND_OF_SINGLE_UTTERANCE
nicht erwarten, wennsingleUtterance
false
ist. Sie können sich jedoch aufisFinal==true
inStreamingAnalyzeContentResponse.recognition_result
verlassen, um den Stream halb zu schließen.- Optionale zusätzliche Parameter: Die folgenden Parameter sind optional. Wenden Sie sich an Ihren Google-Ansprechpartner, um Zugriff auf diese Parameter zu erhalten.
languageCode
:language_code
des Audios. Der Standardwert isten-US
.alternativeLanguageCodes
: Dies ist eine Vorschaufunktion. Zusätzliche Sprachen, die im Audio erkannt werden könnten. Agent Assist verwendet das Feldlanguage_code
, um die Sprache am Anfang des Audios automatisch zu erkennen und in allen folgenden Unterhaltungsrunden standardmäßig zu verwenden. Im FeldalternativeLanguageCodes
können Sie weitere Optionen für Agent Assist angeben.phraseSets
: Der Ressourcenname der Anpassung des Speech-to-Text-ModellsphraseSet
. Wenn Sie die Modellanpassung für die Sprachtranskription verwenden möchten, müssen Sie zuerstphraseSet
mit der Speech-to-Text API erstellen und den Ressourcennamen hier angeben.
Nachdem Sie die zweite Anfrage mit der Audio-Nutzlast gesendet haben, sollten Sie einige
StreamingAnalyzeContentResponses
aus dem Stream empfangen.- Sie können den Stream halb schließen (oder das Senden in einigen Sprachen wie Python beenden), wenn
is_final
inStreamingAnalyzeContentResponse.recognition_result
auftrue
gesetzt ist. - Nachdem Sie den Stream halb geschlossen haben, sendet der Server die Antwort mit dem endgültigen Transkript sowie mögliche Dialogflow- oder Agent Assist-Vorschläge zurück.
- Sie können den Stream halb schließen (oder das Senden in einigen Sprachen wie Python beenden), wenn
Sie finden die endgültige Transkription an den folgenden Stellen:
StreamingAnalyzeContentResponse.message.content
.- Wenn Sie Pub/Sub-Benachrichtigungen aktivieren, können Sie das Transkript auch in Pub/Sub aufrufen.
Starten Sie einen neuen Stream, nachdem der vorherige Stream geschlossen wurde.
- Audio neu senden: Audiodaten, die nach dem letzten
speech_end_offset
der Antwort mitis_final=true
generiert wurden, müssen für eine optimale Transkriptionsqualität anStreamingAnalyzeContent
gesendet werden.
- Audio neu senden: Audiodaten, die nach dem letzten
Das folgende Diagramm veranschaulicht die Funktionsweise von Streams.
Beispielcode für Streamingerkennungsanfrage
Im folgenden Codebeispiel wird gezeigt, wie eine Streaming-Transkriptionsanfrage gesendet wird:
Python
Richten Sie zur Authentifizierung bei Agent Assist Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.