Parole au texte

La reconnaissance automatique de la parole (ASR) permet aux applications de prendre en charge la saisie vocale pour des cas d'utilisation tels que le SVI, l'identification et différents types de robots/assistants vocaux. Grâce à cette fonction, l'application obtient la transcription du discours de l'utilisateur (sous forme de texte) lorsqu'elle s'attend à ce que l'utilisateur réponde à une question en la formulant plutôt qu'en entrant des chiffres (DTMF) ; elle peut ensuite poursuivre le flux d'appels conformément à sa logique commerciale en fonction de ce que l'utilisateur a dit.

Note : Cette fonction est payante. Les tarifs exacts peuvent être consultés sur le site Prix de l'API Voice sous la rubrique "Fonctions programmables".

Comment cela fonctionne-t-il ?

AppVonageUserAppVonageUsertalk/stream\ninputnext action(s)phone callanswer callbackNCCOaudio messagespeechtextNCCOnext action(s)

Généralement, la RPA est utilisée en conjonction avec un message audio diffusé à l'utilisateur. Le message peut être un fichier audio ou Synthèse vocaleou une combinaison des deux jouées séquentiellement. Pour activer le RSA, le NCCO doit contenir un input avec les paramètres de discours spécifiés.

Exemple de NCCO

[
  {
    "action": "talk",
    "text": "Hello!"
  },
  {
    "action": "talk",
    "text": "Please tell us, how can we help you today?",
    "bargeIn": true
  },
  {
    "eventUrl": [
      "https://api.example.com/callbacks/events"
    ],
    "eventMethod": "POST",
    "action": "input",
    "type": [ "speech" ],
    "speech": {
      "provider": "google",
      "providerOptions": {}
   }
  }
]

Les Guide de référence du NCCO contient des informations sur tous les paramètres possibles qui peuvent être utilisés en conjonction avec l'ASR input Action du NCCO.

Type d'entrée

Set (jeu de mots) type comme speech pour la saisie vocale uniquement, ou [ "dtmf", "speech" ] d'accepter les deux discours ou DTMF.

Options pour les fournisseurs et les prestataires

Lorsque vous utilisez la saisie vocale, vous pouvez choisir explicitement le fournisseur de services de synthèse vocale utilisé par Vonage en définissant les paramètres suivants provider. La valeur prise en charge est google. Si vous ne définissez pas providerVonage utilise le comportement par défaut.

Utilisation providerOptions pour passer la configuration Speech-to-Text spécifique au fournisseur. Lors de l'utilisation de providerOptionsles clés et les valeurs dans providerOptions sont déterminées par le fournisseur choisi. Pour plus de détails, se référer à la documentation de Google sur la manière de les spécifier à l'intérieur des providerOptions.

Si vous omettez providervous pouvez omettre providerOptions également. Si vous définissez providerLes projets de l'Union européenne comprennent providerOptions (il peut s'agir d'un objet vide {} ou null).

Important : Vonage impose certaines limites à providerOptions. Pour l'instant, vous ne pouvez définir que certaines model les valeurs en providerOptionsBien que Vonage utilise un modèle par défaut lorsque vous n'en spécifiez pas.

Soutien au modèle

Vonage prend en charge les éléments suivants model les valeurs en providerOptions:

Fournisseur Soutenu model valeurs Défaut model
Google latest_long, latest_short, command_and_search, phone_call, default, medical_conversation, medical_dictation, telephony, telephony_short default

Langue (héritage)

La langue dans laquelle l'utilisateur doit s'exprimer doit être précisée dans le champ "Langue". language paramètre (en-US par défaut).

Lors de l'utilisation de provider et providerOptionsLa configuration de ce paramètre est déterminée par le fournisseur choisi. Pour plus de détails, se référer à la documentation de Google sur la façon de le spécifier à l'intérieur de providerOptions.

Langues prises en charge

Lors de l'utilisation de provider et providerOptionsLes langues et les formats linguistiques pris en charge sont déterminés par le fournisseur choisi. Pour plus de détails, consultez la documentation de Google sur la manière de les spécifier à l'intérieur des providerOptions.

