La transcription vocale vous permet de convertir vos données audio en streaming en texte transcrit en temps réel. L'assistance de l'agent fait des suggestions basées sur du texte. Les données audio doivent donc être converties avant de pouvoir être utilisées. Vous pouvez également utiliser des données audio en streaming transcrites avec Customer Experience Insights pour collecter des données en temps réel sur les conversations des agents (par exemple, la modélisation de sujets).
Il existe deux façons de transcrire des données audio en streaming pour les utiliser avec l'assistance de l'agent : à l'aide de la fonctionnalité SIPREC ou en effectuant des appels gRPC avec des données audio comme charge utile. Cette page décrit le processus de transcription de données audio en streaming à l'aide d'appels gRPC.
La transcription vocale fonctionne à l'aide de la reconnaissance vocale en streaming Speech-to-Text streaming speech recognition. Speech-to-Text propose plusieurs modèles de reconnaissance, standards et améliorés. L'assistance de l'agent ne limite pas les modèles que vous pouvez utiliser avec la transcription vocale, mais celle-ci n'est compatible au niveau de la disponibilité générale que lorsqu'elle est utilisée avec le modèle de téléphonie ou Chirp 3. Pour une qualité de transcription optimale, le modèle Chirp 3 est recommandé, sous réserve de disponibilité régionale.
Prérequis
- Créez un projet dans Google Cloud.
- Activez l'API Dialogflow.
- Contactez votre représentant Google pour vous assurer que votre compte a accès à Speech-to-Text modèles améliorés.
Créer un profil de conversation
Pour créer un profil de conversation, utilisez
la
console d'assistance de l'agent ou appelez directement la méthode create sur la
ConversationProfile
ressource.
Pour la transcription vocale, nous vous recommandons de configurer
ConversationProfile.stt_config comme InputAudioConfig par défaut lorsque vous envoyez
des données audio dans une conversation.

Obtenir des transcriptions lors de l'exécution de la conversation
Pour obtenir des transcriptions lors de l'exécution de la conversation, vous devez créer des participants pour la conversation et envoyer des données audio pour chaque participant.
Créer des participants
Il existe trois types de
participant.
Pour en savoir plus sur leurs rôles, consultez la documentation
de référence. Appelez la méthode create sur le participant et spécifiez le role. Seul un participant END_USER ou HUMAN_AGENT peut appeler StreamingAnalyzeContent, ce qui est nécessaire pour obtenir une transcription.
Envoyer des données audio et obtenir une transcription
Vous pouvez utiliser
StreamingAnalyzeContent
pour envoyer l'audio d'un participant à Google et obtenir une transcription, avec les
paramètres suivants :
La première requête du flux doit être
InputAudioConfig. (Les champs configurés ici remplacent les paramètres correspondants dansConversationProfile.stt_config.) N'envoyez aucune entrée audio avant la deuxième requête.audioEncodingdoit être défini surAUDIO_ENCODING_LINEAR_16ouAUDIO_ENCODING_MULAW.model: modèle Speech-to-Text que vous souhaitez utiliser pour transcrire votre contenu audio. Définissez ce champ surchirp_3. La variante n'a pas d'incidence sur la qualité de la transcription. Vous pouvez donc laisser Speech model variant (Variante du modèle de reconnaissance vocale) non spécifié ou choisir Use best available (Utiliser la meilleure option disponible).singleUtterancedoit être défini surfalsepour une qualité de transcription optimale. Vous ne devez pas vous attendre àEND_OF_SINGLE_UTTERANCEsisingleUtteranceestfalse, mais vous pouvez compter surisFinal==truedansStreamingAnalyzeContentResponse.recognition_resultpour fermer le flux à moitié.- Paramètres facultatifs supplémentaires : les paramètres suivants sont
facultatifs. Pour accéder à ces paramètres, contactez votre représentant Google.
languageCode:language_codede l'audio. La valeur par défaut esten-US.alternativeLanguageCodes: cette fonctionnalité n'est disponible au niveau de la disponibilité générale que pour le modèle Chirp 3. Autres langues susceptibles d'être détectées dans le contenu audio. L'assistance de l'agent utilise le champlanguage_codepour détecter automatiquement la langue au début du contenu audio et l'utilise par défaut dans tous les tours de conversation suivants. Le champalternativeLanguageCodesvous permet de spécifier d'autres options parmi lesquelles l'assistance de l'agent peut choisir.phraseSets: nom de ressource Speech-to-Text model adaptationphraseSet.- Pour configurer l'adaptation du modèle Chirp 3, ajoutez des expressions intégrées séparées par des sauts de ligne, sans virgules.
- Pour utiliser l'adaptation de modèle avec d'autres modèles tels que
telephonypour la transcription vocale, vous devez d'abord créer lephraseSetà l'aide de l'API Speech-to-Text et spécifier le nom de ressource ici.
Une fois que vous avez envoyé la deuxième requête avec la charge utile audio, vous devriez commencer à recevoir des
StreamingAnalyzeContentResponsesdu flux.- Vous pouvez fermer le flux à moitié (ou arrêter l'envoi dans certaines langues comme Python) lorsque vous voyez
is_finaldéfini surtruedansStreamingAnalyzeContentResponse.recognition_result. - Une fois que vous avez fermé le flux à moitié, le serveur renvoie la réponse contenant la transcription finale, ainsi que des suggestions Dialogflow ou des suggestions d'assistance de l'agent potentielles.
- Vous pouvez fermer le flux à moitié (ou arrêter l'envoi dans certaines langues comme Python) lorsque vous voyez
Vous trouverez la transcription finale aux emplacements suivants :
StreamingAnalyzeContentResponse.message.content.- Si vous activez les notifications Pub/Sub, vous pouvez également voir la transcription dans Pub/Sub.
Démarrez un nouveau flux une fois le flux précédent fermé.
- Renvoyer l'audio : les données audio générées après le dernier
speech_end_offsetde la réponse avecis_final=trueau nouvel horaire de début du flux doivent être renvoyées àStreamingAnalyzeContentpour une qualité de transcription optimale.
- Renvoyer l'audio : les données audio générées après le dernier
Le schéma suivant illustre le fonctionnement du flux.

Exemple de code de requête de reconnaissance en streaming
L'exemple de code suivant montre comment envoyer une requête de transcription en streaming.
Python
Pour vous authentifier auprès de l'assistance de l'agent, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Procédez comme suit pour afficher les fichiers Python pour conversation_management et participant_management.
Accédez au dépôt GitHub pour les documents Python.
Cliquez sur Go to file (Accéder au fichier), puis saisissez le nom du fichier :
conversation_managementouparticipant_management.Cliquez sur Entrée.
Bonnes pratiques
L'heure d'envoi du message correspond au début d'une énonciation. Utilisez l'heure d'envoi du message pour déterminer l'ordre dans lequel votre centre de contact affiche ou analyse les messages vocaux .