2. CONCEPTIONPROJETPROCESS page 2page 2page 2page 2page 2TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 2
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
3. CONCEPTIONPROJETPROCESS page 3page 3page 3page 3page 3TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 3
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
4. CONCEPTIONPROJETPROCESS page 4page 4page 4page 4page 4TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 4
Spécificités - Dialogue
Spécificités du dialogue :
• Ce que dit le système
• Ce que disent les appelants
• Ce que comprend le système
DIALOGUEDIALOGUE
5. CONCEPTIONPROJETPROCESS page 5page 5page 5page 5page 5TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 5
Dialogue – Messages
Ce que dit le système
Phrasé de l’accueil ou de la question, dit « ouvert »
Approche Langage Naturel Approche Classique (grammaires)
« que puis-je faire pour vous? »
« dites le nom du service qui vous intéresse parmi
les suivants : .. »
« énoncez le motif de votre appel »
« pour obtenir … dites "Contrat", pour … dites
"Service Technique", ... »
« quel est le modèle de votre téléphone? »
« (1) quel est la marque de votre téléphone? / (2)
choisissez à présent le modèle parmi les suivants :
...»
« désirez vous A, B, C, ou un autre service..?»
« désirez vous A, B, ou C? sinon, dites autre
service.»
DIALOGUE
6. CONCEPTIONPROJETPROCESS page 6page 6page 6page 6page 6TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 6
Dialogue – Réponses acceptées
Ce que disent les appelants
• Variété des expressions acceptées
• Dialogue à « initiative mixte »
Approche Langage Naturel Approche Classique (grammaires)
« ce midi j'ai voulu retirer de l'argent au
distributeur et ma carte a été avalée » « agence! / autre service! / service carte! »
« c'est pour une simulation de prêt immobilier» « prêt immobilier »
« un Nokia euh modèle e71 je crois» « Nokia »
« non c'est pour déclarer un sinistre» « autre service »
DIALOGUE
7. CONCEPTIONPROJETPROCESS page 7page 7page 7page 7page 7TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 7
Dialogue – Interprétation
Ce que comprend le système
• Nombre des catégories « sémantiques »
• Niveau d’indépendance des informations sémantiques
extraites
Approche Langage Naturel Approche Classique (grammaires)
accueil routage --> 20 à 100 classes de motifs
en 1 étape (quelques classes de motifs en 2 étapes si
désambiguisation nécessaire)
accueil routage --> 10 à 20 classes de motifs
en 2 à 3 étapes
remplissage "formulaire" --> recueillir toutes les
infos en 1 étape
questions "formulaire" --> généralement guidé
en N étapes
confirmation - correction --> en 1 étape confirmation - correction --> en 3 étapes
DIALOGUE
8. CONCEPTIONPROJETPROCESS page 8page 8page 8page 8page 8TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 8
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
10. CONCEPTIONPROJETPROCESS page 10page 10page 10page 10page 10TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 10
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
11. CONCEPTIONPROJETPROCESS page 11page 11page 11page 11page 11TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 11
Spécificités - Technologie
Deux technologies requises :
• La technologie utilisée pour guider la reconnaissance
vocale
Modèle de langage statistique (SLM)
• Les technologies utilisées pour extraire une interprétation
Extraction de mots clefs
Parsing Robuste
Modèles sémantiques statistiques (SSM)
Appel à d’autres algorithmes de traitement du langage
TECHNOLOGIES
12. CONCEPTIONPROJETPROCESS page 12page 12page 12page 12page 12TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 12
Spécificités - Technologie
Chaine de traitement pour le Langage Naturel
Grammaire Slots sémantiques de la grammaire
(calculés via ECMAScript ou autre,
en même temps que la reconnaissance vocale
aligne l’énoncé avec la grammaire)
Approche classique :
TECHNOLOGIES
13. CONCEPTIONPROJETPROCESS page 13page 13page 13page 13page 13TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 13
Technologies – SLM vs grammaire
1.end-pointing
2. extraction de
vecteurs de
paramètres
y1
y2
..
yn
Phonème inconnu Y
PhonèmeX
3. Alignement
acoustico-
phonétique
le 24 Janvier 2009
5. Séquence de mots
reconnus /
interprétation
<date : [
<day : 24>
<month : 1>
<year : 2009>
]
> le 24
Janvier
2009
4. contraintes
linguistiques :
grammaire ou SLM
TECHNOLOGIES
14. CONCEPTIONPROJETPROCESS page 14page 14page 14page 14page 14TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE
Contraindre les suites de mots possibles…
et donc les séquences possibles de phonèmes …
et donc les séquences possibles de réalisations sonores
Technologies – SLM vs. grammaire
Le rôle de la grammaire ou du modèle de langage
TECHNOLOGIES
15. CONCEPTIONPROJETPROCESS page 15page 15page 15page 15page 15TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 15
Technologies – SLM vs. grammaire
Source : F. Yvon, U. Paris 11
TECHNOLOGIES
16. CONCEPTIONPROJETPROCESS page 16page 16page 16page 16page 16TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 16
Technologies – SLM vs. grammaire
Source : F. Yvon, U. Paris 11
TECHNOLOGIES
18. CONCEPTIONPROJETPROCESS page 18page 18page 18page 18page 18TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 18
Technologies – SLM vs. grammaire
Convergences
• Un SLM peut être vu comme une règle de grammaire
particulière, et inséré dans une grammaire
• Des grammaires peuvent être « insérées » dans un
modèle de langage pour définir des classes d’item et
améliorer la représentativité du corpus
• Une question ouverte (« quel est le motif de votre
appel? ») utilisant un SLM peut être suivie d’une question
plus précise (« connaissez-vous oui, ou non, votre numéro
de compte et votre code confidentiel? ») utilisant une
grammaire classique
TECHNOLOGIES
19. CONCEPTIONPROJETPROCESS page 19page 19page 19page 19page 19TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 19
Technologies - Interprétation
Problématique
• La grammaire qui guide la reconnaissance vocale possède
la structure de la phrase ainsi que tous les éléments
sémantiques associés
• Le SLM sert à évaluer les suites de mots les plus
probables, mais
• ne possède aucune connaissance structurée ni aucune
connaissance sémantique sur les suites de mots
« reconnues »
• Les suites de mots « reconnues » présentent une grande
variété, ne sont pas forcément grammaticalement correctes,
ni exemptes d’erreurs (mots insérés, confondus ou
supprimés)
• Il faut donc ajouter une étape de traitement spécifique,
combinée à une couche de connaissance, pour analyser
les suites de mots reconnues et en extraire un sens
TECHNOLOGIES
20. CONCEPTIONPROJETPROCESS page 20page 20page 20page 20page 20TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 20
Technologies - Interprétation
Technologies utilisées pour extraire une interprétation
• Extraction de mots clefs
• Elaboration de règles de pattern-matching
• Parsing Robuste
• Modèles sémantiques statistiques (SSM)
• Appel à d’autres algorithmes de traitement du langage
TECHNOLOGIES
21. CONCEPTIONPROJETPROCESS page 21page 21page 21page 21page 21TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 21
Conception du modèle d’interprétation
Cas typiques de choix de modèles
Appariement vers un petit nombre de catégories
• Soit SSM
• Soit modèle par règles (pattern matching ou robust parsing)
Appariement vers un grand nombre de catégories
• Soit SSM (attention au besoin de données)
• Soit modèle par règles (attention effort expert important)
Extraction d’informations précises
• Soit définir des règles (pattern matching ou robust parsing)
• Soit entraîner plusieurs SSM (un par slot)
• Soit utiliser des algorithmes TALN existant (si possible spécialisés
dans le domaine)
Attention grande disparité des outils proposés par les éditeurs
TECHNOLOGIES
22. CONCEPTIONPROJETPROCESS page 22page 22page 22page 22page 22TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 22
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
23. CONCEPTIONPROJETPROCESS page 23page 23page 23page 23page 23TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 23
Spécificités – Ressources & Process
Ressources spécifiques :
Des données, des données, des données…
• Corpus de texte pour le SLM (en général énoncés enregistrés
et transcrits)
• Corpus de texte annoté pour le SSM (enoncés enregistrés,
transcrits et étiquetés avec un sens et/ou une catégorie et/ou
une destination de transfert, un type d’action..) utile aussi pour
évaluer les techniques d’interprétation autres que SSM, mais requérant alors
un volume moins important de données
Et des équipes capables de traiter ces données…
Process spécifiques :
Recueil et préparation des données
• Il faut des données issues du système avant que le système
soit construit! WOZ, bootstrap…
Apprentissages, évaluation et révision des modèles
PROCESS
24. CONCEPTIONPROJETPROCESS page 24page 24page 24page 24page 24TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 24
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
25. CONCEPTIONPROJETPROCESS page 25page 25page 25page 25page 25TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 25
Spécificités – Projet
Spécificités impactant la gestion de projet et le cycle de vie de
l’application
• Effort technique important à occurrence « chronique » (à
chaque ré-apprentissage de modèle)
• Délais incompressibles de recueil de données
• Si démarrage sur une clientèle pilote, attention au délai pour
recueillir suffisamment d’enoncés pour le premier apprentissage
de modèle
• Sensibilité extrême au phrasé initial choisi pour les messages
• Changer la phrase d’accueil en cours de projet nécessite a priori
de relancer tout le process de recueil/apprentissage
• Nécessité de placer les utilisateurs face au système final
avant de l’avoir élaboré !
• Démarrage avec un magicien d’Oz ou un système de bootstrap
• Procédure par étapes pour atteindre une forme mature du SLM
PROJET
26. CONCEPTIONPROJETPROCESS page 26page 26page 26page 26page 26TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 26
Sommaire
Les spécificités des services vocaux en langage naturelLes spécificités des services vocaux en langage naturel
• Le dialogue
• le schéma fonctionnel
• La technologie
• Les ressources et process
• La gestion de projet
La conception des servicesLa conception des services
CONCEPTION
27. CONCEPTIONPROJETPROCESS page 27page 27page 27page 27page 27TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 27
Gestion de Projet - général
Tout d’abord obéit aux règles générales de conception de tout
service vocal
Définition des besoins
Besoins MOA & besoins publics cibles
Définir les objectifs
Conception
Fonctionnalités
Persona, terminologie, habillage sonore…
Spécifications de dialogue
Implémentation
Dev Application + connecteurs SI + Architecture
technique
Tests et Recettes
Tests unitaires développeurs + Campagne de test
interne
Déploiement
Communication, accompagnement…
Supervision & Tuning
Stats appli
Recueil de logs et d’audio
Transcriptions et tuning
Recueil des impressions terrain (utilisateurs ou personnes en contact avec utilisateurs)
page 27page 27page 27page 27page 27page 27CONCEPTION
28. CONCEPTIONPROJETPROCESS page 28page 28page 28page 28page 28TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 28
Gestion de Projet - planning
Planning typique lang-nat : collectes et bootstrap
CONCEPTION
29. CONCEPTIONPROJETPROCESS page 29page 29page 29page 29page 29TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 29
Gestion de projet - Etapes
Etude de cas : Mise en place d’un accueil-routage
• Etape 1a : choix initiaux
• Etape 1b : références établies par le Client
• Etape 1c : conception du dialogue
• Etape 2 : mise en place du système de recueil initial
• Etape 3 : recueil des données
• Etape 4 : apprentissage du premier SLM et du premier
modèle d’interprétation
• Etape 5 : lancement du système automatisé « v1.0 »
• Etapes suivantes : cycle 3-4-5 reproduits une ou plusieurs
fois pour évaluer-améliorer les performances / suivre les
changements d’usage
30. CONCEPTIONPROJETPROCESS page 30page 30page 30page 30page 30TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 30
Etape 1a : choix fonctionnels & techniques
Choix spécifiques lang-nat:
• Où mettre de la lang-nat ?
• Déterminer parties de dialogue nécessitant LN, et parties gérées plus
efficacement avec grammaires classiques
• Quelle est l’interprétation visée?
• Selon besoin fonctionnel
• exemple accueil-routage, étiquette globale « motif d’appel »
• exemple helpdesk technique, étiquette + slots pour capturer nature du
problème, de l’applicatif etc.
• Comment initier le recueil de données ?
• Choix entre WOZ ou système de bootstrap, ou combinaison des
deux (via centre d’appel existant et « whispering »)
• Étape clef, attention à la stabilité du phrasé des questions LN
• Comment définir la mouture zéro du modèle statistique ?
• Modèle vide approche WOZ
• à partir d’une grammaire « experte »
• À partir d’un corpus approchant
CONCEPTION
31. CONCEPTIONPROJETPROCESS page 31page 31page 31page 31page 31TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 31
Etape 1b : Les références
Références :
• Motifs d’appels
• Énoncés typiques associés
• Destination associée
• Classes de motifs
Points d’attention :
• Requiert expertise métier et connaissance terrain
• Utiliser toutes les sources dispo (centre d’appel, agences,
analystes…)
• Prévoir évolutions futures : séparer énonciations et noms
de produit (utile aussi à performances SLM)
CONCEPTION
32. CONCEPTIONPROJETPROCESS page 32page 32page 32page 32page 32TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 32
Etape 1c : conception dialogue
Flux de dialogue :
• phrasé accueil initial (définitif!)
Que puis-je faire pour vous?
Quel est le motif de votre appel?
Formulez simplement le motif de votre appel
…
• relance / exemple suggéré en cas de « no-input » (privilégier un
exemple unique)
Dites par exemple « je voudrais modifier mon contrat »
Merci d’énoncer un motif, par exemple « modifier mon contrat »
…
• formulation en retour de reco (pas trop spécifique)
Entendu, je vous mets en relation…
Je vous mets en relation avec le service des contrats
Une demande concernant votre contrat, entendu, je vous mets en relation
…
• dialogues de sous-qualifications, désambigüisations ou filtrage
(grammaires classiques)
Un prêt entendu, est-ce un prêt habitat, un prêt personnel ou un prêt voiture?
Dans ce cas, connaissez-vous, oui ou non, votre identifiant et votre code confidentiel?
Entendu, êtes-vous déjà clients chez nous?
CONCEPTION
33. CONCEPTIONPROJETPROCESS page 33page 33page 33page 33page 33TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 33
Etape 2 : Système initial
Système mis en place pour le 1er
recueil de données :
• WOZ
• Système à base de grammaires classiques ou SLM appris
sur corpus artificiel ou approchant
• Hybride : système pouvant transférer vers téléconseiller
avec ou sans « whispering »
• Faire levier des infrastructures et compétences existantes
• Sans les saturer
• en assurant la satisfaction client
CONCEPTION
34. CONCEPTIONPROJETPROCESS page 34page 34page 34page 34page 34TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 34
Etape 3 : recueil de données
Recueil de données :
• Supervision stats et quali
• Volume de données à évaluer en fonction de complexité
de SLM et d’interprétation
• Possibilité de démarrer la transcription en parallèle
• ATTENTION transcription ≠ étiquetage
• Si possible faire faire étiquetage par le Client (compétences
métier)
CONCEPTION
35. CONCEPTIONPROJETPROCESS page 35page 35page 35page 35page 35TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 35
Etape 4 – appentissage SLM
SLM – définition
• Généralement modèle « bigram »
P(<s> ma carte est restée bloquée </s>) =
P(ma | <s>) * P(carte | ma) * P(est | carte) * P(restée | est) *
P(bloquée | restée) * P(</s> | bloquée)
• Modèle « trigram » uniquement pour les très gros corpus
P(<s> ma carte est restée bloquée </s>) =
P(ma | <s>) * P(carte | <s> ma) * P(est | ma carte) * P(restée | carte
est) * P(bloquée | est restée) * P(</s> | restée bloquée)
• Comment se présente un SLM?
• Liste de paramètres pour estimer les probabilités = décomptes
statistiques pour les « unigrams », « bigrams », « trigrams »..
• ATTENTION pour un vocabulaire de 1000 mots
• 1 Million de bigrams et 1000 Millions de trigrams à estimer
CONCEPTION
36. CONCEPTIONPROJETPROCESS page 36page 36page 36page 36page 36TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 36
Difficultés – jamais assez de données
Problème de représentativité du corpus
Problème des singletons et des évènements non-observés
(dits « fantôme ») et des mots hors-vocabulaire (OOV)
Statistiques sur corpus journalistique WSJ
CONCEPTION
37. CONCEPTIONPROJETPROCESS page 37page 37page 37page 37page 37TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 37
Difficultés – jamais assez de données
Loi de Zipf
Fréquence * Rang = Constante
Un petit nombre d’évènements distincts apparaissant dans le corpus avec
une fréquence très élevée
Un grand nombre d’évènements distincts apparaissant dans le corpus
avec une fréquence très faible
CONCEPTION
38. CONCEPTIONPROJETPROCESS page 38page 38page 38page 38page 38TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 38
Contournements
Pour maximiser la représentativité du
corpus:
Normaliser le corpus
• Orthographe, majuscules,
chiffres, formes phonétiques…
Définir des Classes d’équivalence
• Noms de ville, noms de produits
etc.
• Ajouter éventuellement des
variantes et synonymes
• Externaliser dans des règles de
grammaire
Limiter la taille du vocabulaire (et
utiliser une étiquette OOV)
Pour optimiser le SLM:
Lissage des décomptes statistiques
Optimisation des paramètres choisis
via des évaluations
systématiques du modèle produit
CONCEPTION
39. CONCEPTIONPROJETPROCESS page 39page 39page 39page 39page 39TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 39
Evaluation d’un SLM
Principe général
Séparer corpus d’apprentissage et corpus d’évaluation
Soit un découpage fixe, par exemple 85%-15%
Soit des découpages « tournant » (avec « held-out data »)
Pour éviter effet de « sur-apprentissage » et sous-estimation des
OOV, phénomènes fantômes etc.
Evaluation par erreur de reco (WER)
Idéal
Mais peut-être difficile et/ou long à réaliser
Evaluation par « Perplexité »
Très rapide à calculer
Donne une idée du « facteur de branchement », i.e du nombre de
mots équiprobables « prédits » par le modèle après un mot
donné
Le meilleurs modèle est celui avec la perplexité la plus basse
CONCEPTION
40. CONCEPTIONPROJETPROCESS page 40page 40page 40page 40page 40TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 40
Process technique SLM
•Processing steps
–Collection and cleaning
–Normalization, define words, select vocabulary
–Counting and model parameter estimation (Outils)
–Evaluation with PP and WER
•Outils éditeurs :
–Nuance NL tools (pour SLM, SSM et robust parsing)
–Telispeech Natural Language Tool Kit (NLTK, pour SLM,
et en partie robust parsing)
•Outils académiques les plus utilisés (SLM):
–SRILM
–CMU-Cambridge
CONCEPTION
41. CONCEPTIONPROJETPROCESS page 41page 41page 41page 41page 41TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 41
Etapes 5+ : lancement, ré-entraînements &
évolutions
Lancement
Communication interne / externe
Supervision…
Types de ré-entraînements
• rapprochés pour bootstrap
collecter 50k enoncés en 3 X 17k énoncés
économise la ressource humaine de 1ère
collecte
converge vers système automatique cible
• plus espacés pour améliorations / suivi des usages /
modification de l’accueil (rare)
Evolutions
évolutions fonctionnelles possibles sans modification de la
question LN (très générique)
• Typiquement : ajout de destinations de routage
• Impact sur l’organisation du centre d’appel, des agences…
CONCEPTION
42. CONCEPTIONPROJETPROCESS page 42page 42page 42page 42page 42TECHNOLOGIESFONCTIONNELDIALOGUESOMMAIRE page 42
SIGLES
ASR automatic speech recognition
LN langage naturel
NLTK natural language toolkit
PP perplexité
SSM statistical semantic model
SLM statistical language model
TALN traitement du langage naturel
OOV out of vocabulary (mot hors vocabulaire)
WER word error rate (taux d’erreur de reconnaissance de mot)
WOZ wizard of Oz (magicien d’Oz, système derrière lequel se cache un humain)
CONCEPTION