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 !
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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. 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. 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. 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. 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