Elementary, Watson: vous intégrez avec Voximplant


Travailler avec les langues naturelles (NLU, NLP) est un domaine de concurrence intense entre les gĂ©ants de l'informatique. Ainsi que le dĂ©veloppement de l'IA. Eh bien, et en consĂ©quence, l'intersection de ces ensembles est Ă©galement une niche chaude, ce qui est intĂ©ressant d'observer et d'apprendre de nouvelles choses. Voximplant s'est longtemps liĂ© d'amitiĂ© avec Google Dialogflow , et si bien que nous avons fait un wrapper pour cette intĂ©gration - Dialogflow Connector . IBM possĂšde un analogue, l'agent vocal basĂ© sur Watson, qui effectue la mĂȘme tĂąche d'automatisation d'une communication flexible et adĂ©quate avec le client pour remplacer l'IVR classique. Nous avons essayĂ© la technologie sur une dĂ©mo simple et aujourd'hui, Ă©tape par Ă©tape, nous vous expliquerons comment la faire Ă©galement. En attendant, vous lirez ceci, nos dĂ©veloppeurs continueront de faire un wrapper pour cette intĂ©gration ...

Que ferons-nous?


Pas de science fusée - nous créerons le bot le plus simple que nous appellerons, il dira bonjour, offrira deux options: l'une bouclera la conversation, l'autre mettra fin à la conversation et le bot vous dira au revoir. Nuance: au moment de la rédaction de cet article, Watson ne prend en charge que quatre langues - anglais, arabe, portugais et chinois (simplifié) - donc la démo sera en anglais, comme la plus familiÚre d'entre elles.

Création de ressources


Si vous ne possédez pas de compte IBM Cloud, inscrivez-vous ici . Accédez à votre compte, dans le coin supérieur droit, cliquez sur Créer une ressource, le répertoire des ressources s'ouvrira. Sur la gauche, sélectionnez la catégorie Web et application, puis sur le cÎté droit de l'écran, cliquez sur Voice Agent with Watson.


Vous pouvez laisser tous les champs par défaut (Nom du service, région, etc.) - en bas de l'écran, cliquez sur Créer et allez faire du thé (c'est une blague, car IBM Cloud ne se retourne pas toujours rapidement). Lorsque la ressource est créée, vous serez redirigé vers le tableau de bord de cette ressource fraßchement créée; ici, vous verrez le nom de la ressource, son emplacement (Washington, DC), ainsi que le menu de gestion des ressources - il est situé sur la gauche. BientÎt, nous aurons besoin de l'élément Gérer de ce menu, mais nous devons d'abord acheter ...

Numéro Voximplant


L'agent a besoin d'un numĂ©ro par lequel il peut ĂȘtre joint. Pour ce faire, accĂ©dez au panneau Voximplant, section NumĂ©ros -> Mes numĂ©ros de tĂ©lĂ©phone , dans le coin supĂ©rieur droit, cliquez sur Acheter un nouveau numĂ©ro de tĂ©lĂ©phone. Un numĂ©ro virtuel convient Ă  nos besoins - sĂ©lectionnez le commutateur NumĂ©ros de test, cochez un numĂ©ro dans la liste et cliquez sur Acheter sĂ©lectionnĂ© en bas, puis Acheter dans la fenĂȘtre qui s'ouvre.


Vous verrez immédiatement ce numéro dans la liste de vos numéros. Copiez-le et revenez à IBM Cloud, à l'agent Voice with Watson.

Création d'agent


Astuce. Si vous avez fermé un onglet avec une ressource, voici comment ouvrir rapidement une ressource à partir de la page principale. Sur le tableau de bord cloud.ibm.com , cliquez sur le mot Services, une liste des ressources actuelles de votre compte s'ouvrira.


Dans le mĂȘme temps, le groupe Services sera dĂ©jĂ  dĂ©ployĂ© et l'agent vocal y sera visible. Cliquez dessus - cheers, vous avez Ă  nouveau ouvert la ressource souhaitĂ©e.



Dans le menu de gauche, sélectionnez Gérer, puis sur le cÎté droit de l'écran, cliquez sur le bouton Créer un agent vocal. Entrez le nom de l'agent et insérez le numéro virtuel acheté, faites défiler vers le bas - Créer un agent vocal.


IBM Cloud va réfléchir un peu et afficher un message sur la création réussie d'un agent et de 3 services embarqués. Eh bien, maintenant nous devons apprendre à l'agent comment ...

Parler avec des sacs en cuir


Dans le coin supĂ©rieur gauche, cliquez sur l'icĂŽne du hamburger, sĂ©lectionnez Liste des ressources. Dans la liste des ressources, sĂ©lectionnez VoiceAgent-WatsonAssistant (en bas de la liste). Dans le panneau de configuration, cliquez sur l'outil Lancer. Le panneau de configuration de Watson Assistant s'ouvre. En haut, sĂ©lectionnez l'onglet CompĂ©tences. Vous verrez qu'il existe dĂ©jĂ  la compĂ©tence VoiceGatewayConversation - il s'agit d'un ensemble de phrases et d'un organigramme de dialogue que l'assistant a ajoutĂ© lors de la crĂ©ation de l'agent. Vous pouvez utiliser cette compĂ©tence, mais pour votre intĂ©rĂȘt, nous vous suggĂ©rons de crĂ©er la vĂŽtre.

