FR 3041791 A1 20170331 FR 1658500 A 20160913 1 APPROCHE GÉNÉRATIVE/DISCRIMINATIVE DE SUIVI D'ÉTATS DE DIALOGUE TRANSACTIONEL PAR FACTORISATION MATRICIELLE COLLECTIVE L'exemple de réalisation concerne des systèmes de dialogue et trouve une application particulière dans le cadre d'un système et d'une méthode pour le suivi d'un état de dialogue par factorisation matricielle collective. Les systèmes de dialogue automatisés interagissent avec les utilisateurs via le langage naturel pour les aider à atteindre un objectif. À titre d'exemple, un utilisateur peut être intéressé à trouver un restaurant et peut avoir un ensemble de contraintes, telles que l'emplacement géographique, la date et l'heure. Le système propose le nom d'un restaurant qui satisfait aux contraintes. L'utilisateur peut alors demander des informations supplémentaires sur le restaurant. La conversation se poursuit jusqu'à ce que les questions de l'utilisateur aient obtenu des réponses. Il existe de nombreuses autres applications dans lesquelles les systèmes de dialogue seraient avantageux. Par exemple, dans le contexte des soins à la clientèle, l'automatisation efficace pourrait apporter un gain de productivité en augmentant la probabilité de succès de chaque appel tout en réduisant le coût global. L'utilisation de systèmes de dialogue autonomes croît rapidement avec la diffusion des appareils mobiles intelligents, mais elle est toujours confrontée à des défis pour devenir une interface utilisateur principale pour l'interaction naturelle à l'aide de conversations. En particulier, lorsque les dialogues sont établis dans des environnements bruyants ou lorsque les énoncés aux-mêmes sont bruités, il peut être difficile pour le système de reconnaître ou de comprendre ce qui disent les utilisateurs. Les systèmes de dialogue comprennent souvent un suiveur d'état de dialogue qui surveille la progression de la conversation (dialogue et conversation peuvent être utilisés de manière interchangeable ici). Le suiveur d'état de dialogue donne une représentation compacte de l'entrée utilisateur et de la sortie système sous la forme d'un état de dialogue. L'état de dialogue encapsule les informations nécessaires pour terminer avec succès la conversation, comme l'objectif ou la demande de l'utilisateur. L'expression « état de dialogue » désigne vaguement une représentation de la connaissance des besoins de l'utilisateur à tout moment dans une conversation. La nature précise de l'état de dialogue dépend de la tâche de dialogue associée. Un système de dialogue efficace bénéficie d'un suiveur d'état qui est en mesure d'accumuler des preuves, sous la forme d'observations, avec précision sur la séquence de tours d'une conversation, et d'ajuster l'état de dialogue en fonction des observations. Cependant, dans les systèmes de dialogue parlé, dans lesquels l'énoncé de l'utilisateur est entré en tant qu'enregistrement de la voix, le fait que la reconnaissance automatique de la parole (ASR) et la compréhension du langage naturel (NLU) 3041791 2 puissent être entachés d'erreurs signifie que les véritables énoncés de l'utilisateur ne sont pas directement observables. Cela rend difficile de calculer le véritable état de dialogue. Une représentation mathématique courante d'un état de dialogue est un schéma de remplissage 5 de fenêtre. Voir, par exemple, Williams, et al, « Partially observable Markov decision processes for spoken dialog systems, » Computer Speech & Language, 21(2): 393-422, 2007, dans la suite, « Williams 2007 ». Dans cette approche, l'état est composé d'un ensemble prédéfini de variables avec un domaine prédéfini d'expression pour chacune d'elles. Le but du système de dialogue est d'instancier chacune des variables de manière efficace afin d'exécuter une tâche associée et à 10 satisfaire à l'intention correspondant de l'utilisateur. Dans le cas du restaurant, par exemple, cela peut comprendre, pour chacune d'un ensemble de variables, une valeur la plus probable de la variable, telle que : l'emplacement: centre-ville ; la date : 14 Août ; l'heure : 19h30 ; le type de restaurant : espagnol, (ou inconnu si la variable n'a pas été affectée d'une valeur différente). 15 Diverses approches ont été proposées pour définir les suiveurs d'état de dialogue. Certains systèmes utilisent des règles artisanales qui reposent sur le résultat le plus probable d'un module NLU. Cependant, ces systèmes à base de règles sont sujets à des erreurs fréquentes telles que le résultat le plus probable n'est pas toujours correct. En outre, ces systèmes à base de règles amènent souvent le client à répondre par l'utilisation de mots-clés simples et à confirmer tout ce 20 qu'ils disent explicitement, ce qui est loin d'être une interaction conversationnelle naturelle. Voir, Williams, « Web-style ranking and SLU combination for dialogue state tracking, » Proc. SIGDIAL, pp 282-291, Juin 2014. Des méthodes plus récentes ont une approche statistique pour estimer la distribution à posteriori sur les états de dialogue en utilisant les résultats de l'étape NLU. Les systèmes de dialogue statistiques, dans le maintien d'une distribution sur plusieurs hypothèses de 25 l'état de dialogue réel, sont capables de se comporter d'une manière robuste lorsqu'ils sont confrontés à des conditions bruyantes et à une ambiguïté. Les suiveurs d'état de dialogue statistiques peuvent être classés en deux approches générales (génératives et discriminatives), selon la façon dont la distribution de probabilité a posteriori sur le 30 calcul d'état est modélisé. L'approche générative utilise un modèle génératif de la dynamique de dialogue qui décrit comment les résultats NLU sont générés à partir de l'état de dialogue caché et utilise la règle de Bayes pour calculer la distribution de probabilité a posteriori. L'approche générative est une approche courante pour le suivi statistique d'état de dialogue, car elle s'intègre naturellement dans le type de modélisation 'Processus de décision markovien partiellement 35 observable' (POMDP), qui est un modèle intégré de suivi de dialogue d'état et d'optimisation de stratégie de dialogue. Voir, Young, et al, « POMPD-based statistical spoken dialog systems : a review, » Proc. IEEE, 101(5): 1160-1179, 2013. Dans le contexte de POMDP, le suivi de dialogue d'état a pour tâche de calculer la distribution a posteriori sur les états cachés, compte tenu de l'historique des observations. 3041791 3 L'approche discriminative vise à modéliser directement la distribution a posteriori par une formulation fermée algébrique d'un problème de minimisation des pertes. 5 Les systèmes génératifs sont décrits, par exemple, dans Williams, 2007 ; Williams, « Exploiting the ASR n-best by tracking multiple dialog state hypotheses, » INTERSPEECH, pp 191-194, 2008 ; Williams, « Incremental partition recombination for efficient tracking of multiple dialog states, » ICASSP, pp 5382 - 5385, 2010 ; Thomson, et al, « Bayesian update of dialog state: a POMPD framework for spoken dialogue systems, » Computer Speech & Language, 24(4): 562-588, 2010, 10 dans la suite, « Thomson 2010. » Les systèmes discriminatifs sont décrits, par exemple, dans Paek, et al, « Conversation as action under uncetainty, » UAI '00: Proc. 16th Conf. In Uncertainty in Artificiall Intelligence, pp 455-464, 2000, et in Thomson 2010. L'utilisation réussie de modèles discriminatifs pour le suivi de croyance 15 a été récemment relatée dans Williams, « Challenges and opportunities for state tracking in statistical spoken dilog systems: Results from two public deployments, » J. Sel. Topics Signal Processing, 6(8):959-970, 2012; Henderson, et al., « Deep Neural Network Approach for the Dialog State Tracking Challenge, » Proc. SIGDIAL 2013, pp 467 - 471, 2013). 20 Chacune de ces approches statistiques souffre de certaines limitations, comme l'inférence complexe au moment de tests, la scalabilité, ou les restrictions sur l'ensemble des variables d'état possibles lors de l'apprentissage. Conformément à un aspect de l'exemple de réalisation, une méthode de suivi d'état de dialogue 25 inclut la production de premier et second modèles de variables latentes qui ont été appris par reconstruction d'un modèle décompositionnel. Le modèle décompositionnel est celui qui a été généré à partir de conversations d'apprentissage annotées et comprend, pour chacune d'une pluralité de transitions d'état de dialogue, des descripteurs d'état pour les états initiaux et finaux de la transition et une représentation de conversation respective. Le premier modèle appris de 30 variables latentes comprend des plongements de la pluralité de transitions d'état. Le second modèle appris de variables latentes comprend des plongements de caractéristiques des descripteurs d'état et des plongements de caractéristiques des représentations de conversation. Les données pour une nouvelle transition de dialogue d'état sont reçues. Les données comprennent un descripteur d'état pour le moment initial et une représentation de conversation 35 respective. Un descripteur d'état pour l'état final de la nouvelle transition d'état de dialogue est prédit sur la base de celle-ci, à l'aide des premier et second modèles appris de variables latentes. La prédiction du descripteur d'état peut être réalisée avec un processeur. 3041791 4 Conformément à un autre aspect de l'exemple de réalisation, un système de suivi d'état de dialogue comprend une mémoire qui stocke les premier et second modèles de variables latentes qui ont été appris par reconstruction d'un modèle décompositionnel. Le modèle décompositionnel a été généré à partir de conversations d'apprentissage annotées et comprend, pour chacune d'une 5 pluralité de transitions d'état de dialogue, des descripteurs d'état pour les états initiaux et finaux de la transition et une représentation de conversation respective. Le premier modèle appris de variables latentes comprend des plongements de la pluralité de transitions d'état. Le second modèle appris de variables latentes comprend des plongements de caractéristiques des descripteurs d'état et des plongements de caractéristiques des représentations de dialogue. Un 10 composant de collecte d'informations reçoit des énoncés d'un utilisateur pour chacune d'une pluralité de nouvelles transitions d'état de dialogue. Un composant de génération de représentation génère une représentation de conversation basée sur les énoncés de l'utilisateur. Un composant de prédiction prédit un descripteur d'état pour un état final de chaque nouvelle transition d'état de dialogue en utilisant les premier et second modèles acquis de variables latentes et la 15 représentation de conversation respective et un descripteur d'état initial correspondant. Un processeur met en oeuvre le composant de collecte d'informations, le composant de génération de représentation et l'élément de prédiction. Selon un autre aspect de l'exemple de réalisation, un procédé d'identification d'une transaction 20 comprend l'apprentissage de premier et second modèles de variables latentes pour la reconstruction d'un modèle décompositionnel, le modèle décompositionnel ayant été généré à partir de conversations d'apprentissage annotées et comprenant, pour chacune d'une pluralité de transitions d'état de dialogue, des descripteurs d'état pour les états initiaux et finaux de la transition et une représentation de conversation respective. Le premier modèle appris de variables latentes 25 comprend des plongements de la pluralité de transitions d'état, et le second modèle appris de variables latentes comprend des plongements de caractéristiques des descripteurs d'état et des plongements de caractéristiques des représentations de dialogue. Pour chacune d'une pluralité de tours d'un conversation, la méthode comprend la réception de données pour une nouvelle transition de dialogue d'état, les données comprenant un descripteur d'état pour l'instant initial et 30 une représentation de conversation respective, la prédiction d'un descripteur d'état pour l'état final de la nouvelle transition d'état de dialogue utilisant les premier et second modèles appris de variables latentes, et la génération d'un acte de dialogue d'agent sur la base du descripteur d'état prédit. Sur la base de l'état final prédit d'au moins un des tours de la conversation, une transaction à mettre en oeuvre est identifiée. 35 La figure 1 est un schéma de principe fonctionnel d'un système de dialogue selon un aspect de l'exemple de réalisation ; la figure 2 est un organigramme illustrant un procédé de suivi de dialogue selon un autre aspect de l'exemple de réalisation ; 3041791 5 la figure 3 illustre un modèle graphique probabiliste de variables latentes (modèle réalisé) de suivi d'état spectral dans une conversation transactionnelle ; la figure 4 illustre un graphe de facteurs correspondant pour le modèle de la figure 3 ; la figure 5 illustre l'apprentissage d'un modèle génératif dans la méthode de la figure 2 ; 5 la figure 6 illustre un exemple de modèle de suivi d'état spectral dans lequel la factorisation matricielle collective est appliquée comme une procédure d'inférence ; et la figure 7 illustre la génération de la matrice M au cours de l'exemple de méthode de prédiction. Des aspects de l'exemple de réalisation concernent un système et une méthode de suivi d'état de 10 dialogue par estimation du véritable état de dialogue d'une conversation en cours à partir d'observations bruitées produites par les modules de reconnaissance vocale et/ou compréhension du langage naturel. L'exemple de système et de méthode permettent un suivi d'état de dialogue statistique basé sur un 15 modèle probabiliste conjoint qui donne un schéma d'inférence par factorisation matricielle collective. Le suiveur d'état de dialogue fonctionne bien en comparaison avec les approches existantes. Le schéma de prédiction est également efficace en termes de calcul par rapport aux approches existantes. La méthode comprend le suivi d'une distribution a posteriori sur les états de dialogue cachés composé d'un ensemble de variables dépendant du contexte. Une politique de 20 dialogue, une fois apprise, vise à sélectionner une action de système optimale, étant donné l'état de dialogue estimé, par optimisation d'une fonction de récompense définie. Il est décrit ici un type d'approche discriminatif/génératif pour le suivi d'état qui utilise des méthodes de décomposition spectrale et des procédures d'inférence associées. L'exemple de modèle 25 probabiliste estime conjointement la transition d'état par rapport à un ensemble d'observations. Dans un exemple de réalisation, la transition d'état est calculée par une procédure d'inférence présentant une complexité linéaire par rapport au nombre de variables et d'observations. En référence à la figure 1, il est illustré un système de dialogue transactionnel 10 destiné à 30 effectuer une transaction par analyse automatisée des conversions des utilisateurs. Les conversations des utilisateurs peuvent être des conversations textuelles ou sonores (parlées) ou une combinaison de celles-ci. Le système 10 comprend une mémoire 12 qui stocke des instructions 14 destinées à la mise en oeuvre de la méthode illustrée sur la figure 2 et un processeur 16 en communication avec la mémoire pour exécuter les instructions. Le système 10 35 peut comprendre un ou plusieurs dispositifs de calcul 18, tels que l'ordinateur serveur illustré. Un ou des dispositifs d'entrée/sortie 20, 22 permettent au système de communiquer avec des dispositifs extérieurs, tels que le dispositif client illustré 24 via des connexions filaires ou sans fil, telles que l'Internet 26. Les composants matériels 12, 16, 20, 22 du système sont en communication par un bus de données/de commande 28. 3041791 6 Les instructions informatiques 14 comprennent un composant d'apprentissage de suivi de dialogue 30 et un composant de prédiction de suivi de dialogue 32, appelé ici un suivi d'état spectral ou SST. Le système peut comprendre en outre un composant de détection d'intention 34, un 5 composant de collecte d'informations 36, un composant de remplissage de fenêtre 38, un composant de représentation d'énoncé 40, et un composant d'exécution 42. En bref, le composant d'apprentissage 30 apprend un modèle génératif 50 qui constitue la base du suiveur d'état spectral 32. L'apprentissage est effectué avec une collection 52 de dialogues 10 d'apprentissage annotés utilisant une Factorisation Matricielle Collective (FMC). En particulier, un modèle décompositionnel 54, qui comprend des descripteurs d'état et des représentations de dialogue correspondantes pour chacune d'un ensemble de tours, est utilisé pour l'apprentissage d'une pluralité de modèles de variables cachées (latentes) temporelles couplées A, B et C 56, 58, 60. Le modèle A comprend des plongements des transitions d'état de dialogue observées, le 15 modèle B comprend des plongements de chacune des caractéristiques des descripteurs d'état, et le modèle C comprend des plongements de chacune des fonctions de représentation de dialogue. Les modèles B et C peuvent être combinés en un seul modèle D 61. Compte tenu du modèle génératif appris 50, quand de nouveaux énoncés 62 sont reçus pendant un instant initial t, le suiveur d'état spectral 32 actualise le modèle génératif 50 et prédit l'état de dialogue à un instant 20 final (suivant) t + 1. S'il y a plus d'un type de transaction gérée par le système, le composant de détection d'intention 34 identifie l'intention de l'utilisateur afin de déterminer l'ensemble de variables à instancier dans le modèle génératif 50. A titre d'exemple, l'utilisateur du dispositif client 24 peut exprimer une 25 intention de réserver un vol et le composant de détection d'intention 34 identifie les variables : la destination, la date et l'heure qui doivent chacune être instanciées à partir d'un ensemble respectif de valeurs prédéfinies. Les variables correspondent aux fenêtres que doit remplir le composant de remplissage de fenêtres 38 à l'aide des informations provenant de la SST 32. 30 Le composant de collecte d'informations 36 met en oeuvre une politique de collecte d'informations qui génère automatiquement des actes de dialogue d'agent virtuelles 64, telles que des réponses aux énoncés de l'utilisateur 62. Ces actes de dialogue générés par le système peuvent obtenir confirmation de ce que l'utilisateur est supposé avoir demandé dans un énoncé antérieur ou peuvent rechercher de nouvelles informations. Le composant de représentation d'énoncé 40 35 génère une représentation 66 du dialogue à un instant initial t, qui constitue une des observations que le SST 32 utilise pour prédire l'état de dialogue à l'instant suivant t + 1. Le composant d'exécution 42 exécute la tâche identifiée à partir du dialogue, par exemple, la réservation d'un vol ou d'un restaurant pour l'utilisateur dans les exemples donnés à titre d'illustration. 3041791 7 Le système informatique 10 peut comprendre un ou plusieurs dispositifs de calcul 18, tel qu'un ordinateur de bureau, un ordinateur portable, un ordinateur de poche, un assistant numérique portable (PDA), un ordinateur serveur, un téléphone cellulaire, une tablette informatique, un pager, une combinaison de ceux-ci, ou un autre dispositif informatique capable d'exécuter des instructions 5 pour mettre en oeuvre l'exemple de méthode. La mémoire 12 peut représenter tout type de support non transitoire lisible par ordinateur telle qu'une mémoire à accès aléatoire (RAM), une mémoire à lecture seule (ROM), un disque ou une bande magnétique, un disque optique, une mémoire flash, ou une mémoire holographique. Dans 10 un mode de réalisation, la mémoire 12 comprend une combinaison d'une mémoire à accès aléatoire et d'une mémoire à lecture seule. Dans certains modes de réalisation, le processeur 16 et la mémoire 12 peuvent être combinés sur une seule puce. La mémoire 12 stocke des instructions destinées à mettre en oeuvre l'exemple de méthode, ainsi que les données traitées 50, 66. 15 L'interface réseau 1 8 permet à l'ordinateur de communiquer avec d'autres dispositifs via un réseau informatique, tel qu'un réseau local (LAN) ou réseau étendu (WAN), ou l'Internet, et peut comprendre un modulateur/démodulateur (MODEM), un routeur, un câble et/ou un port Ethernet. Le dispositif processeur numérique 16 peut être réalisé sous diverses formes, telles qu'un 20 processeur single-core, un processeur dual-core (ou plus généralement un processeur multi-core), un processeur numérique et un coprocesseur mathématique coopératif, un contrôleur numérique, ou similaires. En plus des instructions d'exécution 14, le processeur numérique 16 peut également commander le fonctionnement de l'ordinateur 30. 25 Le terme « logiciel », tel qu'il est utilisé ici, est destiné à englober toute collection ou tout ensemble d'instructions exécutables par un ordinateur ou un autre système numérique de manière à configurer l'ordinateur ou l'autre système numérique pour effectuer la tâche qui est l'objet du logiciel. Le terme « logiciel » tel qu'utilisé ici est destiné à englober les instructions stockées dans un support de stockage tel qu'une RAM, un disque dur, un disque optique, etc., et est également 30 destiné à englober ce qu'on appelle un « firmware » qui est un logiciel stocké sur une ROM ou autre. Un tel logiciel peut être organisé de différentes façons, et peut comprendre des composants logiciels organisés en bibliothèques, en programmes basés sur Internet stockés sur un serveur distant etc., un code source, un code d'interprétation, un code objet, un code directement exécutable, etc. Il est envisagé que le logiciel peut invoquer un code de niveau de système ou des 35 appels vers un autre logiciel résidant sur un serveur ou un autre emplacement pour exécuter certaines fonctions. Comme on s'en rendra compte, la figure 1 est un schéma de principe fonctionnel de niveau élevé d'une partie seulement des composants qui sont incorporés dans un système informatique 10. 3041791 8 Étant donné que la configuration et le fonctionnement des ordinateurs programmables sont bien connus, ils ne seront pas décrits en détail. Suivi d'état de dialogue transactionnel 5 Une tâche intéressante de suivi d'état de dialogue peut être formalisée de la manière suivante : à chaque tour de la conversation axée sur la tâche, le composant de collecte d'informations 38 du système de dialogue 10 choisit un acte de dialogue de système 64, noté d'in à exprimer et les réponses de l'utilisateur au système avec un énoncé d'utilisateur 62, noté u. L'état de dialogue à chaque tour d'un dialogue donné est défini comme une distribution sur un ensemble de variables 10 prédéfinies à suivre qui définit la structure de l'état de dialogue. La construction de l'état de dialogue est appelée remplissage de fenêtres. Dans un dialogue transactionnel, la tâche de suivi d'état implique l'estimation de la valeur de chacune d'un ensemble de variables prédéfinies afin d'effectuer une procédure associée à la tâche à laquelle le dialogue est censé correspondre. 15 Dans un exemple de réalisation, lorsque les énoncés sont prononcés (voix), le composant de collecte d'informations 36 inclut un module NLU 70 qui traite l'énoncé d'utilisateur 62 et génère une liste de N meilleurs : o = f ,..., } où di est un acte de dialogue d'utilisateur hypothétique et h est son score de confiance associé. Chaque acte de dialogue d'utilisateur hypothétisé est une séquence 20 de mots (ou, plus généralement, de jetons) prédits pour correspondre à l'énoncé u de l'utilisateur. Le module NLU 70 peut recevoir en entrée la sortie d'une reconnaissance automatique de la parole (ASR) du module 72, qui convertit l'énoncé prononcé 62 en texte. Dans un système de dialogue basé sur le texte, où les énoncés sont sous la forme de chaînes de texte, le module ASR et éventuellement également le module NLU peut être omis et la ou les chaînes de texte sont 25 considérées comme l'acte de dialogue d'utilisateur d. La représentation 66 générée par le générateur de représentation d'énoncé 40 peut inclure une représentation sac de mots du tour respectif de la conversation. La représentation sac de mots peut comprendre, pour chacun d'un ensemble de mots, une valeur représentative de la présence 30 ou non du mot dans l'acte de dialogue d'utilisateur d (et éventuellement aussi l'acte de dialogue de système correspondant). Dans le cas simple, cela peut être considéré comme la seule preuve sur laquelle la représentation 66 est basée. Toutefois, si un module NLU 70 est disponible, des schémas d'acte de dialogue normalisés peuvent être considérés comme la preuve (ou partie de celle-ci) sur laquelle repose la représentation. Voir, par exemple, Bunt, et al., « Towards an ISO 35 standard for dialogue act annotation, » Proc. 7th Int'l Conf. On Language Ressources and Evaluation (LREC1 0), European Language Resources Association (ELRA), pp 2548 -. 2555, 2010. Dans un mode de réalisation, si l'information prosodique (par exemple, l'information sur l'intonation, le ton, l'accentuation et/ou le rythme de l'énoncé d'utilisateur 62) est disponible dans la sortie d'un système ASR 72 disponible, on peut également considérer comme une preuve. Voir, Milone, et al., 3041791 9 « Prosodic and accentuai information for automatic speech recognition, », IEEE Trans. On Speech and Audio Processing, 11(4): 321-333, 2003. Le modèle de suivi d'état de dialogue statistique 50 maintient, à chaque instant discret t + 1, la 5 distribution de probabilité sur l'état b(st) appelé la croyance en l'état. Le processus d'un type transactionnel de remplissage de fenêtres d'une méthode de gestion de dialogue est résumé sur la figure 2. La méthode commence à S100. 10 À S102, les modèles de suivi A, B, C et M sont appris par le composant d'apprentissage de suivi de dialogue à l'aide de séquences de tours de dialogue annotées avec leurs descripteurs d'état correspondants. À S104, dans un nouveau dialogue, l'intention de l'utilisateur peut être détectée par le composant 15 de détection d'intention 34. La détection d'intention est généralement un problème NLU entraînant l'identification de la tâche que l'utilisateur souhaite voir le système à accomplir. Cette étape détermine l'ensemble des variables à instancier au cours du processus de remplissage de fenêtre (S106). La gestion du dialogue suppose qu'un ensemble de variables est nécessaire pour chaque intention prédéfinie. 20 Le processus de remplissage de fenêtres de la gestion de dialogue (S106) inclut les tâches doubles et séquentielles de collecte d'informations (S108) et de suivi d'état de dialogue (S110). Celles-ci sont réalisées de façon sensiblement itérative jusqu'à ce que les fenêtres prédéfinies soient chacune remplies, par exemple, avec une valeur la plus probable respective de la variable 25 respective ayant au moins un score de probabilité seuil. Une fois que toutes les variables ont été correctement instanciées, comme dans les systèmes de dialogue existants, une dernière confirmation générale de la tâche souhaitée par l'utilisateur est effectuée (S112) avant d'exécuter la tâche demandée (S114). La méthode se termine à S116. 30 Comme c'est indiqué ci-dessus, deux approches statistiques différentes ont été utilisées pour maintenir la distribution sur l'état concernant les sorties NLU séquentielles. L'approche discriminante vise à modéliser la distribution de probabilité a posteriori de l'état à l'instant t + 1 par rapport à l'état à temps t et aux observations zi 1. L'approche générative vise à modéliser la probabilité de transition et la probabilité d'observation afin d'exploiter les interdépendances 35 possibles entre variables cachées composant l'état de dialogue. Une description de ces méthodes existantes suit avant de décrire l'apprentissage les exemples de méthodes de prédiction et d'apprentissage de suivi d'état spectral. Suivi d'état de dialogue discriminatif conventionnel 3041791 10 L'approche discriminative de suivi de dialogue d'état calcule la croyance en chaque état à l'aide d'un modèle conditionnel appris qui représente directement la croyance b(st+1) = p(s'list, zt). L'entropie maximale est largement utilisée pour l'approche discriminante, qui formule la croyance en l'état de la manière suivante : 5 b(s) = P(slx) = rt. erçl'(") (1) où : ri est une constante de normalisation, x = (e,e,s1,...,e,d7tn,s,) est l'historique des actes de dialogue utilisateur e , i {1, les actes de dialogue de système crin , i E {1, ..., et la séquence d'états s, au tour de dialogue actuel au moment t, 10 0(.) est un vecteur de fonctions caractéristiques sur x, West l'ensemble des paramètres de modèle à apprendre des données de dialogue, et Test la transposée. Selon cette formulation, le calcul a posteriori doit être effectué pour toutes les réalisations d'état 15 possibles afin d'obtenir la constante de normalisation n. Cela n'est généralement pas possible pour les vrais domaines de dialogue qui peuvent avoir un grand nombre de variables et les valeurs de variables possibles. En conséquence, pour que l'approche discriminative soit traitable, la taille de l'espace d'état est généralement réduite. Par exemple, une approche consiste à limiter l'ensemble des variables d'état possibles à ceux apparus dans les résultats NLU. Voir, Metallinou, et al, 20 « Discriminative state tracking for spoken dialog systems, » Association for Computer Linguistics, pp 466-475, 2013. Une autre approche suppose une indépendance conditionnelle entre les composants d'état de dialogue pour répondre à la scalablité, et utilise des champs aléatoires conditionnels. Voir, Lee, et al., « Unsupervised spoken language understanding for multi-domain dialog system, » IEEE Trans. on Audio, Speech & Language Processing, 21(11):2451-2464, 2013. 25 Des réseaux neuronaux profonds opérant sur une fenêtre glissante de caractéristiques d'énoncés extraites de tours d'utilisateurs précédents ont également été suggérés. Voir, Henderson, et al., « Word-based dialog state tracking with current neural netorks, » Proc. SIGDIAL, pp 296-299, 2014. 30 Suivi d'état de dialogue génératif conventionnel L'approche générative conventionnelle du suivi d'état de dialogue calcule la croyance en chaque état à l'aide de la règle de Bayes, avec la croyance du dernier tour b(st_1) comme avant et la probabilité étant donné les hypothèses d'énoncé d'utilisateur p(ztist). . Dans Williams, et al, « Factored partially observable Markov decision processes for dialogue management », 4th 35 Workshop on Knowledge and Reasoning in Practical Dialg Systems, pp 76-82, 2005, la probabilité est factorisée et certaines hypothèses d'indépendance sont faites : bt p(sticPtn_l,st_i)p(ztist)b(st_il ht-i)P(zt) (2) 3041791 11 où : p(stic711, st_1) est la probabilité de l'état à l'instant t étant donné l'acte de dialogue de système et l'état à l'instant t-1, KztIst) est la probabilité de l'énoncé utilisateur zt (par exemple, représentation sac de mots) étant donné l'état à l'instant t, 5 b(st_11ht_1) est la croyance en l'état à l'instant t-1 étant donné ht_, (un ensemble de caractéristiques décrivant le dialogue de t = 0 à t-1), et p(zt) est la probabilité de l'énoncé d'utilisateur (par exemple, représentation sac de mots). Une modélisation générative typique d'un processus de suivi d'état de dialogue utilise un modèle 10 de Markov caché factoriel. Voir Ghahramani, et al, « Factorial hidden Markov models, » Machine Learning, 29(2-3):245-273, 1997. Dans cette famille d'approches, la scalabilité est souvent un problème. Une façon de réduire la quantité de calcul consiste à regrouper les états en partitions, proposées comme modèle d'État d'Information Caché (HIS = Hidden information State) modèle. Voir, Gasic, et al., « Effective handling of dialogue state in the hidden information state POMPD- 15 based dialogue manager, » J. ACM Trans. on Speech and Language Processing (TSLP), 7(3)4, 1- 4, 2011. Une autre approche pour faire face au problème de la scalabilité dans ce type de suivi d'état de dialogue consiste à adopter des réseaux bayésiens dynamiques factorisé par le biais d'hypothèses d'indépendance conditionnelles entre les composants d'état de dialogue, et par utilisation d'algorithmes d'inférence approximatives telles que la propagation de croyance en 20 boucle ou l'échantillonnage de Gibbs bloqué. Voir Thomson, et al, « Bayesian update of dialogue state. A POMPD framework for spoken dialogue systems, » Computer Speech & Language, 24(4):562-588, 2010; et Raux, et al, « Efficient probalistic tracking of user goal and dialog history for spoken dialog systems, » Interspeech, pp 801-804, 2011. 25 Un modèle décompositionnel de suivi de variables temporelles cachées couplées L'exemple de modèle décompositionnel 50 et les procédures d'apprentissage et de prédiction sont maintenant décrites plus en détail. La méthode fournit un compromis génératif/discriminatif par sélection d'un modèle génératif pour faire des prédictions, mais à l'aide d'un type discriminatif d'approche de l'apprentissage du modèle, en raison du choix des facteurs linéaires pour relier 30 conditionnellement les variables qui composent l'état de dialogue. Cette méthode combine la précision d'un modèle discriminatif avec l'expressivité d'un modèle génératif. Dans un mode de réalisation, la procédure d'apprentissage de paramètres peut être traitée comme une tâche de décomposition de matrice résolue par régression Ridge par la méthode des moindres 35 carrés alternés ou une autre méthode de décomposition de matrice appropriée, telle que les méthodes de descente de gradient stochastique ou de gradient proximal. La méthode de régression Ridge permet une pénalisation asymétrique d'une ou de plusieurs des variables ciblées que le suivi d'état identifie. 3041791 12 La figure 3 illustre le modèle graphique probabiliste sous-jacent définissant l'approche de Suivi d'État Spectral comme un modèle dirigé des variables latentes A, B et C. La figure 4 illustre le modèle de facteurs correspondant. Dans ce modèle, les trois facteurs sont linéaires, 01: P(st+iiA, Bst') = AT Bst+i, 02: p(stIA, Bst) = AT Bst et 03: p(ztlA, C) = AT C , où Bst est la colonne 5 de la matrice B qui correspond au plongement de st et B st+, est la colonne de B qui correspond au plongement des variables de st÷i. Dans les modèles graphiques probabilistes de la figure 3 et la figure 4, K représente le nombre de descripteurs composant une observation, N correspond au nombre d'exemples de transition de 10 l'ensemble de données d'apprentissage, et M correspond au nombre de descripteurs, aussi appelés variables, décrivant l'état à suivre. Méthode d' apprentissage (S102) Dans la suite, les termes « optimisation », « minimisation » et la phraséologie similaire doivent être 15 interprétés au sens large tout comme un homme du métier comprendrait ces termes. Par exemple, ces termes ne doivent pas être interprétés comme étant limités à la valeur absolue globale optimale, un minimum global absolu, etc. Par exemple, la minimisation d'une fonction peut employer un algorithme de minimisation itératif qui se termine par un critère d'arrêt avant d'atteindre un minimum absolu. Il est aussi envisagé que la valeur optimale ou minimale soit une 20 valeur optimale locale ou minimale locale. La figure 5 illustre un exemple de méthode d'apprentissage. À S202, un ensemble de conversations transactionnelles annotées est prévue pour le type de transaction en cours (par exemple, réservation de restaurants dans le cas de l'exemple). Plus précisément, pour chaque tour 25 de chacune de ces conversations, il est fourni l'état de vérité fondamental. Par exemple, à un tour donné, si le client dit : « Je veux manger à Barcelone, » on annote le tour avec une mise à jour à l'emplacement, en précisant l'emplacement à la fin (temps t + 1) du tour comme étant Barcelone, les autres variables d'état étant les mêmes que celles au début du tour (temps t). 30 À S204, on défini des matrices A, B et C. La figure 6 illustre la tâche de factorisation de matrice collective de la procédure d'apprentissage non-paramétrique du modèle de suivi d'état. Par souci de simplicité, les matrices B et C sont concaténés pour former une matrice unique D et M est la concaténation des matrices. 35 Dans cette étape, la matrice M est remplie avec les données du tour. Plus précisément, chaque rangée comprend les valeurs connues de chacune des variables d'état avant et après la transition et la représentation de dialogue correspondante 66. La matrice M comprend donc, pour chacune d'une pluralité de rangées, chaque rangée correspondant à un tour, des descripteurs d'état initiaux et finaux, à savoir des valeurs pour chacune des variables d'état à l'instant t et des valeurs 3041791 13 correspondantes pour chacune des variables d'état à l'instant t+1, et la l'observation Zt de ce qui a été dit à l'instant t qui est présumé être responsable de la transition de l'état st à l'état st+1. Ainsi, par exemple, la rangée respectivement de la matrice Zt se compose d'une représentation sac de mots des mots qui ont été dits entre l'état t et de l'état t+1 (et/ou d'autres caractéristiques extraites 5 de l'énoncé), par exemple sous forme de 1 et de 0 codant chacun de l'ensemble des mots/caractéristiques possibles. Le nombre de rangées dans la matrice M présentes au cours de l'étape d'apprentissage peut être d'au moins 20 ou d'au moins 100, ou d'au moins 1000, voire plus. La première matrice de variables latentes A est instanciée avec une rangée pour chaque rangée 10 de la matrice M et les matrices B et C sont instanciées avec une colonne pour chacune des valeurs de variables d'état possibles et une colonne pour chacune des caractéristiques de la représentation de dialogue. A cet instant, les matrices A, B et C sont vides et peuvent être initialisées avec des valeurs initiales aléatoires ou générées autrement. À S206, une décomposition de la matrice M en les première et seconde matrices A et D est apprise, par 15 exemple, par une méthode d'approximation telle que la méthode des moindres carrés alternés. Dans cette étape, les plongements des transitions (dans la matrice A) et chacune des valeurs de variables d'état et chacune des caractéristiques dans la représentation de dialogue (dans la matrix D) sont apprises conjointement. En conséquence, chaque rangée de la matrice A et chaque colonne de la matrice D inclut un ensemble de variables cachées. 20 Les matrices A, B et C sont des matrices de faible rang. Dans la matrice de variables latentes A, chaque rangée (plongement) représente un plongement respectif d'une transition remplissant la rangée correspondante de la matrice M (état à l'instant t, état à l'instant t+1 et la représentation de l'acte de dialogue d'utilisateur). Chaque rangée comprend donc un ensemble de variables latentes 25 (illustrées par des points sur la figure. 6), qui constituent le plongement de l'une des transitions. Le nombre de variables latentes (colonnes de la matrice A) est fixe et peut être, par exemple, d'au moins 5, ou d'au moins 10, ou d'au moins 50, ou d'au moins 100, et peut atteindre 10000 ou 1000. La matrice de variables latentes B comprend le plongement des variables qui représentent les plongements de chaque variable d'état possible à l'instant t et à l'instant t+1. Chaque colonne 30 correspond à un couple (variable d'état, valeur) qui a une valeur précise (codage 0, 1), et les variables latentes dans cette colonne constituent le plongement de ce couple. La matrice de variables latentes comprend le plongement des représentations sac de mots. Dans la matrice C, chaque colonne représente un de l'ensemble de mots (et/ou d'autres caractéristiques) dans le sac de mots/d'autres caractéristiques. Le nombre de variables latentes (rangées) dans les matrices B 35 et C est fixé, et peut être, par exemple, d'au moins 5, ou d'au moins 10, ou d'au moins 50, d'au moins 100, et peut atteindre 10000 ou 1000. Étant donné que les deux matrices B et C sont concaténées pour former la matrice D, elles ont le même nombre de variables latentes. Les matrices A et D peuvent avoir le même nombre de variables latentes. Plus on utilise de variables latentes, plus il est facile de reconstruire une approximation de la matrice M comme le produit de 3041791 14 matrices de variables latentes A et B. Cependant, cela se fait avec un coût de calcul majoré et peut conduire à une moins bonne performance de prédiction avec des nombre de variables plus élevés. Le nombre optimal de variables latentes peut dépendre de l'ensemble de données et peut être sélectionné par le classement de la performance du système à l'aide de valeurs différentes. 5 À S208, les matrices de variables latentes A et D sont stockées. L'équation 3 définit l'exemple de tâche d'optimisation effectué à l'étape S206, à savoir la fonction de perte associée à l'apprentissage des variables latentes {A, D}. 10 minll(M -AD)Wffl (3) A,D c'est-à- dire, une fonction du minimum de la différence entre la matrice réelle M et le produit des matrices de variables latentes A et B, conditionnées par des poids W, et où {À',4} E R2 sont des hyper-paramètres de régularisation optionnels (valeurs scalaires) qui peuvent être apprises par validation croisée, et W est une matrice diagonale qui augmente le poids de certaines des 15 variables d'état, st,,, afin de biaiser les résultats pour une meilleure précision prédictive de ces variables spécifiques. La matrice de poids peut être apprise par validation croisée. Les poids sont choisis pour améliorer l'accord entre la matrice M' reconstituée (formée en tant que produit de matrices A et B) et la matrice réelle. Ce type d'approche de pondération s'est révélé efficace dans d'autres types de compromis génératifs/discriminatifs de tâches. Voir, par exemple, Ulusoy, et al, 20 « Comparison of generative and discriminative techniques for object détection and classification, » Toward Category-Level Object Recognition, pp 173-195, 2006, Bishop, et al, « Generative or discriminative? Getting the best of both words, » BAYESIAN STATISTICS, 8:3-24, 2007. 11 - 112 représente la norme de Frobenius de la matrice respective (la racine carrée de la somme des carrés absolus de ses éléments). Cependant, d'autres normes de matrice peuvent être utilisées. 25 Dans l'exemple de réalisation, la matrice de poids a un impact plus important sur au moins certaines des caractéristiques de descripteur d'état final de la matrice reconstruite M que pour les caractéristiques correspondantes du descripteur d'état initial. Pour effectuer la tâche de minimisation représentée dans l'équation 3, on peut utiliser une méthode 30 de décomposition de matrice, telle que la méthode des moindres carrés alternés qui est une séquence de deux problèmes d'optimisation convexe. Dans une première étape, pour D connue, on calcule la matrice A qui minimise l'équation 4 : A* = argminA11(M - AD)W11 411A11i, (4) 35 Ensuite, pour une A connue, on calcule la matrice D qui minimise l'équation 4 : D* = argminB11(M - (5) 3041791 15 Au début, la matrice A (et/ou D) peut être initialisée avec des valeurs aléatoires ou une décomposition de valeurs singulières de la matrice M. En résolvant itérativement les deux problèmes d'optimisation, on obtient les formes de régression 5 Ridge régularisée à points fixes des algorithmes par la méthode des moindres carrés alternés pondérés : A REVENDICATIONS1. Système informatique (10) de suivi d'état de dialogue comprenant : une mémoire (12) qui stocke des premier et second modèles de variables latentes qui ont été appris par reconstruction d'un modèle décompositionnel, le modèle décompositionnel ayant été généré à partir de dialogues d'apprentissage annotés et comportant pour chacune d'une pluralité de transitions d'état de dialogue, des descripteurs d'état pour les états initiaux et finaux de la transition et une représentation de conversation respective, le premier modèle de variables latentes appris, incluant des plongements de la pluralité de transitions d'état, et le second modèle de variables latentes appris, incluant des plongements de caractéristiques des descripteurs d'état et des plongements de caractéristiques des représentations de dialogue ; un composant de collecte d'informations (36) qui reçoit un énoncé d'un utilisateur pour chacune d'une pluralité de nouvelles transitions d'état de dialogue ; un composant de génération de représentation (40) qui génère une représentation de dialogue en fonction de l'énoncé d'utilisateur ; un composant de prédiction (32) qui prédit un descripteur d'état pour un état final de chaque nouvelle transition d'état de dialogue à l'aide des premier et second modèles de variables latentes appris, un descripteur d'état initial et la représentation de dialogue respective ; et un processeur qui met en oeuvre le composant de collecte d'informations, le composant de génération de représentation, et le composant de prédiction. 2. Système informatique selon la revendication 1, comprenant en outre un composant d'apprentissage pour l'apprentissage des premier et second modèles de variables latentes.