Les applications cognitives .1
L’apprentissage automatique ou « Intelligence artificielle
(Source principale : Mooc Edx « Introduction to Artificial Intelligence », G.Malcolm. Microsoft)
Les applications cognitives tendent à se développer rapidement. Mieux prévoir les ventes, par exemple, mieux segmenter les clients, analyser des textes et les sentiments qu’ils expriment, convertir automatiquement la parole en texte ou une langue en une autre, donner des ordres à un robot, automatiser la reconnaissance des objets ou des visages, analyser des vidéos, etc., ces besoins, parfois impérieux, de toute entreprise tendent à devenir aujourd’hui plus faciles à satisfaire.
Le développement de l’informatique, les progrès de la recherche scientifique et les outils proposés par les « GAFAM » et entreprises similaires, rendent ces réalisations plus accessibles. C’est le développement de l’apprentissage automatique, ou « intelligence artificielle (IA, en anglais AI) ; ou encore, du « machine learning (ML) » ou « cognitive computing ».
Voyons qu’elles sont les domaines concernés et les méthodes de bases mises en œuvre avant de voir les services proposés par 3 « GAFAM ».
- Les domaines et méthodes
Les méthodes sont propres à chacun des besoins ci-dessus repérés : prévoir, segmenter, analyser un texte et le sentiment qu’il exprime, passer du texte à la parole ou d’une langue à l’autre, donner des ordres à un robot, reconnaître des visages ou des objets, analyser des vidéos ; mais ces méthodes ne peuvent être mises en œuvre sans le recours à l’informatique et à des équipes d’informaticiens propres ou à des services extérieurs d’applications cognitives.
1.1. Mieux prévoir. (Régression et classification)
Distinguons les données quantitatives des données qualitatives.
-Des données quantitatives (régression).
Prévoir a toujours exigé d’expliquer tant bien que mal les résultats du passé et du passé immédiat en particulier ; exigé de trouver un modèle explicatif du passé puis de repérer les tendances d’évolution des déterminants principaux.
Cela revient à prévoir Y sur la base des déterminants X1, X2, X3, etc. dont nous avons observé qu’ils ont été les déterminant principaux de Y dans le passé, avec une dose faible d’erreur. Cela revient à simplifier la liste des variables dont il faut explorer l’évolution probable.
C’est la méthode de la régression ou corrélation. On repère les déterminants probables et, grâce à la flexibilité et la puissance de calculs des ordinateurs, on recherche la combinaison de déterminants qui explique le mieux Y, c’est-à-dire le plus fort taux de corrélation.
– Des données qualitatives (classification)
On peut, par exemple, vouloir prévoir si un client nouveau sera fidèle ou pas, bon payeur ou pas, etc.
Ici, aussi, il faut se tourner vers le passé, repérer les déterminants principaux du critère visé, trouver la combinaison de déterminants qui explique le mieux ce critère, etc.
1.2. Segmenter (« clustering »).
On sait que la clientèle d’une entreprise n’est pas homogène et qu’il importe de la segmenter. Et on a montré dans l’article (https://outilspourdiriger.fr/la-segmentaion-rfm-outil-de-prevision/) que si l’objectif principal est la compréhension des ventes, une bonne segmentation se fonde sur les 3 critères suivants : la récence, la fréquence et le montant de l’achat.
Sur la base de ces informations relatives à quelques années récentes, on peut souhaiter répartir les clients en 3 groupes (K= 3 groupes) et appliquer la méthode de partitionnement en K-moyennes (K-means) de telle sorte que la distance d’un point à la moyenne des points de son cluster soit minimum.
On peut aussi appliquer une autre méthode dite analyse en composantes principales (ACP) qui va déterminer les axes qui expliquent le mieux la dispersion des valeurs et permettre de composer des groupes.
Les deux domaines précédents ont été depuis longtemps les objets de préoccupations des entreprises et depuis longtemps de nombreux outils statistiques sont disponibles.
Concernant les domaines suivants, les préoccupations et les outils sont plus récents.
1.3. Analyser un texte et le sentiment qu’il exprime
On sait aujourd’hui automatiquement comprendre un texte, en extraire la signification sémantique et même le sentiment qu’il exprime.
1.3.1. La fréquence d’apparition d’un mot dans un texte peut dire quelque chose sur la signification du texte (dont on a éliminé les signes non significatifs : ponctuation, « mots vides » etc.). Mais, en fait, cette fréquence (FT) ne suffit pas ; l’importance du mot dépend aussi de sa rareté dans d’autres textes (« fréquence inverse du document »=FID), mesurée en divisant le nombre total des documents par le nombre de documents contenant le terme. C’est pourquoi c’est FT*FID qui détermine l’importance de chaque terme dans un texte. On peut aussi gagner en capacité de compréhension en ne prenant que la racine des mots : doux, douceur, adoucissant, etc. disent la même « chose » trois fois.
On peut faire beaucoup plus en utilisant un logiciel de traitement automatique du langage naturel (humain) ; créer des applications pouvant extraire les phrases clés d’un texte.
1.3.2. On sait aussi aujourd’hui définir le sentiment exprimé par un texte, en particulier par un message ou avis d’un client ou collaborateur et définir si l’auteur est heureux, malheureux ou neutre en s’exprimant.
C’est l’accumulation des études dans ce domaine et le repérage des mots ou phrases courtes indicateurs de sentiments qui rendent le « décodage » possible.
Avec une application d’analyse de texte (traitement automatique du langage naturel) on peut améliorer la précision de l’analyse des sentiments en examinant la sémantique de ce qui est dit.
1.4. Passer du texte à la parole ou d’une langue à l’autre.
On dispose de système acoustique depuis longtemps et depuis peu, de système de reconnaissance vocale et de traitement automatique du langage naturel.
Des applications permettent ainsi de passer du texte à la parole et vice-versa, amorçant la possibilité d’automatiser une conversation.
On connaît mieux la traduction automatique du texte ou de la parole grâce à Microsoft, Google et autres.
1.5. Donner des ordres à un robot.
Comme le montre l’apparition des assistants personnels virtuels et le développement de la domotique, on sait aujourd’hui donner des ordres à un appareil et en obtenir l’exécution. On sait lui faire reconnaître l’intention (sorte de verbe qui indique l’action à conduire) et les entités (objet de l’action, lieu, moment etc. ; ex : allumer la lumière du bureau à 18h)
1.6. Reconnaître les visages et les objets.
Pour un ordinateur, une image est un tableau de nombres, allant de 0 à 255 et indiquant des intensités de pixels. L’image en couleur est un tableau à 3 dimensions correspondant au rouge, au vert et au bleue.
On simplifie le traitement de l’image, d’une part en la convertissant en gris pour n’avoir qu’un tableau à deux dimensions et d’autre part en atténuant la dispersion des contrastes
On peut alors, en utilisant un algorithme de détection de bord basé sur les différences d’intensités, repérer les limites des formes ou des objets figurant dans l’image.
C’est le principe de la détection automatique des visages ou objets sélectionnés. Le modèle de reconnaissance se fonde sur la comparaison de l’image détectée avec une base de données d’objets « identifiés » par une balise (tag).
Concernant le visage, une API (Interface de programmation applicative) spécialisée permet de déterminer si un visage ciblé figure dans une image et si c’est le même visage qui figure dans plusieurs images.
1.7. Analyse des vidéos.
Un document vidéo est un flux rapide d’images statiques, encodées dans un format spécifique (codec) et encapsulées dans un « conteneur » qui comprend également un en-tête et des informations diverses (« métadonnées » : titre, date, durée, mots clés, format, auteur, données sur l’exploitation, etc.).
Les applications informatiques vidéo permettent de nombreuses recherches et actions :
-recherche dans une image particulière ;
-sélection des images où se produit un mouvement, où apparaît un visage humain ;
-génération d’une transcription automatiquement des métadonnées, etc.
Bien sûr, c’est à chaque entreprise de décider quel domaine de l’intelligence artificielle, quelle application cognitive, sont importants pour elle et si elle internalise ou externalise la préparation et la réalisation. Mais il vaut mieux alors avoir une idée de l’offre de services disponible.
Pour cette première approche du domaine, voyons quelle est l’offre proposée par les 3 plus grandes entreprises informatiques du domaine : Microsoft, Ibm, Google.
- Microsoft Azure AI (https://azure.microsoft.com/fr-fr/overview/ai-platform/)
La plate-forme Azure AI offre quasi toute la gamme des possibilités de créer des applications cognitives.
On peut choisir de créer soi-même en utilisant les outils de Microsoft (si on est informaticien) ou faire créer par Microsoft ou louer une application créée par d’autres et hébergée par Microsoft. Dans tous les cas, on peut essayer gratuitement.
Voici la liste des applications cognitives proposées (voir: https://azure.microsoft.com/fr-fr/services/cognitive-services/
2.1. API sur la Vision.
Ce type d’application permet d’identifier et d’analyser le contenu des images et des vidéos.
–Vision par ordinateur donne des informations sur les contenus visuels et de texte d’une image (Reconnaissance de scènes et d’activité, de célébrités et de monuments ; de texte dactylographié ou manuscrit).
-Visage permet de détecter les visages dans les images (Identification de personnes ; reconnaissance d’émotions ; reconnaissance de visages similaires).
–Emotion permet de reconnaître les émotions dans les images et les vidéos.
–Video Indexer permet de détecter les visages, objets, activités, etc. dans les vidéos.
2.2. API sur le Discours.
Ce type d’application permet le traitement de documents vocaux.
-Reconnaissance vocale reconnaît la voix et opère une transcription.
-Reconnaissance de l’orateur.
-Traduction vocale d’une langue en une autre.
2.3. API sur le Langage.
Ce type d’application permet de comprendre le sens d’un texte non structuré ou reconnaître l’intention derrière les propos d’un intervenant.
–Vérification orthographique par Bing (moteur de recherche de Microsoft)
–Analyse de texte opère la reconnaissance d’entité nommée, extrait des expressions clés et analyse les sentiments exprimés.
-Traduction de texte automatisée ou personnalisée.
-Language Understanding Compréhension du langage contextuel.
2.4. API sur les Connaissances.
Cette API permet de :
-Créez un service de réponses aux questions fréquentes (FAC) à partir d’un contenu existant.
-Enrichir et automatiser ce service en utilisant les autres applications pour interpréter les questions des utilisateurs et y répondre de différentes manières.
2.5. API sur la Recherche
Ce type d’application est basé sur le moteur de recherche Bing. Recherche sur le Web de textes, d’auteurs, d’images, d’entité, de vidéos,
2.6. Autres types d’applications cognitives.
-Conversational AI pour les entreprises qui souhaitent intégrer aux applications un bot conversationnel.
Par exemple un bot conversationnel pour une chaîne d’hôtels qui permette aux clients de vérifier la disponibilité des chambres et de les réserver via une application web ou mobile.
-Azure Machine Learning studio
Machine Learning studio permet de créer ou de louer les modèles de prévision de son choix.
- IBM Watson (https://www.ibm.com/watson/
L’offre d’IBM Watson est un peu plus riche que celle de Microsoft Azure AI ; une offre d’applications cognitives basée sur des outils d’intelligence artificielle parmi lesquels on peut choisir pour créer soi-même (si on est informaticien) ou faire créer ou louer une application créée par d’autres.
Voici la liste des applications cognitives proposées et présentées dans l’ordre retenu par IBM Watson.
-Watson Assistant. Application visant à créer un « chatbot » ou transformer un centre d’appels.
-Watson Discovery. Application visant à extraire les sentiments, entités, concepts et rôles sémantiques dans les expressions des clients ou des employés,
–Natural Language Understanding. Application opérant l’analyse de texte non structurées et visant à extraire les entités, relations, mots-clés, etc.
-Discovery News. Application visant à explorez les nouvelles et les blogs et à repérer les concepts, sentiments, relations, auteurs, dates de publication et mots-clés pertinents.
-Knowledge Studio. Application permettant d’ « enseigner » à Watson la langue d’un secteur d’activité ou d’une entreprise et d’en appliquer les nuances linguistiques.
-Language Translator. Traduction automatique de documents, éventuellement adaptée au langage d’un secteur ou d’une entreprise.
-Natural Language Classifier. Compréhension de l’intention d’un texte et classification correspondante complétée par un indice de confiance.
-Personality Insights. Application visant à connaître les caractéristiques d’une personne (Besoins, Valeurs, préférences, etc.) sur la base de ses expressions numériques (mails, blogs, posts, tweets, etc.)
-Tone Analyzer. Application visant à réaliser l’écoute « sociale » des prospects, clients ou collaborateurs ; repérer les émotions et les états d’esprit traduits par les mails, les posts ou les tweets, etc. pour pouvoir répondre rapidement.
-Visual Recognition. Reconnaissance visuelle
-Parole à texte. Application assurant la reconnaissance vocale et la transcription
-Texte à parole. Application visant à permettre aux appareils de «parler» comme des humains (jouets interactifs, centres d’appels, instructions en mode mains libres, etc.
- Google (Voir: https://cloud.google.com/products/ai/)
Google offre aussi des outils pour développeurs et des solutions préformées pour générer des modèles sur mesure.
En voici la liste présentées dans l’ordre retenu par Google.
–Cloud AutoML. C’est une suite d’outils qui permet aux développeurs ayant une expertise limitée en apprentissage automatique de former des modèles adaptés aux besoins de leur entreprise.
-Cloud Machine Learning Engine. C’est l’application qui facilite la création de modèles d’apprentissage automatique allant de la création de modèles de régression sophistiqués à la classification d’images.
-BigQuery ML. C’est une application semblable à la précédente mais qui utilise de simples instructions SQL.
-Cloud Talent Solution. C’est l’application utile aux recruteurs.
-Dialogflow Enterprise Edition. C’est l’application permettant de créer des interfaces de conversation avec les clients et des appareils : reconnaître l’intention et le contexte de ce qu’un client dit pour répondre avec précision.
–Cloud Video Intelligence API. Cette application permet de rechercher et de découvrir les vidéos en extrayant les métadonnées, en identifiant les noms clés et en annotant le contenu de la vidéo.
-Cloud Vision API. C’est l’application d’analyse des images, qui classe les images, détecte les objets et les visages individuels dans les images et lit les mots imprimés contenus dans les images.
–Cloud Speech-to-Text. C’est l’application de reconnaissance vocale qui permet la transcription.
-Cloud Text-to-Speech. C’est l’application de synthèse vocal permettant de créer des des interactions réalistes avec vos utilisateurs.
-Cloud API de langage naturel. C’est l’outil qui, à partir de documents divers, permet de collecter des informations sur les personnes, les lieux, les événements et de comprendre l’opinion sur un produit ou une marque.
-Cloud Translation API. C’est l’application classique de traduction, très performante chez Google.
-Cloud Inference. C’est l’application de recherche des corrélations entre jeux de données chronologiques.
Ainsi mieux prévoir, mieux segmenter, analyser un texte et le sentiment qu’il exprime, passer du texte à la parole ou d’une langue à l’autre, donner des ordres à un robot, reconnaître des visages ou des objets, analyser des vidéos, sont bien des types de besoins des entreprises d’aujourd’hui.
Les trois offres d’applications cognitives présentées dans ce premier article, celles de Microsoft, d’Ibm et de Google ne sont pas les seules disponibles ; d’autres offreurs généralistes existent (Apple, Amazon, Salesforce, etc.) ainsi que de nombreux offreurs visant un secteur particulier d’activités ( voir un premier aperçu dans l’article suivant : https://www.zdnet.fr/actualites/intelligence-artificielle-le-tour-des-fournisseurs-39858562.htm).
Nous aurons l’occasion d’y revenir.
Aucune reproduction ne peut être faite de cet article sans l’autorisation expresse de l’auteur ». A. Uzan. 15/10/2018