Pour ce faire, sous l'onglet Compétences, cliquez sur Créer une compétence. Nommez-le simple compétence, laissez la langue anglais (US), cliquez sur Créer une compétence de dialogue.


À l'intĂ©rieur de la compĂ©tence, vous aurez besoin de trois onglets:
  • Intentions - les intentions du client. Ce sont essentiellement des phrases et leurs variations;
  • EntitĂ©s - mots clĂ©s pour la reconnaissance et leurs synonymes;
  • Dialogue - un organigramme de dialogue.

Dans l'onglet Intentions, ajoutez la déclaration #whatcanido et notez-y quelques options («Que puis-je faire?», «Montrez-moi les options», etc.).

Sous l'onglet Entités, ajoutez:
  • continuer avec les synonymes "continuer", "continuer";
  • options avec les synonymes " options ", "option", "choix";
  • arrĂȘter avec les synonymes "arrĂȘtĂ©", "quitter".

Dans l'onglet BoĂźte de dialogue, cliquez sur CrĂ©er une boĂźte de dialogue, les blocs Bienvenue et Tout le reste apparaĂźtront. Ouvrez n'importe quoi d'autre et dĂ©finissez les paramĂštres comme dans la capture d'Ă©cran (texte: "Vous pouvez choisir de continuer cette conversation dĂ©nuĂ©e de sens ou de l'arrĂȘter. Dites" continuer "ou" arrĂȘter ".). Veuillez noter que dans la condition de reconnaissance, nous avons ajoutĂ© non seulement l'intention, mais Ă©galement un mot-clĂ© pour la sĂ©curitĂ©.


Cliquez ensuite sur les trois points du bloc Anything else, sĂ©lectionnez Add node enfant, crĂ©ez un bloc continue . CrĂ©ez Ă  l'intĂ©rieur de tout le reste, crĂ©ez un autre bloc enfant - arrĂȘtez . ParamĂštres de blocage:



Ainsi, le bot rĂ©pĂ©tera sans fin le texte sur le choix pendant que la personne dit «continuer», ou mettra fin au dialogue lorsque la personne dit «arrĂȘte». En effet, conversation vide de sens.
Si vous ĂȘtes trop paresseux pour faire tout cela, vous pouvez tĂ©lĂ©charger notre fichier json et l'importer en tant que compĂ©tence. Pour ce faire, sous l'onglet CompĂ©tences, cliquez sur CrĂ©er une compĂ©tence, basculez vers l'onglet Importer une compĂ©tence, cliquez sur Choisir un fichier JSON, spĂ©cifiez le fichier tĂ©lĂ©chargĂ© et enfin cliquez sur Importer.

Dernier point, mais non le moindre, à ce stade: retournez sur cloud.ibm.com , ouvrez la liste des ressources, cliquez sur Voice Agent with Watson, accédez à l'onglet Gérer. Sur l'agent habr-watson, cliquez sur les trois points, sélectionnez Modifier l'agent. Dans la section Conversation, changez le nom de la compétence pour indiquer la compétence que vous venez de créer:


Terminé, maintenant l'agent peut communiquer avec les gens! Il y avait la derniÚre touche, à savoir ...

Application et script Voximplant


Dans le panneau de configuration de Voximplant, crĂ©ez l'application watson . Toutes les Ă©tapes suivantes doivent ĂȘtre effectuĂ©es dans cette application. AccĂ©dez Ă  l'onglet ScĂ©narios et crĂ©ez un scĂ©nario watson avec le code:
require(Modules.ASR) VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => { let call2 = VoxEngine.callSIP("sip:699100484@us-east.voiceagent.cloud.ibm.com") const recognition = VoxEngine.createASR({ lang: ASRLanguage.ENGLISH_US }) let botSpeech = "" recognition.addEventListener(ASREvents.Result, e => { botSpeech += e.text botSpeech.includes("goodbye") ? VoxEngine.terminate() : Logger.write("There is no 'goodbye' yet.") }) call2.addEventListener(CallEvents.Connected, () => call2.sendMediaTo(recognition)) VoxEngine.easyProcess(e.call, call2) }) 

N'oubliez pas de remplacer le numéro de téléphone que vous avez acheté précédemment et spécifié dans les paramÚtres de l'agent IBM dans l'appel de la méthode callSIP!

Ensuite, allez dans l'onglet Routage et créez une rÚgle watson. Spécifiez le script de scénario watson:

Enfin, allez dans l'onglet NumĂ©ros, oĂč il y aura les sections attachĂ©es (il est vide jusqu'Ă  prĂ©sent) et disponibles. Passez Ă  Disponible, marquez le numĂ©ro achetĂ© et cliquez sur Attacher.


Dans la fenĂȘtre qui s'ouvre, spĂ©cifiez la rĂšgle watson, puis Attachez.


Maintenant, le numéro apparaßtra dans la section ci-jointe. Ici, vous verrez les numéros que vous pouvez appeler, puis entrez le numéro virtuel acheté en mode tonalité et démarrez une conversation trÚs intelligente avec le bot IBM.


Source: https://habr.com/ru/post/fr452282/


All Articles