WO2007116042A1 - Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier - Google Patents

Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier Download PDF

Info

Publication number
WO2007116042A1
WO2007116042A1 PCT/EP2007/053435 EP2007053435W WO2007116042A1 WO 2007116042 A1 WO2007116042 A1 WO 2007116042A1 EP 2007053435 W EP2007053435 W EP 2007053435W WO 2007116042 A1 WO2007116042 A1 WO 2007116042A1
Authority
WO
WIPO (PCT)
Prior art keywords
document
documents
database
sentences
sentence
Prior art date
Application number
PCT/EP2007/053435
Other languages
English (en)
Inventor
Julien Lemoine
Jean-François MARCOTORCHINO
Original Assignee
Thales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales filed Critical Thales
Priority to US12/296,327 priority Critical patent/US20100063966A1/en
Priority to EP07727903A priority patent/EP2013776A1/fr
Publication of WO2007116042A1 publication Critical patent/WO2007116042A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution

Definitions

  • the present invention relates to a method for rapidly de-duplicating a set of documents contained in a database.
  • This data can be of any type, such as multimedia data, digital data, etc.
  • the technical problem is to be able to find documents or identical data with a certain percentage of resemblance in a database or in a large file. For example, in the case of a large textual database, this problem breaks down into two sub-problems:
  • bias This processing is necessary in any textual processing chain because duplicate documents lead to a significant "bias" in all future analyzes, such as automatic classification, contingencies, OLAP cross-checks or online analytical process (On An Analytical Process).
  • bias an overvalued "weight” given to the texts in question, in terms of the importance of a thematic to which these texts can refer or conversely, an over-representation of their descriptive vocabularies in the universe of global vocabulary describing the "corpus”.
  • the invention relates to a method for comparing a set of data with the contents of an existing data file, characterized in that it comprises at least the following steps:
  • the invention relates to a method for comparing a textual document with an existing database of documents, characterized in that it comprises at least the following steps:
  • An existing document can be compared in a database to other documents in the same database.
  • the analysis of a document can include at least the following steps:
  • the automaton returns an integer i, at position i is the set of the indices of the sentences of the documents having the analyzed sentence, i corresponds to an index in a vector V,
  • the invention also relates to a device for comparing a set of data with the contents of an initial data base, characterized in that it comprises a processor adapted to perform the steps of the method according to one of claims 1 to 5. , determining a degree of similarity of the document analyzed with the documents present in the initial database and an output generating a decision to integrate the document analyzed in the initial database according to its degree of similarity.
  • FIG. 1 an implementation of the method for detecting partially or completely duplicated documents in a textual database
  • FIG. 4 an example of analysis of a sentence of a document using the method according to the invention
  • FIG. 5 an example of a device making it possible to implement the method according to the invention.
  • the following example relates to the quick search for documents possibly duplicated in a database.
  • the method may extend, within the scope of the invention, to any data or set of data contained in a file.
  • the method according to the invention can be used to solve at least one or both of the problems mentioned below:
  • FIG. 1 schematizes overall the steps implemented to determine, from a document base 1, which documents are partially or completely duplicated.
  • the method checks, 2, whether a document contained in the database is completely or partially present in the database, by applying the steps described in Figure 3, for example.
  • the documents present in the database are sorted. For example, a sorting by date, from the oldest to the most recent, is used to consider that the oldest documents serve as references.
  • the sorting can also be done on other criteria according to the document base. Any sorting method known to those skilled in the art can be used.
  • FIG. 2 represents an example of application of the method making it possible to compare a new document, 5, to be inserted in a database, with the documents already present in a database 6.
  • the database for example, has been analyzed by implementing the steps described in Figure 1.
  • the method analyzes the new document to determine whether it contains some or all of the existing documents. 7. To perform this analysis, the method implements the steps described in FIG.
  • the method determines, 8, the list of documents that contain part or all of the new document. Then it performs, 9, a decision-making step on the new document regarding its conservation in the database or not.
  • Figure 3 describes various steps implemented by the method for processing a document already present in a database or a new document to be added to this database, as has been explained in Figures 1 and 2.
  • the method associates, to a document to be processed Di, an identifier Ii, for example, a single integer 31.
  • This identifier will remain the same throughout the analysis. For example, a counter starting from zero is used, which is incremented with each new document. This counter serves as an index in a vector T which contains the number of sentences of the document.
  • the document is then converted, 32, into plain text (for example in ASCII format, Unicode %), which amounts to removing the formatting information from the source document to keep only the text or the useful data.
  • the process splits the textual document into a set of sentences Pij, 33.
  • This division can be done by a phrase recognition transducer, such as the Unitex project accessible via the Internet address. or by any other type of sentence detection.
  • the method performs, 34, a sentence analysis which is described in detail in FIG.
  • the method calculates the similarities of the document with all the old documents of the base 35.
  • the method can store the list of documents having at least one sentence in common by means of the algorithmic structure "red and black tree" (described, for example, in the book “Introduction to Algorithmics” by T.Cormen, C. Leiserson, R.Rivest, Chapters 13 and 14) in order not to contain several times the indexes of documents (for example, not to contain twice the index of a document having two sentences in common).
  • Figure 4 details an example of steps implemented to analyze a document with respect to the documents contained in a database.
  • the process has for input a sentence of the document.
  • the steps performed are, for example, the following:
  • a hashing algorithm such as the MD5 algorithm invented by Ronald L. Rivest, the family of SHA-x such as SHA -256 and SHA-512 designed by the US National Security Agency, RIPEMD-160 invented by H.
  • the method adds the index of the current document to the position i of the vector V for the next analysis of documents. Since the current document contains the phrase "i", it is necessary to add it to table V to index i to establish the correspondence between the sentence and the document.
  • each counter Ci being associated with a document of the initial database and containing a number corresponding to the number of sentences of the analyzed document which appeared to be identical to the sentences present in a document. from the initial base.
  • document D1 -> counter C1 number of sentences of the document to be analyzed which are identical to the sentences contained in the document of the initial database.
  • An X-based resemblance threshold is defined according to the application, to decide whether an analyzed document is to be considered as a duplicate of the documents forming the initial database.
  • the scanned document is considered to be not identical or substantially identical (with a given degree of similarity) to an existing document in the original database, then it is added to the database.
  • This method can be used, for example, to follow the modifications of the agency mails. It is common to see on a particular subject several modifications between the first dispatch and the final version. Moreover, dispatches very often repeat the contents of previous dispatches without citing them. The system automatically detects that the dispatch includes all or part of previous dispatches and presents them as links in addition to it.
  • FIG. 6 represents an exemplary system comprising, for example, an analysis server 50 receiving a document 51 to be analyzed.
  • the server comprises a document base 52, in association with a processor 53 on which the method according to the invention is executed.
  • the output of the processor generates a subset 54 of the database containing the documents taken up by the document to be analyzed.
  • the file containing all the documents that are included as well as the recovery percentage is used, for example, to decide whether to add the documents or to delete them if duplicates are searched for in a database. existing.
  • the file can also be injected into a finer analysis program.
  • An output 55 of the analysis server generates an enriched document 56 with links to the retrieved documents which thus make it possible to have access to the content of the document.
  • the entry instead of being a document to be analyzed can also be in the form of an acquisition of conventional documents (http, mail, etc.) and output by a screen or a printer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un procédé pour comparer un document textuel à une base de documents existante, comportant au moins les étapes suivantes : attribuer un identifiant Ii à ce nouveau document (Di), découper le document en blocs (Pij), tel que des phrases, pour chaque bloc (Pij), lui associer une clé 'unique' (Eij) puis recher cher cette clé (Eij) dans un automate à états finis afin de déterminer quel sont les documents de la base de documents qui la phrase (Pi), calculer une similarité entre les éléments de la base de données et l'ensemble des données formé par les phrases (Pij), déterminer l'ensemble des anciens documents contenus dans la base de données initiale qui contient au moins un pourcentage fixé X% de phrases du document à comparer.