Langue Code
Afrikaans (Afrique du Sud) af-ZA
Albanais (Albanie) sq-AL
Amharique (Éthiopie) am-ET
Arabe (Algérie) ar-DZ
Arabe (Bahreïn) ar-BH
Arabe (Égypte) ar-EG
Arabe (Irak) ar-IQ
Arabe (Israël) ar-IL
Arabe (Jordanie) ar-JO
Arabe (Koweït) ar-KW
Arabe (Liban) ar-LB
Arabe (Maroc) ar-MA
Arabe (Oman) ar-OM
Arabe (Qatar) ar-QA
Arabe (Arabie Saoudite) ar-SA
Arabe (État de Palestine) ar-PS
Arabe (Tunisie) ar-TN
Arabe (Émirats arabes unis) ar-AE
Arménien (Arménie) hy-AM
Azerbaïdjanais (Azerbaïdjan) az-AZ
Basque (Espagne) eu-ES
Bengali (Bangladesh) bn-BD
Bengali (Inde) bn-IN
Bulgare (Bulgarie) bg-BG
Birman (Myanmar) my-MM
Catalan (Espagne) ca-ES
Chinois, cantonais (traditionnel, Hong Kong) yue-hant-HK
Chinois, mandarin (simplifié, Chine) zh (cmn-hans-cn)
Chinois, mandarin (traditionnel, Taiwan) zh-TW (cmn-hant-TW)
Croate (Croatie) hr-HR
Tchèque (République tchèque) cs-CZ
Danois (Danemark) da-DK
Néerlandais (Belgique) nl-BE
Néerlandais (Pays-Bas) nl-NL
Anglais (Australie) en-AU
Anglais (Canada) en-CA
Anglais (Ghana) en-GH
Anglais (Inde) en-IN
Anglais (Irlande) en-IE
Anglais (Kenya) en-KE
Anglais (Nouvelle-Zélande) en-NZ
Anglais (Nigeria) en-NG
Anglais (Philippines) en-PH
Anglais (Singapour) en-SG
Anglais (Afrique du Sud) en-ZA
Anglais (Tanzanie) en-TZ
Anglais (Royaume-Uni) en-GB
Anglais (États-Unis) en-US
Estonien (Estonie) et-EE
Philippin fil-PH
Finlandais (Finlande) fi-FI
Français (Canada) fr-CA
Français (France) fr-FR
Galicien (Espagne) gl-ES
Géorgien (Géorgie) ka-GE
Allemand (Allemagne) de-DE
Grec (Grèce) el-GR
Gujarati (Inde) gu-IN
Hébreu (Israël) he-IL
Hindi (Inde) hi-IN
Hongrois (Hongrie) hu-HU
Islandais (Islande) is-IS
Indonésien (Indonésie) id-ID
Italien (Italie) it-IT
Japonais (Japon) ja-JP
Javanais (Indonésie) jv-ID
Kannada (Inde) kn-IN
Khmer (Cambodge) km-KH
Coréen (Corée du Sud) ko-KR
Lao (Laos) lo-LA
Letton (Lettonie) lv-LV
Lituanien (Lituanie) lt-LT
Macédonien (Macédoine du Nord) mk-MK
Malais (Malaisie) ms-MY
Malayalam (Inde) ml-IN
Marathi (Inde) mr-IN
Mongol (Mongolie) mn-MN
Népalais (Nepal) ne-NP
Bokmål norvégien (Norvège) nb-NO
Persan (Iran) fa-IR
Polonais (Pologne) pl-PL
Portugais (Brésil) pt-BR
Portugais (Portugal) pt-PT
Punjabi (Gurmukhi, Inde) pa-guru-IN
Roumain (Roumanie) ro-RO
Russe (Russie) ru-RU
Serbe (Serbie) sr-RS
Sinhala (Sri Lanka) si-LK
Slovaque (Slovaquie) sk-SK
Slovène (Slovénie) sl-SI
Espagnol (Argentine) es-AR
Espagnol (Bolivie) es-BO
Espagnol (Chili) es-CL
Espagnol (Colombie) es-CO
Espagnol (Costa Rica) es-CR
Espagnol (République dominicaine) es-DO
Espagnol (Équateur) es-EC
Espagnol (El Salvador) es-SV
Espagnol (Guatemala) es-GT
Espagnol (Honduras) es-HN
Espagnol (Mexique) es-MX
Espagnol (Nicaragua) es-NI
Espagnol (Panama) es-PA
Espagnol (Paraguay) es-PY
Espagnol (Pérou) es-PE
Espagnol (Porto Rico) es-PR
Espagnol (Espagne) es-ES
Espagnol (États-Unis) es-US
Espagnol (Uruguay) es-UY
Espagnol (Venezuela) es-VE
Sundanais (Indonésie) su-ID
Swahili (Kenya) sw-KE
Swahili (Tanzanie) sw-TZ
Suédois (Suède) sv-SE
Tamil (Inde) ta-IN
Tamoul (Malaisie) ta-MY
Tamoul (Singapour) ta-SG
Tamoul (Sri Lanka) ta-LK
Telugu (Inde) te-IN
Thaï (Thaïlande) th-TH
Turc (Turquie) tr-TR
Ukrainien (Ukraine) uk-UA
Urdu (Inde) ur-IN
Urdu (Pakistan) ur-PK
Ouzbek (Ouzbékistan) uz-UZ
Vietnamien (Vietnam) vi-VN
Zulu (Afrique du Sud) zu-ZA

