Brevet FR2925188A1 — publié le 20090619

La présente invention concerne un procédé de déploiement de services contextuels ainsi qu'un produit de programme d'ordinateur et un système informatique pour la mise en oeuvre de ce procédé. Elle trouve des applications liées à l'INTERNET ou à la téléphonie mobile, et plus généralement dans le déploiement de services contextuels. Dans la présente description, les termes suivants sont employés avec le sens indiqué, sauf mention particulière : - un service contextuel est un service dont le comportement dépend du contexte d'un utilisateur. Il s'agit par exemple d'un service dépendant de la localisation géographique de l'utilisateur. Le service peut être un service web. De tels services sont généralement des services adaptés ou modulés en fonction de données contextuelles. Les modulations peuvent par exemple avoir trait à la tarification, à du contenu délivré, à un niveau ou une qualité du contenu, au contrôle d'accès et/ou à la disponibilité elle- même dudit service. - Un arbre de décision ("decision Tree" en langue anglaise) est un outil d'aide à la décision. II permet de modéliser simplement et graphiquement un événement. Par exemple, certains algorithmes permettent de répartir une population en groupes homogènes, selon un ensemble de variables discriminantes (âge, catégorie socioprofessionnelle, ...) en fonction d'un objectif fixé et connu (chiffres d'affaires, réponse à un publipostage, ...). À ce titre, cette technique fait partie des méthodes d'apprentissage supervisé, qui ont pour but de prédire avec précision les valeurs prises par une variable à prédire (aussi objectif, variable dite cible ou de sortie, etc.) à partir de descripteurs (variables prédictives, discriminantes, d'entrées, etc.). Plus en détails, un arbre de décision est un arbre dont les noeuds internes représentent par exemple des tests sur les attributs des données d'entrées, et dont les feuilles représentent des classes (concepts ou cas) correspondant aux données. Les tests des noeuds d'un arbre de décision visent à couvrir les valeurs des attributs des données d'entrées de façon exhaustive. Chaque test peut porter sur une seule variable (c'est le cas en général) ou sur plusieurs. Les tests sur les valeurs peuvent être exclusifs ou être pondérés avec des probabilités. Voir par exemple : Lounis, Hakim. Apprentissage automatique. Notes de cours (Séminaire sur l'apprentissage automatique), Programme de Doctorat en Informatique Cognitive, Université du Québec à Montréal; et Hamilton, Howard J. (2006). Decision Trees. Lecture notes (Knowledge Discovery in Databases), University of Regina. http://www2.cs.ureg i na.ca/--ami Iton/courses/831 /notes/ml/dtrees/4_dtrees 1. html Les arbres de classification ("Clustering Tree" en langue anglaise) sont des arbres de décision à ceci près qu'ils désignent parfois des arbres permettant spécifiquement de gérer plusieurs variables cibles. Leur application première est toutefois de permettre de classifier. - La classification est un procédé qui consiste à construire des groupes d'observations. En général, ces groupes sont homogènes (on les appelle aussi des "classes"), du point de vue d'une série de descripteurs. De la sorte, des observations dans une même classe sont similaires, tandis que des observations dans des classes différentes sont dissemblables. Une fois les groupes d'observations construits, il faut pouvoir les interpréter et disposer d'une procédure d'affectation afin de classer un nouvel individu dans un des groupes. Les arbres de classification permettent de répondre à ces deux exigences. Le modèle de classement est représenté par un arbre de décision, chaque groupe est décrit par une règle logique. Un algorithme peut détecter automatiquement les variables pertinentes dans l'élaboration des groupes. L'affectation à un groupe peut être réalisée simplement en appliquant le système logique sur les descripteurs de l'observation à classer. - "N-uplet" (ou " n- tuple " en langue anglaise, l'utilisation des termes " tuple " et " ntuple " étant commune mais impropre en français) : un n-uplet est une liste ordonnée dont chacune des composantes est interprétable. Ainsi, un n- uplet est une collection de n objets, dont il est possible de reconnaître et décrire la première composante, la deuxième, ..., la nième. - � Application informatique � : désigne tout programme ou tout ensemble de programmes prévus pour fonctionner conjointement, dont le but est de rendre des services à leurs utilisateurs. - � Service Web � désigne une application accessible sur l'INTERNET, via une interface standard, qui peut interagir dynamiquement avec des applications ou d'autres services web en utilisant des protocoles de communication, par exemple basés sur le XML, et ce, indépendamment du système d'exploitation et des langages de programmation utilisés. Au plan de ses interfaces proprement dites, un service web comprend des opérations de traitement qui fournissent des résultats à partir de données d'entrée, ou "paramètres d'entrée". Pour utiliser un service web, on appelle une de ses opérations en lui fournissant les données d'entrée attendues, et on récupère le résultat de sortie. Les technologies modernes de télécommunication, en particulier l'INTERNET et la téléphonie mobile de troisième génération, permettent à des utilisateurs d'accéder rapidement 30 à une variété de services. Par exemple, des utilisateurs de téléphones mobiles font appel à des services fournis par un fournisseur de services sur leurs téléphones mobiles. II est également connu de proposer, d'adapter ou moduler de tels services en fonction du contexte de l'utilisateur : on parle de services contextuels. Le plus souvent, le contexte comprend la localisation de l'utilisateur, son identité, la date et l'heure. On connaît, à cet égard, des solutions mariant la téléphonie mobile et le système de radionavigation GPS (système de positionnement global) pour la localisation et la modulation de tarif. Il existe également des solutions plus sophistiquées pour connaître le contexte, qui font par exemple appel à des capteurs. On connaît également du document WO/2001/089189 (PCT/FR2001/001409) une interface d'accès qui permet l'accès à un service contextuel à un poste portatif d'usager selon une couverture géographique choisie. Une station mobile distribuée dans la zone de couverture de l'interface d'accès est équipée de moyens de communication pour établir une communication radiofréquence de courte portée à l'intérieur d'un périmètre choisi. Le poste portatif d'usager est équipé de moyens de communication radiofréquence de courte portée conjugués avec ceux de la station mobile pour établir ladite communication radiofréquence de courte portée à l'intérieur du périmètre choisi. Le poste portatif d'usager communique avec la station mobile et l'interface d'accès pour accéder audit service contextuel qui est adapté selon la position et/ou l'identité de l'usager. Comment gérer des services contextuels ? Généralement, l'état de la technique décrit des solutions consistant à construire des règles qui peuvent être appliquées à des données brutes formant le contexte, afin de mettre en oeuvre des services contextuels. Par exemple, il est possible de déduire un état de l'utilisateur ("occupé", "en réunion", "en voyage", .) sur la base des diverses informations qu'il est possible d'obtenir de l'utilisateur ou à partir de 20 capteurs. Ensuite, un fournisseur de services contextuels adapte le service en fonction de l'état déduit. Dans un tel cas, les règles sont éditées par le fournisseur de services. Ces règles dépendent du service en soi et/ou du fournisseur et ne se rapportent pas directement à l'utilisateur. Par construction, ces règles ne portent que sur le contexte de l'utilisateur, elles ne 25 prennent pas en compte son comportement, difficilement modélisable. De telles règles constituent en outre un outil relativement rigide, qu'il est difficile de mettre à jour. Il existe donc un besoin pour un procédé, un programme et un système informatique de déploiement (i.e. d'activation) de services contextuels offrant davantage de souplesse dans la gestion. 30 A cette fin, l'invention propose un procédé informatique de déploiement de services contextuels, comprenant des étapes : - de fourniture d'un arbre de classification, comprenant des noeuds associant des actions à des n-uplets d'indicateurs de contexte ; - de réception de données contextuelles utilisateur ; et - de détermination d'un service à déployer, comprenant : - la comparaison des données contextuelles reçues avec des n-uplets d'indicateurs de contexte de l'arbre ; et - d'évaluation d'une action, en fonction de la comparaison ; - de déploiement, le cas échéant, d'un service en fonction de l'action évaluée. Dans des modes de réalisation préférés, le procédé de création de service selon l'invention comprend une ou plusieurs des caractéristiques suivantes : - le procédé selon l'invention, comprend en outre, entre les étapes de réception de données contextuelles et de détermination d'un service à déployer, une étape : de transformation des données contextuelles utilisateur reçues en un n-uplet d'indicateurs de contexte ; et dans lequel l'étape de comparaison des données contextuelles reçues comprend une comparaison du n-uplet obtenu à partir de la transformation des données contextuelles reçues, avec des n-uplets d'indicateurs de contexte de l'arbre à l'étape de fourniture de l'arbre, chacun des noeuds de l'arbre associe une pluralité d'actions à un n-uplet d'indicateurs de contexte, selon des probabilités respectives ; et à l'étape d'évaluation, une action est en outre évaluée en fonction de sa probabilité respective ; le procédé selon l'invention, comprend en outre une étape d'éducation de l'arbre fourni, l'étape d'éducation de l'arbre comprenant : la réception de données contextuelles utilisateur ; le réception de données relatives à des actions utilisateur ; la mise à jour de probabilités d'actions associées à un n-uplet de l'arbre, en fonction des données relatives aux actions et des données contextuelles reçues ; l'étape d'éducation comprend en outre : l'identification de n-uplets d'indicateurs de contexte, en fonction des données contextuelles utilisateur reçues ; de corrélation des actions des données relatives aux actions utilisateur avec les n-uplets d'indicateurs de contexte, l'étape de mise à jour des probabilités étant effectuée en fonction de d'un résultat de l'étape de corrélation ; l'étape de détermination de service comprend : la comparaison des données contextuelles reçues avec des n-uplets d'indicateurs de contexte de l'arbre pour identifier un n-uplet ; et si un n-uplet est identifié, 25 30 l'évaluation d'une action associée au n-uplet identifié; ou sinon, la création d'un nouveau noeud dans l'arbre, correspondant à un n-uplet d'indicateurs reflétant les données contextuelles reçues ; et - l'étape de comparaison des données d'indicateurs reçues avec les n-uplets de l'arbre est effectuée selon des tolérances données d'indicateurs ; L'invention concerne également un produit de programme d'ordinateur comprenant des moyens de code de programmes, adaptés à mettre en oeuvre les étapes du procédé selon l'invention, lors de l'exécution du programme. L'invention concerne encore un système informatique comprenant un programme 10 d'ordinateur avec des moyens de code adaptés à mettre en oeuvre les étapes du procédé selon l'invention, lors de l'exécution du programme sur le système. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit des modes de réalisation de l'invention, donnés à titre d'exemple uniquement et en références à des exemples, ainsi qu'aux figures annexées, montrant : 15 -FIG. 1 : des étapes et composantes du procédé selon un mode de réalisation de l'invention ; et - FIG. 2 : une illustration schématique d'un algorithme actualisation d'un arbre de classification. L'invention propose un procédé informatique de déploiement de services contextuels, 20 basé sur un d'un arbre de classification dont les noeuds associent des actions à des n-uplets d'indicateurs de contexte. Les n-uplets sont conçus et gérés de sorte à combiner divers indicateurs de contexte et traduisent automatiquement, via une liste ordonnée, une variété d'états de l'utilisateur. La complexité d'un état utilisateur s'avère, au final, simplement modélisée numériquement. Un service peut être déployé à partir de l'évaluation d'une action 25 associée à un n-uplet d'indicateurs de contexte. On entend par "action" un code, un nombre ou encore un mot, en tout état de cause un indicateur susceptible de déterminer un service à déployer. Plus qu'un arbre de décision, un arbre de classification permet de gérer simplement une multitude d'actions (et donc de services susceptibles d'être déployés ou invoqués, ces actions étant corrélées ou mises en correspondance avec une multitude de combinaisons 30 d'indicateurs de contexte (traduites dans les n-uplets). La mise à jour de l'arbre de classification est plus simple que celle d'un ensemble de règles. En particulier, des mécanismes d'apprentissage de l'arbre peuvent être implémentés. Ainsi, après une période d'apprentissage, le déploiement de services peut se baser sur un arbre de classification "instruit", et typiquement mis à jour de façon systématique. En outre, compte tenu de la façon dont les états de l'utilisateur sont formalisés dans l'arbre, la complexité du comportement de l'utilisateur peut être plus facilement traduite, et le service déployé mieux adapté au contexte et au comportement de l'utilisateur. L'invention est maintenant décrite en référence à la figure 1. Cette figure illustre des 5 étapes 20, 40 et composantes 10, 30, 50, 60 impliqués dans un mode de réalisation de l'invention. On décrit tout d'abord l'exploitation proprement dite de l'arbre 60. On décrira ensuite un mécanisme d'éducation de l'arbre et, enfin, un mécanisme d'éducation et d'exploitation concomitantes. 10 Le procédé de déploiement de services contextuels repose sur un arbre de classification 60, lequel comprend classiquement des noeuds 50. Ici, les noeuds 50 associent des "actions" à des n-uplets d'indicateurs de contexte utilisateur. Ce point sera détaillé plus loin. Comme illustré sur la figure 1, des données 10 contextuelles sont tout d'abord 15 réceptionnées. Ces données sont par exemple des données brutes, reçues par l'intermédiaire de capteurs, GPS, ou autre. La façon dont ces données peuvent être reçue est connue de l'art. Les données brutes ont par exemple trait à des pulsations cardiaques, des coordonnées GPS, une indication de "présence" au sein d'un réseau de téléphonie mobile ou le réseau lnternet, ou encore résulte d'une interpolation de coordonnées géographiques dans le temps. 20 Ces données 10 brutes vont faire l'objet d'une comparaison avec des données modélisées en n-uplets, agrégés (via les noeuds 50) dans l'arbre 60. Cette comparaison (non illustrée sur la figure) peut être implémentée de différentes façons. Cependant, il est particulièrement avantageux de transformer (étape 20 de raisonnement) les données contextuelles 10 reçues en un n-uplet d'indicateurs 30 de contexte, afin de faciliter cette 25 comparaison. De la sorte, la comparaison peut se restreindre à une comparaison du n-uplet résultant de la transformation avec des n-uplets de l'arbre 60. Par "n-uplets de l'arbre", on entend des n-uplets accessibles via des noeuds 50 de l'arbre 60. En particulier, les données brutes 10 peuvent faire l'objet d'une transformation impliquant une étape de raisonnement 20, laquelle permet de modéliser des d'indicateurs de 30 contexte utilisateur selon différentes perspectives, c'est-à-dire selon différentes catégories. Ces catégories peuvent être plus ou moins subjectives et dépendre des types de services visés, d'opérateurs, de types de clients etc. Elles reflètent typiquement des états de l'utilisateur. Par exemple, ces catégories ont trait à l'humeur (bonne, mauvaise, ...), un contexte de transport (voiture, train, avion), de lieu (à la maison, au bureau, en voyage), à un degré d'isolation (seul, en groupe) ou de stress, ou encore à une localisation géographique (pays, ville). Cette catégorisation permet de modéliser finement un état de l'utilisateur. On peut dès lors parler d'un état "composite" caractérisant l'utilisateur. Par "composite", on entend que l'état en question résulte d'une multitude de sous états combinés, reflétant la combinaison d'indicateurs de contexte utilisateur. L'étape de raisonnement 20, ou de modélisation des d'indicateurs de contexte utilisateur, peut s'appuyer sur des techniques de raisonnement connues, par exemple les techniques de programmation basée sur des règles ("rule-based programming" en langue anglaise) ou de programmation logique ("logic programming"). La programmation logique définit des applications à l'aide d'ensembles de faits élémentaires et de règles de logique leur associant des conséquences. Ces faits et règles sont exploités par un moteur d'inférence, en réaction à une question ou requête. Prolog est, à titre d'exemple, l'un des principaux langages de programmation logique. L'étape de raisonnement 20 permet donc de modéliser les données 10 contextuelles 15 brutes reçues. De cette modélisation, il résulte un n-uplet caractéristique de l'utilisateur (ou au moins d'un état courant de celui-ci). Plus en détail, ce n-uplet est une liste ordonnée dont chacune des composantes est interprétable comme un indicateur de contexte. En dépit de la complexité potentielle des états de l'utilisateur, la comparaison s'avère, au final, simple au plan numérique. Elle peut par exemple consister en l'évaluation d'une distance entre les n-20 uplets comparés. De telles évaluations sont, en soi, connues de l'art. En outre, ce n-uplet est typiquement associé à une action, au niveau d'un noeud de l'arbre 60, comme le dénote la référence 50. On a donc (au moins) une action type associée à un état "composite" caractérisant l'utilisateur. On détaillera plus tard un mécanisme d'éducation ou apprentissage permettant de lier progressivement des actions à des n-uplets d 25 l'arbre 60. Le procédé selon l'invention comprend en outre une étape de détermination d'un service à déployer. Plus en détails, cette étape se subdivise elle même en deux phases. Lors d'une première phase, les données contextuelles reçues sont comparées avec des n-uplets existants de l'arbre 60. Ensuite, lors d'une seconde étape, une action est évaluée en fonction 30 de la comparaison précédente. Un service peut alors être déployé/invoqué, en fonction de l'action évaluée. Ce service peut répondre au plus près à une attente, consciente ou non, de l'utilisateur. Pour résumer, cette attente correspond à un état de l'utilisateur, lequel est traduit en un n-uplet. Ce n-uplet est à son tour comparé à un n-uplet existant de l'arbre 60. Si une correspondance est trouvée (un n-uplet est identifié), alors un service est déployé en fonction de l'action associée au n-uplet identifié Des tolérances peuvent être prévues, lors de la comparaison. De préférence, les noeuds de l'arbre 60 associent chacun une pluralité d'actions à un n-uplet donné d'indicateurs de contexte. Ces actions sont elles mêmes associées à des probabilités respectives. Par conséquent, à l'étape d'évaluation, une action est évaluée, c'est-à-dire déterminée, en fonction de sa probabilité respective. Ensuite, en fonction de l'action évaluée, un service correspondant peut être déployé. Recourir à des probabilités est particulièrement avantageux en ce qui concerne la phase préalable d'apprentissage. En effet, lors de cette phase, il peut s'avérer suffisant d'actualiser des probabilités pour un n-uplet donné d'indicateurs contextuels. Ces probabilités sont par conséquent, de préférence, renormalisées. Ceci peut être noté P(action) = x, x e [0, 1]. Notons que tout type de service peut être envisagé. Le service peut lui-même consister à sélectionner un type de service approprié, un opérateur ou un fournisseur d'accès, à titre 15 d'exemple. Comme évoqué plus haut, une phase d'éducation de l'arbre 60 peut être nécessaire en préalable à une utilisation routinière de l'arbre. Cette phase d'éducation peut par exemple comprendre des étapes de réception de données 10 contextuelles utilisateur. Ces données sont typiquement des données brutes, qu'il s'agît de traduire, comme exposé plus haut. En 20 outre, la réception de données relatives à des actions utilisateur va alors permettre d'apprendre quelles actions sont le plus typiquement associées, chez l'utilisateur, à quel état. De là, il est possible de mettre à jour des probabilités d'actions associées à un n-uplet de l'arbre 60. Cette mise à jour est donc avant tout effectuée en fonction des données relatives aux actions et des données contextuelles reçues. 25 Par exemple, les informations relatives aux actions utilisateur sont exploitées pour corréler des actions types à des n-uplets d'indicateurs 30 de contexte. La corrélation des actions en question à des n-uplets se traduit alors par une ou plusieurs probabilités d'action, lesquelles peuvent être mises à jour comme évoqué plus haut. La mise à jour de probabilités d'actions associées à un n-uplet de l'arbre 60 se fait donc ici en fonction d'un résultat de la 30 corrélation précédemment évaluée. Des algorithmes de corrélation de données sont connus en soi. L'éducation de l'arbre 60 se fait typiquement en amont de son exploitation. Cependant, un avantage tout particulier de l'invention réside dans ce que l'éducation et l'exploitation de l'arbre 60 peuvent être entrelacées ou concomitantes. En d'autres termes, on peut éduquer l'arbre tout en l'exploitant. Supposons par exemple que l'on est en phase d'exploitation de l'arbre 60, l'exploitation en question ayant pour but de pouvoir déployer un service contextuel pour un utilisateur. Dans cette hypothèse et sur réception de données 10 contextuelles, l'algorithme compare un n-uplet caractéristique d'un état courant de l'utilisateur à des n-uplets existants. La comparaison de ces données contextuelles avec des n-uplets existants peut alors donner lieu à l'identification d'un n-uplet particulier de l'arbre 60. En ce cas, si un n-uplet particulier est identifié, l'algorithme procède à l'évaluation d'une action associée au n-uplet identifié, comme discuté ci-dessus. Sinon, l'algorithme peut décider la création 40 d'un nouveau noeud 50 dans l'arbre 60, correspondant à un n-uplet d'indicateurs reflétant les données contextuelles qui n'ont pu être assimilées à un n-uplet déjà existant. On a ainsi enrichi ou, encore, éduqué l'arbre. L'algorithme fait typiquement appel à une fonction d'évaluation. Par exemple, l'algorithme parcourt l'arbre 60 et, pour éviter de s'engager dans l'arbre par un chemin plus "mauvais" qu'un chemin précédant, il stocke des informations sur les noeuds qu'il parcourt. 15 Pour cela, il évalue la valeur ou la qualité d'un noeud auquel il se trouve grâce à une fonction d'évaluation. On désigne parfois par fonction d'évaluation l'algorithme de parcours de l'arbre 60 lui-même. Prosaïquement, une telle fonction "visite" l'arbre de classification afin de remonter une valeur sur la base de laquelle une décision est ensuite prise. Cette valeur est typiquement calculée récursivement. Celle-ci est, dans le cas présent, conçue de sorte à 20 pouvoir décider si les données reçues sont assimilables ou non à des données existantes, c'est- à-dire à des n- uplets de l'arbre. Dans l'affirmative, une action associée sera évaluée. Sinon, un nouveau noeud 50 pourra être créé dans l'arbre, de sorte à l'enrichir et, donc, à l'éduquer. Des fonctions d'évaluations sont là encore, connues de l'art. De préférence, la comparaison des données d'indicateurs reçues avec les n-uplets de 25 l'arbre est effectuée selon des tolérances données d'indicateurs, lesquelles peuvent être ajustées en fonction d'un taux de déploiement de service escompté. Pour créer (étape 40) un nouveau noeud 50 dans l'arbre 60, on a par exemple recours à des techniques de groupage ou d'agrégation ("clustering" en langue anglaise), c'est-à-dire à une technique de raisonnement par classification qui permet une catégorisation 30 hiérarchique des n-uplet dans l'arbre. Plus généralement, il s'agira d'un processus adapté à agréger les nouvelles données de manière idoine dans l'arbre aux n-uplets existants. Ceci est représenté par la référence 40 sur la figure 1. En pratique, la création d'un nouveau noeud 50 peut utiliser certaines techniques connues de l'agrégation dite conceptuelle ("conceptual clustering"), c'est-à-dire ayant trait à l'organisation d'objets, ou de faits en classes caractérisées, au moyen de concepts descriptifs simples. En particulier, l'algorithme choisi pourra utiliser des techniques connues de l'algorithme "Cobweb" (voir D. Fisher, "Improving Inference through Conceptual Clustering," in Proceedings of 1987 AAAI Conferences, Seattle Washington, pp. 461-465, July 1987.)... DTD: Cependant, il faut ici remplacer les traditionnelles observations de l'algorithme Cobweb par des n-uplets d'indicateurs de contexte. Par exemple, et comme illustré à la figure 2, un nouvel n-uplet peut être placé dans la hiérarchie de l'arbre 60 à partir de la racine. À chaque niveau, une décision s'opère en considérant des partitions éventuelles, lesquelles sont évaluées. Ces partitions sont générées par une incorporation d'un nouvel objet dans chaque sous-classe au niveau courant. La partition considérée comme étant la meilleure détermine vers quelle sous-classe immédiate l'objet sera dirigé. Suite à quoi, un appel récursif permet de poursuivre la progression de l'objet. L'algorithme, par exemple de type Cobweb, est de préférence choisi parmi les processus incrémentaux de classification automatique. Dans le cas de Cobweb, le résultat est alors une hiérarchie de classes. Cette hiérarchie étant construite au fur et à mesure de l'arrivée des n-uplets, elle trouve à s'appliquer avantageusement dans le présent contexte. En effet, elle est disponible à chaque instant et chaque nouvelle donnée y est incorporée à son tour. Le tout est donc de mettre a jour une hiérarchie de classes, de façon à prendre en compte chaque nouvel n-uplet observé. L'algorithme Cobweb permet d'y parvenir en parcourant la hiérarchie de haut en bas, en déterminant à chaque niveau la sous-classe la plus appropriée. D'autres algorithmes peuvent cependant être envisagés. L'invention peut par exemple être implémentée par ordinateur, via un programme comprenant des moyens de codes idoines. Elle peut être distribuée via des produits de programme d'ordinateur. Elle est de préférence implémentée dans un outil informatique � intégré �, par exemple un assistant ou une application comprenant plusieurs modules logiciels couplés, chacun de ces modules étant assigné à une tâche donnée. L'invention concerne encore un système informatique muni d'un tel programme ou d'un tel outil. L'invention n'est pas limitée aux modes de réalisation et variantes exposés plus haut. 30 En particulier, des variations peuvent être envisagées en ce qui concerne la conception de l'arborescence exposée plus haut. REVENDICATIONS 1. Procédé (100) d'exploitation d'un système informatique de déploiement de services contextuels, comprenant des étapes : - de fourniture d'un arbre (60) de classification, comprenant des noeuds (50) associant des actions à des n-uplets d'indicateurs de contexte ; - de réception de données (10) contextuelles utilisateur ; et - de détermination d'un service à déployer, comprenant : - la comparaison des données (10) contextuelles reçues avec des n-uplets d'indicateurs de contexte de l'arbre (60) ; et - d'évaluation d'une action, en fonction de la comparaison ; - de déploiement, le cas échéant, d'un service en fonction de l'action évaluée. 2. Le procédé (100) selon la revendication 1, comprenant en outre, entre les étapes de réception de données (10) contextuelles et de détermination d'un service à déployer, une étape : - de transformation (20) des données (10) contextuelles utilisateur reçues en un nuplet d'indicateurs (30) de contexte, et dans lequel l'étape de comparaison des données (10) contextuelles reçues comprend une comparaison du n-uplet obtenu à partir de la transformation (20) des données (10) contextuelles reçues, avec des n-uplets d'indicateurs de contexte de l'arbre (60). 3. Le procédé (100) selon la revendication 1 ou 2, dans lequel : - à l'étape de fourniture de l'arbre (60), chacun des noeuds (50) de l'arbre (60) associe une pluralité d'actions à un n-uplet d'indicateurs (30) de contexte, selon des probabilités respectives ; et - à l'étape d'évaluation, une action est en outre évaluée en fonction de sa probabilité respective. 4. Le procédé (100) selon la revendication 3, comprenant en outre une étape d'éducation de l'arbre (60) fourni, l'étape d'éducation de l'arbre (60) comprenant : - la réception de données (10) contextuelles utilisateur; - le réception de données relatives à des actions utilisateur ; 11 12 - la mise à jour de probabilités d'actions associées à un n-uplet de l'arbre (60), en fonction des données relatives aux actions et des données (10) contextuelles reçues. 5. Le procédé (100) selon la revendication 4, dans lequel l'étape d'éducation comprend en outre : - l'identification de n-uplets d'indicateurs de contexte, en fonction des données (10) contextuelles utilisateur reçues ; - de corrélation des actions des données relatives aux actions utilisateur avec les nuplets d'indicateurs de contexte, l'étape de mise à jour des probabilités étant effectuée en fonction de d'un résultat de l'étape de corrélation. 6. Le procédé (100) selon l'une quelconque des revendications 1 à 5, dans lequel l'étape de détermination de service comprend : - la comparaison des données (10) contextuelles reçues avec des n-uplets d'indicateurs de contexte de l'arbre pour identifier un n-uplet ; et - si un n-uplet est identifié, l'évaluation d'une action associée au n-uplet identifié; ou -sinon, la création (40) d'un nouveau noeud dans l'arbre (60), correspondant à un nuplet d'indicateurs (30) reflétant les données (10) contextuelles reçues. 7. Le procédé (100) selon la revendication 6, dans lequel l'étape de comparaison des données (10) contextuelles reçues avec les n-uplets d'indicateurs de contexte de l'arbre (60) est effectuée selon des tolérances données d'indicateurs. 8. Procédé (100) selon l'une quelconque des revendications 1 à 7, dans lequel lesdits nuplets d'indicateurs de contexte de l'arbre représentent des états potentiels d'un utilisateur. 9. Procédé (100) selon l'une quelconque des revendications 1 à 8, dans lequel un nuplet d'indicateurs de contexte de l'arbre comporte plusieurs indicateurs de contexte représentant respectivement des sous états potentiels d'un utilisateur appartenant à différentes catégories de caractéristiques de l'utilisateur. 10. Procédé (100) selon la revendication 9, dans lequel lesdites catégories de caractéristiques de l'utilisateur incluent au moins une catégorie choisie dans le groupe constitué de l'état d'humeur, le contexte de transport, le lieu, le degré d'isolation, le degré de stress et la localisation géographique de l'utilisateur. 11. Produit de programme d'ordinateur, comprenant des moyens de code de programmes, adaptés à mettre en oeuvre les étapes du procédé (100) selon l'une des revendications 1 à 10, lors de l'exécution du programme. 12. Système informatique comprenant un programme d'ordinateur avec des moyens de code adaptés à mettre en oeuvre les étapes du procédé (100) selon l'une des revendications 1 à 10, lors de l'exécution du programme sur le système.