Mit der CCAI-Transkription kannst du deine gestreamten Audiodaten in Echtzeit in Transkripttext umwandeln. Agent Assist macht Vorschläge basierend auf Text. Daher müssen Audiodaten konvertiert werden, bevor sie verwendet werden können. Sie können auch transkribiertes Streaming-Audio mit CCAI Insights verwenden, um Echtzeitdaten zu Kundenservicemitarbeiter-Unterhaltungen zu erheben (z. B. Themenmodellierung).
Es gibt zwei Möglichkeiten, Streaming-Audio für die Verwendung mit CCAI zu transkribieren: mit der SIPREC-Funktion oder mit gRPC-Aufrufen mit Audiodaten als Nutzlast. Auf dieser Seite wird beschrieben, wie Streaming-Audiodaten mit gRPC-Aufrufen transkribiert werden.
Die CCAI-Transkription verwendet die Streamingspracherkennung von Speech-to-Text. Speech-to-Text bietet mehrere Erkennungsmodelle, Standard- und erweiterte. Die CCAI-Transkription wird nur auf GA-Ebene unterstützt, wenn sie mit dem optimierten Modell für Telefonanrufe verwendet wird.
Vorbereitung
- Erstellen Sie ein Projekt in Google Cloud.
- Aktivieren Sie die Dialogflow API.
- Wenden Sie sich an Ihren Google-Ansprechpartner, um sicherzustellen, dass Ihr Konto Zugriff auf optimierte Modelle für die Spracherkennung hat.
Unterhaltungsprofil erstellen
Wenn Sie ein Unterhaltungsprofil erstellen möchten, verwenden Sie die Agent Assist Console oder rufen Sie die Methode create
für die Ressource ConversationProfile
direkt auf.
Für die CCAI-Transkription empfehlen wir, ConversationProfile.stt_config
als Standard-InputAudioConfig
zu konfigurieren, wenn Sie Audiodaten in einer Unterhaltung senden.
Transkripte während der Unterhaltung abrufen
Wenn Sie während einer Unterhaltung eine Transkription 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 END_USER
- oder HUMAN_AGENT
-Teilnehmer kann StreamingAnalyzeContent
anrufen, was für eine Transkription erforderlich ist.
Audiodaten senden und Transkript erhalten
Mit StreamingAnalyzeContent
können Sie das Audio eines Teilnehmers an Google senden und mit den folgenden Parametern eine Transkription erhalten:
Die erste Anfrage im Stream muss
InputAudioConfig
sein. (Die hier konfigurierten Felder überschreiben die entsprechenden Einstellungen unterConversationProfile.stt_config
.) Senden Sie erst nach der zweiten Anfrage Audioeingaben.audioEncoding
muss aufAUDIO_ENCODING_LINEAR_16
oderAUDIO_ENCODING_MULAW
gesetzt sein.model
: Das ist das Speech-to-Text-Modell, das Sie zum Transkribieren Ihrer Audioinhalte verwenden möchten. Legen Sie für dieses Feld den Werttelephony
fest.- Für die beste Transkriptionsqualität sollte
singleUtterance
auffalse
festgelegt werden. Du solltestEND_OF_SINGLE_UTTERANCE
nicht erwarten, wennsingleUtterance
false
ist. Du kannst jedoch davon ausgehen, dassisFinal==true
inStreamingAnalyzeContentResponse.recognition_result
den Stream halb schließt. - 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
: Zusätzliche Sprachen, die im Audioinhalt erkannt werden könnten. Agent Assist verwendet das Feldlanguage_code
, um die Sprache zu Beginn des Audiostreams automatisch zu erkennen und bei allen folgenden Unterhaltungsrunden beizubehalten. Im FeldalternativeLanguageCodes
können Sie weitere Optionen für Agent Assist angeben.phraseSets
: Der Name derphraseSet
-Ressource für die Anpassung des Sprach-zu-Text-Modells. Wenn Sie die Modellanpassung mit der CCAI-Transkription verwenden möchten, müssen Sie zuerst diephraseSet
mit der Speech-to-Text API erstellen und hier den Ressourcennamen angeben.
Nachdem du die zweite Anfrage mit Audionutzlast gesendet hast, solltest du
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öglichen Dialogflow- oder Agent Assist-Vorschlägen 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 Speicherorten:
StreamingAnalyzeContentResponse.message.content
.- Wenn Sie Pub/Sub-Benachrichtigungen aktivieren, können Sie die Transkription auch in Pub/Sub aufrufen.
Starten Sie einen neuen Stream, nachdem der vorherige geschlossen wurde.
- Audio noch einmal senden: Audiodaten, die nach der letzten
speech_end_offset
der Antwort mitis_final=true
bis zur neuen Streamstartzeit generiert werden, müssen für eine optimale Transkriptionsqualität noch einmal anStreamingAnalyzeContent
gesendet werden.
- Audio noch einmal senden: Audiodaten, die nach der letzten
Im folgenden Diagramm wird die Funktionsweise von Streams veranschaulicht.
Beispiel für Code 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.