FR 2929426 A1 20091002 FR 0801661 A 20080326 Procédé et système d'attribution de score L'invention concerne un procédé et un système perrnettant d'attribuer un score à un élément dans un ensemble de données structurées provenant de données structurées et/ou de données non structurées (textes, images, paroles, etc. ...) , les données non structurées étant transformées via un processus d'analyse automatique en données structurées. A partir de ce score, il est possible dans un système opérationnel de déclencher une alerte ou d'engendrer d'autres actions de contrôle résultant de l'analyse selon ~o l'invention. Dans la suite de la description, le terme structuré désigne un ensemble de données pouvant se mettre sous la forme d'une table relationnelle, représentée par une matrice rectangulaire R de dimensions N x M , où N et M représentent respectivement le nombre de lignes et le nombre de 15 colonnes de la matrice R L'invention s'applique notamment dans le domaine de l'analyse automatique de paramètres de l'analyse de l'information non-structurée lorsque les volumes d'information sont importants et ne peuvent pas faire l'objet d'une analyse manuelle. 20 Elle peut être mise en oeuvre pour des pages Web, des e-mails, des documents issus de traitement de textes, des fichiers multimédia, des fichiers vidéo, des fichiers textes, etc. Du point de vue technique, l'invention apporte une réponse aux problèmes de synthèse d'informations hétérogènes et aux problèmes de gestion des informations non-structurées. 25 Les informations non-structurées représentent aujourd'hui la majorité des données collectées et utilisées dans le monde professionnel. Elles jouent un rôle important dans la conduite des processus métier mais le fait que les informations non-structurées ne soient pas immédiatement disponibles et exploitables dans le cadre des processus constitue un handicap majeur. 30 Le codage de l'information non-structurée et le modèle utilisé dans ce codage (dimensions ou paramètres) permet un stockage en système de gestion de base de données ou SGBD et rend à ce titre les informations non-structurées disponibles et exploitables par les processus métier (processus décisionnels/processus opérationnels) Dans de nombreux domaines, les sociétés sont conduites à générer, stocker et gérer de grandes quantités d'informations sous une forme électronique. L'accès à ces informations et la compréhension de ces dernières peuvent jouer un rôle important dans la prise de décisions à tous les niveaux de l'entreprise (stratégie marketing, stratégie commerciale, pilotage qualité, pilotage de la relation client, etc.). Ces informations se présentent, dans la plupart des cas, sous une forme non structurée qui ne permettent pas une analyse facile de leur contenu. Au vu du volume important de ces informations, la plupart des acteurs font appel à des techniques d'analyse automatique de textes. Différentes méthodes sont connues dans l'art antérieur pour permettre la résolution des problèmes techniques apparaissant dans le champ de l'analyse automatique de textes. Cette analyse automatique porte, par exemple, sur l'analyse des sentiments et des opinions, sur l'analyse des risques, etc. Ainsi, il existe la technique de fusion multi-modale. Les sociétés ont en effet aujourd'hui besoin de méthodologies permettant de synthétiser de manière automatique des informations de nature différentes : textes et données structurées, paroles et données structurées, textes et paroles, etc. A titre d'exemple, dans le domaine de la gestion de la relation clients, connue sous l'abréviation anglo-saxonne � CRM � pour �Customer Relationship Management �, les sociétés ont besoin de mettre en relation les informations sur les besoins et les attentes des clients (issues d'appels téléphoniques, de courriers clients, de messages ou mails des clients, d'enquêtes, de forums, etc..) et les informations issues de l'analyse des données comportementales et démographiques. Cette mise en relation implique l'intégration et la synthèse de données hétérogènes non structurées telles que les données parole, les données textuelles d'une part et les données structurées d'autre part. II est aussi connu des méthodes de traitement d'informations hétérogènes. La question de l'hétérogénéité des données à traiter est liée non seulement à la multi-modalité mais aussi à l'hétérogénéité intrinsèque de chaque type de données. A titre d'exemple : Si l'on s'intéresse aux données textuelles issues de l'écrit dans lesquelles des informations de type sentiments et opinions sont susceptiblesd'être d'extraites, l'utilisateur est confronté à des textes libres û résumés de courriers, messages électroniques, ou verbatims clients d'appels téléphoniques, réponses ouvertes à des enquêtes d'opinion - qui consistent en des données fortement hétérogènes, en termes de source, de nature et de qualité, pour ce qui est des données structurées, et en termes de source, de nature ou de genre, de qualité, de registre de langue, et d'idiome, pour ce qui est de données non structurées. Dès lors que l'on se situe dans une perspective d'analyse automatique, la prise en compte de cette hétérogénéité structurelle est un impératif méthodologique qui garantit l'efficacité et la qualité des résultats qui seront obtenus, en fin d'analyse, que celle-ci soit conduite à des fins décisionnelles et/ou opérationnelles. II existe aussi des méthodes de modélisation de discours. L'extraction de sentiments et d'opinions au sein de flux de textes ou de paroles retranscrites imposent en effet de modéliser le discours. Le brevet US 7 249 312 divulgue un procédé et un système permettant de donner un score à des données non structurées. L'auteur de ce brevet utilise une méthode de maximum de vraisemblance pour attribuer un score à des parties d'un document ou d'un flux, et agrège ensuite les scores obtenus pour attribuer un score final au document ou au flux de données. L'un des objectifs de la présente invention est d'offrir un procédé et un système permettant notamment de traiter des volumes de données importants. L'invention repose notamment sur l'utilisation d'un codage via un processus de � scoring �, c'est-à-dire un processus d'attribution d'un score à un élément ou un ensemble d'éléments, sans apprentissage de l'information non structurée en information structurée, en fonctionnement normal du procédé. Elle utilise aussi des étapes de modélisation et d'extraction de l'information non structurée, en vue d'analyser le contenu des textes, d'en extraire des informations pertinentes compte tenu des applications visées et de les représenter sous forme structurée. Procédé permettant d'attribuer un score à un paramètre sélectionné au sein d'une base de données caractérisé en ce qu'il comporte au moins les étapes suivantes : soit EG le nombre de paramètres retenus pour analyser la base d'informations, et B : la fréquence maximum d'apparition d'un des 15 paramètres, - subdiviser l'intervalle [0, 1] en EG intervalles Ik égaux de largeur 1/EG - définir pour 1 k -. EG des intervalles Ik = C(k --1) , k C définis de la L EG EG L manière suivante : à chaque intervalle Ik pour 1 k (EG -1) 20 associer un intervalle à valeurs entières Ik tel que : Ik = [B(k-'),Bk[ une base de données à analyser étant représentée par le vecteur de dimension EG tel que : D, =(a,,a2,...,aEG) où 0 ≤a,, (B-1) est la fréquence d'un paramètre G,, dans la base 25 d'informations, alors > déterminer la valeur décimale V,.G de la note globale pour ce paramètre G,,en utilisant la formule: EG VG =Ea xB(u-' si V,.G appartient à l'intervalle à bornes entières Ike = [me,Me[ correspondant à l'intervalle à valeurs entières Ik = [md,Md[ à valeurs décimales, déterminer la note globale NG pour le paramètre considéré de la base de données en utilisant la relation : EG x (Me ù me ) Me et me sont les bornes de l'intervalle à valeurs entières et Md,md les bornes de l'intervalle à valeurs décimales. Il comporte, par exemple, une étape de transformation de données non 10 structurées en données structurées. II peut comporter une étape au cours de laquelle un processus métier exécuté sur un poste client va chercher des informations dans une base de données mémorisant les couples données, score, et en fonction de l'information données, score généère une alerte. 15 Le dernier intervalle IEG est, par exemple, associé l'intervalle à valeurs entières IEG = [B('.G->>, (BEG -1)[ II utilise par exemple comme base de données un document textuel. L'invention concerne un système pour mettre en oeuvre le procédé décrit ci-dessus caractérisé en ce qu'il comporte au moins les éléments suivants des 20 moyens de détection des données à analyser, des moyens d'analyse desdites données en exécutant les étapes du procédé décrit ci-dessus, des moyens de stockage des données auxquelles sont attribuées un score. Les données sont, par exemple, des données non structurées et il comporte un module de mise en forme desdites données. 25 Le système comporte, par exemple, plusieurs postes clients exécutant des processus opérationnels et/ou décisionnels et en ce que lesdits processus vont chercher des informations dans lesdits moyens de stockage afin de VG ùme N; =md+ contrôler les couples données, score et en fonction du score déclencher ou non une alerte.. D'autres caractéristiques et avantages du dispositif selon l'invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réalisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent : • La figure 1, un exemple de mise en oeuvre du procédé selon l'invention, • La figure 2, une architecture de système mettant en oeuvre le procédé, • La figure 3, un exemple de modélisation CRM et la figure 4 un détail de la figure 3. Afin de mieux faire comprendre les principes mis en oeuvre dans le procédé 15 selon l'invention, l'exemple qui suit est donné dans le cas d'une analyse linguistique pour laquelle le but recherché est notamment de : - coder des informations non structurées en informations structurées, lorsque ces dernières ne se présentent pas dans un format exploitable directement par le procédé de � scoring � selon l'invention, 20 - calculer un indicateur de positionnement dans le sens opinion qui sera associé à Sun client, - faire la synthèse des données ù données structurées et données non structurées ù en corrélant cet indicateur aux informations structurées associées aux données non strcutrurées analyséers, par exemple, 25 des données démographiques et des données comportementales (par exemple dans le cadre bancaire, une réclamation adressée à la banque sera via le nom ou l'identifieur du client associable aux données clients du SI (données démographiques et données comportementales). Après le traitement par la méthode , la 30 réclamation du client sera représentée par un ensemble de données strcuturée:s, les données relevant de l'opinion ou du sentiment seront scorés. Ce score sera associé aux données démographiques et données comportementales, ce qui permettra d'enrichir la connaissance et la compréhension du client. Si on pense à une application de type segmentation de clientèle, toujours dans le monde bancaire, l'analyse de tels profils permettra d'indentifier des segments de clients partageant des données démographiques, des données comportementales et des données d'opinion. La figure 1 schématise un organigramme des étapes permettant la mise en oeuvre du procédé selon l'invention. Les données d'entrée 1 qui peuvent comprendre des données structurées et des données non structurées, sont tout d'abord soumises à un prétraitement 2 ayant notamment pour fonction de différencier les informations de données structurées 3 des données non structurées 4. Les données non structurées 4 vont faire l'objet d'un traitement 5, 7 et 8 qui va permettre d'obtenir des données se présentant sous un format structuré qui permet l'application de la méthode de � scoring � 6 selon l'invention détaillée ci-après. Pour cela, le procédé de traitement fait appel à un modèle de données textuelles 7 et à des ressources lexicales et grammaticales 8 connues de l'Homme du métier. Les données structurées initialement ou structurées après mise en oeuvre du traitement sont ensuite fusionnées 9 selon un procédé connu de l'Homme du métier avant d'être analysées en exécutant les étapes du procédé de � scoring � selon l'invention. Les données auxquelles le procédé a attribué un � score � sont ensuite mémorisées et stockées dansune base de données 10. La figure 2 schématise un exemple de système selon l'invention comprenant une partie 30 comprenant différents capteurs d'informations, tels que des plate-forme téléphoniques 20, des messages issus de messageries 21, des enquêtes 22, des courriers 23 ou tout autre moyen 24 permettant d'obtenir et de capter des informations Les différents éléments ou informations sont transmis au serveur d'analyse 11 comprenant les différents modules décrits à la figure 1. Les données traitées et issues du serveur d'analyse sont transmises à une base de stockage de données 25. Ces données sont ensuite transmises à des processus décisionnels et/ou à des processus opérationnels exécutées sur des postes clients 26. Les processus métier vont chercher dans la base de données 25 les informations dont ils ont besoin pour être exécutés. Des exemples de processus métier sont donnés ci-après. Comme processus métier, il est possible de mettre en oeuvre des processus décisionnels. Ceci correspond à des techniques de � profiling � en vue de cibler les clients en fonction de leurs données personnelles et de leurs opinions sur tel ou tel produits ou services, ou de leurs attentes, des techniques de segmentation de clientèle prenant en compte à la fois les données signalétiques et comportementales décrivant les clients et les opinions qu'ils ont exprimées sur tel ou tel produits ou services, etc. ...peuvent être utilisés. Comme autre processus métier, il est aussi possible d'utiliser des processus opérationnels. Par exemple, dans le cadre de processus � CRM � ou dans le cadre d'un processus qualité, router de manière automatique et systématique tous les mails entrants associés à un score d'insatisfaction donné vers un service qui les traitera en priorité, dans le cadre d'un processus de gestion de crise, déclencher des alertes quand le score de gravité des évènements ou quand le score d'insatisfaction du citoyen atteint un seuil donné. Mise en oeuvre de la méthode de � scorinq � Le procédé de scoring selon l'invention consiste notamment, dans l'exemple exposé à titre illustratif et nullement limitatif, à donner des scores de sentiments et/ou et/ou d'opinions exprimés dans un document donné. Une première étape consiste donc à déterminer quelles sont les données ou paramètres auxquels doit être attribuée une note ou score. Ces paramètres peuvent être représentés sous la forme de mots ou de portions de phrases dans un document, mais pourraient aussi, sans sortir du cadre de l'invention, concerner des paramètres issus de capteurs de mesure dans une application industrielle. En effet, il serait possible de considérer un ensemble de paramètres tels que la température, la pression, etc. pour lesquels un utilisateur souhaite obtenir leur poids et leur influence sur le déroulement d'un processus. Une fois les paramètres déterminés, les étapes du procédé de scoring se 5 déroulent de la manière décrite ci-après. En posant les notations suivantes : EG = nombre de paramètres retenus pour analyser un document, ou un phénomène industriel, B : la fréquence maximum d'apparition d'un des paramètres, ~o Le procédé subdivise l'intervalle [0, 1] en EG intervalles Ik égaux de largeur 1/EG. On décide ensuite que pour 1 k EG ce qui conduit à définir des intervalles ((kù1) k r I k L EG ' EG à chaque intervalle Ik pour 1 k (EG -1) est associé un intervalle à valeurs 15 entières Ik tel que : Ik = [B(k ", Bk [ pour le dernier intervalle IÉG est associé l'intervalle à valeurs entières IEG = [B(EG->>, (BEG -1)[ en représentant un document à analyser par le vecteur de dimension EG tel que : 20 =(al aZ,...aEG) où 0 5 aä > u=1 25 si V,.G appartient à l'intervalle à bornes entières Ik = [me,Me[ correspondant à l'intervalle à valeurs entières Ik = [md,Md[ à valeurs décimales la note globale N;G pour le paramètre considéré du document sera donnée par la relation : + VG ùme EG x (Meùme) Le paramètre considéré dans le document est par exemple le paramètre de gravité. Modélisation des données Dans le cas où les données à traiter ne se trouvent pas initialement sous une forme compatible avec la méthode de scoriacé selon l'invention, le procédé exécute une étape de pré-processing des données initiales afin de les mettre dans un format de données structurées. Cette étape de pré-processing s'appuie sur des traitements linguistiques, dépendant de la modélisation des données Le principe de modélisation utilisé permet notamment de prendre en compte le métier, la nature des données et les besoins d'analyse pour une application donnée. Il est proche des modèles de bases de données et donne à l'approche une valeur opérationnelle. La figure 3 schématise différentes étapes exécutées pour modéliser un discours. La méthode s'appuie quel que soit le domaine traité et la nature des données à traiter sur une modélisation sous forrne de dimensions ou paramètres du contenu des informations non structurées analysées. Ce choix en termes de modélisation permet de définir un composant � Modèle � dont la structure produit des résultats directement intégrables à un système de gestion de bases de données. Sur la figure 3 est représenté un modèle d'analyse défini pour le domaine de la gestion des relations clients ou en abréviation anglo-saxonne CRM (Customer Relationship Management), ou la compréhension du client. Ce modèle permet notamment d'analyser les interactions clients/entreprise de type appels téléphoniques, messages électroniques, courriers de réclamations, enquêtes de satisfaction avec questions ouvertes. Les paramètres retenus pour illustrer le procédé selon l'invention, sont par exemple les suivants : - La dimension des faits ou (FAITS) 30 qui permet d'identifier l'énoncé du problème rencontré, - La dimension des sentiments (SENTIMENTS) 31 qui permet d'identifier le point de vue particulier de l'énonciateur sur l'axe des valeurs affectives, - La dimension des OPINIONS (/OPINIONS ) 32 permet d'identifier le point de vue particulier de l'énonciateur sur l'axe des valeurs et 10 intellectives. En fonction de la finesse d'analyse attendue et des besoins applicatifs, cette structure à quatre dimensions peut être enrichie de nouvelles dimensions, telles que la dimension des besoins (BESOINS) 33 ou des attentes 34 exprimées par les clients, la dimension des compétiteurs (COMPETITEURS), 15 etc. La figure 4 pointe et détaille certaines dimensions de la figure 3. Par exemple, pour les dimensions SENTIMENTS 31 et OPINIONS 32, il est possible de définir 3 sous-dimensions lesquelles entretiennent entre elles une relation de dépendance hiérarchique : 20 La première représente la dimension des polarités avec 3 valeurs : Négatif, Neutre, Positif. Sous la dimension des polarités M1, se trouve la dimension des classes sémantiques M2 qui permet d'organiser les sentiments et les opinions en classes, en fonction d'une typologie pré-définie. 25 Sous la dimension des classes sémantiques, se trouve la dimension des degrés M3 qui permet de sous-catégoriser les classes sémantiques en trois valeurs, en fonction d'un critère de degré ou d'intensité. L'exemple relatif à un extrait d'une base de réclamations est donné à titre nullement limitatif pour illustrer cette démarche. 30 Les données d'entrée non structurées proviennent d'une transcription manuelle d'appels téléphoniques, par des télé-conseillers, par exemple : � le client est extrêmement déçu par les nouveaux relevés de compte... � Le modèle et les outils d'extraction d'information ciui lui sont associés permettront d'annoter l'extrait de texte de la manière suivante : � Le client est [extrêmement déçu] sentiment/négatif/déception/degré 5 3 � Certains textes complexes peuvent imposer une dégradation du modèle qui à titre d'exemple peut être du type (SENTIMENTS/Axe des polarités/Classes Sémantiques+ OPINIONS/Axe des polarités/Classes sémantiques). 10 Le système et le procédé selon l'invention décrits ci-dessus peuvent être mis en oeuvre et s'appliquer dans de nombreux domaines, par exemple : pour les Acteurs de la Veille (de tous type, ) les Acteurs du CRM, le Pilotage qualité, la Conduite et la surveillance de processus au sein d'une usine, par exemple, pondération de différents paramètres mesurés. Ils trouvent aussi leur utilité 15 pour l'Analyse du risque en général : risque sanitaire, environnemental, etc. ...la Gestion de crise, le Renseignement, les Cabinets d'étude, de conseils et les Fournisseurs de produits et services. 20 13 REVENDICATIONS1 û Procédé permettant d'attribuer un score à un paramètre sélectionné au sein 5 d'une base de données caractérisé en ce qu'il comporte au moins les étapes suivantes : soit EG le nombre de paramètres retenus pour analyser la base de données, et B : la fréquence maximum d'apparition d'un des paramètres, - subdiviser l'intervalle [0, 1] en EG intervalles Ik égaux de largeur 1/EG 10 - définir pour 15 k