Brevet FR2871320A1 — publié le 20051209

{ 2871320 La présente invention concerne un système de filtrage de messages électroniques et un procédé correspondant. Plus précisément, l'invention concerne un système de filtrage de messages électroniques, du type comportant des moyens de réception de messages électroniques, des moyens d'analyse de chaînes de caractères contenues dans les messages électroniques reçus et des moyens de classification de ces messages électroniques sur la base de résultats fournis par les moyens d'analyse. Pour certaines applications notamment, il est intéressant de pouvoir classer les messages électroniques reçus en tant que messages acceptables ou indésirables, Par exemple, parmi les messages électroniques qu'un utilisateur reçoit, certains sont indésirables et lui font perdre du temps. Pour remédier à cet inconvénient, on connaît des systèmes de filtrage de messages électroniques permettant de faire le tri entre des messages susceptibles d'intéresser l'utilisateur et d'autres, exclus a priori en tant que messages indésirables. En général, les systèmes de filtrage connus comportent des moyens de classification de messages électroniques reçus sur la base de règles prédéterminées ou de mécanismes d'apprentissage. Lorsque les messages comportent du texte, les critères de décision sont le plus souvent basés sur l'analyse de chaînes de caractères contenues dans les messages électroniques, notamment la détection de chaînes de caractères prédéterminées, telles que des mots-clés ou des combinaisons de mots-clés reconnus par le système. Par exemple, les messages électroniques analysés sont écartés, à partir du moment où la probabilité pour qu'ils soient indésirables est suffisamment forte, compte-tenu des mots-clés ou combinaisons de mots- clés détectés dans leur contenu. Cependant, l'objectif des émetteurs de messages indésirables étant justement d'atteindre leurs récepteurs, il est de plus en plus courant de voir de tels messages dans lesquels les mots-clés susceptibles d'être détectés sont traités de manière à passer à travers le système de filtrage tout en restant intelligibles par un utilisateur. Par exemple, il est commun d'ajouter des caractères symboliques entre les lettres des mots-clés, de supprimer certains caractères n'empêchant pas un utilisateur de comprendre le mot, ou bien de remplacer certains caractères par d'autres qui leur ressemblent (un "i" par un "1 ", un "S" par un "$", etc.). Ces traitements effectués sur les contenus de messages indésirables, permettent à leurs émetteurs de contourner les systèmes de filtrage connus. L'invention vise à remédier à ce problème en fournissant un système de filtrage de messages électroniques capable de détecter également ce type de message indésirable. L'invention a donc pour objet un système de filtrage du type précité, caractérisé en ce que les moyens d'analyse comportent des moyens de détection de chaînes de caractères brouillées pour la fourniture d'au moins une partie des résultats d'analyse utilisés par les moyens de classification. Ainsi, l'utilisation de moyens de détection de chaînes de caractères brouillées permet de pré-traiter les messages électroniques reçus, avant de les transmettre aux moyens de classification, de sorte que ceux-ci effectuent le tri des messages électroniques aussi sur la base de résultats d'analyse fournis par ces moyens de détection. Ces résultats d'analyse sont destinés à faciliter la reconnaissance des messages qui ont fait l'objet d'un brouillage. En particulier, pour certaines applications de détection de messages indésirables, les moyens de classification sont des moyens de classification des messages électroniques reçus en tant que messages acceptables ou indésirables. De façon optionnelle, les moyens d'analyse comportent des moyens de fourniture, aux moyens de classification, de paramètres statistiques relatifs aux chaînes de caractères brouillées détectées. En effet, puisque certains messages électroniques indésirables sont traités pour contourner les systèmes de filtrage classiques, la fourniture aux moyens de classification de paramètres statistiques, par exemple relatifs au nombre de brouillages ou aux types de brouillages détectés, peut permettre à elle seule, ou en combinaison avec la fourniture d'autres données de classification classiques (listes de mots- clés par exemple), d'écarter les messages électroniques indésirables. De façon optionnelle également, les moyens de classification comportant des moyens de détection de chaînes de caractères prédéterminées dans le contenu de ces messages électroniques, les moyens d'analyse comportent en outre des moyens de débrouillage des chaînes de caractères détectées comme brouillées pour la fourniture de messages électroniques débrouillés aux moyens de classification. En effet, la plupart des systèmes de filtrage connus étant adaptés pour détecter des mots-clés prédéterminés, si le système comporte en outre des moyens de débrouillage des chaînes de caractères détectées comme brouillées, alors il est possible de les intégrer simplement dans les moyens d'analyse, sans avoir besoin d'adapter les moyens de classification. En outre, les moyens d'analyse sont par exemple des moyens d'analyse du contenu des messages électroniques reçus selon une technique de traitement automatique de langage naturel. En effet, il apparaît que lorsque l'analyse d'un message au contenu éventuellement brouillé est réalisée selon une technique de traitement automatique de langage naturel, les résultats de l'analyse sont particulièrement pertinents pour effectuer la classification de ce message. Certains brouillages sont en effet suffisamment simples, tels que des insertions, omissions ou substitutions de caractères, pour être facilement détectés à I 'aide d'algorithmes connus basés sur des techniques de traitement de langage naturel. Pour détecter différents types de brouillages qui peuvent avoir été effectués sur certains mots des messages électroniques indésirables, les moyens de détection de chaînes de caractères brouillées peuvent comporter, de façon plus spécifique, des moyens de détection de substitutions, d'insertions, et/ou de suppressions de caractères dans les chaînes de caractères des messages électroniques reçus. L'invention a également pour objet un procédé de filtrage de messages électroniques comportant une étape de réception de messages électroniques, une étape d'analyse de chaînes de caractères contenues dans les messages électroniques reçus et une étape de classification de ces messages électroniques sur la base de résultats fournis par les moyens d'analyse, caractérisé en ce que, lors de l'analyse, on détecte des chaînes de caractères brouillées pour la fourniture d'au moins une partie des résultats d'analyse utilisés lors de l'étape de classification. Un procédé de filtrage de messages électroniques selon l'invention peut en outre comporter la caractéristique selon laquelle le contenu des messages électroniques reçus est analysé selon une technique de traitement automatique de langage naturel. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels: - la figure 1 représente schématiquement la structure générale d'un système de filtrage de messages électroniques selon l'invention; et - la figure 2 représente les étapes successives d'un procédé mis en oeuvre par le système de la figure 1. L'installation représentée sur la figure 1 comporte un système 10 de filtrage de messages électroniques 12a, 12b et 12c. Ces messages électroniques sont transmis au système de filtrage 10, via un réseau 14 de transmission de données, tel que le réseau Internet. Parmi les messages électroniques 12a, 12b, 12c, certains sont par exemple à caractère purement publicitaire, voire plus généralement indésirables. Le système de filtrage 10 a donc pour fonction de réaliser un tri préliminaire, permettant au destinataire final de ces messages électroniques, de ne pas perdre de temps à consulter des messages inintéressants pour lui. Parmi les messages indésirables reçus, certains sont aisément reconnaissables, parce qu'ils comportent des données prédéfinies, et connues par le système de filtrage 10, permettant à ce dernier d'en conclure que ces messages électroniques ont de fortes chances d'être des messages indésirables. Les données contenues dans un message électronique, qui permettent de reconnaître qu'il est indésirable, sont par exemple sa couleur de fond, les liens qu'il contient, l'adresse électronique de l'émetteur, ainsi que tous les mots employés dans le corps du message ou dans son en-tête. Notamment, la recherche de mots-clés dans le corps de messages électroniques permet d'écarter bon nombre de messages électroniques indésirables. Cependant, certains messages électroniques indésirables sont brouillés, de manière que certains mots qu'ils contiennent ne soient pas reconnus par le système de filtrage 10, mais soient toujours intelligibles pour le destinataire. Les brouillages réalisés par leurs émetteurs sont généralement faciles à détecter grâce à des outils mettant en oeuvre des techniques de traitement automatique du langage naturel. Ainsi, il peut être réalisé un brouillage de type morphologique, qui se caractérise par l'insertion, l'omission, ou la substitution de caractères d'un mot, de manière à conserver au mot sa lisibilité par le destinataire, tout en le rendant indétectable par le système de filtrage 10. A titre d'exemple: - par insertion de tirets, le mot "reverses" devient "re-ver-ses", - par omission d'une lettre, le mot "generic" devient "genric", - par substitution d'une lettre, le mot "PILLS" devient "P1 LLS". Un autre brouillage consiste à insérer des chaînes de caractères aléatoires. Ces chaînes de caractères aléatoires ont une très faible probabilité de correspondre effectivement à un mot d'une langue. L'ajout de ces chaînes de caractères aléatoires permet de modifier la représentation statistique du contenu du message sans modifier le contenu sémantique du message. Une insertion de caractères, peut être remplacée par l'insertion de balises, par exemple de type HTML, n'ayant aucune signification pour un analyseur HTML, mais permettant de dissimuler un mot qui ne doit pas être détecté par le système de filtrage 10. Par exemple le mot "generic" peut être dissimulé de la façon suivante: ge ner ic. Enfin, une autre technique consiste à insérer une suite aléatoire de mots, chacun de ces mots étant connu mais n'ayant aucun rapport syntaxique ou sémantique cohérent avec les autres. Cela ne modifie pas le contenu sémantique du message et le destinataire n'est pas dérangé par un tel brouillage. Comme l'insertion de chaînes de caractères aléatoires, ceci modifie la représentation statistique du contenu du message électronique et permet de ne pas le détecter en tant que message indésirable. Ces différents types de brouillage agissent aux différents niveaux, classiquement identifiés, des techniques de traitement automatique du langage naturel. Notamment, des algorithmes connus de détection d'insertions, d'omissions, ou de substitutions de caractères, qui relèvent des techniques classiques de correction typographique, peuvent être utilisés pour détecter des mots qui ont été brouillés par insertions, omissions ou substitutions et les remplacer par des mots correspondants débrouillés. Il existe également des algorithmes permettant la détection et la correction de mots brouillés par décollement. Pour gérer les cas plus complexes, des calculs de distances entre mots peuvent suffire. Ainsi, le système de filtrage 10 comporte des moyens 16 de réception des messages électroniques 12a, 12b et 12c. Il comporte également des moyens 18 d'analyse de chaînes de caractères contenues dans les messages électroniques reçus par les moyens 16, et des moyens 20 de classification de ces messages électroniques en tant que messages acceptables ou indésirables sur la base de résultats fournis par les moyens d'analyse 18. Enfin, le système de filtrage 10 comporte des moyens 22 de tri des messages électroniques reçus, 12a, 12b et 12c, en fonction de leur caractère acceptable ou indésirable. Ainsi, par exemple, le message électronique 12a est écarté en tant que message indésirable, et les messages électroniques 12b et 12c sont transmis au destinataire en tant que messages acceptables. Les moyens d'analyse 18 comportent des moyens 24 de détection de chaînes de caractères brouillées associés à des moyens 26 de débrouillage des chaînes de caractères détectées comme brouillées. Par exemple, les moyens de détection 24 comportent des moyens 28 de détection de substitutions de caractères dans les chaînes de caractères des messages électroniques reçus, des moyens 30 de détection d'insertions de caractères dans les chaînes de caractères des messages électroniques reçus et des moyens 32 de détection de suppressions de caractères dans les chaînes de caractères des messages électroniques reçus. Ces moyens de détection 28, 30 et 32 sont des moyens qui chacun, indépendamment des autres, sont connus et conformes à une technique de traitement automatique de langage naturel. Les moyens 24 de détection de chaînes de caractères brouillées sont en outre associés à une base de connaissance linguistique 34 pour l'utilisation de ressources syntaxiques et grammaticales de cette base aux fins de l'analyse réalisée par les moyens 18. Les moyens 26 de débrouillage traitent les chaînes de caractères détectées comme brouillées de manière à les convertir en des chaînes de caractères débrouillées. Le traitement est directement fonction du type de brouillage détecté. Par exemple, s'il s'agit d'un brouillage par insertions de caractères, les caractères reconnus comme insérés sont supprimés. S'il s'agit d'un brouillage par substitutions de caractères, les caractères reconnus comme étant substituants, sont remplacés par les caractères auxquels ils se substituent. S'il s'agit d'un brouillage par suppressions de caractères, ceux-ci sont réinsérés dans les chaînes de caractères incomplètes. Les résultats de l'analyse réalisée par les moyens 18 sont fournis aux moyens de classification 20. Les résultats de l'analyse comportent: - le message électronique débrouillé, c'est-à-dire le message électronique dans lequel toutes les chaînes de caractères détectées comme brouillées ont été remplacées par de nouvelles chaînes de caractères débrouillées, et - des paramètres quantitatifs statistiques relatifs aux chaînes de caractères détectées comme brouillées, ces paramètres statistiques étant fournis par les moyens de détection 24. A cette fin, les moyens de classification 20 comportent un premier module 36 de classification des messages électroniques reçus, sur la base des messages débrouillés fournis par les moyens d'analyse 18. Ce module 36 est classique et ne sera pas décrit davantage. Il peut être repris des systèmes de filtrage connus dans l'état de la technique. D'une façon générale, ce type de module de classification fonctionne de deux manières différentes possibles: il peut s'agir d'un système expert à base de règles issues de l'observation régulière des messages acceptables ou indésirables; ou il peut s'agir d'un système d'apprentissage entraîné sur la base d'un apprentissage de règles statistiques, en utilisant les fréquences des mots ou symboles repérés dans chacun des messages considérés comme acceptables ou indésirables. Un exemple de règle pour un système expert est le suivant: si "Viagra" est dans le message, alors le message est indésirable, avec un score de 0,9 . Un exemple d'apprentissage, pouvant être interprété comme un exemple de règle statistique, est par exemple le suivant: si les mots "Viagra" et "acheter" sont dans le message, alors la probabilité que le message soit un message indésirable est de 0,9 . Les moyens de classification 20 comportent un second module 38 de classification des messages électroniques reçus, sur la base des paramètres statistiques relatifs aux chaînes de caractères brouillées détectées, ces paramètres statistiques étant fournis par les moyens d'analyse 18, et plus précisément par les moyens de détection de chaînes de caractères brouillées 24. Ces paramètres peuvent comporter: - le nombre total de brouillages détectés; le nombre d'insertions détectées, ce nombre pouvant être décliné en autant de paramètres que de types de caractères insérés détectés; - le nombre de caractères substitués, ce nombre pouvant être lui aussi décliné en autant de paramètres que de caractères substituants détectés; - un ratio exprimant le nombre de mots détectés comme brouillés sur le nombre total de mots; - etc. Par exemple, si sur un message électronique de 614 mots, on a détecté 90 brouillages, 70 concernant des insertions de caractères et 37 concernant des substitutions de caractères, on peut décider de sa classification en tant que message acceptable ou indésirable sur la base de règles telles que: si le message contient plus de 50 brouillages, alors c'est un message indésirable, avec un score associé de 0,9 sur une échelle de 0 à 1 ; - la probabilité qu'un message indésirable contienne plus de 90 brouillages est de 0,9 , après comptage des fréquences de brouillage respectives dans les message indésirables et dans les message acceptables. Le procédé mis en oeuvre par le système précédemment décrit est représenté sur la figure 2. Lors d'une première étape 40, on reçoit des messages électroniques 12a, 12b, 12c. Lors de l'étape d'analyse 42 suivante, à l'aide éventuellement de la base de connaissance linguistique 34, les moyens 24 détectent un certain nombre de chaînes de caractères brouillées et mettent à jour des paramètres statistiques relatifs aux chaînes de caractères brouillées détectées. Ensuite, lors d'une étape de débrouillage 44, les moyens 26 convertissent les mots détectés comme brouillés en des mots débrouillés et mettent à jour une liste de ces mots débrouillés. Enfin, lors d'une étape de tri 46, les moyens de classification 20 associés aux moyens 22, effectuent le tri des messages électroniques reçus, pour distinguer les messages indésirables, tels que le message 12a, des messages acceptables tels que les messages électroniques 12b et 12c. Il apparaît clairement qu'un système de filtrage de messages tel que décrit précédemment, permet de détecter des messages indésirables, non seulement par l'analyse de leurs contenus, pour y détecter notamment des mots-clés ou expressions prédéterminées, mais également par la détection de brouillages, éventuellement réalisés sur le contenu de ces messages électroniques, pour la fourniture d'un message débrouillé et/ou de paramètres statistiques relatifs au brouillage, aux moyens de classification 20. REVENDICATIONS 1. Système de filtrage (10) de messages électroniques (12a, 12b, 12c) comportant des moyens (16) de réception de messages électroniques, des moyens (18) d'analyse de chaînes de caractères contenues dans les messages électroniques reçus et des moyens (20) de classification de ces messages électroniques sur la base de résultats fournis par les moyens d'analyse, caractérisé en ce que les moyens d'analyse comportent des moyens (24) de détection de chaînes de caractères brouillées pour la fourniture d'au moins une partie des résultats d'analyse utilisés par les moyens de classification (20). 2. Système de filtrage (10) de messages électroniques selon la revendication 1, dans lequel les moyens d'analyse (18) comportent des moyens (24) de fourniture, aux moyens de classification, de paramètres statistiques relatifs aux chaînes de caractères brouillées détectées. 3. Système de filtrage (10) de messages électroniques selon la revendication 1 ou 2, dans lequel, les moyens de classification (20) comportant des moyens (36) de détection de chaînes de caractères prédéterminées dans le contenu de ces messages électroniques, les moyens d'analyse (18) comportent en outre des moyens (26) de débrouillage des chaînes de caractères détectées comme brouillées pour la fourniture de messages électroniques débrouillés aux moyens de classification (20). 4. Système de filtrage (10) de messages électroniques selon l'une quelconque des revendications 1 à 3, dans lequel les moyens d'analyse (18) sont des moyens d'analyse du contenu des messages électroniques reçus selon une technique de traitement automatique de langage naturel. 5. Système de filtrage (10) de messages électroniques selon l'une quelconque des revendications 1 à 4, dans lequel les moyens de classification (20) sont des moyens de classification des messages électroniques reçus en tant que messages acceptables ou indésirables. 6. Système de filtrage (10) de messages électroniques selon l'une quelconque des revendications 1 à 5, dans lequel les moyens (24) de détection de chaînes de caractères brouillées comportent des moyens (28) de détection de substitutions de caractères dans les chaînes de caractères des messages électroniques reçus. 7. Système de filtrage de messages électroniques selon l'une quelconque des revendications 1 à 6, dans lequel les moyens (24) de détection de chaînes de caractères brouillées comportent des moyens (30) de détection d'insertions de caractères dans les chaînes de caractères des messages électroniques reçus. 8. Système de filtrage de messages électroniques selon l'une quelconque des revendications 1 à 7, dans lequel les moyens (24) de détection de chaînes de caractères brouillées comportent des moyens (32) de détection de suppressions de caractères dans les chaînes de caractères des messages électroniques reçus. 9. Procédé de filtrage de messages électroniques comportant une étape (40) de réception de messages électroniques, une étape (42) d'analyse de chaînes de caractères contenues dans les messages électroniques reçus et une étape (46) de classification de ces messages électroniques sur la base de résultats fournis par les moyens d'analyse, caractérisé en ce que, lors de l'analyse, on détecte des chaînes de caractères brouillées pour la fourniture d'au moins une partie des résultats d'analyse utilisés lors de l'étape de classification. 10. Procédé de filtrage de messages électroniques selon la revendication 9, dans lequel le contenu des messages électroniques reçus est analysé selon une technique de traitement automatique de langage naturel.