Description

PROCEDE DE DE-DOUBLONNAGE RAPIDE D'UN ENSEMBLE DE DOCUMENTS OU D'UN ENSEMBLE DE DONNEES CONTENUES
DANS UN FICHIER
La présente invention concerne notamment un procédé de dé- doublonnage rapide d'un ensemble de documents contenus dans une base de données.
Elle s'applique aussi à un ensemble de données contenues dans un fichier. Ces données peuvent être de tout type, telles que des données multimédia, des données numériques, etc.
Elle fait notamment partie des techniques de traitement automatique de l'information textuelle et peut être utilisée dans les chaînes de traitement de flux documentaires.
Le problème technique posé est d'être capable de retrouver des documents ou des données identiques avec un certain pourcentage de res- semblance dans une base de données ou dans un fichier de taille importante. Par exemple, dans le cas d'une grande base de données textuelles, ce problème se décompose en deux sous-problèmes :
1 ) dans une base de documents existante, il faut trouver l'ensemble des documents similaires, avec un taux de similarité fixé par l'utilisateur,
2) pour un document à insérer dans une base de données, on doit être capable de trouver tous les documents similaires (à un taux de similarité fixé) parmi l'ensemble des documents constituant l'historique. Par exemple, dans un flux documentaire, comparer un nouveau document aux documents plus anciens pour détecter s'il d'agit ou non d'une reprise de l'information.
Ce traitement est nécessaire dans toute chaîne de traitement textuel car les documents dupliqués entraînent un «biais» important dans toutes les analyses futures, par exemple la classification automatique, les tableaux de contingences, les croisements OLAP ou procédé analytique en ligne (abrégé anglo-saxon de On Une Analytical Process). Par « biais », on peut entendre dans la présente invention, un « poids » surévalué donné aux textes en question, au niveau de l'importance d'une thématique à laquelle ces textes peuvent se référer ou inversement, une sur-représentation de leurs vocabulaires descriptifs dans l'univers du vocabulaire global décrivant le « corpus ».
Il existe des méthodes dites naïves qui consistent à comparer tous les documents deux à deux et à leur appliquer une mesure de similarité pour détecter s'il s'agit d'une copie ou non. Ces méthodes nécessitent des puis- sances de calcul très importantes (puisqu'elles ont un nombre d'itérations proportionnel à N2). Ainsi, une base de 10.000 documents nécessite 100 millions de comparaisons, rendant ces approches inutilisables de manière industrielle et opérationnelle.
L'art antérieur divulgue différentes méthodes de dé-doublonnage fonctionnant sur des bases de données relationnelles, parmi lesquelles on peut citer les deux demandes de brevets : US 2004 0220955 Information
Processing System And Method de Kevin MCKEE et US 2005 0182780 de
George H. FORMAN et al.
La demande de brevet US 2004 0039933 divulgue un procédé de dé-doublonnage avec une fonction de hachage MD5. Une telle approche n'est toutefois pas performante. En effet, il suffit d'un simple espace présent en plus dans un des documents comparés, pour que ce dernier soit considéré comme différent des documents de la base. De plus, il n'est pas expliqué comment rechercher une clé rapidement parmi une grande liste de clés.
En ce qui concerne les approches utilisant une base de connaissances, elles fonctionnent uniquement sur la langue de la base et dépendent de la richesse de celle-ci. Ces méthodes donneront des résultats approximatifs et même inexacts si la base n'est pas complète ou si elle ne prend pas en compte le vocabulaire spécifique à un métier. Ces approches déportent toute la complexité du problème sur la base de connaissances et nécessitent une base par langue.
La plupart des solutions de dé-doublonnage actuellement utilisées ne comparent que quelques critères comme la source, la date, l'auteur, le titre, etc.
Il n'existe pas à ce jour de méthode rapide, non supervisée, prenant en compte l'intégralité du document et permettant de définir un pourcentage de ressemblance entre le document à insérer et les documents déjà présents dans la base de données. Par non supervisé, on sous-entend que le procédé ne possède pas de connaissances a priori sur le contexte lié au problème de dé-doublonnage à traiter.
L'invention concerne un procédé pour comparer un ensemble de données au contenu d'un fichier de données existant, caractérisé en ce qu'il comporte au moins les étapes suivantes :
• attribuer un identifiant Ii à l'ensemble de données Di,
• découper l'ensemble de données en plusieurs blocs Bij,
• pour chaque bloc Bij, lui associer une clé « unique » Eij, puis rechercher la clé Eij dans un automate à états finis afin de déterminer quels sont les éléments du fichier de données qui contiennent ce bloc,
• calculer une similarité entre les éléments du fichier de données et le nouvel ensemble de données formé par les blocs Bij,
• déterminer l'ensemble des éléments du fichier de données qui contient au moins un pourcentage fixé de blocs du nouvel ensemble de données. Selon une autre variante, l'invention concerne un procédé pour comparer un document textuel à une base existante de documents, caractérisé en ce qu'il comporte au moins les étapes suivantes :
• attribuer un identifiant Ii à ce nouveau document Di,
• découper le document en blocs Pij, tel que des phrases,
• pour chaque phrase Pij, lui associer une clé « unique » Eij puis rechercher cette clé Eij dans un automate à états finis afin de déterminer quel sont les documents de la base de documents qui contiennent la phrase Pij,
• calculer une similarité entre les éléments de la base existante de données et l'ensemble des données formé par les phrases Pij,
• déterminer l'ensemble des anciens documents contenus dans la base de données existante qui contient au moins un pourcentage fixé X% de phrases du document à comparer,
• décider de l'intégration du document Di dans la base de documents existante en fonction du degré de similarité qu'il présente avec les autres documents de la base existante.
On peut comparer un document existant dans une base de données aux autres documents de la même base de données.
II est aussi possible de comparer un document à insérer dans une base de données existante.
L'analyse d'un document peut comporter au moins les étapes suivantes :
• supprimer l'ensemble des caractères non significatifs de la phrase, • calculer la clef associée à cette phrase contenant uniquement les caractères significatifs, en utilisant un algorithme de hachage,
• récupérer l'entier associé à la clef, dans un automate à états finis et déterministe, l'automate retourne un entier i, à la position i se trouve l'ensemble des indices des phrases des documents ayant la phrase analysée, i correspond à un indice dans un vecteur V,
• si la phrase n'existe pas dans le document, ajouter un nouvel identifiant de phrase noté j, ajouter l'indice du document en cours de traitement dans le vecteur V à la position j et ignorer l'étape de mise à jour des compteurs,
• mettre à jour la liste des compteurs des phrases identifiées dans les anciens documents, ajouter l'indice du document courant à la position i du vecteur V pour effectuer les analyses d'autres documents.
L'invention concerne aussi un dispositif pour comparer un ensem- ble de données au contenu d'une base initiale de données, caractérisé en ce qu'il comporte un processeur adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 5, à déterminer un degré de similarité du document analysé avec les documents présents dans la base initiale et une sortie générant une décision d'intégration du document analysé dans la base initiale en fonction de son degré de similarité.
La présente invention offre notamment les avantages suivants :
• une méthode automatique qui s'appuie sur la théorie des automates, notamment des automates à états finis et déterministes et les techni- ques de calcul de hachage assurant habituellement l'intégrité des fichiers (algorithmes MD5, SHA1 , SHA256, RIPEMD160, TIGER, SHA384, SHA512, etc.). • une complexité de recherche qui ne dépend pas du nombre de documents déjà existant dans la base de données, par suite de l'utilisation de la théorie des automates.
• une occupation mémoire réduite, même pour de très grandes bases de données, grâce aux techniques de hachage.
• elle offre l'avantage d'être indépendante d'une source de connaissances, ce qui lui permet de fonctionner sur tout type de documents textuels.
• La possibilité de :
o prendre en compte un degré de ressemblance entre les documents correspondant au pourcentage de phrases que deux documents partagent,
o calculer le pourcentage de ressemblance entre un document et une base entière de document. Il est ainsi possible de savoir quel est le pourcentage de reprise dans un nouveau document par rapport à un stock représentant l'art antérieur (Brevets, articles scientifiques, etc.),
• la comparaison des documents paramétrables, on peut par exemple ignorer les dates pour ne pas détecter comme différents un documen- taire identique publié à deux dates différentes les espaces, la ponctuation seront considérés comme non significatifs pendant la comparaison,
• la mise en œuvre possible sur des grandes bases de données textuelles; plusieurs millions de documents.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description d'un exemple de réalisation, donné à titre illustratif et nullement limitatif, annexé des figures qui représentent :
• La figure 1 , une mise en œuvre du procédé pour détecter les documents partiellement ou complètement dupliqués dans une base de données textuelles,
• La figure 2, l'utilisation du procédé pour détecter si un nouveau document contient une partie ou la totalité des documents contenus dans une base de données textuelles,
• La figure 3, un exemple d'analyse de document selon la méthode,
• La figure 4, un exemple d'analyse d'une phrase d'un document utilisant le procédé selon l'invention,
• La figure 5, un exemple de dispositif permettant de mettre en œuvre le procédé selon l'invention.
Afin de mieux faire comprendre le principe de l'invention, l'exemple qui suit concerne la recherche rapide de documents éventuellement en double dans une base de données.
Elle peut être utilisée pour des bases de documents textuels en mode stock ou flux.
Le procédé peut s'étendre, sans sortir du cadre de l'invention, à toutes données ou ensemble de données contenues dans un fichier.
De manière générale, le procédé selon l'invention peut être utilisé pour résoudre au moins l'une ou les deux problématiques citées ci-dessous:
1 ) comparer les doublons sur un ensemble de documents ou de données figés, permettant par exemple d'aboutir à une nouvelle base sans doublon ou simplement de découvrir les reprises de documents, 2) comparer un nouveau document ou un ensemble de données à une base existante, pour déterminer si ce document ou ces données ne sont pas déjà présents dans la base.
La figure 1 schématise globalement les étapes mises en œuvre pour déterminer, à partir d'une base documentaire 1 , quels sont les documents partiellement ou complètement dupliqués. Le procédé vérifie, 2, si un document contenu dans la base est complètement ou partiellement présent dans la base documentaire, en appliquant les étapes décrites à la figure 3, par exemple.
Pour que le procédé soit capable de déterminer quel document duplique l'autre, on trie, 3 les documents présents dans la base de données. On utilise, par exemple, un tri par date, de la plus ancienne à la plus récente, afin de considérer que les documents les plus anciens servent de références. Le tri peut aussi être effectué sur d'autres critères en fonction de la base documentaire. Toute méthode de tri connue de l'Homme du métier peut être utilisée.
Le choix du tri aura uniquement une influence sur l'ordre de la relation que le procédé va détecter (un document A reprend un document B ou un document B reprend un document A).
Une fois les documents triés, il reste à parcourir les documents, par exemple, du plus ancien au plus récent et de les soumettre un à un aux étapes du procédé illustré par la figure 3.
Le procédé produit, 4, la liste des documents partiellement ou complètement dupliqués. Cette liste se présente sous la forme d'un fichier qui peut être utilisé ensuite par un programme de prise de décision, les documents sont-ils à conserver dans la base ? ou encore, ce fichier peut être utilisé par un programme d'analyse plus approfondie du degré de ressemblance des documents contenus dans ce fichier avec les documents présents dans la base de données. La figure 2 représente un exemple d'application du procédé permettant de comparer un nouveau document, 5, à insérer dans une base de données, aux documents déjà présents dans une base de données 6. La base de données, par exemple, a été analysée en mettant en œuvre les éta- pes décrites à la figure 1.
Le procédé analyse le nouveau document afin de déterminer s'il contient une partie ou la totalité de documents existants, 7. Pour effectuer cette analyse, le procédé met en œuvre les étapes décrites à la figure 3.
Le procédé détermine, 8, la liste des documents qui contiennent une partie ou la totalité du nouveau document. Puis il exécute, 9, une étape de prise de décision sur le nouveau document concernant sa conservation dans la base ou non.
La figure 3 décrit différentes étapes mises en œuvre par le procédé pour traiter un document déjà présent dans une base de données ou un nouveau document à ajouter à cette base, comme il a été explicité aux figures 1 et 2.
Le procédé associe, à un document à traiter Di, un identificateur Ii, par exemple, un entier unique 31. Cet identifiant restera le même tout au long de l'analyse. On utilise, par exemple, un compteur commençant à zéro que l'on incrémente à chaque nouveau document. Ce compteur sert d'indice dans un vecteur T qui contient le nombre de phrases du document.
Le document est ensuite converti, 32, en texte brut (par exemple au format ASCII, Unicode ...), ce qui revient à supprimer les informations de formatage du document source pour ne garder que le texte ou les données utiles.
Une fois cette conversion faite, le processus effectue un découpage du document textuel en un ensemble de phrases Pij, 33. Ce découpage peut être effectué par un transducteur de reconnaissance des fins de phrases, comme celui du projet Unitex accessible par l'adresse Internet
Figure imgf000012_0001
ou par tout autre type de détection de phrases.
Sur chacune des phrases du document, le procédé effectue, 34, une analyse des phrases qui est décrite en détail dans la figure 4.
A la fin de l'analyse des phrases, le procédé calcule les similarités du document avec tous les anciens documents de la base 35.
Pour cela, on utilise, par exemple, le rapport entre le nombre de phrases détectées identiques entre un ancien et un nouveau document divisé par le nombre de phrases de cet ancien document (contenu dans le vecteur T).
Il n'est pas nécessaire de calculer ce rapport pour tous les anciens documents de la base. On peut le calculer uniquement pour les documents ayant au moins une phrase en commun avec le nouveau document.
Le procédé peut stocker la liste des documents ayant au moins une phrase en commun au moyen de la structure algorithmique «arbre rouge et noir» (décrit, par exemple, dans le livre « Introduction à l'algorithmique » de T.Cormen, C.Leiserson, R.Rivest, chapitres 13 et 14) afin de ne pas contenir plusieurs fois les indices de documents (par exemple, ne pas contenir deux fois l'indice d'un document ayant deux phrases en commun).
Ces similarités correspondent aux pourcentages de phrases que partage le nouveau document avec les anciens documents. Il y a donc autant de similarité que d'anciens documents ayant au moins une phrase en com- mun avec le nouveau document.
On peut ainsi considérer comme similaire deux documents qui ont en commun, plus de X % de phrases. Le seuil X sera en pratique fixé par l'utilisateur du procédé. La figure 4 détaille un exemple d'étapes mises en œuvre pour analyser un document par rapport aux documents contenus dans une base de données. Le processus a pour entrée une phrase du document. Les étapes exécutées sont, par exemple, les suivantes :
• supprimer l'ensemble des caractères non significatifs de la phrase, 41 , pour l'exécution de l'étape de comparaison (par exemple la ponctuation, les espacements, les chiffres, etc.). La nouvelle phrase obtenue contient uniquement les caractères significatifs, par exemple, le procédé transforme « voici un exemple de transformation » en « voiciunexempledetransformation ».
• à calculer la clef Eij associée à cette phrase Pij contenant uniquement les caractères significatifs, 42, en utilisant par exemple un algorithme de hachage (tel que l'algorithme MD5 inventé par Ronald L. Rivest, la famille des SHA-x tel que SHA-256 et SHA-512 conçue par la «Natio- nal Security Agency» des Etats-Unis, RIPEMD-160 inventé par H.
Dobbertin, A. Bosselaers et B. Preneel.
Le choix de l'algorithme mis en œuvre dimensionnera surtout l'occupation mémoire nécessaire pour le procédé. En effet, plus la clef est grande et plus les besoins de mémoire seront importants. Les collisions que peuvent entraîner ces algorithmes, c'est-à-dire deux phrases différentes ayant la même clef, ne sont pas un problème. Il faudrait, en effet, que les deux documents aient les mêmes conflits sur l'ensemble de leurs phrases pour être considérés comme similaires en ne l'étant pas, ce qui est extrêmement improbable en pratique.
• à récupérer l'entier associé à la clef, 43, dans un automate à états finis et déterministe. Ceci permet notamment d'avoir une recherche dont la complexité est indépendante du nombre de phases dans l'automate. Soit i l'entier retourné par l'automate, i correspond à l'indice dans un vecteur V. Ce vecteur V contient à la position i, l'ensemble des indices des documents ayant la phrase analysée. Si la phrase n'existe pas dans l'automate, on l'ajoute avec un nouveau identifiant de phrase que l'on notera j, on ajoute l'indice du document en cours de traitement dans le vec- teur V à la position j et on ignore l'étape 44. En d'autres termes, le tableau V permet d'établir, pour chaque phrase, le lien entre celle-ci et les documents qui la contienne.
• à mettre à jour la liste des compteurs des phrases identifiées dans les anciens documents, 44. Ces compteurs indiquent, pour chaque ancien document, le nombre de phrases actuellement identifiées comme étant en commun avec le nouveau document. Les compteurs sont ini- tialisés à zéro au début de l'analyse d'un document, et on va incré- menter de « un » tous les compteurs associés aux documents contenant la phrase en cours d'analyse (c'est à dire la liste des documents trouvés à l'indice i du vecteur V). En effet, ces documents contiennent la phrase que le procédé est en train d'analyser. Il est donc nécessaire de mettre à jour le nombre de phrases qui ont été trouvées identiques avec le document en cours d'analyse ou sensiblement identiques.
Enfin, avant de passer à l'étape suivante (analyse d'un nouveau document par exemple), le procédé ajoute l'indice du document courant à la position i du vecteur V pour les prochaines analyses de documents. Etant donné que le document actuel contient la phrase « i », il est nécessaire de l'ajouter au tableau V à l'indice i pour établir la correspondance entre la phrase et le document.
A l'issue du procédé, on dispose de plusieurs compteurs, chaque compteur Ci étant associé à un document de la base initiale et contenant un nombre qui correspond au nombre de phrases du document analysé qui sont apparues comme étant identiques aux phrases présentes dans un document de la base initiale. On dispose par exemple des liens suivants : document D1 -- > compteur C1 = nombre de phrases du document à analyser qui sont identiques aux phrases contenues dans le document de la base initiale.
On définit un seuil de ressemblance X fixé en fonction de l'application, pour décider si un document analysé est à considérer comme un doublon des documents formant la base de données initiale.
Si le document analysé est considéré comme n'étant pas identique ou sensiblement identique (avec un degré de similarité donné) à un document existant dans la base de données initiale, alors il est ajouté dans la base de données.
Dans le cas contraire (le document analysé est considéré comme déjà présent dans la base de données) alors on peut soit le supprimer, soit l'envoyer à un procédé d'analyse plus fine de son contenu.
Les étapes du procédé décrit ci-dessus peuvent être utilisées pour les applications suivantes :
- Le dé-doublonnage de documents dans un flux ou un stock de documents dans le but d'améliorer la qualité des analyses de ces documents.
- L'identification des reprises de l'information lorsque les documents sont identiques et que seule la source change (une source en a copié une autre).
- L'identification de reprise d'une partie d'un document (par exemple un document qui intègre un copier/coller d'une partie d'un autre document).
- L'identification de documents n'étant que l'intégration de documents antérieurs dans un flux documentaire (par exemple les dépêches "point sur l'information" d'AFP qui contiennent l'ensemble des dépêches de la journée).
Ce procédé peut être utilisé par exemple, pour suivre les modifications des dépêches d'agence. Il est courant de voir sur un sujet particulier plusieurs modifications entre la première dépêche et la version finale. De plus, les dépêches reprennent très souvent le contenu de précédentes dépêches sans pour autant les citer. Le système permet de détecter automatiquement que la dépêche reprend la totalité ou une partie de précédentes dépêches et les présentes comme liens en plus de celle-ci.
La figure 6 représente un exemple de système comprend, par exemple, un serveur d'analyse 50 recevant un document 51 à analyser. Le serveur comprend une base documentaire 52, en liaison avec un processeur 53 sur lequel s'exécute le procédé selon l'invention. La sortie du processeur génère un sous-ensemble 54 de la base contenant les documents repris par le document à analyser. Le fichier contenant l'ensemble des documents qui sont repris ainsi que le pourcentage de reprise est utilisé, par exemple, pour décider de l'ajout des documents ou de leur suppression dans le cas où l'on cherche les doublons dans une base de données existante. Le fichier peut aussi être injecté dans un programme d'analyse plus fine.
Une sortie 55 du serveur d'analyse génère un document 56 enrichi avec des liens vers les documents repris qui permettent ainsi d'avoir accès au contenu du document.
L'entrée au lieu d'être un document à analyser peut aussi se présenter sous la forme d'une acquisition de documents classiques (http, mail, etc) et la sortie par un écran ou une imprimante.

Claims

REVENDICATIONS
1 - Procédé pour comparer un ensemble de données au contenu d'un fichier de données existant, caractérisé en ce qu'il comporte au moins les éta- pes suivantes :
• attribuer un identifiant Ii à l'ensemble de données Di,
• découper l'ensemble de données en plusieurs blocs Bij,
• pour chaque bloc Bij, lui associer une clé « unique » Eij, puis rechercher la clé Eij dans un automate à états finis afin de déterminer quels sont les éléments du fichier de données qui contiennent ce bloc,
• calculer une similarité entre les éléments du fichier de données et le nouvel ensemble de données formé par les blocs Bij,
• déterminer l'ensemble des éléments du fichier de données qui contient au moins un pourcentage fixé de blocs du nouvel ensemble de données.
2 - Procédé pour comparer un document textuel à une base existante de documents, caractérisé en ce qu'il comporte au moins les étapes suivantes :
• attribuer un identifiant Ii à ce nouveau document Di,
• découper le document en blocs Pij, tel que des phrases,
• pour chaque phrase Pij, lui associer une clé « unique » Eij puis rechercher cette clé Eij dans un automate à états finis afin de déterminer quel sont les documents de la base de documents qui contiennent la phrase Pij,
• calculer une similarité entre les éléments de la base existante de don- nées et l'ensemble des données formé par les phrases Pij, • déterminer l'ensemble des anciens documents contenus dans la base de données existante qui contient au moins un pourcentage fixé X% de phrases du document à comparer,
• décider de l'intégration du document Di dans la base de documents existante en fonction du degré de similarité qu'il présente avec les autres documents de la base existante.
3 - Procédé selon l'une des revendications 1 et 2, caractérisé en ce que l'on compare un document déjà existant dans une base de données aux autres documents contenues dans la même base de données.
4 - Procédé selon l'une des revendications 1 et 2, caractérisé en ce que l'on compare un document à insérer dans une base de données existante.
5 - Procédé selon l'une des revendications 2 à 4, caractérisé en ce que l'analyse d'un document comporte les étapes suivantes :
• supprimer l'ensemble des caractères non significatifs de la phrase (41 ),
• calculer la clef associée à cette phrase contenant uniquement les caractères significatifs, (42) en utilisant un algorithme de hachage,
• récupérer l'entier associé à la clef, (43), dans un automate à états finis et déterministe, l'automate retourne un entier i, à la position i se trouve l'ensemble des indices des phrases des documents ayant la phrase ana- lysée, i correspond à un indice dans un vecteur V,
• si la phrase n'existe pas dans le document, ajouter un nouvel identifiant de phrase noté j, ajouter l'indice du document en cours de traitement dans le vecteur V à la position j et ignorer l'étape (44),
• mettre à jour la liste des compteurs des phrases identifiées dans les an- ciens documents, (44), • ajouter l'indice du document courant à la position i du vecteur V pour effectuer les analyses d'autres documents.
6 - Dispositif pour comparer un ensemble de données au contenu d'une base initiale de données, caractérisé en ce qu'il comporte un processeur adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 5, à déterminer un degré de similarité du document analysé avec les documents présents dans la base initiale et une sortie générant une décision d'intégration du document analysé dans la base initiale en fonction de son degré de similarité.
PCT/EP2007/053435 2006-04-07 2007-04-06 Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier WO2007116042A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12/296,327 US20100063966A1 (en) 2006-04-07 2007-04-06 Method for fast de-duplication of a set of documents or a set of data contained in a file
EP07727903A EP2013776A1 (fr) 2006-04-07 2007-04-06 Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR06/03107 2006-04-07
FR0603107A FR2899708B1 (fr) 2006-04-07 2006-04-07 Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier

Publications (1)

Publication Number Publication Date
WO2007116042A1 true WO2007116042A1 (fr) 2007-10-18

Family

ID=37478808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/053435 WO2007116042A1 (fr) 2006-04-07 2007-04-06 Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier

Country Status (4)

Country Link
US (1) US20100063966A1 (fr)
EP (1) EP2013776A1 (fr)
FR (1) FR2899708B1 (fr)
WO (1) WO2007116042A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725771B2 (en) * 2010-04-30 2014-05-13 Orbis Technologies, Inc. Systems and methods for semantic search, content correlation and visualization
US8364716B2 (en) * 2010-12-17 2013-01-29 Netapp, Inc. Methods and apparatus for incrementally computing similarity of data sources
US8244831B1 (en) 2011-05-23 2012-08-14 Ilesfay Technology Group, LLC Method for the preemptive creation of binary delta information within a computer network
US9015080B2 (en) 2012-03-16 2015-04-21 Orbis Technologies, Inc. Systems and methods for semantic inference and reasoning
US9189531B2 (en) 2012-11-30 2015-11-17 Orbis Technologies, Inc. Ontology harmonization and mediation systems and methods
CN110990539B (zh) * 2019-12-24 2023-07-25 新方正控股发展有限责任公司 稿件内部查重方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909677A (en) * 1996-06-18 1999-06-01 Digital Equipment Corporation Method for determining the resemblance of documents
WO2005008525A1 (fr) * 2003-07-21 2005-01-27 Koninklijke Philips Electronics N.V. Procede permettant d'effectuer une recherche dans une collection de documents

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934714B2 (en) * 2002-03-04 2005-08-23 Intelesis Engineering, Inc. Method and system for identification and maintenance of families of data records

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909677A (en) * 1996-06-18 1999-06-01 Digital Equipment Corporation Method for determining the resemblance of documents
WO2005008525A1 (fr) * 2003-07-21 2005-01-27 Koninklijke Philips Electronics N.V. Procede permettant d'effectuer une recherche dans une collection de documents

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BRIN S ET AL: "COPY DETECTION MECHANISMS FOR DIGITAL DOCUMENTS*", SIGMOD RECORD, ACM, NEW YORK, NY, US, vol. 24, no. 2, 1 June 1995 (1995-06-01), pages 398 - 409, XP000527686, ISSN: 0163-5808 *
CAMPBELL D M ET AL: "Copy detection systems for digital documents", ADVANCES IN DIGITAL LIBRARIES, 2000. PROCEEDINGS. IEEE WASHINGTON, DC, USA 22-24 MAY 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 22 May 2000 (2000-05-22), pages 78 - 88, XP010501107, ISBN: 0-7695-0659-3 *

Also Published As

Publication number Publication date
FR2899708A1 (fr) 2007-10-12
EP2013776A1 (fr) 2009-01-14
US20100063966A1 (en) 2010-03-11
FR2899708B1 (fr) 2008-06-20

Similar Documents

Publication Publication Date Title
US10445359B2 (en) Method and system for classifying media content
EP1836651B1 (fr) Procédé de recherche, reconnaissance et localisation d'un terme dans l'encre, dispositif, programme d'ordinateur correspondants
US9323794B2 (en) Method and system for high performance pattern indexing
CN102799647B (zh) 网页去重方法和设备
EP1364316A2 (fr) Dispositif d'extraction d'informations d'un texte a base de connaissances
CN109902223B (zh) 一种基于多模态信息特征的不良内容过滤方法
US20150331859A1 (en) Method and system for providing multimedia content to users based on textual phrases
WO2008063973A2 (fr) Procédé et système pour effectuer un marquage méta de données à haute performance et un indexage de données utilisant des coprocesseurs
FR2896603A1 (fr) Procede et dispositif pour extraire des informations et les transformer en donnees qualitatives d'un document textuel
EP2013776A1 (fr) Procede de de-doublonnage rapide d'un ensemble de documents ou d'un ensemble de donnees contenues dans un fichier
EP1733324A1 (fr) Procede de recherche d'informations, moteur de recherche et microprocesseur pour la mise en oeuvre de ce procede
KR101174057B1 (ko) 인덱스 분석장치와 인덱스 검색장치 및 그 방법
CN111538903B (zh) 搜索推荐词确定方法、装置、电子设备及计算机可读介质
FR3006472A1 (fr) Procede de recherche dans une base de donnees
US9460199B2 (en) Application of text analytics to determine provenance of an object
EP4002152A1 (fr) Système de marquage et de synchronisation de données
FR2986882A1 (fr) Procede d'identification d'un ensemble de phrases d'un document numerique, procede de generation d'un document numerique, dispositif associe
CN109446239A (zh) 线下文本挖掘方法、装置及计算机可读存储介质
EP3114597A1 (fr) Procédé d'analyse d'une pluralité de messages, produit programme d'ordinateur et dispositif associés
WO2020229760A1 (fr) Procede d'indexation multidimensionnelle de contenus textuels
CN114756643A (zh) 用于构建词库的方法、系统、装置和存储介质
FR2993687A1 (fr) Procede de mesure d'un indice caracterisant le contenu d'un document numerique
EP1150219A1 (fr) Système et procédé de définition dynamique d'un document multimédia caractérisant un centre d'intérêt d'un utilisateur
WO2008047028A1 (fr) Procede et systeme de determination d'une probabilite de presence d'une personne dans au moins une partie d'une image et programme d'ordinateur correspondant
FR2966949A1 (fr) Procede pour l’automatisation de la constitution d’une base de donnees structuree de professionnels

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07727903

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007727903

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12296327

Country of ref document: US