FR 3018410 A1 20150911 FR 1400547 A 20140305 Procédé d'analyse d'une pluralité de messages, produit programme d'ordinateur et dispositif associés La présente invention concerne un procédé d'analyse d'une pluralité de messages, chaque message comprenant une pluralité de champs deux à deux distincts, dont au moins un champ relatif au contenu du message et un champ relatif au contexte d'émission du message, chaque champ comportant une valeur, le procédé étant mis en oeuvre par un ordinateur. L'invention concerne également un produit programme d'ordinateur comportant des instructions logicielles qui, lorsqu'elles sont mises en oeuvre par un ordinateur, mettent en oeuvre un tel procédé. L'invention concerne également un dispositif d'analyse d'une pluralité de messages, propre à mettre en oeuvre un tel procédé. L'invention s'applique par exemple au domaine de la surveillance et de l'analyse des médias sociaux. Il est connu d'avoir recours à des procédés pour l'analyse de contenus, notamment textuels, publiés sur des médias sociaux, par exemple dans le cadre de la lutte contre la cybercriminalité. De tels procédés se fondent généralement sur une analyse des contenus textuels basée sur la recherche de mots-clés ou sur une analyse des relations entre les auteurs de ces contenus. Néanmoins, ces procédés ne donnent pas entière satisfaction. En effet, ils ne donnent pas accès, lorsqu'ils sont mis en oeuvre, à une analyse fine des contenus publiés sur les médias sociaux. Par « analyse fine », on entend par exemple le fait de simultanément : - suivre des discussions dans le temps et dans l'espace géographique, et - permettre la récolte de connaissances sur la structure, les comportements et pratiques de communautés surveillées. De telles limitations proviennent notamment du fait que les contenus à analyser représentent des quantités de données importantes. Un but de l'invention est donc de proposer un procédé d'analyse d'une pluralité de messages permettant une analyse fine d'une quantité de données importante. A cet effet, l'invention a pour objet un procédé du type précité, comportant : - une étape de recherche, dans au moins un champ relatif au contenu d'un premier message, de la valeur d'un champ cible d'un deuxième message ; - une étape de mémorisation, dans une mémoire, d'un couple comportant un identifiant de la valeur du champ cible du premier message et un identifiant de la valeur du champ cible du deuxième message. En effet, lorsqu'il est mis en oeuvre, le procédé extrait, d'un ensemble initial de données à analyser, des sous-ensembles de données, constitués par les couples, dont la taille est plus réduite que l'ensemble initial des messages. Un tel traitement permet de diviser les données à analyser en données de taille réduite, ce qui permet une analyse plus fine des messages à analyser. En outre, cette division permet un affichage plus rapide des données à analyser. Suivant d'autres aspects avantageux de l'invention, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toute combinaison techniquement possible : - le champ cible du deuxième message est différent du champ relatif au contenu du premier message ; - le procédé comporte une étape de mémorisation, dans la mémoire d'un couple comportant un identifiant de la valeur d'un deuxième champ, distinct du champ cible, du premier message et du deuxième message ; - le procédé comporte : - une étape d'agrégation des messages par thèmes, chaque thème comprenant des messages présentant une similarité supérieure à une valeur prédéterminée selon une fonction de similarité prédéterminée ; - pour chaque thème, une étape de mémorisation d'un n-uplet comprenant un identifiant du thème et un identifiant de chaque message correspondant ; - l'étape d'agrégation des messages comprend l'optimisation d'une fonction- objectif ; - l'étape d'agrégation des messages comprend la minimisation d'une première fonction-objectif vérifiant : K 2 = XI - C. 1=1 x/EC, où K est le nombre de thèmes à construire, C, est le ième thème, xi est un vecteur représentant le jème message du thème C, et ci est le barycentre des messages appartenant au thème C, et Ilxi-c,11 est la norme euclidienne du vecteur xj - c, ; - l'étape d'agrégation des messages comprend la maximisation d'une deuxième fonction-objectif vérifiant : 3 N N ( (Sir +Sjj F(C) = ' s (1-ci]) 2 où N est le nombre total de messages à traiter, est la valeur de la similarité entre deux messages identifiés par des identifiants i et j, cii est un terme valant 1 si le ième et le jème messages appartiennent au même thème et 0 sinon ; - le procédé comporte : - une étape de calcul d'une fonction de similarité d'un premier thème et d'un deuxième thème ; - une étape de mémorisation d'un couple comprenant un identifiant du premier thème et un identifiant du deuxième thème, si le résultat de l'étape de calcul est supérieur à un seuil prédéfini ; la fonction de similarité vérifie : S(c,c')= r, - r , -4 x 11-.1 +1c1x1r,i) où c et c' sont deux thèmes, r, est un vecteur représentatif du thème c, rc. est un vecteur représentatif du thème c', - désigne le produit scalaire, Ici est le nombre de 15 messages du thème c, Ic'l est le nombre de messages du thème c', irci est la norme 1 du vecteur re et Irel est la norme 1 du vecteur re, la norme 1 d'un vecteur étant la somme des valeurs absolues des composantes du vecteur ; - le procédé comporte : - une étape de lecture de la valeur d'au moins un champ relatif au contenu 20 d'un message ; - une étape d'analyse sémantique de la ou chaque valeur lue et d'extraction de mots-clés relatifs à la ou chaque valeur lue ; - le procédé comporte : - l'affichage d'une vue comportant une pluralité de graphes, chaque graphe 25 étant associé à un élément parmi les messages, les champ et des thèmes, un thème étant un ensemble comprenant une pluralité de message dont les contenus présentent, selon une fonction de similarité prédéterminée, une similarité supérieure à une valeur prédéterminée, chaque graphe comprenant au moins un noeud, chaque noeud d'un graphe étant associé à 30 un identifiant d'un message ou d'un thème ou d'une valeur du champ correspondant au graphe ; - la sélection d'au moins un noeud par un utilisateur ; - l'affichage de noeuds couplés au ou à chaque noeud sélectionné et du ou des noeuds sélectionnés de manière distinctive par rapport aux autres noeuds, les noeuds couplés étant des noeuds associés à des identifiants formant chacun avec l'identifiant associé à un noeud sélectionné l'un des couples mémorisés. En outre, l'invention a pour objet un dispositif un produit programme d'ordinateur comportant des instructions logicielles qui, lorsqu'elles sont mises en oeuvre par un ordinateur, mettent en oeuvre le procédé tel que défini ci-dessus. En outre, l'invention a pour objet un dispositif d'analyse d'une pluralité de messages, chaque message comprenant une pluralité de champs deux à deux distincts, dont au moins un champ relatif au contenu du message et un champ relatif au contexte d'émission du message, chaque champ comportant une valeur, caractérisé en ce qu'il est propre à mettre en oeuvre le procédé tel que défini ci-dessus. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins annexés sur lesquels : - la figure 1 est une représentation schématique d'un dispositif d'analyse selon l'invention, avant mise en oeuvre du procédé selon l'invention ; - la figure 2 est une représentation du dispositif de la figure 1, après mise en oeuvre du procédé selon l'invention ; - la figure 3 est un organigramme du procédé d'analyse selon l'invention ; - la figure 4 est une représentation schématique d'une vue affichée par le dispositif de la figure 2 ; - la figure 5 est un organigramme du traitement d'une requête d'un utilisateur par le dispositif de la figure 2 ; et - la figure 6 est une vue analogue à celle de la figure 4, après traitement d'une requête d'un utilisateur. Le dispositif d'analyse 2, représenté sur les figures 1 et 2, comporte une base de données 4, une unité de traitement 6 pour agir sur la base de données 4 et une interface d'interaction 7 pour saisir des requêtes relatives au contenu de la base de données 4 et pour afficher des vues relatives au contenu de la base de données 4. La base de données 4 est adaptée pour stocker une pluralité de tables 8. En particulier, la base de données 4 est adaptée pour stocker une table principale 10. La table principale 10 est adaptée pour stocker une pluralité de messages 12. Les messages 12 sont, par exemple, des messages collectés depuis des médias sociaux, tels que des forums, des réseaux sociaux tels que Twitter ou Facebook, ou encore toute autre plateforme adaptée pour une interaction sociale en ligne, et la création et la publication en ligne de contenu. Chaque message 12 comprend une pluralité de champs 14, comprenant chacun une valeur. Les messages 12 comportent les mêmes types de champs 14, d'un message à l'autre. Les champs 14 sont deux à deux distincts. Les champs 14 d'un message 12 comportent au moins un champ 16 relatif au contenu du message 12 et un champ 18 relatif au contexte d'émission du message 12. Par exemple, les champs 16 relatifs au contenu du message 12 comprennent le corps d'un texte publié sur un média social, ou encore le titre de ce texte. Par exemple, les champs 18 relatifs au contexte d'émission du message 12 comprennent l'auteur d'un contenu publié sur un média social, la plateforme, ou encore la source, sur laquelle le contenu a été publié, la date de publication du contenu, l'adresse Internet de la page sur laquelle a été enregistré le contenu, ou la géolocalisation du terminal électronique à partir duquel le contenu a été publié. Les champs 16, 18 d'un même message 12 comprennent des valeurs se rapportant toutes à un même contenu publié en ligne. La base de données 4 est en outre adaptée pour stocker une pluralité de tables secondaires 19, et une pluralité de tables d'association 20, comme illustré sur la figure 2. Au moins une table secondaire 19 est associée à un champ 14 des messages 12. Les tables secondaires 19 et les tables d'association 20 seront décrites ultérieurement. L'unité de traitement 6 est adapté pour agir sur la base de données 4, notamment sur les tables 10, 19, 20 de la base de données 4. L'unité de traitement 6 comprend une mémoire 22 et un processeur 24. La mémoire 22 est propre à stocker un logiciel 26 de lecture-écriture dans la base de données 4, un logiciel de comparaison 28, un logiciel 30 d'analyse sémantique des valeurs des champs 16 relatifs au contenu d'un message 12 et un logiciel 32 de regroupement thématique. Le logiciel de lecture-écriture 26 est adapté pour lire les valeurs des champs 14 des tables 10, 19, 20 stockées dans la base de données 4. Le logiciel de lecture-écriture 26 est également adapté pour modifier la valeur d'un champ 14, pour créer un champ 14 ou pour créer une table 10, 19, 20 dans la base de données 4. Le logiciel de comparaison 28 est adapté pour établir les relations entre les champs 14 des différents messages 12. Le logiciel d'analyse sémantique 30 est adapté pour analyser le contenu des champs 16 relatifs au contenu d'un message 12 pour en extraire des mots pertinents quant au contenu d'un message 12, encore appelés « mots-clés ». Par exemple, sont considérés comme pertinents les mots des messages 12 qui n'apparaissent pas dans un premier dictionnaire prédéterminé de mots non-pertinents et qui apparaissent dans un deuxième dictionnaire prédéterminé de mots pertinents. En variante, tous les mots qui n'apparaissent pas dans le premier dictionnaire sont considérés comme pertinents. De façon optionnelle, le logiciel d'analyse sémantique 30 est propre à normaliser au préalable le contenu des champs 16 par des procédés usuels de traitement automatique du langage naturel, par exemple des procédés de lemmatisation ou de racinisation. Par normalisation, on entend par exemple la transformation des verbes conjugués en leur forme à l'infinitif, la transformation des noms en leur forme au singulier et la transformation des adjectifs en leur forme au masculin singulier. Par « analyse sémantique », on entend, au sens de la présente invention, l'analyse de la signification des mots d'un message. De manière générale, on entend par « sémantique » ce qui est relatif à la signification des mots. Le logiciel de regroupement thématique 32 est adapté pour créer des groupes de messages 12 sémantiquement homogènes. Par exemple, le logiciel de regroupement thématique est adapté pour créer des groupes de messages selon une méthode statistique classique appelée « classification ». Un groupe sémantiquement homogène, encore appelé « thème », est un ensemble de messages 12 dont les contenus sémantiques sont suffisamment similaires entre eux et suffisamment dissimilaires des contenus sémantiques des messages 12 des autres thèmes au regard d'un seuil de similarité prédéterminé. De telles mesures de similarité se fondent par exemple sur une mesure de distance entre contenus sémantiques. Pour deux vecteurs représentant chacun un message 12, on entend par exemple par « distance » la norme euclidienne de la différence des deux vecteurs, ou encore le produit scalaire des deux vecteurs. De tels vecteurs sont décrits ultérieurement. Pour deux mots-clés distants d'une distance D, la similarité s est par exemple donnée par la fonction : D s = 1 Dmax où Dmax est la distance maximale entre deux mots-clés. La similarité entre deux mots est par exemple obtenue par la fonction : s = exp {- i où a est le nombre total de mots-clés. L'identification des thèmes passe par l'optimisation d'une fonction-objectif dans laquelle intervient la similarité entre contenus sémantiques. Une telle fonction-objectif est par exemple la fonction-objectif de l'algorithme des K-moyennes classiquement connu : J =E Elxi--cl2 1=1 x,EC, où K est le nombre de thèmes à construire, Ci est le ième thème, xi est un vecteur représentant le jème message 12 du thème Ch ci est le barycentre des messages 12 appartenant au thème C, et Ilxi-c,11 est la norme euclidienne, également norme 2, du vecteur xi - ci. Ilxi-c,11 est entre outre la distance D entre les vecteurs xi et ci. En général, le vecteur x représentant un message 12 est un vecteur comportant autant de composantes qu'il y a de mots-clés dans un dictionnaire recensant l'ensemble des mots-clés de tous les messages 12, chaque composante étant associée à un unique mot-clé, l'association entre composante d'un vecteur x et un mot-clé du dictionnaire étant la même pour tous les vecteurs x. Chaque composante du vecteur x qui est associé à un message 12 donné a pour valeur le poids du mot-clé correspondant pour le message 12. Diverses méthodes permettent le calcul du poids d'un mot-clé dans un message 12, c'est-à-dire de la valeur de la composante associée dans le vecteur x correspondant au message 12 : - un codage binaire dans lequel une composante prend la valeur 1 si le message 20 contient le mot-clé en question et 0 sinon ; ou - un codage fréquentiel, appelé TF (de l'anglais « Term Frequency »), dans lequel une composante a pour valeur la fréquence normalisée d'apparition du mot-clé dans le message, c'est-à-dire le ratio entre la fréquence d'apparition du mots-clés dans le message et la nombre total de mots-clés du message; ou 25 - un codage fréquentiel pondéré, appelé TF-IDF (de l'anglais « Term Frequency - Inverse Document Frequency »), dans lequel une composante a pour valeur la fréquence normalisée d'apparition du mot-clé dans le message, pondérée par un facteur inversement proportionnel au nombre de messages 12 dans lesquels le mot-clé apparaît. La mise en oeuvre de l'algorithme des K-moyennes conduit à une partition des 30 messages 12 qui minimise la fonction-objectif J. La partition ainsi obtenue conduit à une dispersion des messages 12 de chaque thème autour du barycentre du thème, garantissant ainsi l'obtention de thèmes homogènes. Une autre fonction-objectif possible s'écrit : n n ( S S MO= s,,c, + si, (I.- ci, 2 où n est le nombre total de messages 12 à traiter, sii est la valeur de la similarité entre deux messages 12 identifiés par des identifiants i et j, cii est le terme (i,j) de la matrice de la partition que l'on cherche à construire et vaut 1 si i et j appartiennent au même thème et 0 sinon. En général, la similarité entre deux messages 12 est prise égale au nombre de mots-clés que lesdits messages ont en commun, éventuellement normalisé par le nombre de mots-clés du message 12 comportant le moins de mots-clés. est la valeur de la similarité pour une distance D égale au produit scalaire des vecteurs x, et xi qui sont respectivement le vecteur représentant du message i et le vecteur représentant du message j. Une telle fonction est par exemple décrite dans le document EP 1960916 A1, page 10 ligne 11 à page 11 ligne 21. La fonction-objectif F(C) présente l'avantage de ne pas nécessiter de fixer le nombre de thèmes homogènes à construire. En outre, l'optimisation de cette fonction- objectif est par exemple réalisée par des approches linéaires. La fonction-objectif F(C) rend donc possible le traitement d'un très grand nombre de messages 12. Le logiciel de regroupement thématique 32 est en outre propre à déterminer une étiquette linguistique pour chaque thème. L'étiquette linguistique est un résumé, compréhensible par un humain, du contenu de chaque thème. L'étiquette linguistique d'un thème est constituée des mots-clés les plus caractéristiques du thème. L'étiquette linguistique d'un thème est par exemple un ensemble de cardinal prédéterminé, comprenant les mots-clés présentant le score de pertinence le plus élevé au regard d'une mesure de pertinence P prédéterminée. Un exemple de mesure de pertinence P, inspiré du codage TF-IDF, est donné par : ( r (i) i)= x log max(r j)) K où K est le nombre de thèmes, t, est le ième mot-clé dont on souhaite estimer la pertinence vis-à-vis du thème c et rc(i) est la ième composante d'un vecteur représentant du thème c, c'est-à-dire un vecteur dont chaque composante est associée à un mot-clé, et dont la valeur est égale au nombre de messages 12 du thème c contenant le mot-clé correspondant. Ainsi, rc(i)>0 pour un thème donné signifie que le thème contient au moins un message utilisant un mot-clé t,. De façon optionnelle, un utilisateur modifie l'étiquette linguistique d'un thème pour permettre une meilleure compréhension du contenu du thème. Le logiciel de regroupement thématique 32est en outre adapté pour calculer une fonction de similarité de deux thèmes distincts et comparer le résultat de ce calcul à une valeur prédéterminée, dite « seuil inter-thème ». La fonction de similarité de deux thèmes distincts est par exemple une fonction dont les variables sont les mots-clés associés aux deux thèmes, et dont le résultat est une valeur numérique, dite « similarité inter-thème», représentative de la similarité entre les deux thèmes. Par exemple, plus la valeur calculée de la similarité inter-thème est élevée, plus les thèmes sont sémantiquement proches. Si la valeur calculée est supérieure au seuil inter-thème, les thèmes considérés sont dits similaires. Un exemple de fonction de similarité entre deux thèmes c et c' s'écrit : A S , C') = r - rc, - 1 - qC1 x 4 + x1r,1) où r, est un vecteur représentatif du thème c, rd est un vecteur représentatif du thème c', - désigne le produit scalaire, Ici est le nombre de messages (12) du thème c, lc'i est le nombre de messages (12) du thème c', irci est la norme 1 du vecteur rc et ircl est la norme 1 du vecteur rc,. Par « norme 1 d'un vecteur », on entend la somme des valeurs absolues des composantes du vecteur. Le processeur 24 est propre à charger et à exécuter chacun des logiciels 26, 28, 30, 32, 34 stockés dans la mémoire 22. L'interface d'interaction 7 comprend des moyens de saisie 36 pour permettre la saisie de requêtes relatives au contenu de la base de données 4. L'interface d'interaction 7 comprend également des moyens de visualisation 38 pour afficher des vues relatives au contenu de la base de données 4. Le fonctionnement du dispositif d'analyse 2 va maintenant être décrit, en référence aux figures 2 et 3. Durant une étape initiale 105, la base de données 4 stocke une table principale 10, des tables secondaires 19 et des tables d'association 20. Les tables d'association 20 ne sont pas peuplées, c'est-à-dire ne sont pas remplies. La table principale 10 comporte une pluralité de messages 12. Les messages 12 stockés dans la table principale 10 sont formés par l'ensemble des messages collectés, ou une partie des messages collectés, les messages 12 de la partie étant choisis individuellement par un utilisateur ou par l'intermédiaire de requêtes saisies via un moteur de recherche. Au moins une table secondaire 19 est associée à un champ prédéterminé parmi les champs 18 relatifs au contexte d'émission des messages 12 stockés dans la table principale 10. Par exemple, de tels messages 12 de la table principale 10 sont : id URL titre Texte id auteur id source date lieu 1 b1 s1 Beau temps Temps radieux à Paris aujourd'hui. 11 juin 2013, 7h32 48°51'N 2°21'E ur11.co m/1 2 b2 s1 ur1.1co m/2 Balade en ville Je confirme : « Temps radieux à Paris aujourd'hui » 11 juin 2013, 7h32 48°51'N 2°21'E 3 b3 s1 ur11.co m/3 Pierre, je ne comprends plus rien à la météo parisienne. 11 juin 2013, 7h34 43°36' 16"N 1°26'E Etonnan 4 b4 s2 ur12.co m/4 Une bonne recette de gâteau : gateau.fr/gateau 11 juin 2013, 7h35 48°51'N 2°21'E Gâteau b5 s2 ur12.co m/5 Vacance s Fin des vacances, je suis de retour à Paris. 26 juin 2013, 9h50 48°51'N 2°21'E 5 Les champs « titre » et « texte » sont les champs 16 représentatifs du contenu des messages 12. Les champs « URL », « date » et « lieu » sont des champs 18 représentatifs du contexte d'émission des messages 12. Les champs « date » et « lieu » sont encore appelés « métadonnées ». Chaque champ « id » comporte un identifiant unique du message 12 correspondant. Par « URL » (de l'anglais « Uniform Resource Locator »), on entend une chaîne de caractères utilisée pour faire référence à une ressource web, telle que décrite dans la norme RFC 3986. Les champs « id auteur » et « id source » comportent respectivement les identifiants uniques des champs « auteur » et « source », qui sont des champs 18 relatifs du contexte d'émission des messages 12. Par la suite, un message 12 dont le champ « id » comporte une valeur k sera désigné par « message-k ». En outre, durant l'étape 105, pour chaque message 12, et pour chaque champ 18 prédéterminé, le logiciel de lecture-écriture 26 écrit dans la table secondaire 19 correspondante l'identifiant unique et la valeur du champ 18 associé ainsi qu'optionnellement des informations complémentaires associées à la valeur du champ 18. De telles informations complémentaires sont par exemple l'URL associée à la valeur du champ 18. Dans l'exemple, pour une table secondaire 19 associée aux auteurs, au cours de l'étape 105, le logiciel de lecture-écriture 26 écrit : id auteur auteur URL auteur b1 Pierre ur11.com/b1 b2 Paul ur11.com/b2 b3 Jean uh1.com/b3 b4 Jacques url2.com/b4 b5 Matthieu url2.com/b5 Chaque champ « id auteur » comporte un identifiant unique de l'auteur 10 correspondant. Dans l'exemple, pour une table secondaire 19 associée aux sources, au cours de l'étape 105, le logiciel de lecture-écriture 26 écrit : id source source URL source s1 Forum 1 uh1.com s2 Forum 2 url2.com Chaque champ « id source » comporte un identifiant unique de la source 15 correspondante. En outre, au cours de l'étape 105, le logiciel de lecture-écriture 26 lit, pour chaque message 12, la valeur de chacun des champs 16 relatifs au contenu du message 12 et le logiciel de comparaison 28 compare cette valeur avec la valeur de chacun des champs 14 des autres messages 12. 20 En variante, le logiciel de comparaison 28 compare la valeur de chacun des champs 16 relatifs au contenu d'un message 12 avec la valeur de champs 14 prédéterminés des autres messages 12. Par exemple, le logiciel de comparaison 28 compare la valeur des champs « titre » et « texte » d'un message 12 uniquement à la valeur des champs « URL », « titre », « 25 texte », « auteur » des autres messages 12. Dans l'exemple, le logiciel de comparaison 28 compare la valeur des champs « titre » et « texte » de chaque message 12 à la valeur des champs « URL », « titre », « texte », « auteur » des autres messages 12. Si, au cours de l'étape 105, le logiciel de comparaison 28 trouve dans un champ 14, encore appelé « champ citant », d'un premier message 12 une valeur contenue dans un champ 16, encore appelé « champ cité », relatif au contenu d'un deuxième message 12, alors le logiciel de lecture-écriture 26 écrit, au cours d'une étape suivante 110, dans une table d'association 20, un couple comportant un identifiant de la valeur du champ citant du premier message 12 et un identifiant de la valeur du champ cité du deuxième message 12. Chaque entrée de la table d'association 20 correspond à un couple unique. Dans l'exemple, au cours de l'étape 105, le logiciel de comparaison 28 trouve dans le champ « texte » de message-2 une phrase égale à la valeur du champ « texte » de messagel. En outre, au cours de cette même étape 105, le logiciel de comparaison 28 trouve dans le champ « texte » de message-3 un mot égal à la valeur du champ « auteur » de message-1. Ainsi, le logiciel de lecture-écriture 26 écrit, au cours de l'étape 110, dans une table d'association 20 correspondant aux messages 12 : Chaque champ « id asso message » comporte un identifiant unique du couple correspondant de messages 12. La table d'association 20 relative aux messages 12 indique l'existence d'une association entre un premier texte d'un premier message 12, dont l'identifiant unique de la table principale 10 est renseigné dans le champ « id message citant », et un deuxième texte d'un deuxième message 12, dont l'identifiant unique de la table principale 10 est renseigné dans le champ « id message cité ». En l'occurrence, le texte de message-2 cite le texte de message-1. En outre, le logiciel de lecture-écriture 26 écrit, au cours de l'étape 110, dans une autre table d'association 20 correspondant au champ « auteur » : 1 2 101 id asso message id message citant id message cité b1 b3 201 id asso auteur id auteur citant id auteur cité Chaque champ « id asso auteur » comporte un identifiant unique du couple d'auteurs correspondant. La table d'association 20 relative au champ « auteur » indique l'existence d'une association entre un premier auteur (Jean), dont l'identifiant unique de la table 19 secondaire des auteurs est renseigné dans le champ « id auteur citant », et un deuxième auteur (Pierre), dont l'identifiant unique de la table 19 secondaire des auteurs est renseigné dans le champ « id auteur cité ». En l'occurrence, Jean (d'identifiant b3) cite Pierre (d'identifiant b1). En outre, au cours de l'étape 110, le logiciel de lecture-écriture 26 écrit, dans une table d'association 20 correspondant à un deuxième champ distinct du champ cité, un couple comportant un identifiant de la valeur du deuxième champ de chacun parmi le premier message et le deuxième message. Dans l'exemple, au cours de l'étape 110, au regard du couple identifié par « id asso message = 101 », le premier message est message-2 et le deuxième message est message-1. En l'occurrence, l'auteur de message-2 (Paul) cite le texte publié par l'auteur de message-1 (Pierre). La table d'association 20 correspondant au champ « auteur » est alors complétée comme suit : Au cours d'une étape suivante 125, pour chaque message 12, le logiciel de lecture-écriture 26 lit la valeur des champs 16 relatifs au contenu du message 12, puis le logiciel d'analyse sémantique 30 détermine des mots-clés représentatifs du sens du contenu du message 12. Puis le logiciel de lecture-écriture 26 écrit, dans une table d'association 20 relative aux mots-clés, un n-uplet comportant un identifiant du message 12 et les mots-clés correspondants, chaque entrée de la table 20 étant relative à un unique message 12. Par « n-uplet », on entend un ensemble constitué de n éléments. Dans l'exemple, à l'issue des étapes 125, 130, la table d'association 20 relative aux mots-clés est par exemple : id asso cle id mots-clés 301 1 temps ; radieux ; Paris ; aujourd'hui 302 2 confirmer ; temps ; radieux ; Paris ; aujourd'hui 201 b1 b3 b1 b2 202 id asso auteur id auteur citant id auteur cité 303 3 Pierre ; comprendre ; météo ; Paris 304 4 bon ; recette ; gâteau ; gateau.fr/gateau 305 5 fin ; vacances ; retour ; Paris. Chaque champ « id asso cle » comporte un identifiant unique du n-uplet comportant un message 12 et les mots-clés correspondants. Au cours d'une étape suivante 135, le logiciel de regroupement thématique 32 regroupe les messages 12 sémantiquement homogènes en thèmes. Chaque thème est identifié par l'étiquette linguistique correspondante. Le logiciel de lecture-écriture 26 écrit dans une table secondaire 19 relative aux thèmes : Chaque valeur du champ « id theme » comporte un identifiant unique du thème correspondant. Chaque valeur du champ « étiquette linguistique » comporte les mots-clés les plus caractéristiques du thème correspondant. Par « mots-clés caractéristiques d'un thème », on entend les mots-clés qui sont le plus fréquemment employés dans les messages 12 du thème tout en étant rarement employés dans les messages 12 des autres thèmes. Le logiciel de lecture-écriture 26 écrit en outre dans une table d'association 20 relative aux thèmes et aux messages 12 qu'il comporte : id asso theme id theme id 401 cl 1, 2, 3 402 c2 1, 2, 3, 5 403 c3 4 En variante, le logiciel de regroupement thématique 32 est tel qu'un message 12 appartient à un seul et unique thème. En outre, chaque champ « id asso theme » comporte un identifiant unique du n- uplet comprenant un thème et les messages 12 associés au thème. Par exemple, chaque champ « id theme » comporte l'identifiant du thème, dans la table secondaire 19 relative aux thèmes, associé à l'identifiant des messages 12 correspondants. c2 Paris, ville id theme étiquette linguistique cl temps, radieux, météo c3 gâteau, recette Au cours d'une étape suivante 145, le logiciel de regroupement thématique 32 calcule, pour une pluralité de paires de thèmes, chaque paire comprenant un premier thème et un deuxième thème, la valeur de la fonction de similarité inter-thème pour chaque paire de thème. Le logiciel de calcul 34 compare ensuite la valeur obtenue au seuil inter-thème. Au cours d'une étape suivante 150, si, pour une paire de thèmes, la valeur obtenue à l'issue de l'étape 145 est supérieure au seuil inter-thème, le logiciel de lecture-écriture 26 écrit, dans une deuxième table d'association 20 relative aux thèmes, un couple comportant l'identifiant du premier thème et l'identifiant du deuxième thème. Dans l'exemple, à l'issue des étapes 145, 150, le logiciel de lecture-écriture 26 écrit par exemple, dans une deuxième table d'association 20 relative aux thèmes : id asso inter id theme 1 id theme 2 501 c2 cl Chaque champ « id asso inter » comporte un identifiant unique du couple comprenant le premier thème et le deuxième thème pour lesquels la valeur de la similarité inter-thème est supérieure au seuil inter-thème. Au cours d'une étape suivante 155, l'unité de traitement 6 traite les données contenues dans la table principale 10 et les tables 19, 20 pour élaborer des données à afficher. A partir des données contenues dans la table principale 10 et les tables secondaires 19 renseignées au cours des étapes 105 à 150, le logiciel de lecture-écriture 26 peuple une table secondaire 19 de synthèse, encore appelée « table des noeuds », chaque entrée de la table des noeuds correspondant à un noeud, noté Nk. Par « noeud », on entend au sens de la présente invention un message 12, un thème, ou encore une valeur prise par un champ 14. De façon optionnelle, les noeuds correspondant à au moins un champ 14 prédéterminé des messages 12, par exemple les champs « auteur », « source », comportent des métadonnées relatives au message 12 dont le champ 14 prend la valeur associée au noeud considéré. De préférence, chaque noeud comprend une étiquette identifiant s'il est associé à un message 12, un thème ou à un champ 14, et, dans ce cas, à quel champ 14 il est associé. Une étiquette prend par exemple la valeur « message », « auteur », « source » ou « thème ». L'ensemble des noeuds Nk forme un ensemble N. En outre, à partir des données contenues dans la table principale 10 et les tables d'association 20 renseignées au cours des étapes 105 à 150, le logiciel de lecture-écriture 26 peuple une table d'association 20 de synthèse, encore appelée « table des arcs », chaque entrée de la table des arcs correspondant à un arc. Par « arc », on entend au sens de la présente invention une association entre un premier noeud Nk et un deuxième noeud Np, notée A(Nk,Np). Une telle association est par exemple donnée par la relation entre la valeur d'un champ 14 citant, associée à un premier noeud, et la valeur correspondante d'un champ 14 cité, associé à un deuxième noeud. Par exemple, une telle association est également l'association entre deux thèmes similaires. En outre, une telle association est par exemple l'association entre un message 12 et les champs 14 correspondants. De telles associations sont décrites par la table principale 10 et les tables d'association 20 renseignées au cours des étapes 105 à 150. En variante, la table des noeuds et la table des arcs sont enregistrées hors de la base de données 4, dans un fichier stocké dans la mémoire 22. Dans l'exemple, à l'issue de l'étape 155, la table des noeuds est : id noeud id orig étiquette xl 1 message x2 2 message x3 3 message x4 4 message x5 5 message x6 bl auteur x7 b2 auteur x8 b3 auteur x9 b4 auteur x10 b5 auteur x11 sl source x12 s2 source x13 cl thème x14 c2 thème x15 c3 Thème Chaque champ « id noeud » comporte l'identifiant unique du noeud correspondant. En outre, la table des arcs est : id arc id noeud 1 id noeud 2 y1 x6 x1 y2 x11 x1 y3 x13 x1 y4 x14 x1 y5 x7 x2 y6 x11 x2 x2 x13 y8 x14 x2 Y9 x1 x2 y10 x8 x3 y11 x11 x3 y12 x13 x3 y13 x14 x3 y14. x1 x3 y15 x9 x4 y16 x12 x4 y17 x15 x4 y18 x10 x5 y19 x12 x5 y20 x14 x5 y21 x6 x8 y22 x7 x6 x15 Au cours d'une étape suivante d'attente 157, l'unité de traitement 6 attend la réception d'instructions d'un utilisateur par le biais de l'interface d'interaction 7. Au cours de cette même étape d'attente 157, le dispositif 2 affiche, sur les moyens de visualisation 38, une vue 200 comprenant une pluralité de graphes 201, comme illustré sur la figure 4. Chaque graphe 201 est représentatif des différentes valeurs que prend un champ 14 des messages de la table principale 10, et des associations entre ces valeurs. Par exemple, un premier graphe 202 est représentatif des associations entre les textes des messages 12. Un deuxième graphe 204 est représentatif des associations entre les auteurs des messages 12. Un troisième graphe 206 est représentatif des y23 x12 associations entre les sources des messages 12. Un quatrième graphe 208 est représentatif des associations entre les thèmes des messages 12. Chaque graphe 201 comporte une pluralité de noeuds 210 et une pluralité d'arcs 212 reliant chacun deux noeuds 210. De préférence, les arcs 212 sont orientés. Pour chaque arc 212 d'un graphe 201 correspondant à un champ 14 des messages 12, l'arc 212 est orienté depuis un noeud correspondant à un champ citant d'un premier message vers un noeud correspondant à un champ cité d'un deuxième message. La vue 200 comporte en outre un axe temporel 214, comprenant un curseur de début 216 et un curseur de fin 218. L'axe temporel 214 est représentatif de la plage temporelle durant laquelle les messages 12 de la table principale 10 ont été émis. Dans l'exemple, la plage temporelle s'étend du 11 juin 2013 à 7h32 au 26 juin 2013 à 9h50. Le curseur de début 216 et le curseur de fin 218 sont propres à permettre à un utilisateur de régler la date de début et la date de fin, respectivement, d'une plage temporelle personnalisée. La plage temporelle personnalisée est telle que les noeuds correspondant à des messages publiés en dehors de la plage temporelle personnalisée peuvent être aisément filtrés dans la vue 200. Par exemple, les noeuds 210 correspondant à des messages publiés en dehors de la plage temporelle personnalisée apparaissent dans une couleur différente de la couleur des autres noeuds 210. Si un utilisateur sélectionne un ou plusieurs noeuds sur la vue 200, par le biais des moyens de saisie 36, le dispositif 2 affiche, sur la vue 200, uniquement les noeuds pour lesquels il existe un arc avec le ou les noeuds sélectionnés. En variante, si un utilisateur sélectionne un ou plusieurs noeuds sur la vue 200, par le biais des moyens de saisie 36, le dispositif 2 affiche, sur la vue 200, uniquement les noeuds ayant une étiquette différente pour lesquels il existe un arc avec le ou les noeuds sélectionnés. Ce processus permet ainsi à l'utilisateur de faciliter la navigation inter- graphes. Le procédé relatif à l'affichage va maintenant être détaillé, en référence à la figure 5. Au cours d'une étape 300, si l'utilisateur a sélectionné une plage temporelle personnalisée, seul l'ensemble T des noeuds associés à un message 12 dont la date de publication se trouve dans la plage temporelle personnalisée sont retenus. L'ensemble T est un sous-ensemble de l'ensemble N des noeuds. Au cours d'une étape suivante 305, l'utilisateur sélectionne au moins un noeud Nk. Au cours d'une étape suivante 310, seul un sous-ensemble C de l'ensemble des noeuds T est retenu. L'ensemble C est l'ensemble des noeuds de l'ensemble T tel qu'il existe un arc les associant au noeud Nk sélectionné. Au cours d'une étape optionnelle suivante 315, seul un sous-ensemble S de l'ensemble C est retenu. L'ensemble S est l'ensemble des noeuds dont l'étiquette comprend une valeur différente de la valeur de l'étiquette du noeud Nk sélectionné. Au cours d'une étape suivante 320, les noeuds de l'ensemble S sont affichés dans la vue 200. En variante, les noeuds de l'ensemble S sont affichés d'une couleur différente de la couleur des autres noeuds. En variante, les noeuds de l'ensemble S sont affichés en surbrillance. En variante, les noeuds de l'ensemble S sont affichés avec une forme différente de la forme des autres noeuds. En variante, les noeuds de l'ensemble S sont affichés avec un clignotement dont la fréquence est différente de celle des autres noeuds. Le choix de la plage temporelle personnalisé est également réalisable à l'issue de la sélection de l'au moins un noeud Nk. Sur la vue 200, deux noeuds, dont la valeur de l'étiquette est la même et qui sont associés par un arc, sont reliés entre eux par un segment représentatif de l'arc. On conçoit ainsi que, pour une pluralité de messages 12 à analyser stockés dans une table principale 10, l'ensemble des messages 12 à analyser est segmenté en une pluralité de données enregistrées dans les tables d'association 20 dont la taille est inférieure à la taille de la table principale 10. Ceci a pour effet de réduire les temps de calcul liés à l'analyse des messages 12. Ceci est obtenu en recherchant dans au moins un champ 16 relatif au contenu d'un premier message 12, la valeur d'un champ 14, dit champ cible, d'un deuxième message 12, puis en enregistrant, dans une table d'association 20, un couple comportant un identifiant de la valeur du champ cible du premier message 12 et un identifiant de la valeur du champ cible du deuxième message 12. En outre, la mémorisation d'un couple comportant un identifiant de la valeur d'un deuxième champ, distinct du champ cible, de chacun des messages sources, permet l'établissement, avec des temps de calcul moindres, de liens entre les valeurs de champs 14 distincts. De tels traitements permettent en outre de minimiser les temps de calcul et d'améliorer la rapidité du système suite à des requêtes d'un utilisateur.35 REVENDICATIONS1.- Procédé d'analyse d'une pluralité de messages (12), chaque message (12) comprenant une pluralité de champs (14, 16, 18) deux à deux distincts, dont au moins un champ (16) relatif au contenu du message (12) et un champ (18) relatif au contexte d'émission du message, chaque champ (14, 16, 18) comportant une valeur, le procédé étant mis en oeuvre par un ordinateur et étant caractérisé en ce qu'il comporte : - une étape de recherche (105), dans au moins un champ relatif au contenu d'un premier message, de la valeur d'un champ cible (14, 16, 18) d'un deuxième message (12) ; - une étape de mémorisation (110), dans une mémoire (20), d'un couple comportant un identifiant de la valeur du champ cible (14, 16, 18) du premier message (12) et un identifiant de la valeur du champ cible (14, 16, 18) du deuxième message (12). 2.- Procédé selon la revendication 1, caractérisé en ce que le champ cible (14, 16, 18) du deuxième message est différent du champ (16) relatif au contenu du premier message. 3.- Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape de mémorisation (110), dans la mémoire (20) d'un couple comportant un identifiant de la valeur d'un deuxième champ (14, 16, 18), distinct du champ cible (14, 16, 18), du premier message (12) et du deuxième message (12). 4.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte : - une étape (135) d'agrégation des messages (12) par thèmes, chaque thème comprenant des messages (12) présentant une similarité supérieure à une valeur prédéterminée selon une fonction de similarité prédéterminée ; - pour chaque thème, une étape de mémorisation (140) d'un n-uplet comprenant un identifiant du thème et un identifiant de chaque message (12) correspondant. 5.- Procédé selon la revendication 4, caractérisé en ce que l'étape (135) d'agrégation des messages (12) comprend l'optimisation d'une fonction-objectif.35 6.- Procédé selon la revendication 5, caractérisé en ce que l'étape (135) d'agrégation des messages (12) comprend la minimisation d'une première fonction-objectif vérifiant : K 2 J= J -c où K est le nombre de thèmes à construire, C; est le ième thème, xj est un vecteur représentant le jème message (12) du thème C, et c, est le barycentre des messages (12) appartenant au thème C, et ilxj-c,i1 est la norme euclidienne du vecteur xj - c,. 7.- Procédé selon la revendication 5 ou 6, caractérisé en ce que l'étape (135) d'agrégation des messages (12) comprend la maximisation d'une deuxième fonction- objectif vérifiant : N N ( / Sfil-S- Me1=EE SiiCill- si./ (i-Cii) 1=1,1=1\. \ 2 11 ) où N est le nombre total de messages (12) à traiter, su est la valeur de la similarité entre deux messages (12) identifiés par des identifiants i et j, cu est un terme valant 1 si le ième et le jème messages (12) appartiennent au même thème et 0 sinon. 8.- Procédé selon l'une des revendications 5 à 7, caractérisé en ce qu'il comporte : - une étape (145) de calcul d'une fonction de similarité d'un premier thème et d'un deuxième thème ; - une étape de mémorisation (150) d'un couple comprenant un identifiant du premier thème et un identifiant du deuxième thème, si le résultat de l'étape de calcul est supérieur à un seuil prédéfini. 9. Procédé selon la revendication 8, caractérisé en ce que la fonction de similarité vérifie : 1A \ S(c, ci) = r, - re, - 4 qci xi,' .1+ x Ir, i) où c et c' sont deux thèmes, I-, est un vecteur représentatif du thème c, re est un vecteur représentatif du thème c', - désigne le produit scalaire, Ici est le nombre de messages (12) du thème c, ic'i est le nombre de messages (12) du thème c', irci est la norme 1 du vecteur rc et ircl est la norme 1 du vecteur la norme 1 d'un vecteur étant la somme des valeurs absolues des composantes du vecteur. 10.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte : - une étape (125) de lecture de la valeur d'au moins un champ (16) relatif au contenu d'un message (12) ; - une étape (125) d'analyse sémantique de la ou chaque valeur lue et d'extraction de mots-clés relatifs à la ou chaque valeur lue. 11.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte : - l'affichage d'une vue (200) comportant une pluralité de graphes (201, 202, 204, 206, 208), chaque graphe étant associé à un élément parmi les messages (12), les champ (14, 16, 18) et des thèmes, un thème étant un ensemble comprenant une pluralité de message (12) dont les contenus présentent, selon une fonction de similarité prédéterminée, une similarité supérieure à une valeur prédéterminée, chaque graphe (201, 202, 204, 206, 208) comprenant au moins un noeud (210), chaque noeud d'un graphe (201, 202, 204, 206, 208) étant associé à un identifiant d'un message (12) ou d'un thème ou d'une valeur du champ (14, 16, 18) correspondant au graphe (201, 204, 206, 208) ; - la sélection d'au moins un noeud (210) par un utilisateur ; - l'affichage de noeuds (210) couplés au ou à chaque noeud (210) sélectionné et du ou des noeuds (210) sélectionnés de manière distinctive par rapport aux autres noeuds (210), les noeuds (210) couplés étant des noeuds (210) associés à des identifiants formant chacun avec l'identifiant associé à un noeud (210) sélectionné l'un des couples mémorisés. 12.- Produit programme d'ordinateur comportant des instructions logicielles qui, lorsqu'elles sont mises en oeuvre par un ordinateur, mettent en oeuvre le procédé selon l'une quelconque des revendications 1 à 9. 13.- Dispositif (2) d'analyse d'une pluralité de messages (12), chaque message (12) comprenant une pluralité de champs (14, 16, 18) deux à deux distincts, dont au moins un champ (16) relatif au contenu du message et un champ (18) relatif au contexte d'émission du message, chaque champ (14, 16, 18) comportant une valeur, caractérisé en ce qu'il est propre à mettre en oeuvre le procédé d'analyse selon l'une quelconque des revendications 1 à 9.