Brevet FR2935855A1 — publié le 20100312

Procédé et système de communication pour la détermination d'une séquence de services liés à une conversation La présente invention se rapporte au domaine de la gestion d'informations échangées au cours d'une conversation, en particulier à un procédé et à un système de communication pour la détermination d'une séquence de services liés à une conversation à laquelle participe un utilisateur à partir d'un système de communication. Au cours d'une conversation téléphonique ou d'une conversation effectuée via un logiciel de messagerie instantanée (aussi appelée � chat �), il n'est pas rare que les interlocuteurs s'assignent des tâches en relation avec les propos qu'ils sont en train d'échanger. Par exemple, lorsque le sujet de la conversation entre deux interlocuteurs consiste en la préparation d'un évènement tel qu'une excursion sur un site touristique, les interlocuteurs peuvent, en cours de conversation, s'assigner des tâches relatives à l'organisation de l'excursion. Ainsi, l'un des interlocuteurs pourra être en charge, postérieurement à la conversation, de consulter les prévisions météorologiques sur le site, d'effectuer une recherche de l'itinéraire à emprunter pour se rendre sur le site, de procéder à une réservation à distance de places de train ou de joindre une tierce personne pour lui demander si elle est intéressée par une telle excursion. Classiquement, pour consulter les informations ou réaliser les tâches qui leur ont été demandées, respectivement assignées, au cours de la conversation, les interlocuteurs activent des services par l'intermédiaire d'applications informatiques, telles que leur navigateur Web, installées sur leur système de communication. Dans l'exemple précédemment évoqué, l'interlocuteur en charge de se renseigner sur la météorologie pourra ouvrir son navigateur Web installé sur son système de communication et saisir une URL (initiales anglo-saxonnes mises pour � Universal Ressource Locator�) correspondant à un site Web de prévision météorologique. De plus, si cet interlocuteur doit également s'occuper de réserver des billets de transport, il pourra saisir une nouvelle URL dans son navigateur Web correspondant à un site Web de réservation de billet en ligne. De même, si l'interlocuteur s'est proposé ou si il lui a été demandé au cours de la conversation d'envoyer un mail à un ami pour lui proposer de se joindre à l'excursion, il pourra activer un service de messagerie électronique disponible depuis son système de communication afin de pouvoir envoyer un mail. Cependant, l'interlocuteur ne doit pas avoir oublié les tâches qui lui ont été attribuées au cours de la conversation. D'autre part, l'interlocuteur ne connaît pas toujours ou ne pense pas toujours à exécuter des services disponibles depuis son système de communication, lui permettant de réaliser les tâches qui lui ont été attribuées au cours de la conversation. De plus, dans le cas où l'interlocuteur a déterminé les services adaptés, il devra, pour les lancer, nécessairement ouvrir depuis son système de communication, une application particulière et saisir manuellement des informations qui auront pourtant déjà été énoncées au cours de la conversation. Cette manipulation est d'autant plus fastidieuse qu'elle doit être réalisée autant de fois qu'un interlocuteur a besoin d'un nouveau service pour la réalisation d'une tâche. La présente invention vise à faciliter, pour un utilisateur, la réalisation des tâches qui lui ont été assignées au cours d'une conversation. Dans ce but, un premier objet de l'invention concerne un procédé de détermination d'une séquence de services liés à une conversation à laquelle participe un utilisateur depuis un système de communication, caractérisé en ce qu'il comprend, une fois la conversation terminée, les étapes suivantes : - récupération de l'ensemble des expressions énoncées au cours de la conversation ; - analyse sémantique des expressions récupérées ; - sélection d'une pluralité de services à partir d'une liste de services 30 préalablement enregistrés, en fonction d'au moins ladite analyse sémantique, chaque service de ladite liste étant susceptible d'être lancé à partir dudit système de communication ; - analyse contextuelle des expressions énoncées au cours de la conversation ; - détermination d'une séquence desdits services sélectionnés en fonction de ladite analyse contextuelle ; - affichage sur ledit système de communication de la séquence des services sélectionnés. Un second objet de l'invention concerne un système de communication comprenant des moyens pour permettre à un utilisateur d'effectuer une conversation, caractérisé en ce qu'il comprend de plus : - un moyen de stockage pour stocker une liste de services susceptibles d'être lancés à partir au moins dudit système de communication ; - un serveur d'analyse de langage naturel apte à : o sélectionner une pluralité de services à partir de la liste de services stockée, en fonction d'au moins une analyse sémantique de l'ensemble des expressions énoncées au cours de la conversation ; o déterminer une séquence des services sélectionnés en fonction d'une analyse contextuelle de l'ensemble des expressions énoncées au cours de la conversation ; - des moyens d'affichage pour afficher la séquence des services sélectionnés. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre en référence aux dessins annexés dans lesquels : - La figure 1 représente schématiquement une architecture préférée de différents éléments constitutifs d'un système de communication ainsi que leurs interactions en vue de la détermination d'une séquence de services selon l'invention. - La figure 2 représente schématiquement différentes interactions entre un utilisateur, un client de messagerie et un serveur d'analyse de langage naturel d'un système de communication selon un mode préféré de l'invention. - La figure 3 représente une interface graphique d'un client de messagerie instantanée sur laquelle une séquence de services est affichée conformément à l'invention. Le système de communication 1, tel que montré sur la figure 1, comporte classiquement un ensemble de terminaux 10, 11 tels qu'un téléphone 10 ou un ordinateur 11 reliés à un écran à partir desquels un utilisateur 12 peut effectuer une conversation téléphonique ou par l'intermédiaire d'un client de messagerie instantanée. Un tel système de communication 1 peut également servir de point d'accès à des services. Ainsi, par exemple, lorsqu'un navigateur Web est installé sur l'ordinateur 11, un utilisateur 12 du système de communication 1 peut accéder à partir de cet ordinateur 11, entre autre, à des services de météorologie, de consultation de comptes bancaires ou de réservation de billets de transport, de tels services étant disponibles sur des sites Internet accédés à partir du navigateur Web. De même, si un client de messagerie de type Outlook� est installé sur le système de communication 1, l'utilisateur 12 pourra accéder à un service de messagerie et donc recevoir ou envoyer des messages électroniques de la part ou à destination d'autres utilisateurs. Il peut également être envisageable qu'un service de conférence téléphonique puisse être lancé puis exécuté depuis l'un des terminaux 10, 11 du système de communication 1. Conformément au procédé de l'invention, lorsqu'un utilisateur 12 a réalisé une conversation, il est possible, à la fin de la conversation, de récupérer et de transmettre l'ensemble des expressions énoncées au cours de la conversation à un serveur 13 d'analyse de langage naturel. Cette étape de récupération peut être accomplie suite à une conversation vocale effectuée via un téléphone 10 ou bien suite à une conversation qualifiée d'écrite effectuée via un client 14 de messagerie instantanée installé, par exemple sur le terminal 11 du système de communication 1. Le serveur 13 d'analyse de langage naturel réalise alors une analyse sémantique des expressions récupérées et sélectionne une pluralité de services parmi une liste de services préalablement enregistrés en fonction de l'analyse sémantique réalisée. Chaque service de la liste peut consister en l'un des services préalablement cités et susceptibles d'être lancés et/ou exécutés à partir du système de communication 1. Une fois les services sélectionnés, le serveur 13 d'analyse de langage naturel réalise une analyse contextuelle des expressions énoncées au cours de la conversation. Nous entendrons par analyse contextuelle le fait d'analyser une expression en fonction des termes utilisés précédemment ou ultérieurement à ladite expression dans la conversation, à la différence de l'analyse sémantique où seule la signification de l'expression est analysée. Suite à cette analyse contextuelle, une détermination d'une séquence des services sélectionnés est réalisée en fonction du résultat de l'analyse contextuelle. La séquence déterminée est alors affichées sur une interface du système de communication 1. En référence aux figures 2 et 3, les différentes fonctionnalités du système de communication ainsi que les différentes étapes mises en oeuvre pour la détermination d'une séquence de services liés à une conversation ayant eu lieu vont être détaillées dans le cas où la conversation est une conversation effectuée à partir d'un logiciel de messagerie instantanée. Comme représenté sur les figures 2 et 3, un utilisateur 12 est en conversation avec au moins un autre utilisateur par l'intermédiaire d'un logiciel de messagerie instantanée. Une telle conversation est initialisée par l'ouverture d'une session partagée à partir des clients de messageries instantanée respectivement installés sur les systèmes de communication des utilisateurs. La conversation consiste alors pour un utilisateur, d'une part, à saisir et envoyer successivement des expressions à partir de l'interface de son client de messagerie instantanée et, d'autre part, à recevoir sur l'interface de son client les expressions saisies et envoyées par les autres participants à la conversation. Les expressions saisies et reçues sont classiquement des mots ou des phrases. Classiquement, une des zones d'affichage 100 constitutive de l'interface du client de messagerie instantanée, est destinée à afficher l'ensemble des expressions envoyées et reçues par l'utilisateur au cours de la conversation. La figure 3 représente une partie de l'interface graphique d'un client de messagerie à partir duquel un utilisateur dénommé Matthieu a eu une conversation avec un second utilisateur dénommé Alain. L'ensemble des expressions échangées au cours de la conversation est affiché sur la zone d'affichage 100 de l'interface. Conformément au procédé de l'invention, en fin de conversation Matthieu peut déclencher une fonctionnalité d'ordonnancement de tâches depuis son client de messagerie instantanée (Etape El sur figure 2). L'ensemble des expressions affichées dans la zone d'affichage 100 qui représente l'ensemble des expressions énoncées au cours de la conversation, est alors transmis à un serveur 13 d'analyse de langage naturel (Etape E2 sur figure 2). Plus précisément, le serveur 13 effectue alors une analyse sémantique des expressions qui lui ont été transmises (Etape E31 sur figure 2), afin d'isoler dans un premier temps, des termes pertinents permettant, d'une part, de déterminer des tâches attribuées à l'utilisateur au cours de la conversation et, d'autre part, de déterminer des services à partir desquels l'utilisateur est susceptible de réaliser ces tâches. Par exemple, si le serveur 13 reçoit l'ensemble des expressions de la conversation ayant eu lieu entre les utilisateurs Matthieu et Alain, l'analyse sémantique des expressions � je dois lui téléphoner �, � j'en achèterai en ligne �, � je t'enverrai un SMS � (initiales anglo-saxones mises pour � Short Message System �) et � je t'enverrai un itinéraire � par le serveur 13 permet de déterminer que Matthieu (utilisateur 12) doit réaliser quatre tâches après la conversation. Notamment, l'utilisateur doit : - effectuer un appel téléphonique ; - effectuer un achat en ligne; - envoyer un SMS ; - envoyer un itinéraire ; L'analyse sémantique sert également à sélectionner des services à partir desquels l'utilisateur pourra réaliser les tâches qui lui ont été assignées. Pour ce faire, le serveur 13 d'analyse de langage naturel peut être relié avec une base de données 15 que nous appellerons référentiel sémantique de service. Ce référentiel 15 peut contenir une liste de services susceptibles d'êtres lancés et/ou exécutés à partir du système de communication 1 de l'utilisateur 12. A chaque service compris dans le référentiel peut être associé : - une représentation arborescente dont chaque feuille correspond à un terme ; - un item (bouton, hyperlien, onglet ou tout autre élément graphique pouvant être affiché sur l'interface du client de messagerie instantanée) destiné à être affiché sur l'interface du client de messagerie instantanée si le service auquel il est associé est sélectionné ; - des méta-données comportant un ensemble de paramètres nécessaires au lancement du service depuis le système de communication 1. Chaque feuille de la représentation arborescente peut correspondre à un terme sémantique auquel il peut être associé un score élémentaire. Ce score élémentaire représente le degré de pertinence du terme de l'arborescence vis-à-vis du service auquel est associée l'arborescence. Une telle représentation permet une analyse ontologique. Une fois que les tâches que doit réaliser l'utilisateur ont été déterminées, le serveur 13 d'analyse de langage naturel est alors adapté à effectuer une comparaison entre les termes contenus dans les expressions dont l'analyse a servi à déterminer les tâches avec chacun des termes des structures arborescentes (Etape E32 sur figure 2). Plus précisément, pour chaque expression ayant permis la détermination d'une tâche, la sélection d'un service est effectuée à partir d'une comparaison des termes utilisés dans l'expression et des termes des structures arborescentes. Au début de la comparaison, chaque service possède un score nul. Puis lorsqu'un terme d'une structure coïncide avec un terme de l'expression, le score du service dont la structure arborescente possède un terme coïncidant avec le terme isolé, est incrémenté du score élémentaire associé au terme de la structure. Grâce à l'utilisation d'une ontologie permettant de faire le lien entre un terme isolé et au moins un des termes de la structure, il n'est pas nécessaire que le terme isolé et le terme de la structure soient totalement similaires pour qu'il y ait une correspondance. En effet, par exemple, le terme isolé "nouvelles" (forme canonique "nouvelle") pourra coïncider avec le terme "information" de la structure par l'utilisation avantageuse d'une ontologie décrivant leur relation. De cette façon, pour chaque expression à partir de laquelle une tâche à réaliser a été déterminée, le serveur 13 sélectionne le service possédant le score global le plus élevé. Le service ainsi sélectionné est potentiellement le plus à même de permettre à l'utilisateur 12 de réaliser la tâche puisqu'il a été choisi en fonction d'une expression énoncée dans la conversation. Dans notre exemple, quatre services ont été respectivement sélectionnées pour permettre à Matthieu de réaliser les tâches dont il a la charge. Comme le montre la figure 3, les différents services sont : - � service de téléphonie � ; - � service d'envoi de SMS � ; - � service de réservation de billets en ligne � ; - � service de recherche d'itinéraire en ligne �. Les services de téléphonie et d'envoi de SMS pourront être réalisés depuis des applications disponibles sur le système de communication 1. Les services de réservation de billets et de recherche d'itinéraire pourront s'effectuer depuis des sites Internet accessibles depuis le système de communication 1. Une fois les tâches déterminées et les services associés sélectionnés, il est également intéressant de déterminer une séquence judicieuse dans laquelle l'utilisateur 12 doit réaliser les tâches et lancer les services sachant que le résultat associé à la réalisation de certains services peut conditionner l'exécution d'autres services. Pour ce faire, le serveur 13 d'analyse de langage naturel est adapté à réaliser une analyse contextuelle des expressions énoncées au cours de la conversation (Etape E33 sur figure 2). Dans notre exemple, cette analyse détermine grâce aux expressions � pour vérifier � et � s'il ne les a pas � que le lancement du service d'achat de billets ligne ne doit être effectué que si Philippe ne possède pas les billets. De même, l'expression � juste après � indique qu'un SMS doit être envoyé à Alain une fois qu'il a été vérifié que Philippe avait les tickets ou une fois que Matthieu a acheté les tickets depuis un service d'achat en ligne. Une fois la séquence des services déterminée, le serveur 13 transmet les items et les méta-données associées aux services sélectionnés au client 14 de messagerie instantanée de l'utilisateur 12 (Etape E4 sur figure 2). Les items sont alors affichés sur l'interface du client de messagerie en respectant la séquence déterminée (Etape E5 sur figure 2). L'affichage peut prendre la forme d'un diagramme d'état 101. Avantageusement, l'utilisateur 12 peut, depuis son client 14 de messagerie instantanée modifier, la séquence de services qui lui est proposée ou remplacer certains services sélectionnés par d'autres services susceptibles d'êtres lancés et/ou exécutés depuis le système de communication 1. De façon avantageuse, l'utilisateur 12 peut également déclencher le lancement et l'exécution des différents services. Ces derniers seront alors lancés et exécutés séquentiellement en respectant l'ordre établi dans la séquence en utilisant les méta-données qui auront été transmises. Le résultat obtenu par la réalisation de chaque service pourra être réutilisé pour le lancement d'un service dont la réalisation est prévue ultérieurement dans la séquence. Dans le mode décrit jusqu'ici, la sélection d'un service s'effectuait uniquement en fonction des expressions énoncées au cours de la conversation. Or, parmi la liste des services présents dans le référentiel 15, plusieurs services peuvent être réalisés par l'intermédiaire de sites Internet proches ou équivalents ou par différentes applications disponibles sur le système de communication 1 de l'utilisateur 12. Par exemple, un service de réservation de billets de concert peut être exécuté à partir d'un site Internet d'une salle de spectacle, à partir du site d'un groupe de musique ou via le site d'une chaîne d'une enseigne musical. De même, joindre par téléphone un interlocuteur peut être effectué au moyen d'un service de téléphonie classique ou par l'intermédiaire d'un service de type voix sur IP. Il peut donc être souhaitable d'affiner la sélection en fonction de préférences de l'utilisateur 12 préalablement enregistrées. Pour ce faire, le serveur d'analyse 13 de langage naturel peut également être relié à une seconde base de données 16 contenant des profils utilisateur. Un profil utilisateur peut avantageusement comprendre : - une liste de sites ou de pages Internet favoris à partir desquels l'utilisateur 12 désire préférentiellement consulter une information ou réaliser une action ; - une liste de contact d'utilisateurs contenant, entre autre, pour chaque contact, le nom, le prénom et les différentes applications par lesquelles le contact peut être joint (messagerie électronique, messagerie instantanée, téléphonie classique, téléphonie sur IP, conférence téléphonique...) ainsi que les différentes informations nécessaires pour entrer en communication avec ces contacts par l'intermédiaire des applications précédemment citées ; Dans l'exemple de conversation montrée à la figure 3, le premier service d'appel téléphonique sélectionné à partir de l'analyse sémantique des expressions énoncées au cours de la conversation peut également être sélectionné en fonction des préférences de l'utilisateur 12. Par exemple, si l'utilisateur a spécifié dans ces préférences qu'il désirait uniquement effectuer une conversation téléphonique en utilisant une application de voix sur IP, le serveur 13 d'analyse sélectionnera alors un service de téléphonie exécutable à partir d'une application de voix sur IP. De plus, si les coordonnées téléphoniques de Philippe sont contenues dans les préférences de l'utilisateur, les méta-données associées au service de téléphonie sélectionné pourront alors avantageusement être complétées par ces coordonnées. De cette façon, l'utilisateur n'aura pas à saisir d'informations supplémentaires pour lancer le service de téléphonie depuis le client 14 de messagerie instantanée. De même, le serveur d'analyse peut également consulter les préférences de l'utilisateur 12 préalablement stockées pour sélectionner un service de réservation de billets spécifiquement apprécié par l'utilisateur 12. Par exemple, le serveur 13 peut sélectionner l'URL d'un site d'une enseigne musical stockée dans les favoris de l'utilisateur 12. L'utilisation d'une base de données 16 contenant des préférences de l'utilisateur permet donc une personnalisation des services proposés à l'utilisateur 12. Bien que les différentes caractéristiques et avantages de l'invention aient été décrits en se référant à une conversation effectuée à partir de clients de messagerie instantanée, l'invention n'est pas limitée à un tel type de conversation. L'invention peut également être, entre autre, réalisée lorsque la conversation est une conversation téléphonique. Lorsque la conversation est une conversation vocale effectuée à partir du terminal téléphonique 10, le système de communication 1 procède à un enregistrement de la conversation et transmet l'enregistrement au serveur 13 d'analyse de langage naturel à la fin de la conversation. Le serveur 13 d'analyse de langage naturel réalise alors les étapes d'analyse sémantique, de sélection de services, d'analyse contextuelle et de détermination de séquence de services telles que préalablement décrites. De plus, l'établissement d'une conversation téléphonique peut déclencher une application d'affichage (non représentée) au niveau du système de communication 1. Le serveur 13 d'analyse est alors adapté à transmettre la séquence de services déterminée à l'application qui se charge d'afficher la séquence sur une interface graphique du système de communication 1. L'affichage s'effectue, par exemple, sur l'interface graphique de l'ordinateur 11 du système de communication 1.25 REVENDICATIONS1. Procédé de détermination d'une séquence de services liés à une conversation à laquelle participe un utilisateur (12) depuis un système de communication (1), caractérisé en ce qu'il comprend, une fois la conversation terminée, les étapes suivantes : - récupération (E2) de l'ensemble des expressions énoncées au cours de la conversation ; - analyse sémantique (E31) des expressions récupérées ; - sélection (E32) d'une pluralité de services à partir d'une liste de services préalablement enregistrés, en fonction d'au moins ladite analyse sémantique, chaque service de ladite liste étant susceptible d'être lancé à partir dudit système de communication (1) ; - analyse contextuelle (E33) des expressions énoncées au cours de la conversation ; - détermination d'une séquence desdits services sélectionnés en fonction de l'analyse contextuelle ; - affichage (E4) sur ledit système de communication (1) de la séquence des services sélectionnés. 2. Procédé selon la revendication 1, caractérisé en ce que la sélection (E32) d'une pluralité de services est également fonction d'au moins une préférence dudit utilisateur (12) préalablement enregistrée. 3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend, en outre, une étape d'exécution séquentielle desdits services sélectionnés en fonction de la séquence déterminée. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, la conversation étant une conversationtéléphonique et les expressions étant énoncées vocalement, l'étape de récupération (E2) de l'expression comprend : - la récupération d'un enregistrement vocal de la conversation ; - la transmission de l'enregistrement vocal à un serveur 13 d'analyse de langage naturel. 5. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la conversation étant une conversation réalisée à partir d'au moins un client 14 de messagerie instantanée intégré dans ledit système de communication et la conversation étant constituée d'expressions saisies et envoyées à partir du, respectivement reçues par, ledit client 14 de messagerie l'étape de récupération comprend la transmission, par ledit client 14 de messagerie instantanée, de l'ensemble des expressions saisies ou reçues constituant la conversation à un serveur 13 d'analyse de langage naturel. 6. Procédé selon la revendication 5, caractérisé en ce que l'affichage de la séquence des services sélectionnés a lieu sur l'interface 100 dudit client 14 de messagerie instantanée. 7. Système de communication comprenant des moyens pour permettre à un utilisateur d'effectuer une conversation, caractérisé en ce qu'il comprend de plus : - un moyen de stockage pour stocker une liste de services susceptibles d'être lancés à partir au moins dudit système de communication ; - un serveur d'analyse de langage naturel apte à : o sélectionner une pluralité de services à partir de la liste de services stockée, en fonction d'au moins une analyse sémantique de l'ensemble des expressions énoncées au cours de la conversation ; o déterminer une séquence des services sélectionnés en fonction d'une analyse contextuelle de l'ensemble des expressions énoncées au cours de la conversation ;- des moyens d'affichage pour afficher la séquence des services sélectionnés. 8. Système de communication selon la revendication 7, caractérisé en ce qu'il comprend un second moyen de stockage (16) pour stocker des préférences dudit utilisateur (12), et en ce que ledit serveur (13) d'analyse de langage naturel est également apte à sélectionner ladite pluralité de services en fonction des préférences stockées dans le second moyen de stockage (16). 15