Contexte (héritage)

Des indications peuvent être fournies à l'aide de la fonction context afin d'améliorer la qualité de la reconnaissance. Les valeurs définies peuvent être les mots ou les phrases attendus de l'utilisateur, par exemple, ['one', 'two', 'three'] ou ['support', 'order starship'].

Lors de l'utilisation de provider et providerOptionsLa configuration de ce paramètre est déterminée par le fournisseur choisi. Pour plus de détails, se référer à la documentation de Google sur la façon de le spécifier à l'intérieur de providerOptions.

Barge In

Si l'utilisateur n'appelle pas pour la première fois, il se peut qu'il connaisse déjà la question à poser, de sorte qu'il peut commencer à parler avant même que le message audio ne soit terminé. Pour cela, il faut que l'utilisateur commence à parler avant même que le message audio ne se termine, bargeIn du TTS (ou stream - quelle que soit l'action utilisée pour le message) doit être activée.

Il est recommandé que le message TTS/audio initial soit un court message d'accueil sans activation de la fonction bargeIn afin d'améliorer l'expérience de l'utilisateur. Si bargeIn est activée pour le premier message d'accueil, l'utilisateur peut alors l'interrompre par inadvertance sans entendre le message d'accueil, puisque le bruit de fond peut être interprété par l'application comme une interaction active dans ces premiers instants.

Sauvegarder l'audio

Le son de la parole peut être stocké en option. Pour obtenir l'enregistrement, la touche saveAudio doit être défini, alors le paramètre recording_url sera inclus dans la charge utile de la demande de rappel. Cela peut être utile pour comparer la transcription avec l'audio original. Utiliser la fonction Télécharger un enregistrement pour télécharger l'audio.

Exemple de charge utile d'événement

Une fois que le BCN input est terminée, le rappel de l'entrée est envoyé :

{
  "speech": {
    "recording_url": "https://api-us.nexmo.com/v1/files/ee94a327-ab6b-4bef-86bf-cadca33343e9",
    "timeout_reason": "end_on_silence_timeout",
    "results": [
      {
        "confidence": "1.0",
        "text": "one two three four five six seven eight nine ten"
      }
    ]
  },
  "dtmf": {
    "digits": null,
    "timed_out": false
  },
  "uuid": "529aa8f0-0ad8-42b0-ad61-b76dca18bb52",
  "conversation_uuid": "CON-7347b08d-5f51-478f-bfb2-e8c3fd39509f",
  "timestamp": "2020-02-07T11:42:40.933Z"
}

Dans le corps de la réponse, un nouveau NCCO est attendu, contenant les actions du flux d'appel suivant basées sur la logique de l'application et l'entrée de l'utilisateur (speech.results.text). Voir aussi Référence pour les webhooks pour plus de détails.