Brevet FR3026518A1 — publié le 20160401

Analyse de messages électroniques pour classification automatisée La présente invention concerne le domaine du traitement de données, en particulier l'analyse de messages électroniques (par exemple de messages de réseaux sociaux, de microblogage, ou encore de messagerie instantanée). Des applications de messagerie proposent des champs (ou des métadonnées dans ces champs) associés à chaque message. Certains champs (ou les métadonnées qu'ils contiennent) permettent de qualifier le compte de messagerie de l'émetteur d'un message. Ainsi, si ces champs sont correctement renseignés, ils permettent de déterminer si le message est issu d'un particulier, ou au contraire d'une entreprise notamment à des fins publicitaires. Par exemple, pour le microblogage proposé par la Société TwitterTm, un champ de certification CH4 (figure 1) existe et est renseigné si l'entreprise s'est déclarée en tant que telle, de bonne foi. Néanmoins, il s'avère que tous les comptes d'entreprises n'ont pas cette certification car certains comportements d'entreprises visent à éviter de faire apparaître immédiatement leurs messages comme étant à caractère publicitaire. L'invention vient améliorer la situation. Elle propose à cet effet de fiabiliser la nature d'un message (par exemple, publicitaire ou non) par des moyens automatisés, notamment afin de garantir une sécurité des utilisateurs de l'application de messagerie recevant un tel message. L'invention vise un procédé mis en oeuvre par des moyens informatiques, d'analyse de messages électroniques. Les messages comportent au moins un premier champ de données déclaratives, optionnelles et/ou non vérifiées. Ces données déclaratives sont relatives à une première caractéristique distinguant les messages en au moins une première et une seconde catégorie de messages. Le procédé comporte en particulier les étapes : - filtrer une pluralité de messages pour obtenir un corpus d'apprentissage constitué de messages comportant des données déclaratives, significatives, dans ledit premier champ, - dans le corpus d'apprentissage, identifier au moins une seconde caractéristique de message, dont une valeur distingue les messages selon la première catégorie ou selon la seconde catégorie, la seconde caractéristique étant distincte de la première caractéristique, - pour un message courant, au moins en cas d'absence de données significatives dans le premier champ, déterminer une valeur de la seconde caractéristique du message courant pour classer le message courant dans la première ou la seconde catégorie. Ainsi, l'invention vient apporter une solution à l'absence de données significatives dans un champ déclaratif d'un message ou d'un compte de messagerie d'un émetteur de ce message. Dans une forme de réalisation, on applique une analyse en composantes principales sur le corpus d'apprentissage pour identifier une pluralité de secondes caractéristiques à utiliser pour classer un message dans la première ou la seconde catégorie. Bien entendu, ces « secondes caractéristiques » sont distinctes de la première caractéristique précitée. Bien entendu, l'analyse en composantes principales n'est qu'un exemple de réalisation possible pour identifier des caractéristiques à valeurs discriminantes permettant d'élaborer un modèle de prédiction pour tout type de messages ou de comptes. Néanmoins, cette réalisation permet de déterminer une succession de caractéristiques discriminantes et d'y associer un degré de confiance choisi (c'est-à-dire une probabilité qu'un message puisse être classé sans erreur dans une catégorie particulière, après l'application du modèle prédictif à ce message). En particulier, on peut alors classer un message courant dans la première ou la seconde catégorie avec un degré de confiance qui est fonction du nombre de secondes caractéristiques utilisées. Les « secondes caractéristiques » utilisées peuvent être par exemple un nombre d'entités destinatrices d'un message, et/ou un nombre de messages envoyés par une même entité. Dans une application de microblogage où les messages précités sont des gazouillis, il peut s'agir en complément ou en variante d'un ratio entre le nombre d'abonnés de l'entité publiant le message et le nombre d'abonnements de cette même entité à d'autres comptes, tiers, de l'application de microblogage, et/ou encore d'un ratio entre le nombre de statuts et le nombre d'abonnés de l'entité publiant le message. Il peut exister d'autres critères pertinents comme la présence d'un lien URL dans le message, ou autres. D'autres exemples sont donnés dans la description détaillée ci-après. Ainsi, pour optimiser la complexité du traitement et son efficacité, il est retenu un nombre limité de secondes caractéristiques à utiliser (par exemple quatre), tout en conservant un degré de confiance satisfaisant. Dans une application particulière de l'invention, les première et deuxième catégories sont constituées de messages émis respectivement par des personnes physiques ou des personnes morales, et la première caractéristique est relative au moins à la présence d'un prénom valide d'un auteur du message dans le premier champ précité. Une telle réalisation permettant par exemple d'identifier plus facilement des messages publicitaires non déclarés comme tels et améliorer ainsi la sécurité d'utilisation de l'application de messagerie pour des tiers. Dans une réalisation particulière, l'étape de filtrage d'une pluralité de messages pour obtenir un corpus d'apprentissage comporte au moins la vérification, pour un message donné, du premier champ pour : - identifier la présence ou non d'un prénom, - en cas de présence d'un prénom, comparer ce prénom à des prénoms d'une base de données pour vérifier la validité du prénom présent dans le premier champ, et - en cas de validité du prénom, sélectionner ce message dans le corpus. Bien entendu, en complément ou en variante, on peut chercher aussi à déterminer la présence de la certification précitée, que renseignent les entreprises se déclarant comme telles, au moment de la création du compte d'utilisateur. Un message issu d'un compte présentant cette certification pouvant être alors classé dans la deuxième catégorie de personnes morales, tandis qu'un message présentant dans le premier champ un prénom valide peut être classé dans la première catégorie des personnes physiques. Un classement des messages du corpus d'apprentissage dans les catégories correspondantes, sur la base de ces deux critères, s'est révélé fiable selon les premiers essais effectués. La présente invention trouve une application avantageuse notamment mais non exclusivement dans le cas où les messages précités sont des messages de réseaux sociaux. Il est en effet possible d'obtenir des données (métadonnées en général) présentes dans les messages et comportant des données de comptes de messagerie, respectifs, d'émetteurs des messages (comme le nombre d'abonnés notamment, le nombre d'abonnements, etc.). Ces données peuvent être récupérées sur un dispositif terminal (DIS, figure 5) en exécutant sur ce dispositif des programmes de type API (pour « Application Program Interface »), tels que REST 1.1, Streaming, ou Firehose (marques éventuellement déposées). Bien entendu, si ces données ne sont pas immédiatement présentes dans les messages, il est possible, notamment pour un administrateur de l'application de messagerie, d'obtenir des données pertinentes relatives au compte d'utilisateur. Plus généralement, on entend ici par le terme « message », un réel message issu d'une entité émettrice, ou encore les données de compte d'utilisateur relatives à cette entité. En tout état de cause, les messages eux-mêmes sont classés dans la catégorie des messages envoyés par exemple par des particuliers ou dans la catégorie des messages envoyés par des entreprises. La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre du procédé ci-avant, lorsque ce programme est exécuté par un processeur. Ce programme peut comporter des lignes de code destinées à: - un premier dispositif de traitement pour la constitution d'un corpus d'apprentissage et son analyse pour identifier les secondes caractéristiques discriminantes, et - à un deuxième dispositif de traitement pour appliquer un modèle prédictif basé les secondes caractéristiques précitées. Un exemple d'ordinogramme d'un algorithme général d'un tel programme est illustré sur les figures 2 à 4 commentées ci-après. La présente invention vise aussi un dispositif d'analyse de messages électroniques, les messages comportant au moins un premier champ de données déclaratives, optionnelles et/ou non vérifiées, lesdites données déclaratives étant relatives à une première caractéristique distinguant les messages en au moins une première et une seconde catégorie de messages, le dispositif comportant une unité de traitement pour : - filtrer une pluralité de messages pour obtenir un corpus d'apprentissage constitué de messages comportant des données déclaratives, significatives, dans ledit premier champ, - dans le corpus d'apprentissage, identifier au moins une seconde caractéristique de message, dont une valeur distingue les messages selon la première catégorie ou selon la seconde catégorie, la seconde caractéristique étant distincte de la première caractéristique, - pour un message courant, au moins en cas d'absence de données significatives dans le premier champ, déterminer une valeur de la seconde caractéristique du message courant pour classer le message courant dans la première ou la seconde catégorie. Un exemple d'un tel dispositif est illustré sur la figure 5 commentée ci-après. D'ailleurs, d'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels : - la figure 1 illustre un exemple de structure de message électronique ; - la figure 2 illustre un exemple d'étapes mises en oeuvre pour constituer le corpus d'apprentissage ; - la figure 3 illustre un exemple d'étapes mises en oeuvre pour déterminer les secondes caractéristiques précitées, définissant un modèle prédictif ; - la figure 4 illustre un exemple d'étapes mises en oeuvre pour utiliser le modèle prédictif selon un degré de confiance préféré ; - la figure 5 illustre schématiquement un système comportant un dispositif au sens de l'invention. On se réfère à la figure 1 sur laquelle un message tel qu'un « gazouillis » d'une application de microblogage (telle que TwitterTm) comporte : - un premier champ CH1 indiquant typiquement un nom d'émetteur du message, - un deuxième champ CH2 comportant le corps du message lui-même (pouvant éventuellement inclure des liens URL par exemple), - un troisième champ CH3 de métadonnées (dont des exemples sont donnés plus loin), l'une de ces métadonnées CERT (dans le même champ CH3 ou dans un champ séparé CH4) indiquant si l'émetteur du message est une entreprise qui a renseigné une donnée de certification CERT lors de la création de son compte de messagerie. Le champ de métadonnées CH3 inclue donc des données de compte de messagerie de l'émetteur du message. Dans le cas de certains messages de réseaux sociaux, ces données peuvent en effet être directement dans un champ du message (champ de métadonnées). Dans une variante, ces données peuvent être accessibles par interrogation du compte de messagerie de l'émetteur du message. De façon générale ici, on entend par « message électronique » un message d'un émetteur et indistinctement un message issu d'une interrogation du compte de cet émetteur et indiquant des données de son compte (prénom, certification, ou autres). Le premier champ CH1 est habituellement rempli par un pseudonyme (ou « nickname »). Toutefois, il a été observé que les personnes physiques remplissent en général leurs nom et prénom au moment de la création du compte, pour ce champ. En effet, à la création d'un compte TwitterTm par exemple (pour un particulier ou pour une entreprise : « business »), l'utilisateur dispose d'un « screen name » (pseudonyme) et souvent les personnes physiques y inscrivent leurs noms et prénoms. Néanmoins, si tous les utilisateurs remplissent ce champ obligatoire, il ne contient pas forcément un prénom. Réciproquement, certaines entreprises ne renseignent pas de données de certification, notamment pour vanter les mérites de leur produit sans s'identifier directement dans le message, ou encore pour ne pas payer une somme particulière exigée aux entreprises habituellement dans ce contexte de microblogage. Il est souhaité alors de repérer de tels messages ou leur émetteur afin par exemple d'estampiller ce message comme étant une publicité (éventuellement une publicité déguisée). Toutefois, des millions de messages doivent alors être analysés pour reconnaitre un comportement de particulier d'un comportement d'entreprise. Ainsi, en référence à la figure 2, pour créer le corpus d'apprentissage, à partir de messages S10, on vérifie tout d'abord que la certification est renseignée ou non dans le message à l'étape 514. Optionnellement, on peut vérifier en outre que cette certification est valide d'après les données issues d'une base BDD2. Si tel est le cas (flèche OK en sortie du test 514), alors le message peut être classé dans la catégorie CAT2 des messages émis par des entreprises, personnes morales, à l'étape 515. En revanche, si la certification n'est pas renseignée ou correctement renseignée (flèche KO en sortie du test S14), alors on vérifie si le même message provient plutôt d'une personne physique. Ainsi, aux étapes S11-512, on détermine si le champ CH1 contient une donnée de prénom valide. Par exemple, à l'étape S11, on détermine si le champ CH1 contient des données et si tel est le cas (flèche OK en sortie du test S11), on vérifie les données que contient le champ CH1 par comparaison à une base de données de prénoms BDDl. S'il apparait une correspondance entre ces données et un prénom de la base (flèche OK en sortie du test S12), alors le message est considéré comme émis par une personne physique et classé dans une catégorie correspondante CAT1 (étape 513). Si un message ne comporte pas de données de certification (flèche KO en sortie du test 514), ni de données de prénom (flèches KO en sortie des tests Sll et 512), alors le message n'est pas retenu dans le corpus d'apprentissage (étape 516). On réitère ces étapes de la figure 2 jusqu'à obtenir une population de corpus en nombre approprié au degré de confiance souhaité pour le modèle prédictif. En référence à la figure 3, une fois le corpus constitué aux étapes S13 et S15 dans les deux catégories CAT1 et CAT2 de messages respectivement émis par des personnes physiques et par des personnes morales. A l'étape 517, on détermine le modèle prédictif par exemple en procédant à une analyse en composantes principales du corpus afin d'identifier à l'étape 518 plusieurs caractéristiques discriminantes CN1, CN2, CNn, d'un message de la deuxième catégorie CAT2, par rapport à la première catégorie CATI. Il a été observé par exemple que le nombre moyen d'entités destinatrices d'un message pouvait être l'une des caractéristiques discriminantes CN1. Un autre exemple de caractéristique discriminante CN2 peut être le nombre moyen de messages envoyés par une même entité par unité de temps ou dans l'absolu depuis la création du compte. Bien entendu, plus le nombre de caractéristiques discriminantes retenues est élevé et plus le degré de confiance deg 1, deg2, degn, est élevé. Ainsi, ce degré de confiance indique une probabilité pour un compte donné d'être un compte d'entreprise (ou « business ») de la catégorie CAT2, ou un compte de particulier (ou « user ») de la catégorie CATI. Pour des messages de type « gazouillis » dans une application de microblogage, il est possible de sélectionner davantage de caractéristiques discriminantes pour augmenter le degré de confiance associé, en choisissant une caractéristique discriminante supplémentaire CN3 telle que par exemple le ratio entre le nombre d'abonnés et le nombre d'abonnements de l'entité publiant le message, ainsi qu'une quatrième caractéristique discriminante CN4 telle que le ratio entre le nombre de statuts et le nombre d'abonnés de l'entité publiant le message. Il est possible encore d'obtenir d'autres caractéristiques discriminantes à l'étape S18 (par exemple l'insertion CN5 d'un lien URL dans le message (par exemple dans un champ « biographie »), ce qui constitue un indice d'émission du message par une entreprise). En référence maintenant à la figure 4, pour un message courant parmi une multiplicité de messages à analyser, à l'étape S20, on peut déterminer rapidement si la certification est remplie au test S14 et/ou encore si le champ CH1 comporte un prénom valide aux tests S11-S12. Dans la négative pour l'ensemble de ces tests, il convient alors d'appliquer le modèle prédictif pour déterminer si ce message courant appartient à l'une ou l'autre des catégories précitées CAT1 et CAT2. Le traitement appliqué peut recevoir en entrée (à l'installation initiale d'un programme informatique, par exemple) une donnée de degré de confiance souhaité degj à l'étape S21. Ainsi, on peut déterminer un nombre j de caractéristiques discriminantes à utiliser, pour un degré de confiance degj correspondant. Il s'est avéré d'après des tests réalisés sur des gazouillis que quatre caractéristiques discriminantes telles que : - le nombre d'abonnés (test S22), - le nombre de statuts (ou « publications ») (test S23), - le ratio entre le nombre d'abonnés et le nombre global d'abonnements au réseau social, - le ratio entre le nombre de statuts et le nombre d'abonnés (test S24), permettaient de parvenir à un degré de confiance satisfaisant pour classer un message dans la catégorie CAT2 (étape S25). Sinon (en l'absence de vérification de l'une au moins de ces caractéristiques), le message peut être classé dans la catégorie CAT1 à l'étape S26. Bien entendu, ces nombres et ratios prennent des valeurs qu'il convient de comparer à des seuils respectifs. La valeur de ces seuils peut être fonction du degré de confiance choisi. Par exemple, il a été observé que le nombre d'abonnés d'une entreprise dépassait souvent 1100. Ce seuil peut donc être choisi. En variante, un seuil plus bas (de 1000 par exemple) peut être choisi de sorte que les comptes qui ont plus de 1000 abonnés ont une probabilité forte d'être un compte d'entreprise, avec néanmoins d'autres critères restant à vérifier pour classer le compte dans une catégorie particulière avec un degré de confiance suffisant. On se réfère maintenant à la figure 5 pour décrire un dispositif DIS susceptible d'intervenir dans un système pour mettre en oeuvre l'invention. Un tel système comporte un terminal TER2 émettant un ou plusieurs messages à destination d'un ou plusieurs terminaux TER1 d'abonnés de l'entité émettrice, via un réseau RES. Le dispositif DIS au sens de l'invention peut être connecté aussi au réseau pour analyser les messages par exemple du réseau social ou de la chambre de messagerie instantanée, et déterminer si certains sont assurément des messages issus d'entreprises avec un degré de confiance prédéterminé. A cet effet, le dispositif DIS comporte des moyens informatiques tels qu'une interface NT de communication avec le réseau, un processeur PROC et une mémoire de travail MEM. Comme indiqué précédemment, le dispositif DIS peut être relié en outre à des bases de données BDD1, BDD2 notamment pour vérifier la validité d'un prénom par exemple. Un tel dispositif peut être utilisé par un administrateur du réseau social ou du service de messagerie instantanée. Ainsi, le dispositif DIS (ou un autre dispositif utilisé initialement pour construire le modèle prédictif), peut, aux étapes S12, S13 de la figure 2, sélectionner des comptes d'utilisateurs (reconnus à partir des messages du corpus ayant par exemple le champ CH1 caractéristique d'une entreprise, ou d'un particulier avec un prénom renseigné qui correspondant à un prénom courant d'après une base de données de prénoms BDD1, ou encore la certification CH4 pour une entreprise). Ainsi, le dispositif DIS récupère des sous-ensembles de messages respectivement CAT1 (particuliers) et CAT2 (« business ») dont il est certain qu'il s'agit respectivement de comptes d'entreprises ou de comptes de personnes physiques. A partir des messages émis et/ou des comptes de leurs émetteurs, le dispositif qualifie chaque population en fonction de leurs comportements sur le réseau social (en supposant ainsi que chaque population a un comportement homogène). A cet effet, différentes variables sont listées (une quinzaine, comme par exemple le nombre d'abonnés au compte TwitterTm de l'émetteur du message, le nombre de tweets qu'il a publié, le nombre d'abonnements qu'il a pour d'autres comptes, la longueur du pseudonyme (ou « screen name »), l'insertion d'un lien URL dans le champ « biographie », etc.). Chaque variable est testé ensuite sur chacune des populations CATI, CAT2 pour déterminer si cette variable décrit suffisamment bien les échantillons (typiquement en observant des valeurs discriminantes pour chaque échantillon, comme le nombre significatif d'abonnés pour une entreprise (ou « followers »), de 1100 sur TwitterTm). Afin de simplifier les analyses, le dispositif DIS ne retient qu'un nombre limité, en l'occurrence quatre dans un mode de réalisation particulier, de ces caractéristiques pour construire un modèle prédictif qui indique donc une probabilité pour un compte donné d'être un compte « business » ou un compte « particulier ». Ce modèle prédictif peut alors être appliqué sur un compte et/ou un message quelconque. Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemple ; elle s'étend à d'autres variantes. Typiquement, les caractéristiques discriminantes retenues pour le modèle prédictif, exposées ci-avant, ainsi que leur nombre, n'ont été présentées qu'à titre d'exemples et sont bien entendu susceptibles de variantes selon le type de réseau social, notamment. Avantageusement, le principe-même d'une analyse de caractéristiques discriminantes au sens de l'invention permet un traitement de message courant qui soit indépendant de la langue ou du sujet du message, qui ne nécessite pas de collecter un échantillon représentatif des messages d'un utilisateur donné pour savoir à quelle catégorie il appartient, qui ne se base pas sur la constitution de dictionnaires ou de base de données pour savoir à quelle catégorie il appartient. Par ailleurs, le modèle prédictif est évolutif et permet de catégoriser d'autres typologies d'utilisateurs (par exemple en fragmentant parmi la catégorie des particuliers, les messages personnels des messages professionnels). REVENDICATIONS1. Procédé mis en oeuvre par des moyens informatiques, d'analyse de messages électroniques, les messages comportant au moins un premier champ de données déclaratives, optionnelles et/ou non vérifiées, lesdites données déclaratives étant relatives à une première caractéristique distinguant les messages en au moins une première et une seconde catégorie de messages, le procédé comportant les étapes : - filtrer une pluralité de messages pour obtenir un corpus d'apprentissage constitué de messages comportant des données déclaratives, significatives, dans ledit premier champ, - dans le corpus d'apprentissage, identifier au moins une seconde caractéristique de message, dont une valeur distingue les messages selon la première catégorie ou selon la seconde catégorie, la seconde caractéristique étant distincte de la première caractéristique, - pour un message courant, au moins en cas d'absence de données significatives dans le premier champ, déterminer une valeur de la seconde caractéristique du message courant pour classer le message courant dans la première ou la seconde catégorie. 2. Procédé selon la revendication 1, dans lequel on applique une analyse en composantes principales sur le corpus d'apprentissage pour identifier une pluralité de secondes caractéristiques à utiliser pour classer un message dans la première ou la seconde catégorie. 3. Procédé selon la revendication 2, dans lequel on classe un message courant dans la première ou la seconde catégorie avec un degré de confiance qui est fonction du nombre de secondes caractéristiques utilisées. 4. Procédé selon l'une des revendications précédentes, dans lequel, les première et deuxième catégories étant constituées de messages émis respectivement par des personnes physiques ou des personnes morales, la première caractéristique est relative au moins à la présence d'un prénom valide d'un auteur du message dans ledit premier champ. 5. Procédé selon la revendication 4, dans lequel l'étape de filtrage d'une pluralité de messages pour obtenir un corpus d'apprentissage comporte la vérification, pour un message donné, du premier champ pour : - identifier la présence ou non d'un prénom, - en cas de présence d'un prénom, comparer ledit prénom à des prénoms d'une base de données pour vérifier la validité du prénom présent dans le premier champ, et - en cas de validité du prénom, sélectionner ledit message donné dans le corpus. 6. Procédé selon l'une des revendications 4 et 5, dans lequel ladite seconde caractéristique est relative à au moins un nombre d'entités destinatrices d'un message. 7. Procédé selon l'une des revendications 4 à 6, dans lequel ladite seconde caractéristique est relative à au moins un nombre de messages envoyés par une même entité. 8. Procédé selon l'une des revendications 4 à 7, dans lequel, les messages étant des gazouillis dans une application de microblogage, ladite seconde caractéristique est relative à au moins un ratio entre le nombre d'abonnés de l'entité publiant le message et le nombre d'abonnements de cette même entité. 9. Procédé selon l'une des revendications 4 à 8, dans lequel, les messages étant des gazouillis dans une application de microblogage, ladite seconde caractéristique est relative à au moins un ratio entre le nombre de statuts et le nombre d'abonnés de l'entité publiant le message. 10. Procédé selon l'une des revendications précédentes, dans lequel les messages sont des messages de réseaux sociaux. 11. Procédé selon l'une des revendications précédentes, dans lequel les messages comportent en outre des données de comptes de messagerie respectifs d'émetteurs desdits messages. 12. Programme informatique caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 11, lorsque ce programme est exécuté par un processeur. 13. Dispositif d'analyse de messages électroniques, les messages comportant au moins un premier champ de données déclaratives, optionnelles et/ou non vérifiées, lesdites données déclaratives étant relatives à une première caractéristique distinguant les messages en au moins une première et une seconde catégorie de messages, le dispositif comportant une unité de traitement pour : - filtrer une pluralité de messages pour obtenir un corpus d'apprentissage constitué de messages comportant des données déclaratives, significatives, dans ledit premier champ, - dans le corpus d'apprentissage, identifier au moins une seconde caractéristique de message, dont une valeur distingue les messages selon la première catégorie ou selon la seconde catégorie, la seconde caractéristique étant distincte de la première caractéristique, - pour un message courant, au moins en cas d'absence de données significatives dans le premier champ, déterminer une valeur de la seconde caractéristique du message courant pour classer le message courant dans la première ou la seconde catégorie.