Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Les 22 & 23 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. Intelligence artificielle avec AWS
  3. Écrivez
Extrait - Intelligence artificielle avec AWS Exploitez les services cognitifs d'Amazon
Extraits du livre
Intelligence artificielle avec AWS Exploitez les services cognitifs d'Amazon Revenir à la page d'achat du livre

Écrivez-moi, parlez-moi, je vous réponds

Introduction

Je lisais récemment un article d’un "futurologue" qui prévoyait que la génération des "millenials" communiquerait par défaut aux machines en leur parlant et rirait des "anciens" qui continueraient à utiliser un clavier. Tous ceux qui utilisent Alexa ou Siri au quotidien savent que si l’on n’en est pas encore là, la compréhension des machines et leurs réponses vocales s’améliorent. J’ai d’ailleurs été agréablement surpris, il y a quelques jours, de constater que le chirurgien orthopédiste que j’étais allé consulter dictait son compte-rendu par oral à son ordinateur, sans qu’il ait eu besoin de corriger le document dicté.

Si le PC ne comprenait sans doute pas ce qu’il transcrivait, nous allons voir dans les pages suivantes que cette prochaine étape est à notre porte. Dans des domaines spécialisés, comme la médecine, les machines vont de plus en plus assister les êtres humains. On les trouve déjà dans l’analyse de radiographie ou d’IRM, ou dans l’assistance au diagnostic. Le mouvement ne s’arrêtera pas, puisque ces machines vont avoir accès à des volumes colossaux de données et vont donc affiner prédictions et compréhension.

Ce chapitre...

Comprendre un texte écrit

Il y a des milliards, ou plutôt des milliards de milliards de documents texte stockés dans tous les ordinateurs de la planète, dans des centaines de langues différentes. Cependant, un document stocké est un document inutile. Il ne révèle son utilité que quand il est lu et compris par un être humain. De plus en plus, les ordinateurs nous assistent dans cette compréhension. Prenons quelques exemples d’assistances qui existent déjà.

  • Assistance au verdict par l’analyse de l’ensemble des documents versés à un procès. Il s’agit ici du travail de fourmi que font les clercs ou les avocats.

  • Indexation automatique de livres, non seulement par rapport aux mots de leur contenu, mais aussi aux émotions, aux lieux ou à tout autre élément devant être interprété.

  • Recherche de plagiat. Il ne s’agit pas seulement de copier sans demander l’autorisation, mais de copier en changeant quelques mots ou quelques phrases.

  • Classification des plaintes et des demandes de remboursement d’assurance. Un grand nombre de plaintes font l’objet d’un traitement simple en fonction de critères définis. Il devient possible de les trier pour n’utiliser d’intervention humaine que lorsque le cas est "compliqué".

  • Amélioration du service client en analysant les interactions entre clients et employés, et influençant les réponses à apporter.

Ces exemples nécessitent une compréhension du contexte des documents. C’est ce que propose Comprehend. Il s’agit d’un service entièrement géré par AWS, cela signifie qu’il s’agit d’une sorte de boîte noire qui fait ce qu’on lui demande, analyser un ensemble de documents, mais sans que l’on connaisse les arcanes de son fonctionnement.

En fin d’année 2018, AWS a lancé le service Comprehend Medical qui est une version spécialisée dans la médecine de Comprehend. Tout ce que nous allons voir sur Comprehend s’applique généralement à Comprehend Medical. Au lancement de ce nouveau service, seul l’anglais est supporté, ce qui limite son intérêt pour le moment pour les populations...

Comprendre un texte vocalisé

Le Saint Graal de tout informaticien depuis de nombreuses années est de trouver le moyen de se passer de clavier et parler à son ordinateur. On imagine alors tout ce qui est possible : traduire à la volée dans notre langue, sous-titrer des émissions télévisées ou des films en temps réel, transcrire un discours en temps réel pour le diffuser sur un site web, etc.

