MVP Challenge Azure Data & AI – Partie 3

logo azure

Cela fait maintenant deux semaines que j’ai débuté le MVP Challenge Azure Data & AI. Après avoir exploré le machine learning et l’analyse d’images, la dernière semaine était plutôt en lien avec l’analyse de textes, de la parole, de compréhension de langage naturel et de construction de bot pour de l’aide en ligne. Encore une fois, voici un résumé de ce que j’ai appris au cours de la dernière semaine.

La première partie est disponible ici: Partie 1
La deuxième partie est disponible ici: Partie 2
La troisième partie: vous êtes ici
La quatrième partie est disponible ici: Partie 4
La cinquième partie est disponible ici: Partie 5

Analyse de texte

Tout d’abord, ce qu’est l’analyse de texte. C’est un processus qui fait qu’un algorithme d’intelligence artificielle évalue les attributs d’un texte pour en ressortir certaines informations. Comme les analyses de textes sont rendus très évolués, c’est-à-dire qu’ils sont capables de comprendre selon la sémantique des mots, et non juste une traduction mot à mot, il est généralement mieux d’utiliser des services comme le Text Analytics sur Azure plutôt que de le programmer nous-même, surtout considérant qu’il s’agit uniquement de créer la ressource sur Azure puis de se servir du endpoint exposé.

Grâce à ce genre d’analyse, on peut déterminer la langue d’un texte, mais aussi des choses plus évoluées comme la détection de sentiment dans un texte. Ce genre d’analyse pourrait par exemple permettre de déterminer si une critique est positive ou négative sur un site transactionnel et même nous permettre de réagir plus promptement. On serait aussi en mesure d’extraire les points d’intérêts d’un document.

Reconnaissance et synthétisation de la parole

Que ce soit avec nos haut-parleurs intelligents ou notre mobile, nous utilisons cette fonctionnalité à tous les jours. C’est le processus qui permet d’interpréter de l’audio (notre voix par exemple) et ensuite de convertir le tout en texte qui peut être interprété. La synthétisation est plutôt l’inverse de ce processus, c’est-à-dire que cela va prendre du texte pour le convertir en audio, avec comme entrants le texte à dire et le choix de voix à utiliser.

Comme tout ce que j’explore présentement sur le AI avec Azure, tout est en place de ce côté pour nous offrir un service qui est déjà entraîné pour ceci. Avec la ressource Speech (ou encore le Cognitive Services si on utilise plusieurs fonctionnalités), on peut accéder aux APIs Speech-to-Text ou encore Text-to-Speech pour faire le travail via un endpoint.

Traduction de texte ou parole

Encore une fois quelque chose qu’on utilise fréquemment dans notre quotidien est la traduction. Nous sommes loin de ce que c’était maintenant que la sémantique est considérée pour les traductions. Une chose que j’ai apprise sur le service Translator Text d’Azure, mais qui ne me surprend pas, est qu’il y a plus de 60 langues supportées pour faire du text-to-text. On peut aussi y ajouter des filtres pour éviter des paroles vulgaires ou encore ajouter des tags sur du contenu qu’on ne voudrait pas traduire, comme le nom d’une entreprise.

Compréhension de langage naturel

Le Language Understanding, c’est l’art de prendre ce qu’un utilisateur dit ou écrit dans son langage naturel et de le transformer en action. Trois choses sont essentielles dans ce concept. La première est ce qu’on appelle les énoncés (utterance), c’est à dire la phrase à interpréter. Par exemple la phrase « allume la lumière ». Ensuite nous avons les intentions (intent), qui représentent ce qu’on veut faire à l’intérieur de l’énoncé. Dans cet exemple, nous aurions une intention « Allume » qui ferait la tâche d’allumer quelque chose. Finalement, nous avons les entités (entities), qui sont les items auxquels on fait référence dans les énoncés. Toujours dans le même exemple, ce serait « lumière ».

Une fois qu’on a ces concepts, mettre le tout en place est plutôt simple en utilisant LUIS (Language Understanding Intelligent Service). On y définit une liste d’énoncés, d’intentions et d’entités, chose qui peut aussi être faite à partir d’une liste prédéfinie pour certains domaines. On appelle ceci le authoring model. Une fois qu’il est entraîné (un simple clique de bouton), on peut le publier et l’utiliser de manière prédictive dans nos applications.

Construction d’un bot

Le service cognitif QnA Maker sur Azure est la base de ce qui nous permet de construire un bot qui sera capable de répondre de manière automatisée à des questions sur un service automatisé de support par exemple. On y construit une banque de questions-réponses à partir de laquelle on entraîne la base de connaissances. Ce que ceci permet est d’appliquer un traitement de language naturel sur les questions et réponses, pour faire en sorte que le système sera capable de répondre même si ce n’est pas phrasé exactement comme ce qu’on a inscrit.

Une fois qu’on a ceci, il ne reste qu’à construire un bot pour qu’il utilise cette base de connaissances. C’est possible d’utiliser un SDK et de se lancer dans du code pour le faire, mais je dois avouer que j’ai adoré simplement peser sur un bouton dans ma base QnA Maker qui m’a automatiquement créé un bot. Tout ce qu’il restait à faire ensuite était de l’utiliser dans mon application.

Certification Microsoft Azure AI-900

Une fois toutes ces leçons terminées, j’ai constaté que j’avais fait toutes les leçons permettant de se préparer à l’examen pour la certification Azure AI Fundamentals. Je n’ai donc pas attendu, ayant passé les deux dernières semaines à apprendre tout ceci, et j’ai cédulé mon examen et obtenu ma certification. Si vous suivez ces leçons de manière continue, je suis convaincu que vous aurez aussi la chance de passer l’examen et obtenir votre certification, les leçons nous préparent vraiment bien.

Conclusion

J’ai ajouté quelques leçons à ma collection de leçons générale ainsi qu’à une nouvelle collection pour tout ce qui concerne l’analyse de mots qui a été principalement ma dernière semaine. N’hésitez pas à me laisser savoir dans les commentaires si vous cheminez vers la certification ou encore si vous avez des questions!

Collection sur le Data & AI: Voir la collection
Collection sur le Machine Learning: Voir la collection
Collection sur l’analyse d’images: Voir la collection
Collection sur l’analyse de mots: Voir la collection

Bruno

mVP Challenge

La première partie est disponible ici: Partie 1
La deuxième partie est disponible ici: Partie 2
La troisième partie: vous êtes ici
La quatrième partie est disponible ici: Partie 4
La cinquième partie est disponible ici: Partie 5

Auteur : Bruno

De jour, je suis développeur, chef d'équipe et le co-animateur du Bracket Show. De soir, je suis un mari et le père de deux magnifiques enfants. Le temps qu'il me reste après tout cela, je le passe à tenter de bouger, à jouer et écrire des critiques de jeux vidéos, ainsi qu'à préparer du matériel pour les enregistrements du Bracket Show et pour ce blog. Au travers tout cela, je suis aussi passionné de musique et de microbrasseries.