
Bots et IA : qu'est-ce qu'une plateforme de robots ?
Temps de lecture : 9 minutes
Les principaux fournisseurs de robots d'intelligence artificielle - IBM Watson, Microsoft Cognitive Services, Amazon Lex, Google API - proposent tous à peu près les mêmes choses, mais chacun a sa propre terminologie. J'ai demandé à Martin Beeby, évangéliste technique chez Microsoft, et à Syd Lawrence, PDG et cofondateur de The Bot Platform, de m'aider à mettre la technologie au service de la terminologie.
Regardez la vidéo de notre conversation ici, ou faites défiler sous la vidéo pour lire la transcription complète.
Bots et IA : Qu'est-ce qu'une plateforme de robots (Transcription complète)
Sam Machin (Nexmo Developer Advocate & Alexa Champion): Soyons un peu plus techniques cette fois-ci. L'une des choses que j'ai apprises, c'est qu'en regardant, en particulier si je regarde à travers différentes plateformes, j'ai fait des choses avec IBM Watson, avec les services cognitifs de Microsoft, avec Alexa d'Amazon et Lexd'Amazon, et l'API de Google, AI Google Assistance. Tout le monde a différentes... tout le monde fait à peu près la même chose dans un ensemble d'API.
Ils ont tous quelque chose, ils ont un système de conversion de la parole en texte. Ils ont un système de traitement du langage naturel, ils ont un système d'exécution. Mais ils leur donnent des noms différents, une terminologie différente. Est-ce que quelqu'un voit quelque chose... Je veux dire, par exemple, si nous revenons à nos plateformes de robots, qu'est-ce qu'une plateforme de robots ? Syd, c'est votre entreprise.
Syd Lawrence (PDG et cofondateur de The Bot Platform) : Avant notre lancement sous le nom de The Bot Platform, on n'appelait pas cela des plateformes de robots. Nous construisons donc nos systèmes depuis avril dernier. Et il y a eu quelques lancements de ce que l'on appelait les bot builders. Nous pensions que ce que nous étions en train de créer n'était pas seulement un bot builder, mais toute une plateforme pour les bots, mais aussi pour l'extension des bots. Nous avons donc lancé The Bot Platform. Nous avons donc lancé The Bot Platform.
Puis, au cours des trois derniers mois, j'ai remarqué que tout le monde a commencé à les appeler plateformes de robots. Je ne sais pas si c'est une bonne chose parce que nous avons été les premiers ou si c'est une mauvaise chose parce que les gens pensent maintenant que nous nous appelons The Bot Platform parce que les gens les appellent des plateformes de robots.
En fin de compte, j'ai... notre objectif initial était de construire un système permettant à d'autres personnes de créer leurs propres bots de messagerie. Ce que nous avons réalisé au cours des six derniers mois, c'est que les gens n'ont aucune idée de ce qu'il faut faire lorsqu'on leur présente une solution technique comme celle-ci. "people have got no idea what to do when they're presented with a technical solution like this." Ce n'est pas une solution technique, c'est un peu comme un CMS. Ce que nous faisons maintenant, c'est que nous offrons une solution de service où nous aidons à construire le bot pour eux ou avec eux pour commencer, puis nous leur transmettons la solution technique plus tard.
Mais oui, en fin de compte, on ne les appelait pas des plateformes de robots jusqu'à ce que nous lancions The Bot Platform. Voilà donc ma réponse à cette question.
Sam : Alors dites-moi, je veux dire que l'un des débats que j'ai voulu entendre, c'est... d'accord. Mais je veux dire que la plateforme de robots doit avoir certaines caractéristiques. Par exemple, Facebook Messenger n'est pas une plateforme de robots en soi, n'est-ce pas ?
Martin Beeby (évangéliste technique chez Microsoft) : Nous appellerions cela un... nous décririons cela comme un canal dans notre terminologie. Skype, Facebook ou n'importe quelle autre plateforme, Kik ou autre, ou Slack, nous les appelons des canaux. Ensuite, nous avons un cadre, un cadre pour les robots, qui couvre tous ces éléments. Vous pouvez donc construire pour tous ces éléments avec un seul bot. Avec un seul cadre de bot, vous pouvez construire pour toutes ces plateformes.
Mais oui, pour toutes ces plateformes, pour tous ces canaux. Vous voyez, nous nous embrouillons déjà avec la terminologie. J'essaie d'aider avec la terminologie et de créer plus d'ambiguïté. Mais oui, nous appellerions ces canaux et ensuite nous avons un cadre pour les robots. En fait, nous ne l'appelons pas plateforme de robots parce que nous reconnaissons que Syd était là en premier. Nous ne voulions donc pas perturber ce domaine.
Sam : Je pense que c'est... oui, le canal est l'une des choses que je vois comme une terminologie émergente. Le canal est la façon dont l'utilisateur accède au bot parce que le bot lui-même est... et la plupart de ces canaux sont vraiment des canaux de communication. Ils ont été conçus à l'origine pour des discussions de personne à personne. Slack est un moyen de communiquer avec d'autres personnes. La seule différence est qu'au lieu de communiquer avec une personne, vous communiquez avec un bot. Le bot lui-même vit... il ne fait pas plus partie du canal que moi en tant qu'utilisateur. Le canal est ce qui me relie au robot.
Et je suppose que dans certains systèmes plus étroitement couplés, comme Alexa peut-être, c'est tout-en-un. Mais comme nous continuons à construire des choses sur des canaux de communication existants, alors oui. Il est certain qu'il y a une séparation entre le bot.
Martin, quel est votre cadre ? Que fait votre cadre à un niveau générique ? Quelles sont les caractéristiques qui le composent ?
Martin : En gros, il s'agit d'un cadre, d'un kit de développement, d'un SDK qui fonctionne en Node ou en C#. Vous construisez ce robot et il... ces deux langages fonctionnent légèrement différemment. Mais grosso modo, nous avons un modèle pour recevoir un message et en renvoyer un autre. Nous couvrons toutes les plateformes. Vous pouvez donc créer un bot en utilisant soit node, soit C#...
Syd : Il couvre tous les canaux.
Martin : Ai-je dit plates-formes ? C'est très bien. Je parle de tous les canaux. L'idée, c'est que vous construisez l'une de ces choses et que nous sommes là en tant qu'intermédiaire pour nous assurer qu'elle est disponible sur tous les canaux pour vous. Mais vous créez un bot.
Plus récemment, il est possible de répondre différemment en fonction du canal sur lequel on s'exprime. Si je crée un bot pour Facebook Messenger, par exemple, je vais probablement mettre l'accent sur l'interface utilisateur. Parce que les directives de Facebook Messenger parlent de boutons, de carrousels et de choses comme ça. Sur certains canaux, elles sont beaucoup plus restrictives quant à l'aspect de l'interface. Et peut-être que vous ne fournissez que du texte dans ces cas-là ou des boutons ou autres. Nous construisons donc un bot, mais vous pouvez réagir différemment en fonction du canal et de la façon dont le message vous parvient.
Mais la raison, le type de... la proposition que Microsoft offre est cette économie d'argent. Vous construisez un seul bot et vous pouvez le rendre disponible sur Skype, Facebook Messenger et Slack. "You build one single bot and then you can make it available on Skype, Facebook Messenger, and Slack." Sam : Quel était le vieil adage de Java : " écrire une fois, exécuter partout ".
Martin : Oui, nous sommes dans ce... c'est l'idée d'essayer de faire de plus en plus simple. Et l'espoir est qu'au fur et à mesure que de nouveaux canaux apparaissent, vous puissiez en profiter sans avoir... ou en n'ayant que très peu de travail de développement à faire. Lorsque nous nous intéressons à des clients internationaux, il s'agit d'un aspect très important, car selon la zone géographique dans laquelle vous vivez, différentes plateformes de messagerie sont plus importantes dans différentes zones géographiques. Ainsi, quelqu'un qui crée un bot pour un public chinois devra s'intéresser à une gamme de réseaux sociaux totalement différente de celle de quelqu'un qui cherche à en créer un pour l'Amérique du Nord.
C'est donc le concept que nous essayons de mettre en œuvre ou d'aider à rendre les développeurs plus productifs, car c'est en fin de compte notre jeu.
Sam : Votre cadre... en fait, à l'intérieur de ce cadre, je pense qu'il y a probablement plusieurs choses que vous faites. Vous prenez les messages entrants du canal et c'est le point d'entrée de votre cadre. Mais ensuite, il y a probablement une sorte de langage naturel... eh bien, le langage naturel est-il proche ? Potentiellement, la conversion de la parole en texte, puis le traitement du langage naturel.
Martin : C'est tout à fait possible, mais ce n'est pas une obligation. Évidemment, si vous le souhaitez, il est très, très simple d'ajouter la compréhension du langage naturel. Ou nous l'appelons LUISService [intelligent] de compréhension du langage. Il s'agit d'un service Azure qui permet d'ajouter la compréhension du langage et de l'associer à différentes fonctions basées sur l'intention de l'utilisateur. C'est très simple à utiliser. Mais vous n'avez pas besoin d'utiliser tout cela. Je veux dire, c'est à vous de voir.
Sam : Vous pouvez simplement prendre l'entrée brute du canal dans votre code, tout ce que l'utilisateur a tapé dans le Messenger ou qui que ce soit peut être transmis à votre code, ou...
Martin : Absolument. Absolument. Vous pouvez écrire, vous pouvez basiquement faire en sorte que l'intelligence de votre bot soit basée sur Regex si vous voulez vraiment le faire. Mais d'une manière générale, nous recommandons - dans la plupart des cas au moins - d'avoir une sorte de service de compréhension du langage plutôt que d'essayer de comprendre ce que l'utilisateur essaie de faire dans votre bot. C'est d'ailleurs ce que font la plupart des exemples que nous générons.
Mais oui, nous proposons de nombreux services différents. Nous proposons un service de questions-réponses, par exemple. Vous chargez toutes vos questions et réponses et nous pouvons vous les envoyer sous forme de robot très rapidement et simplement. Vous pouvez le faire presque sans code, en utilisant également les fonctions Azure. Si vous êtes familier avec AWS, ils ont cette pile appelée Lambda qui est comme une pile sans serveur. Nous avons la même chose, cela s'appelle Azure Functions. Et vous pouvez simplement, en quelques clics, déployer un bot à cet endroit, télécharger une question et une réponse sous forme de feuille de calcul Excel. Votre robot sera alors capable de répondre à des questions sur une sorte de question fréquemment posée. Vous utilisez donc l'apprentissage automatique pour trouver la bonne réponse.
Sam : Je me suis un peu amusé avec ça, en fait. Oui, c'est une façon plutôt cool d'arriver à son premier bot. Je pense qu'il m'a fallu un document Word, même pour moi. Je voulais juste une question clé et une réponse.
Martin : Il prend une page web avec une question-réponse et la convertit en un robot de questions-réponses. Et il est étonnamment précis. Il ne se contente pas de faire du pattern-matching, il comprend le langage naturel et le met en correspondance. Il fait du classement de texte et tout ce genre de choses intelligentes d'apprentissage automatique en arrière-plan. Mais vous, en tant qu'utilisateur, vous pouvez créer un robot de questions-réponses très, très rapidement en utilisant quelque chose comme ça.
[Note de la rédaction : regarder la discussion d'une heure discussion complète d'une heure sur l'état de la technologie des robots d'intelligence artificielle].