Who is watson?

345 vues

Publié le

Nous nous sommes plongés dans Watson, le programme d'intelligence artificielle cognitive d'IBM, disponible pour tous via une API SaaS.

Cette présentation est un résumé de ce que nous avons appris au travers de 4 cas concrets !

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
345
Sur SlideShare
0
Issues des intégrations
0
Intégrations
8
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Who is watson?

  1. 1. www.unknowns.fr Who is Watson? Une plongée dans l’intelligence cognitive 1
  2. 2. www.unknowns.fr Pourquoi s’y intéresser ? ● Watson est un programme d’intelligence cognitive capable ○ de reconnaître et d’identifier des objets ou des gens (connus) dans des images, ○ de comprendre la grammaire des langues supportées, ○ de comprendre le langage naturel pour analyser ce que le texte véhicule (le ton, l'émotion, les principaux sujets abordés), ○ d’apprendre pour optimiser la performance des algorithmes (Machine Learning) 2
  3. 3. www.unknowns.fr Pourquoi s’y intéresser ? ● En 2011, Watson s’est fait connaître en remportant le jeu américain Jeopardy! ● Le but du jeu est de trouver la question à la réponse donnée. Watson a été capable : ○ de capter et comprendre la réponse donnée par l’animateur, ○ d’aller chercher dans sa “mémoire” ce qui se réfère à la réponse (i.e. dans les articles/textes analysées et stockées), ○ de trouver et formuler la question pour la restituer vocalement, ○ de suivre le jeu (et les règles) pour savoir s’il a gagné et donc, s’il peut relancer ou non. Vidéo de Watson à Jeopardy! : https://www.youtube.com/watch?v=WFR3lOm_xhE 3
  4. 4. www.unknowns.fr Concrètement, c’est quoi ? ● Une API* applicative composée de 28 services unitaires → 1 service = 1 but / 1 action, ● Il est possible de créer une infinité de combinaisons de ces services unitaires. * Une API est une “façade” (ou interface) accessible en ligne permettant à d’autres applications de se brancher dessus pour consommer des ressources ou échanger des informations 4 Votre application Internet WatsonInternet
  5. 5. www.unknowns.fr Ces services permettent d’intégrer de nouvelles manières d’interagir avec les systèmes, principalement la voix. Entrées / Sorties Analyse Structurelle UtilitairesAnalyse d’imagesAnalyse Sémantique 5 Les services unitaires : entrées / sorties DialogFace DetectionPersonality InsightRelationship ExtractionText to Speech Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection Image Tagging
  6. 6. www.unknowns.fr Ces services permettent d’extraire une série d’informations structurées à partir d’un texte brut tout en comprenant la grammaire et la syntaxe de la langue. Ces services font une analyse structurelle du texte. Entrées / Sorties Analyse Structurelle UtilitairesAnalyse d’imagesAnalyse Sémantique 6 Les services unitaires : analyse structurelle DialogFace DetectionPersonality InsightRelationship ExtractionText to Speech Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection Image Tagging
  7. 7. www.unknowns.fr Ces services permettent d’effectuer des analyses de textes plus profondes. Elles sont toujours faites de manière à approcher la manière dont un humain le ferait. Ces analyses peuvent être de plusieurs natures, tels que les émotions véhiculées, le ton, ou les éléments clés abordés dans le texte. Entrées / Sorties Analyse Structurelle UtilitairesAnalyse d’imagesAnalyse Sémantique 7 Les services unitaires : analyse sémantique DialogFace DetectionPersonality InsightRelationship ExtractionText to Speech Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection Image Tagging
  8. 8. www.unknowns.fr Ces services permettent l’extraction d’informations à partir d’une image. Entrées / Sorties Analyse Structurelle UtilitairesAnalyse d’imagesAnalyse Sémantique 8 Les services unitaires : analyse structurelle DialogFace DetectionPersonality InsightRelationship ExtractionText to Speech Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection Image Tagging
  9. 9. www.unknowns.fr Ces services sont un ensemble de petits utilitaires, destinés à un but fonctionnel précis. Entrées / Sorties Analyse Structurelle UtilitairesAnalyse d’imagesAnalyse Sémantique 9 Les services unitaires : utilitaires DialogFace DetectionPersonality InsightRelationship ExtractionText to Speech Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection Image Tagging
  10. 10. www.unknowns.fr 10 Concrètement, quels bénéfices ? ● 1/ Un ensemble de fonctionnalités Ready-to-use ○ il permet de bénéficier “rapidement” de fonctionnalités puissantes, qui auraient été complexes et coûteuses à mettre en place soi-même. ● 2/ Un modèle économique progressif : vous ne payez que ce que vous consommez ⇒ Permet de se concentrer sur ce qui apporte réellement de la valeur : l’implémentation au sein de votre métier La technique n’ayant plus une valeur différenciante, ces plates-formes permettent d’alleger les coûts de conception et de développement des services qui ne sont pas du coeur de métier de votre entreprise (Machine Learning, IA).
  11. 11. www.unknowns.fr Pour quoi faire ? Comment ? ● La puissance de Watson réside dans la combinaison des services, ● Déroulons les fonctionnalités qui nous ont semblé intéressantes au travers de 4 cas combinant plusieurs services de l’API. ➢ Cas 1 : Automation du support client ➢ Cas 2 : Redirection du support client ➢ Cas 3 : Recherche en mémoire ➢ Cas 4 : Détecteur de goûts 11
  12. 12. www.unknowns.fr Cas 1 : Automation du Support Client 12
  13. 13. www.unknowns.fr Cas 1 : Automation du Support Client Principe : Je souhaite proposer à mes clients un service de support totalement automatisé, s’utilisant avec la voix et répondant aux problématiques les plus courantes. 13
  14. 14. www.unknowns.fr Entrées / Sorties Analyse Structurelle Analyse Sémantique 14 Cas 1 : Automation du Support Client Personality InsightRelationship ExtractionText to Speech Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection UtilitairesAnalyse d’images DialogFace Detection Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Image Tagging
  15. 15. www.unknowns.fr Cas 1 : Automation du Support Client 15 L’utilisateur pose sa question à l’oral, et sa demande sera convertie en un texte par le service “Speech to Text” 1/5 Client Speech to Text Text to Speech Dialog
  16. 16. www.unknowns.fr Cas 1 : Automation du Support Client 16 Le texte transcrit est envoyé au service “Dialog”, qui va tenter de matcher la demande dans l’arbre de décision prédéfini. C’est cet arbre de décision qui définit l’intelligence et la qualité de la conversation. Dans notre exemple, imaginons que nous sommes un fabriquant de téléphone. L’utilisateur demande : “J’ai un problème avec mon téléphone”. Dans l’arbre de décision, nous identifions la combinaison des mots “problème” et “téléphone”, mais pas le modèle. Nous demandons donc à l’utilisateur de le préciser. Au deuxième tour, l’utilisateur nous donnera probablement le modèle de son téléphone, que nous pourrons comparer à la liste de nos modèles. En revanche, si le modèle du téléphone ne peut-être identifié, nous recommençons le second tour (jusqu’à matcher la condition dans l’arbre de décision). Client Speech to Text Text to Speech Dialog 2/5
  17. 17. www.unknowns.fr Cas 1 : Automation du Support Client 17 Au tour suivant, nous souhaitons en savoir plus sur le problème du téléphone donc nous lui demandons : “Décrivez nous votre problème”. Dans sa réponse, nous voulons donc identifier des mots-clés tels que “écran”, “batterie” + “durée”, “code pin”, “casse”, etc… pour identifier parmi notre liste de solutions celle qui correspond le mieux à son cas. Ici la qualification du problème peut se faire (et sera probablement faite) en plusieurs tours. Une fois que le problème est qualifié et correspond à l’une de nos solutions, nous lui envoyons. En cas de non compréhension de sa demande, nous lui proposons d’entrer son numero de téléphone afin d’être rappelé par un technicien. Au tour suivant, nous identifierons un numéro de téléphone dans son message, et nous pouvons le mettre en attente d’appel. Client Speech to Text Text to Speech Dialog 3/5
  18. 18. www.unknowns.fr Cas 1 : Automation du Support Client 18 Le retour du service est alors envoyé au service “Text to Speech” permettant la lecture de la réponse (ou nouvelle question). Client Speech to Text Text to Speech Dialog 4/5
  19. 19. www.unknowns.fr Cas 1 : Automation du Support Client 19 L’utilisateur entend la réponse du “robot” et peut relancer avec une autre demande, ou une réponse à la précision demandée par le “robot”. Client Speech to Text Text to Speech Dialog 5/5
  20. 20. www.unknowns.fr Cas 1 : Pour aller plus loin1/2 ● Speech to Text ○ Transcription audio, avec support du streaming, ○ 7 langues disponibles, mais pas le français (ar, en-gb, en-us, jp, es, br, cn), ○ Supprime ou censure les mots offensants (par des étoiles), ○ Retourne les mots alternatifs et acoustiquement similaires, avec un score de confiance. ● Text to Speech ○ Lire un contenu texte, ○ 13 voix en 7 langues (en, fr, de, it, jp, es, pt), ○ L’API permet d’appliquer des paramètres en encadrant des phrases ou des mots de XML, ➢ Modifier la manière d’exprimer certaines phrases : ■ 3 expressions disponibles : l’incertitude, la bonne nouvelle, l’excuse ■ seulement disponible avec la voix américaine masculine ➢ Modifier les règles phonétiques par défaut (e.g : noms propres, acronymes, etc...). 20
  21. 21. www.unknowns.fr ● Dialog ○ Permet de créer des arbres de décisions, ○ Configuration XML des étapes de l’arbre ➢ Je liste mes questions / interactions avec l’utilisateur, ➢ Pour chaque questions, nous définissons la règle de validation de la réponse (e.g : un de mes téléphones est mentionné, le texte contient, ...), ➢ Je décide vers quoi je renvoie en cas de bonne réponse et de mauvaise réponse (loop back, ou autre question/interaction). ○ Pas si facile à mettre en place mais peut être très puissant, ○ Pas d’intelligence ou de reconnaissance du langage naturel (c’est un service de ping-pong). Cas 1 : Pour aller plus loin2/2 21
  22. 22. www.unknowns.fr Cas 2 : Redirection du Support Client 22
  23. 23. www.unknowns.fr Cas 2 : Redirection Support Client Principe : Je souhaite que les demandes de support faites en ligne soient automatiquement redirigées vers le bon département, et qu’une priorisation des demandes soit faite en fonction du ton des ces dernières. 23
  24. 24. www.unknowns.fr Entrées / Sorties Analyse Structurelle Analyse Sémantique 24 Cas 2 : Redirection Support Client Personality InsightRelationship ExtractionText to Speech Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection UtilitairesAnalyse d’images DialogFace Detection Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Image Tagging
  25. 25. www.unknowns.fr Cas 2 : Redirection Support Client 25 Le service “Natural Language Classifier” permet d’apprendre, à partir des données d’apprentissage, à classer des textes dans l’une des catégories prédéfinies. Il est “entraîné” à partir des données de l’entreprise, transmises sous la forme d’un fichier Excel à 2 colonnes : le texte et la catégorie de ce texte. Plus le nombre de données d’apprentissage est important, plus le service classera correctement les nouveaux textes. Dans notre exemple, les catégories correspondent aux différents départements du Support Client (vente, légal, technique), et les données d’apprentissage sont les demandes déjà traitées + le département les ayant traitées. 1/5 Client Natural Language Classifier Emotion AnalysisSentiment Analysis Données de l’entreprise Opérateurs
  26. 26. www.unknowns.fr Cas 2 : Redirection Support Client 26 Une fois le service entraîné, il est capable de prédire la catégorie pour un nouveau texte. Concrètement, il renverra pour chacune des catégories prédéfinies (les mêmes que pour l’apprentissage), la probabilité que le texte appartienne à cette catégorie. Donc la probabilité la plus élevée correspond à la catégorie la plus susceptible d'être la bonne. Dans notre exemple, chaque nouvelle demande de support est envoyée au service pour prédire quelle département est le plus susceptible d'être concerné. 2/5 Client Natural Language Classifier Emotion AnalysisSentiment Analysis Données de l’entreprise Opérateurs
  27. 27. www.unknowns.fr Cas 2 : Redirection Support Client 27 Une fois le département prédit, il est possible de prioriser la demande selon le ton et le sentiment utilisé par le client qui a émit la demande. Deux services sont utilisables : 1/ Le service “Sentiment Analysis” indiquera pour chaque phrase le ton de la demande. Est-ce une phrase positive, neutre ou négative ? 2/ Le service “Emotion Analysis” indiquera l’ émotion principale des propos, parmi les 5 suivantes : Colère, Joie, Dégoût, Peur, Tristesse. Dans notre exemple, chaque nouvelle demande sera analysée dans le but de prioriser celles dont le contexte est négatif, et/ou qui seront identifiées comme véhiculant la colère ou la peur. 3/5 Client Natural Language Classifier Emotion AnalysisSentiment Analysis Données de l’entreprise Opérateurs
  28. 28. www.unknowns.fr Cas 2 : Redirection Support Client 28 Les demandes sont alors transmises de manière qualifiées et priorisées aux opérateurs qui seront en mesure de répondre aux clients. 4/5 Client Natural Language Classifier Emotion AnalysisSentiment Analysis Données de l’entreprise Opérateurs
  29. 29. www.unknowns.fr Cas 2 : Redirection Support Client 29 Enfin, on peut imaginer que le système apprenne de ses erreurs en réinjectant les demandes mal qualifiées dans le service “Natural Langage Classifier”, avec la bonne catégories (donc ici le bon département). 5/5 Client Natural Language Classifier Emotion AnalysisSentiment Analysis Données de l’entreprise Opérateurs
  30. 30. www.unknowns.fr ● Natural Language Classifier ○ Machine Learning en SaaS gérant le training et la prédiction, basés sur du texte, ○ Pour le training : ➢ se fait pour un problème précis : ■ les symptômes d’une tumeur la rendent bénigne (1), sérieuse (2) ou grave (3) ? ➢ attend des exemples pour chaque catégories ■ j’envoie des diagnostics en précisant pour chacun si la tumeur était bénigne, sérieuse ou mortelle ○ Pour la prédiction : ➢ Il renverra pour un nouveau diagnostic la probabilité de chacune des categories : ■ probabilité de ce diagnostic pour une tumeur bénigne (1), serieuse (2) et grave (3) ■ la plus élevée des 3 étant évidemment la plus probable Cas 2 : Pour aller plus loin1/2 30
  31. 31. www.unknowns.fr ● Sentiment Analysis ○ Analyse le sentiment dans les phrases d’un texte, d’une URL ou d’un bloc HTML, ○ L’analyse est faite et retournée phrase par phrase, ○ Le sentiment est un score variant de -1 à +1 (-1 négatif, 0 neutre et +1 positif), ○ e.g : Mike attacked Molly (score proche de -1 donc la phrase est négative). ● Emotion Analysis ○ Analyse les émotions dans les phrases d’un texte, d’une URL ou d’un bloc HTML, ○ L’analyse est faite et retournée phrase par phrase, ○ 5 émotions sont retournées sous la forme d’un score (la colère, la joie, le dégout, la peur et la tristesse). Cas 2 : Pour aller plus loin2/2 31
  32. 32. www.unknowns.fr Cas 3 : Recherche en mémoire 32
  33. 33. www.unknowns.fr Cas 3 : Recherche en mémoire Principe : Je suis un constructeur automobile et je souhaite mettre en place un système de recherche dans mes manuels de véhicules. L'idée est que l’utilisateur fasse sa demande en langage naturel, et que le système puisse retrouver la portion du manuel qui correspondant a sa question. Il n’a donc pas à rechercher ou à lire tout le manuel. Cela évite la rédaction d’une FAQ, qui ne ciblerait pas forcement toutes les questions. 33
  34. 34. www.unknowns.fr Entrées / Sorties Analyse Structurelle Analyse Sémantique 34 Cas 3 : Recherche en mémoire Personality InsightRelationship ExtractionText to Speech Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection UtilitairesAnalyse d’images DialogFace Detection Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Image Tagging
  35. 35. www.unknowns.fr Cas 3 : Recherche en mémoire 35 Pour créer une recherche en mémoire, il faut d’abord créer la “mémoire”. Pour cela nous allons utiliser le service “Retrieve & Rank”. Ce service est complètement basé sur le moteur d’indexation SolR. Un moteur d’indexation permet de “référencer” un ensemble de documents selon des “index”. On peut comparer cela au référencement des mots dans un dictionnaire. Chaque lettre de l’alphabet est donc un index, ce qui facilite grandement la recherche (et évite de lire tous les contenus). Un document peut bien sûr être rattaché à plusieurs index. Dans notre exemple, l'idée est de référencer toutes les pages des manuels, chapitre par chapitre. Les index sont multiples donc les type de problème, les éléments du véhicule, etc…. 1/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  36. 36. www.unknowns.fr Cas 3 : Recherche en mémoire 36 Le client pose alors sa question ou sa demande en langage naturel. Il est alors possible d’utiliser le service “Entity Extraction” et “Relation Extraction” pour analyser la question/demande de l’utilisateur. Ces 2 services permettent de structurer un texte selon, respectivement, ses entités (personnes, objets, lieux) et leurs relations sujet-verbe-complément. Il est donc plus facile de comprendre le sens du texte par la programmation. Dans notre exemple, le client va donc effectuer sa recherche en langage naturel, dont nous allons extraire les entités dont il parle (roue, panne, essence, etc...). Nous essaierons ensuite de retrouver ces entités au sein des contenus du manuel. 2/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  37. 37. www.unknowns.fr Cas 3 : Recherche en mémoire 37 Le service Retrieve & Rank permet d’effectuer une recherche par mots-clés parmi tous les documents précédemment référencés. Ce qui va nous permettre d’extraire les documents pertinents correspondants à la demande du client. Dans notre exemple, nous obtiendrons l’ensemble des chapitres correspondants à la recherche du client. Il faut maintenant “lire” et “comprendre” ces chapitres pour trouver la ou les réponses les plus pertinentes. 3/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  38. 38. www.unknowns.fr Cas 3 : Recherche en mémoire 38 Ensuite, pour mieux identifier les documents correspondant à la recherche, nous pouvons utiliser le service “Taxonomy”. Ce service permet d’analyser le texte afin d’en extraire les grandes catégories abordées dans le texte (il existe environ 1000 catégories sur plusieurs niveaux de précision). Dans notre exemple, nous pourrons identifier les articles parlant réellement de ce que nous cherchons, comme par exemple, un élément de la voiture, un type de panne. 4/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  39. 39. www.unknowns.fr Cas 3 : Recherche en mémoire 39 Enfin, pour chaque document identifié, nous pouvons en extraire les entités et relations entre ces entités. L’idée est ensuite de trouver (ou non) une correspondance entre ce qui a été détecté dans la question et dans les contenus extraits, afin de trouver les phrases qui permettraient de répondre à la question. Ces 2 services font référence au contexte d’origine de l’entité et/ou la relation, ce qui permet de renvoyer les portions de contenus qui répondent à la demande. Dans notre exemple, nous avons donc un série de chapitre correspondant précisément a la demande du client, mais nous souhaitons aller plus loin en identifiant les portions du texte qui en parle. 5/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  40. 40. www.unknowns.fr Cas 3 : Recherche en mémoire 40 Le service renvoie les phrases extraites des contenus identifiés comme répondant à la question. Le client n’aura donc à lire que les paragraphes qui correspondent exactement a sa demande. Bien sûr dans notre exemple, la qualité et la pertinence des réponses va entièrement dépendre de la qualité/précision dans la recherche des correspondances au sein du texte. 6/6 Client Entity Extraction Retrieve & Rank Taxonomy Données de l’entreprise Relation ExtractionEntity Extraction
  41. 41. www.unknowns.fr ● Retrieve and Rank ○ Moteur d’indexation en SaaS, basé sur Apache SolR. Plus d’information sur SolR ici. ● Taxonomy ○ Identification de catégories de sujets d’un texte, d’une URL ou d’un bloc HTML, ○ Il existe environ 1000 catégories sur plusieurs niveaux (liste des catégories ici) ➢ e.g : Food and drink → non alcoholic beverages ➢ e.g : Food and drink → alcoholic beverages ➢ Disease → (toutes les maladies sont listées) ○ Chaque catégorie est associée à un score de pertinence ➢ e.g : un article sur les smarphones mentionnant la caméra aura 3 catégories détectées : ■ /technology and computing/consumer electronics/telephones/mobile phones/smart phones → 83% ■ /technology and computing → 65% ■ /technology and computing/consumer electronics/camera and photo equipment/cameras and camcorders/cameras → 28% ○ Uniquement en anglais pour le moment. Cas 3 : Pour aller plus loin1/3 41
  42. 42. www.unknowns.fr ● Entity Extraction ○ Repère et map les entités d’un texte brute, URL ou bloc HTML, dans 8 langues dont le français, ○ Les entités sont typées (e.g : personne, entreprise, ville, drogue, maladie, etc…) et il existe environ 50 types et 1000 sous-types, ○ Les entités répétées et les pronoms sont rattachés à leur entité principale (on peut donc connaître la fréquence des mentions), ○ Données additionnelles provenant d’APIs externes (US Census, DBpedia, CIA Factbook, etc…), ○ Gestion des ambiguïtés automatique si possible (e.g : il dissocie le chanteur Michael Jackson du joueur de basket), ○ Intégration de l’analyse des sentiments pour savoir si l’entité est mentionnée dans un contexte positif, négatif ou neutre (uniquement en anglais), ○ e.g : “Ugly Bob attacked beautiful Susan” → renvoie Bob et Susan comme étant des personnes et dans un contexte négatif (contexte de la phrase complète), ○ MAIS ATTENTION, il ne fait pas d’analyse du texte dans son ensemble. Cas 3 : Pour aller plus loin2/3 42
  43. 43. www.unknowns.fr ● Relation Extraction ○ Extrait une relation sujet-verbe-complément à partir d’un texte, d’une URL ou d’un bloc HTML, ○ Le sujet n’est pas forcément l’entité, ○ e.g : “Ugly Bob attacked beautiful Susan” ➢ Ugly Bob → Negatif ➢ Beautiful Susan → Positif ➢ Beautiful Susan pour le sujet (ugly bob) → Négatif (l’attaque) ○ “Ugly bob didn’t attack beautiful Susan” → Relation qualifiée en tant que négative, ○ Qualification du verbe de la relation : infinitif, temps, négation, ○ Possibilité d’obtenir en plus les types d’entités (avec le service d’entity extraction), ○ Uniquement disponible en anglais et espagnol. Cas 3 : Pour aller plus loin3/3 43
  44. 44. www.unknowns.fr Cas 4 : Détecteur de goûts 44
  45. 45. www.unknowns.fr Cas 4 : Détecteur de goûts Principe : Je souhaite proposer un service personnalisé à mes utilisateurs en leur demandant leurs goûts de manière amusante, en choisissant des photos et des citations. Exemple d’un sélecteur de voyage : https://instatrip.mybluemix.net 45
  46. 46. www.unknowns.fr Entrées / Sorties Analyse Structurelle Analyse Sémantique 46 Cas 4 : Détecteur de goûts Personality InsightRelationship ExtractionText to Speech Speech to Text Language Detection Relation Extraction Entity Extraction Keyword Extraction Text Extraction Authors Extraction Tone Analyser Concept Insight Sentiment Analysis Emotion Analysis Taxonomy Concept Tagging Language Detection UtilitairesAnalyse d’images DialogFace Detection Retrieve & Rank Document Conversion Date Extraction Publication Date Microformat Parsing News API Natural Language Classifier Image Tagging
  47. 47. www.unknowns.fr Cas 4 : Détecteur de goûts 47 L’utilisateur sélectionne des séries d’images et/ou de citations, choisies au hasard dans une banque d’images (Flickr, pinterest, etc...). 1/3 Concept Tagging Client Retrieve & Rank Image Tagging
  48. 48. www.unknowns.fr Cas 4 : Détecteur de goûts 48 Chaque image est envoyée au service “Image Tagging”. Chaque citation est envoyée au service “Concept Tagging”. Ces deux services renvoient la liste des concepts détectés dans ces contenus. Un concept est un mot-clé qui permet de décrire ce que contient l’image ou le texte de la manière dont le ferait un humain. Par exemple, une photo de skieurs renverra les concepts : ski, neige, montagne, sport. Les concepts qui ressortent correspondent donc aux goûts de l’utilisateur. Note : Le service “Image Tagging” ne tombe pas dans les fails de reconnaissance de Google. http://diply.com/diply-news/google-image-recognition-algorithm-ide ntifies-black-person-people-gorillas-fail/147344 2/3 Concept Tagging Client Retrieve & Rank Image Tagging
  49. 49. www.unknowns.fr Cas 4 : Détecteur de goûts 49 Une fois ces goûts extraits sous forme de concept, il suffit d’utiliser le service “Retrieve & Rank” pour effectuer une recherche parmi nos contenus. L’utilisateur aura alors une sélection des contenus basés sur ses goûts. Dans notre exemple, les contenus seront les destinations de voyage. 3/3 Concept Tagging Client Retrieve & Rank Image Tagging
  50. 50. www.unknowns.fr ● Retrieve and Rank ○ Moteur d’indexation en SaaS, basé sur Apache SolR. Plus d’information sur SolR ici. ● Concept Tagging ○ Permet d’identifier les concepts qui tournent autour d’un texte, d’une url ou d’un bloc HTML, ○ Un concept est un sujet abordé dans la source (e.g : téléphone, iPhone, technology), ○ Analyse le texte et extrait les concepts de la même manière qu’un humain, en faisant abstraction des mots-clés non pertinents, ○ Chaque concept est associé à un score pertinence pour le texte en question, ○ Pour chaque concept, il retourne des données additionnelles provenant d’APIs externes (US Census, DBpedia, CIA Factbook, etc…), ○ Uniquement disponible en anglais et espagnol. Cas 4 : Pour aller plus loin1/2 50
  51. 51. www.unknowns.fr ● Image Tagging * ○ Retourne une liste de mots-clé associés aux contenus de l’image, ou à l’image dans son ensemble, ○ Transcrit les textes présents dans l’image, ○ Il est probable qu’un objet ait plusieurs mots-clés associés (e.g : le colisé de Rome sera a la fois un “building” et “colosseum”), ○ Pour chaque contenu, il est mentionné : ➢ le mot-clé détecté ➢ sa position dans l’image ➢ le score de confiance ➢ le nombre d’occurences ○ Bonne nouvelle ! Il ne tombe pas dans les fails de reconnaissance de Google ! ○ http://vision.alchemy.ai/ Cas 4 : Pour aller plus loin2/2 51
  52. 52. www.unknowns.fr 52 Quelles limites ? ● Complexité du paiement à la consommation ○ le mode de calcul diffère selon les services de l’API, ○ l’évaluation des coûts est complexe, surtout lorsque l’on commence à combiner les services, ○ les coûts peuvent vite devenir significatifs si l’utilisation est intense. ● L’envoi de ses données sur les plate-formes d’IBM.
  53. 53. www.unknowns.fr 53 Et pour vous ? Et vous, y a-t-il des process/tâches dans votre métier qui pourraient être automatisés en utilisant des services de Watson ? Existe-t-il une autre manière de repenser votre métier en utilisant des services de Watson ?
  54. 54. www.unknowns.fr 54 Maintenant que vous avez les questions, venez nous demander les réponses ! unknowns - conseil en innovation 17 rue André del Sarte, 75018 Paris moshimoshi@unknowns.fr

×