Transcribe est le service qui permet de transcrire du son en mots écrits. Cette partie va en détailler le fonctionnement et l’utilisation.

1. Mécanismes d’apprentissage

À ce jour, Transcribe comprend le français, de France et du Canada, l’anglais, du Royaume-Uni, d’Australie et des États-Unis, l’italien, le portugais du Brésil et l’espagnol des États-Unis. Vous l’aurez compris, ce sont les langues latines et anglo-saxonnes parlées par le plus grand nombre de locuteurs. On remarquera l’absence de l’allemand.

Reportez-vous à la documentation de Transcribe (https://docs.aws.amazon.com/fr_fr/transcribe/latest/dg/what-is-transcribe.html) pour la liste exhaustive des langues supportées, celles-ci pouvant évoluer.

Transcribe, en plus de comprendre le langage parlé, se distingue dans trois domaines :

  • L’identification du locuteur. Dans le cas de voix distinctes, par exemple, un intervieweur et une interviewée, Transcribe inclut un attribut permettant de les distinguer. Cela permet de différencier visuellement les textes lors de leur transcription. Il est possible d’identifier jusqu’à dix locuteurs distincts.

  • La séparation des canaux. Un flux audio peut comporter plusieurs canaux, par exemple, un pour chaque personne dans une communication téléphonique. Comprehend est capable d’identifier chaque interlocuteur de manière unique. Une différenciation...

Répondre intelligiblement

Jusqu’ici, nous avons vu comment transcrire des voix en texte et comment faire en sorte que la machine comprenne le texte envoyé. Il convient maintenant que la machine nous réponde en utilisant la voix. C’est l’objectif de Polly que nous allons étudier maintenant.

1. Comment la machine construit-elle sa réponse ?

Polly est un moteur de synthèse vocal qui prend un texte en entrée et le restitue sous forme audio en sortie. Polly accepte deux types d’entrées :

Polly est capable de parler plusieurs langues, dont l’anglais, le français, l’allemand, entre autres, avec des accents différents, américain, britannique, français, canadien… La liste complète des langues et des accents est disponible à cette adresse : https://docs.aws.amazon.com/fr_fr/polly/latest/dg/SupportedLanguage.html. En fonction des langues et des accents, vous trouverez des voix féminines ou masculines, parfois les deux, parfois plusieurs choix pour chaque sexe. Il est important de noter que chaque voix est associée à une langue et un accent. Lire un texte composé dans une certaine langue avec la voix prévue pour une autre est possible et donne des résultats quelquefois surprenants.

Il est aussi possible d’associer d’un à cinq lexiques à une synthèse vocale. Un lexique est un fichier permettant de personnaliser la prononciation de certains mots, par exemple, donner la signification d’un acronyme au lieu des lettres qui le composent, ou définir la prononciation d’un nom propre étranger. Polly accepte des lexiques conformes au standard PLS (Pronunciation Lexicon Specification) version 1.0, défini par le W3C : https://www.w3.org/TR/pronunciation-lexicon/. Vous trouverez à cette adresse leur format exact. Voici quelques exemples pour en illustrer l’intérêt :...

Do you speak English?

Vous pouvez remplacer le titre de cette section par sa traduction en chinois, allemand ou tchèque, une des langues comprises par Translate. S’il existe de nombreux outils de traduction automatique, certains gratuits, Translate s’en différencie par sa capacité à :

  • détecter automatiquement la langue du texte source ;

  • en comprendre le contexte afin d’améliorer la traduction ;

  • sa capacité à traduire un canal de discussion instantanée à la volée ;

  • l’utilisation de terminologie personnalisée.

Ces fonctionnalités permettent non seulement de bénéficier de traductions de grande qualité, mais surtout de les intégrer en temps réel à vos applications. L’objectif de cette partie est de comprendre en détail le fonctionnement et l’utilisation de Amazon Translate pour en intégrer le fonctionnement à votre environnement, rapidement et simplement.

1. La quête du Graal polyglotte

Toute personne qui a eu ou a encore à effectuer des traductions d’une langue à une autre en connaît la difficulté. Il ne s’agit pas de traduire mot à mot des phrases, la construction d’un texte varie en effet d’une langue à l’autre. Par ailleurs, en fonction du contexte de la phrase, du paragraphe ou du texte, les mots peuvent ne pas avoir la même signification et de ce fait engendrent des traductions différentes.

Prenons un exemple simple. Si je dis, j’aime faire les courses, la signification qui vient à l’esprit est que j’apprécie d’acheter des produits dans un magasin et pas que je suis en train de courir à pied. Translate va traduire cette phrase naturellement en anglais par exemple, par "I like shopping". Si, maintenant je dis, j’aime faire de la course, on pense à course à pied. Translate traduit aussi naturellement par "I like racing". On se trouve donc dans un système de traduction contextuelle et non mot à mot, améliorant grandement le résultat.

Cependant, ne nous leurrons pas, le système n’est pas parfait. Si par exemple, je trouve que mon trajet en taxi est cher, je peux dire, le prix de cette course est élevé. Malheureusement, Translate...

Construire un robot conversationnel

Dans le chapitre précédent, section Robot conversationnel avec Lex, nous avons vu comment créer un robot conversationnel rapidement et simplement avec Lex. Nous avons en revanche constaté que ce dernier possédait certaines limitations quant aux interactions avec les utilisateurs qui ne parlent pas, n’écrivent pas ou ne lisent pas l’anglais.

Après étude des solutions Translate, Polly et potentiellement à terme Transcribe, il va nous suffire d’assembler les différents services entre eux pour non seulement interagir avec le robot dans sa langue natale, mais en plus l’écouter nous fournir ses réponses en parlant. C’est ce que nous allons faire dans les pages suivantes.

1. Mon chatbot dans ma langue avec Translate

Commençons par prendre en compte la langue natale de l’utilisateur afin de pouvoir interagir avec Lex en anglais, sans que l’utilisateur ne s’en aperçoive. Pour ce faire, nous allons traduire toutes les requêtes de l’utilisateur en anglais et tous les retours de Lex dans la langue de l’utilisateur, avec Translate.

Nous définissons une méthode qui permet de traduire tout texte d’une langue source vers une langue cible. Nous utilisons une Task pour permettre de renvoyer le résultat de la traduction.

private async Task<string> TraduireTextMessage 
 (string texteATraduire, string langueSource, 
  string langueDestination) 
{ 
 //Préparation de la requête  
 TranslateTextRequest translateRequest = 
   new TranslateTextRequest 
 { 
   SourceLanguageCode = langueSource, 
   TargetLanguageCode = langueDestination, 
   Text = texteATraduire 
 }; 
 
 //Lancement de la traduction 
 TranslateTextResponse textResponse...

Conclusion

Nous voilà arrivés à la fin de ce chapitre consacré aux échanges textuels et vocaux, c’est-à-dire, en jargon d’IA, au traitement automatique du langage naturel. Nous avons vu comment AWS interprète un texte avec Comprehend, comment il transcrit la parole en écrit avec Transcribe, traduit des textes d’une langue à l’autre avec Translate, lit un texte avec Polly et permet la création de robot conversationnel avec Lex.

Nous allons passer dans le prochain chapitre à un autre aspect de l’IA, la reconnaissance et le traitement d’images. Il s’agit d’un des « sens » des ordinateurs. C’est sans doute celui qui apparaît comme le plus visible, en particulier avec le traitement des vidéos et des images fixes, leur indexation automatique ou la création de ces fameux « deep fake » qui font passer quelqu’un pour une autre personne ou permettent de créer des images plus vraies que nature de toute pièce.

Découvrez en détail ce monde fascinant du traitement d’images par l’IA, en tournant la page.