who is watson?
TRANSCRIPT
www.unknowns.fr
Who is Watson?Une plongée dans l’intelligence cognitive
1
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
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
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
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
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
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
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
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
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).
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
www.unknowns.fr
Cas 1 : Automation du Support Client
12
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
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
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
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
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
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
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
www.unknowns.fr
Cas 1 : Pour aller plus loin 1/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
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 loin 2/2
21
www.unknowns.fr
Cas 2 : Redirection du Support Client
22
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
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
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
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
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
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
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
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 loin 1/2
30
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 loin 2/2
31
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
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
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
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
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
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
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
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
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 loin 1/3
41
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 loin 2/3
42
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 loin 3/3
43
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
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
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
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-identifies-black-person-people-gorillas-fail/147344
2/3
Concept Tagging
Client
Retrieve & Rank
Image Tagging
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
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 loin 1/2
50
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 loin 2/2
51
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.
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 ?
www.unknowns.fr 54
Maintenant que vous avez les questions, venez nous demander les réponses !
unknowns - conseil en innovation17 rue André del Sarte, 75018 Paris