EP1960916A1 - Method for stable and linear unsupervised classification upon the command on objects - Google Patents
Method for stable and linear unsupervised classification upon the command on objectsInfo
- Publication number
- EP1960916A1 EP1960916A1 EP06841370A EP06841370A EP1960916A1 EP 1960916 A1 EP1960916 A1 EP 1960916A1 EP 06841370 A EP06841370 A EP 06841370A EP 06841370 A EP06841370 A EP 06841370A EP 1960916 A1 EP1960916 A1 EP 1960916A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- classes
- objects
- class
- partition
- sub
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
Definitions
- the invention relates to a method of unsupervised classification linear and stable on the order of objects.
- clustering It relates more generally to automatic classification techniques known as "clustering".
- Text Mining for the discovery, without a priori, knowledge (or “knowledge discovery”) in large databases.
- These data can be of structured type when it comes to behavioral or demographic data for example, or of unstructured type when it comes to textual data.
- the automatic classification consists in structuring these objects in the form of very homogeneous classes (or groups). This homogeneity reflects the fact that two objects of the same class must be more similar (or similar) to each other than two objects belonging to two distinct classes. The constitution of these classes will make it easy to detect groups of objects with similar profiles or themes depending on whether they are structured or unstructured data.
- the “mobile centers” and hierarchical classification methods arbitrarily set a number of classes.
- “first leader” methods they require the setting of a similarity threshold and are dependent on the order in which the objects are taken into account. Indeed, they can lead to completely different results depending on the order in which the objects are stored. Nevertheless, they allow to process, in reasonable times, large amounts of data. However, to obtain these performances, these methods require the fixing of a maximum number of classes very small compared to the number of objects.
- the invention relates to a linear unsupervised classification method for structuring a database of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming qualitative, quantitative or textual data into data.
- the method may comprise a step where the classes of the partition are grouped together.
- the merging step c) comprises, for example, a step in which the best operation (in the sense of the optimization of the criterion) of the following 4 is determined from two classes in intersection:
- the grouping of the classes of a partition is, for example, carried out on several hierarchical levels and comprises the following steps: • reduce the value of the structural threshold at each level so that weakly negative contributions can become positive,
- the invention also relates to a linear unsupervised classification device for structuring a database composed of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming qualitative, quantitative or textual data into binary presence-absence data characterized in that it comprises at least the following elements: a computer comprising a memory, a database and a processor adapted to implement the steps of the method having one of the characteristics previously stated.
- FIG. 1 a diagram corresponding to a generic system of a system supporting the method according to the invention
- FIG. 2 a block diagram describing the general operation of the processing chain of the field of data mining applied to a body of documents or to a digital database
- FIG. 3 a block diagram which shows the steps of the preprocessing phase which is carried out before the automatic classification process
- FIG. 4 a block diagram which represents the scheduling of the steps constituting the method of this invention
- FIG. 5 a block diagram which details the various operations performed during the processing 41 of FIG. 4,
- FIG. 7 the quantities evaluated during the basic operation described in FIG.
- Figure 8 a block diagram that shows the steps of the class hierarchical aggregation process.
- FIG. 1 illustrates, without limitation, an example of application of the method according to the invention, making it possible to automatically generate various actions to be performed from the classification result.
- the system on which the process operates comprises, for example, a computer 1 comprising a memory 2, a processor 3 associated with the classification process 5.
- the computer 1 is linked to a database 4.
- the classification result is presented for example, in the form of a set of classes stored in a suitable device 6.
- the device 6 is, for example, in connection with a server 7 sending e-mail for example.
- the server is provided with appropriate processing means known to those skilled in the art for processing the received class information and triggering mechanisms for sending messages to the persons of the classes concerned.
- Any device for driving and / or driving actions according to the results of the classification may be used.
- the description which follows is given for illustrative purposes in a general context of instructions executable in a computer program, such as program modules executed by a computer or any other computer.
- the invention can be implemented on any type of computer, electronic organizer, etc.
- the starting point can be either any database (set of individuals described by a set of numeric variables), or any body of documents. These two types of data are represented by the rounded blocks 20 and 25, respectively.
- pre-processing phase 21 which consists of conventional statistical processing such as centering or data reduction or else transformations ... etc.
- pre-treatments lead to the data table 22. It is this table that constitutes the source of the information analysis treatments.
- a body of documents during a pre-processing phase 26 each text is transformed into a vector whose dimensions correspond to descriptors obtained by a linguistic process which can be morpho-syntactic analysis, extraction of concepts, extraction of co-occurrences ..., linguistic and semantic processing etc. .
- a presence-absence (binary) or frequency matrix 27 which constitutes the source of the processing represented by block 23.
- Block 23 corresponds in particular to the data processing and analysis phase.
- These treatments can be of several types (supervised classification, unsupervised classification, statistical notation or "scoring", regression ).
- it is unsupervised classification of data also known as automatic classification or "clustering" (Anglo-Saxon term).
- the invention particularly relates to an unsupervised classification method, the result of which is, for example, a hierarchy of partitions of the objects 24 or documents 28 according to the initial data type.
- v ⁇ v ⁇ v 2 , ..., v ⁇
- Table T has the general term t lk which represents the value taken by the variable V k on the object O 1 and is in the following form:
- the method applies on this table re-coding treatments described below, for example the discretization of quantitative variables or the recoding of qualitative variables into presence / absence descriptors.
- the qualitative and quantitative variables are transformed into binary variables which will constitute a table K of presence-absence.
- the transformation consists, for example, in a re-coding of the modalities into presence-absence descriptor vectors.
- k I ⁇ can have two meanings depending on whether it is initially qualitative variables or quantitative variables:
- k ⁇ has the following definition:
- k is the following definition: i fl if the object belongs to the segment j K j - ⁇
- CSP Socio-Professional Category
- the table of transformed data K will be of dimensions ⁇ nxp) with p> m where m is the number of variable of set V.
- Filtering eliminates unclear descriptors.
- the elimination of the descriptors will be different according to the type of the latter.
- numerical data is based on an indicator of relevance of the descriptor.
- the method according to the invention uses a structural or indicator threshold which has the particular function of defining an optimization criterion adapted to the data.
- O 1 represents the profile of the object O 1 given by the i- th row of Table K:
- the method according to the invention is of linear complexity insofar as the formulas of the type ⁇ C n , and ⁇ / (C 1, C jV ) are computable
- the invention for illustrative purposes describes the particular case f (C n , C ⁇ V ) - Min (C n , C lY ) particularly suitable for bases containing a large number of missing data and the procedures that make it possible to calculate with a linear complexity the Calculations of the type ⁇ Min (C n , C lV ).
- the method according to the invention implements, for example, the following criterion:
- the structural threshold parameter a s is calculated automatically. It is an indicator that is a function of the n 2 agreements between the objects to be classified: We can give as an example, its formulation when it represents the ratio between the arithmetic average of the agreements between all the objects on the arithmetical average of their maximal chords. :
- the criterion C a * (X) used in the invention consists, for example, in comparing the agreements between any two objects with the product of the threshold a s by their maximum agreement (which represents a percentage of the maximum agreement).
- the method of classification 36 is described in detail in FIG. 4.
- the starting point is the array of binary data whose descriptors have been filtered.
- the first step of the classification process of sorting the descriptors, 40 is based on a measure of the contribution to the criterion of each descriptor (quality of a descriptor).
- quality of a descriptor For example, descriptors are used as "generators" for structuring the population of the objects to be classified.
- a descriptor is represented by a column vector of 1 and 0 (presence-absence). We associate with this descriptor a class which is composed of the objects whose value taken is 1. We can then calculate for each class of objects C q its contribution measure Contrib (C q ) to the global criterion:
- the evaluation of the contribution of a class is of polynomial complexity. In fact, suppose that all the objects constitute a single class, it would then be necessary to calculate n 1 unitary contributions in order to determine the value of the criterion.
- This process 41 consists in particular of "fusing” progressively 42, a class generated by a descriptor 40, and a current partition (composed of several classes).
- This "merge” operation consists in determining from two classes in intersection the best operation (in the sense of the criterion) among the following 4:
- This process amounts to building step by step a partition which optimizes locally and progressively the global criterion.
- This partition 45 constitutes the input of the class aggregation process, 46, which is described in FIG.
- FIG. 5 represents an example of a functional diagram of the treatment
- the latter consists in particular of "merging" a new class generated by a descriptor X denoted C x , 50, with the current partition P consisting of K classes 51.
- the process is as follows: • Calculation of the intersections between the classes of the partition P and the class C x ,
- Class C x is considered as the class whose intersection with a partition P is to be evaluated.
- a sorted list for example, in ascending order of the indices of the objects it contains. Indeed each object is identified by a unique integer which is its index.
- a linear sorting for example the sorting by base whose reference is the following one: Cormen et al (2002), Introduction to the algorithmic, Dunod
- the vector A is equal to:
- the number of operations performed when calculating intersections 52 is equal to the number of objects in the class C x to merge with the partition P. Indeed, we look for each object of the new class if it belongs to a class of the partition P, if yes we increment the intersection counter of this class.
- R x and R y be the vectors representing classes C x and C y
- R a , R b and R c be defined by:
- CardA, CardB and CardC as the cardinals of the classes represented by R ", R b and R c .
- C x ® "break" the class C x to form the two following classes: C x - C 1 , and
- the new class C x contains the objects that can belong to the other classes of the partition P since we know, in advance, that no object of the class C y can belong to another class of the score P.
- Hierarchical aggregation method of the classes of the invention In FIG. 8, an example of an architecture of the hierarchical aggregation method of the classes in meta-classes is represented.
- This method consists, in particular, in grouping on several levels (the number of levels is to be set by the user) classes between them.
- the optimization of the global criterion passes, for example, by maximizing the links between the classes formed. In other words, the classes obtained must ultimately have negative links.
- the calculation of the links is based on the definition of the contribution Contrit ⁇ , of a pair (i, f) of objects.
- the final quality of the score obtained is given by:
- nb _cols nb _cols - 1
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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)
- Image Analysis (AREA)
Abstract
The invention relates to a method for carrying out a linear unsupervised classification which makes it possible to structure a database, which consists of objects and descriptors and is stable upon the command of objects. The inventive method comprises a stage for pre-converting qualitative, quantitative or textual data items into binary presence-absence data items and the following stages consisting in determining a structural threshold a<SUB>s </SUB>according to<SUB/>n<SUP>2</SUP> agreements between classifiable objects, wherein said structural threshold defines an optimisation criterion adapted to the data items, in using descriptors in the form of generators for structuring and building the partition or assembly of classes and in progressively merging a class generated by a descriptor and a partition (40, 41, 42) for an optimisation criterion by using a function f (C<SUB>ii</SUB>, C<SUB>i 'i</SUB>) = Min(C<SUB>ii</SUB>, C<SUB>i 'i </SUB>) for linearizing the sums of minimum functions.
Description
PROCEDE DE CLASSIFICATION NON SUPERVISEE LINEAIRE ET STABLE SUR L'ORDRE DES OBJETS METHOD OF CLASSIFICATION NOT SUPERVISED LINEAR AND STABLE ON THE ORDER OF OBJECTS
L'invention concerne un procédé de classification non supervisée linéaire et stable sur l'ordre des objets.The invention relates to a method of unsupervised classification linear and stable on the order of objects.
Elle concerne de manière plus générale des techniques de classifications automatiques connues sous le terme anglais « clustering ».It relates more generally to automatic classification techniques known as "clustering".
Elle est notamment utilisée dans les domaines du « Data Mining » et duIt is used in particular in the fields of "Data Mining" and
« Text Mining » pour la découverte, sans a priori, de connaissances (ou « knowledge discovery ») dans de grandes bases de données. Ces données peuvent être de type structuré lorsqu'il s'agit de données comportementales ou démographiques par exemple, ou de type non structuré lorsqu'il s'agit de données textuelles."Text Mining" for the discovery, without a priori, knowledge (or "knowledge discovery") in large databases. These data can be of structured type when it comes to behavioral or demographic data for example, or of unstructured type when it comes to textual data.
Partant d'une base de données constituée d'un ensemble (ou population) de n objets décrits par un ensemble de m descripteurs (ou variables), la classification automatique consiste à structurer ces objets sous forme de classes (ou groupes) très homogènes. Cette homogénéité traduit le fait que deux objets d'une même classe doivent être plus similaires (ou ressemblants) entre eux que deux objets appartenant à deux classes distinctes. La constitution de ces classes permettra de détecter facilement des groupes d'objets à profils ou thématiques similaires selon qu'il s'agisse de données structurées ou non structurées.Starting from a database consisting of a set (or population) of n objects described by a set of m descriptors (or variables), the automatic classification consists in structuring these objects in the form of very homogeneous classes (or groups). This homogeneity reflects the fact that two objects of the same class must be more similar (or similar) to each other than two objects belonging to two distinct classes. The constitution of these classes will make it easy to detect groups of objects with similar profiles or themes depending on whether they are structured or unstructured data.
Ce problème est hautement combinatoire pour être résolu par une méthode exacte. A cet effet, des heuristiques moins coûteuses en temps de traitements et en ressources machines ont été élaborées pour lui trouver des solutions approchées.This problem is highly combinatorial to be solved by an exact method. For this purpose, less expensive heuristics in terms of processing times and machine resources have been developed to find approximate solutions.
Certaines de ces heuristiques proposent des solutions en fixant arbitrairement le nombre de classes, tandis que d'autres, proposent une hiérarchie de partitions à nombre variable de classes. On peut citer, par exemple, les heuristiques suivantes :Some of these heuristics propose solutions by arbitrarily fixing the number of classes, while others propose a hierarchy of partitions with variable number of classes. For example, the following heuristics can be cited:
® Les méthodes de type « centres mobiles » tels que les « k-means », les nuées dynamiques...® "mobile centers" type methods such as "k-means", dynamic clouds ...
• Les méthodes de classification hiérarchiques (ascendantes ou descendantes)
• Les méthodes de type « premier représentant » ou en anglo-saxon « first leader » .• Hierarchical classification methods (ascending or descending) • The "first representative" or "first leader" methods.
Des exemples pour différentes méthodes de classification non supervisée sont données dans les références suivantes : 1 ) Saporta G. (1990),Examples for different unsupervised classification methods are given in the following references: 1) Saporta G. (1990),
Probabilités, Analyse de données et Statistique, Technip ; 2) Lebart et al (1995),Probability, Data Analysis and Statistics, Technip; 2) Lebart et al (1995),
Statistique exploratoire multidimensionnelle, Dunod ; 3) Hartigan, J. (1975),Multidimensional exploratory statistics, Dunod; 3) Hartigan, J. (1975),
Clustering Algorithme, John Wiley and Sons, New York, NY, US.Clustering Algorithm, John Wiley and Sons, New York, NY, US.
Les méthodes de type « centres mobiles » et classification hiérarchique fixent arbitrairement un nombre de classes. Quant aux méthodes de type « first leader », elles nécessitent la fixation d'un seuil de similarité et sont tributaires de l'ordre dans lequel les objets sont pris en compte. En effet, elles peuvent aboutir à des résultats complètement différents selon l'ordre dans lequel les objets sont rangés. Néanmoins, elles permettent de traiter, dans des temps raisonnables, de grandes quantités de données. Cependant, pour obtenir ces performances, ces méthodes nécessitent la fixation d'un nombre maximal de classes très faible par rapport au nombre d'objets.The "mobile centers" and hierarchical classification methods arbitrarily set a number of classes. As for "first leader" methods, they require the setting of a similarity threshold and are dependent on the order in which the objects are taken into account. Indeed, they can lead to completely different results depending on the order in which the objects are stored. Nevertheless, they allow to process, in reasonable times, large amounts of data. However, to obtain these performances, these methods require the fixing of a maximum number of classes very small compared to the number of objects.
Parmi les problèmes majeurs rencontrés, pour répondre au problème de la classification automatique, on peut citer :Among the major problems encountered, to answer the problem of the automatic classification, we can mention:
• la détermination du nombre de classes sous-jacent à la population considérée,• the determination of the number of classes underlying the population in question,
® les performances en temps de traitements selon les volumétries à traiter et en terme de qualité de l'homogénéité des classes obtenues,The performances in treatment time according to the volumetrics to be treated and in terms of the quality of the homogeneity of the classes obtained,
• le pouvoir d'interprétation des résultats obtenus ; définition d'indicateurs statistiques pour la mesure de l'homogénéité des classes ainsi que du pouvoir discriminant des descripteurs participants à la formation de ces classes.• the power of interpretation of the results obtained; definition of statistical indicators for the measurement of the homogeneity of the classes as well as the discriminating power of the descriptors participating in the formation of these classes.
L'idée de la présente invention repose notamment sur la théorie de l'analyse relationnelle. Pour rappel, cette théorie, telle que décrite dans l'une des références suivantes : 1) P. Michaud et JF Marcotorchino, « Modèles d'optimisation en analyse de données relationnelles », Mathématiques et Sciences Humaines n°67,
1979, p7-38 ; 2 ; JF Marcotorchino et P Michaud, « Agrégation des similarités en classification automatique », Revue de statistique appliquée, Vol 30, n°2, 1981 , permet de répondre aux problématiques de la fixation du nombre de classes et de l'interprétation du résultat obtenu. Cependant le modèle théorique sous-jacent, est extrêmement coûteux en terme de ressources machine dès que le nombre d'objets est supérieur à 100. L'invention utilise une heuristique de cette théorie qui permet d'approximer très finement le résultat théorique sur de grandes bases de données.The idea of the present invention relies in particular on the theory of relational analysis. As a reminder, this theory, as described in one of the following references: 1) P. Michaud and JF Marcotorchino, "Optimization Models in Relational Data Analysis", Mathematics and Human Sciences, No. 67, 1979, p7-38; 2; JF Marcotorchino and P Michaud, "Aggregation of similarities in automatic classification", Journal of Applied Statistics, Vol 30, n ° 2, 1981, makes it possible to answer the problems of determining the number of classes and the interpretation of the result obtained. However, the underlying theoretical model is extremely expensive in terms of machine resources as soon as the number of objects is greater than 100. The invention uses a heuristic of this theory which makes it possible to very finely approximate the theoretical result on large numbers of objects. data base.
L'invention concerne un procédé de classification non supervisée linéaire permettant de structurer une base de données composée d'objets et de descripteurs, qui est stable sur l'ordre des objets comprenant une étape préalable de transformation des données qualitatives, quantitatives ou textuelles en données binaire de présence-absence caractérisé en ce qu'il comporte au moins les étapes suivantes : a) déterminer un seuil structurel as fonction des n2 accords entre les objets à classifier, le seuil structurel définissant un critère d'optimisation adapté aux données, b) utiliser les descripteurs comme générateurs de structuration et de construction d'une partition P ou ensemble de classes, c) fusionner progressivement une classe engendrée par un descripteur et une partition (40, 41 , 42), d) pour un critère d'optimisation faisant intervenir une fonction f(Çn,CιV) = Min(Cπ,CιY) linéariser des sommes de fonctions Minimums.The invention relates to a linear unsupervised classification method for structuring a database of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming qualitative, quantitative or textual data into data. binary presence-absence characterized in that it comprises at least the following steps: a) determining a structural threshold s function of the n 2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data, b) use the descriptors as generators of structuring and construction of a partition P or set of classes, c) gradually merge a class generated by a descriptor and a partition (40, 41, 42), d) for a criterion of optimization involving a function f (C n , C ιV ) = Min (C π , C ιY ) linearize sums of functions Minimums.
Le procédé peut comporter une étape où l'on regroupe les classes de la partition entre elles.The method may comprise a step where the classes of the partition are grouped together.
L'étape de fusion c) comporte, par exemple, une étape où l'on détermine à partir de deux classes en intersection la meilleure opération (au sens de l'optimisation du critère) parmi les 4 suivantes :The merging step c) comprises, for example, a step in which the best operation (in the sense of the optimization of the criterion) of the following 4 is determined from two classes in intersection:
• « Cassage » de la première classe et formation de deux classes; • « Cassage » de la deuxième classe et formation de deux classes;• "Breakage" of the first class and formation of two classes; • "Breakage" of the second class and formation of two classes;
• « Cassage » des deux classes pour former trois classes ;• "Breakage" of the two classes to form three classes;
• Réunion des deux classes en intersection pour former une unique classe.• Meeting of the two classes in intersection to form a single class.
Le regroupement des classes d'une partition est, par exemple, effectué sur plusieurs niveaux hiérarchiques et comporte les étapes suivantes :
• diminuer à chaque niveau la valeur du seuil structurel de sorte que les contributions faiblement négatives puissent devenir positives,The grouping of the classes of a partition is, for example, carried out on several hierarchical levels and comprises the following steps: • reduce the value of the structural threshold at each level so that weakly negative contributions can become positive,
® maximiser des liens entre les classes constituées où les liens sont déterminés en utilisant la contribution d'une paire d'objets Lien(Cq , Cq, )= ∑ ∑ Contrib,,, = ∑ ∑ Cn, - α'x/(C,; , C1,,,) içCqi'≡Cq' l≡Cqi'≡Cq' avec α' Ia nouvelle valeur de a® maximize links between built classes where links are determined using the contribution of a pair of objects Link (C q , C q ,) = Σ Σ Contrib ,,, = Σ Σ C n , - α'x / (C;, C 1 ,,,) içCqi'≡Cq 'l≡Cqi'≡Cq' with α Ia new value of a
® regrouper deux classes dont le lien est positif, et réitérer ce processus sur tous les niveaux.® group two classes with a positive link, and repeat this process on all levels.
L'invention concerne aussi un dispositif de classification non supervisée linéaire permettant de structurer une base de données composées d'objets et de descripteurs, qui est stable sur l'ordre des objets comprenant une étape préalable de transformation des données qualitatives, quantitatives ou textuelles en données binaires de présence-absence caractérisé en ce qu'il comporte au moins les éléments suivants : un calculateur comprenant une mémoire, une base de données et un processeur adapté à mettre en œuvre les étapes du procédé présentant l'une des caractéristiques précédemment énoncées.The invention also relates to a linear unsupervised classification device for structuring a database composed of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming qualitative, quantitative or textual data into binary presence-absence data characterized in that it comprises at least the following elements: a computer comprising a memory, a database and a processor adapted to implement the steps of the method having one of the characteristics previously stated.
L'invention possède notamment les avantages suivants :The invention notably has the following advantages:
• la possibilité de détecter automatiquement le nombre de classes au cours du classement,• the ability to automatically detect the number of classes during the ranking,
• la possibilité de traiter de grandes quantités de données dans des temps raisonnables,• the ability to process large amounts of data in reasonable time,
® l'indépendance vis à vis de l'ordre des objets de la base. Elle est naturellement stable vis à vis de l'ordre de traitement des objets, • le procédé permet de définir et de calculer très rapidement (complexité linéaire) des indicateurs mesurant la qualité des résultats obtenus,® independence from the order of the objects of the base. It is naturally stable with respect to the order of treatment of objects, • the method makes it possible to define and calculate very quickly (linear complexity) indicators measuring the quality of the results obtained,
• le procédé est stable vis à vis de la duplication des objets. En d'autres termes, si on démultiplie la base plusieurs fois, on retrouve la même solution initiale avec les objets dupliqués au sein d'une même classe.• the process is stable with respect to the duplication of objects. In other words, if we multiply the base several times, we find the same initial solution with the duplicated objects within the same class.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description ci-dessous et annexée des figures qui représentent :
• La figure 1 , un schéma correspondant à un système générique d'un système supportant le procédé selon l'invention,Other features and advantages of the present invention will appear better on reading the description below and appended figures which represent: FIG. 1, a diagram corresponding to a generic system of a system supporting the method according to the invention,
• La figure 2, un schéma fonctionnel décrivant le fonctionnement général de la chaîne de traitement du domaine de la fouille de données appliquée à un corpus de documents ou à une base de données numériques,FIG. 2, a block diagram describing the general operation of the processing chain of the field of data mining applied to a body of documents or to a digital database,
• La figure 3, un schéma fonctionnel qui montre les étapes de la phase de prétraitement qui est effectuée en amont du procédé de classification automatique,FIG. 3, a block diagram which shows the steps of the preprocessing phase which is carried out before the automatic classification process,
• La figure 4, un schéma fonctionnel qui représente l'ordonnancement des étapes constituant le procédé de cette invention,FIG. 4, a block diagram which represents the scheduling of the steps constituting the method of this invention,
• La figure 5, un schéma fonctionnel qui détaille les différentes opérations effectuées lors du traitement 41 de la figure 4,FIG. 5, a block diagram which details the various operations performed during the processing 41 of FIG. 4,
• La figure 6, l'opération de base qui consiste à déterminer la partition locale optimale (en une, deux, ou trois classes) issue de deux classes en intersection,• Figure 6, the basic operation of determining the optimal local partition (in one, two, or three classes) from two classes in intersection,
• La figure 7, les quantités évaluées lors de l'opération de base décrite dans la figure 6,FIG. 7, the quantities evaluated during the basic operation described in FIG.
• La figure 8, un schéma fonctionnel qui représente les étapes du procédé d'agrégation hiérarchique des classes.• Figure 8, a block diagram that shows the steps of the class hierarchical aggregation process.
La figure 1 illustre, à titre non limitatif, un exemple d'application du procédé selon l'invention, permettant de générer automatiquement différentes actions à mener à partir du résultat de classification.FIG. 1 illustrates, without limitation, an example of application of the method according to the invention, making it possible to automatically generate various actions to be performed from the classification result.
Le système sur lequel fonctionne le procédé comprend, par exemple, un calculateur 1 comprenant une mémoire 2, un processeur 3 associé au procédé de classification 5. Le calculateur 1 est en liaison avec une base de données 4. Le résultat de classification, se présente, par exemple, sous la forme d'un ensemble de classes mémorisé dans un dispositif approprié 6. Le dispositif 6 est, par exemple, en liaison avec un serveur 7 d'envoi de courrier électronique par exemple. Le serveur est pourvu de moyens de traitement appropriés et connus de l'Homme du métier pour traiter l'information de classes reçues et déclencher des mécanismes d'envoi éventuel de messages aux personnes des classes concernées.The system on which the process operates comprises, for example, a computer 1 comprising a memory 2, a processor 3 associated with the classification process 5. The computer 1 is linked to a database 4. The classification result is presented for example, in the form of a set of classes stored in a suitable device 6. The device 6 is, for example, in connection with a server 7 sending e-mail for example. The server is provided with appropriate processing means known to those skilled in the art for processing the received class information and triggering mechanisms for sending messages to the persons of the classes concerned.
Tout dispositif permettant de conduire et/ou de piloter des actions en fonction des résultats de la classification peut être utilisé.
La description qui suit est donnée à titre illustratif dans un contexte général d'instructions exécutables dans un programme d'ordinateur, tels que des modules de programme exécutés par un ordinateur ou tout autre calculateur.Any device for driving and / or driving actions according to the results of the classification may be used. The description which follows is given for illustrative purposes in a general context of instructions executable in a computer program, such as program modules executed by a computer or any other computer.
L'invention peut être mise en œuvre sur tout type d'ordinateurs, d'agenda électronique, etc ....The invention can be implemented on any type of computer, electronic organizer, etc.
Dans la figure 2, le point de départ peut être soit une base de données quelconque (ensemble d'individus décrits par un ensemble de variables numériques), soit un corpus de documents quelconque. Ces deux types de données sont représentés respectivement par les blocs arrondis 20 et 25. Dans le cas de données numériques, il peut exister une phase de prétraitements facultative 21 qui consiste en des traitements statistiques classiques tels que le centrage ou la réduction des données ou encore des transformations... etc. Ces pré-traitements conduisent au tableau de données 22. C'est ce tableau qui constitue la source des traitements d'analyse de l'information 23. En ce qui concerne un corpus de documents, au cours d'une phase de pré-traitements 26 on transforme chaque texte en un vecteur dont les dimensions correspondent à des descripteurs obtenus par un procédé linguistique qui peut être une analyse morpho-syntaxique, une extraction de concepts, une extraction de co- occurrences..., des traitements linguistiques et sémantiques etc. On obtient alors une matrice de présence-absence (binaire) ou de fréquences 27 qui constitue la source des traitements représentés par le bloc 23.In Figure 2, the starting point can be either any database (set of individuals described by a set of numeric variables), or any body of documents. These two types of data are represented by the rounded blocks 20 and 25, respectively. In the case of digital data, there may be an optional pre-processing phase 21 which consists of conventional statistical processing such as centering or data reduction or else transformations ... etc. These pre-treatments lead to the data table 22. It is this table that constitutes the source of the information analysis treatments. With regard to a body of documents, during a pre-processing phase 26 each text is transformed into a vector whose dimensions correspond to descriptors obtained by a linguistic process which can be morpho-syntactic analysis, extraction of concepts, extraction of co-occurrences ..., linguistic and semantic processing etc. . We then obtain a presence-absence (binary) or frequency matrix 27 which constitutes the source of the processing represented by block 23.
Le bloc 23 correspond notamment à la phase de traitements et d'analyses des données. Ces traitements peuvent être de plusieurs types (classification supervisée, classification non supervisée, notation statistique ou « scoring », régression...). Dans le cadre de l'invention, il s'agit de classification non supervisée de données connue aussi sous l'appellation de classification automatique ou encore de « clustering » (terme anglo-saxon). L'invention concerne notamment un procédé de classification non supervisée dont le résultat est, par exemple, une hiérarchie de partitions des objets 24 ou des documents 28 selon le type de données initial.Block 23 corresponds in particular to the data processing and analysis phase. These treatments can be of several types (supervised classification, unsupervised classification, statistical notation or "scoring", regression ...). In the context of the invention, it is unsupervised classification of data also known as automatic classification or "clustering" (Anglo-Saxon term). The invention particularly relates to an unsupervised classification method, the result of which is, for example, a hierarchy of partitions of the objects 24 or documents 28 according to the initial data type.
Les données d'entrée de la figure 3 se présentent sous la forme d'un tableau T , 22 ou 27, désignant respectivement les cas de données numériques et le cas de corpus de documents, croisant l'ensemble / , constitué de n objets
O1, Oj,..., On (des individus ou des documents), et l'ensemble V constitué de m variables (ou descripteurs), V1 ,V2 ,..., V" mesurés sur / . I = {θvO2,..., On) v = {v\v2,..., vήThe input data of FIG. 3 are in the form of a table T, 22 or 27, respectively denoting the cases of numerical data and the case of corpora of documents, crossing the set /, consisting of n objects O 1 , O j , ..., O n (individuals or documents), and the set V consisting of m variables (or descriptors), V 1 , V 2 , ..., V "measured on /. I = {θ v O 2 , ..., O n ) v = {v \ v 2 , ..., vή
Le tableau T a comme terme général tlk qui représente la valeur prise par la variable Vk sur l'objet O1 et se présente sous la forme suivante :Table T has the general term t lk which represents the value taken by the variable V k on the object O 1 and is in the following form:
Le terme général tιk , des données en entrée, représente :The general term t ιk , input data, represents:
• la modalité de la variable k prise par l'objet i dans le cas d'une variable qualitative, • la valeur de la variable k prise par l'objet i s'il s'agit d'une variable quantitative, ® la présence ou l'absence de l'unité lexicale k dans le document / , s'il s'agit de données textuelles.• the modality of the variable k taken by the object i in the case of a qualitative variable, • the value of the variable k taken by the object i if it is a quantitative variable, ® the presence or the absence of the lexical unit k in the document /, if it is textual data.
Dans le cas des données qualitatives et quantitatives, le procédé applique sur ce tableau des traitements de re-codage 30 décrits ci-après, par exemple la discrétisation des variables quantitatives ou le recodage des variables qualitatives en descripteurs de présence/absence. Les variables qualitatives et quantitatives sont transformées en variables binaires qui constitueront un tableau K de présence-absence.In the case of qualitative and quantitative data, the method applies on this table re-coding treatments described below, for example the discretization of quantitative variables or the recoding of qualitative variables into presence / absence descriptors. The qualitative and quantitative variables are transformed into binary variables which will constitute a table K of presence-absence.
Dans le cas des variables qualitatives, la transformation consiste, par exemple, en un re-codage des modalités en des vecteurs descripteurs de présence- absence.In the case of qualitative variables, the transformation consists, for example, in a re-coding of the modalities into presence-absence descriptor vectors.
Pour des variables quantitatives, il s'agit de discrétisations qui consistent à transformer les variables quantitatives en variables qualitatives où chaque modalité correspond à un intervalle. Par exemple, soit la variable quantitative « taille » exprimée en cm et mesurée sur un ensemble d'individus. Supposons que
dans la population considérée, la taille des individus la constituant soit comprise entre 140 cm et 210 cm, une discrétisation possible serait de découper la variable en trois intervalles suivants [140,160[ ; [160,180[ ; [180,210]. Ces trois intervalles correspondent alors respectivement aux trois modalités suivantes : petite, moyenne et grande. Par conséquent, un individu qui aura la taille 175 cm par exemple, aura après discrétisation la modalité moyenne.For quantitative variables, these are discretizations that consist of transforming quantitative variables into qualitative variables where each modality corresponds to an interval. For example, the quantitative variable "size" expressed in cm and measured on a set of individuals. suppose that in the population considered, the size of the individuals constituting it is between 140 cm and 210 cm, a possible discretization would be to cut the variable in three following intervals [140,160 [; [160.180 [; [180.210]. These three intervals then correspond respectively to the three following modalities: small, medium and large. Therefore, an individual who has the size 175 cm for example, will after discretization the average modality.
Le tableau K, 31 , de terme général k obtenu après ces transformations sera de la forme suivante :Table K, 31, of general term k obtained after these transformations will be of the following form:
Son terme général kI} peut avoir deux significations selon qu'il s'agisse initialement de variables qualitatives ou de variables quantitatives : Its general term k I} can have two meanings depending on whether it is initially qualitative variables or quantitative variables:
Dans le cas d'une variable qualitative, kυ a la définition suivante :In the case of a qualitative variable, k υ has the following definition:
_ [ 1 si l'objet i possède la modalité j_ [1 if object i has the modality j
77 i77 i
J [0 sinon Dans le cas d'une variable quantitative, ky a la définition suivante : fl si l'objet i appartient au segment j Kj j — \J [0 otherwise In the case of a quantitative variable, k is the following definition: i fl if the object belongs to the segment j K j - \
J [0 sinonJ [0 otherwise
Dans le cas des données textuelles, il n'y a pas d'étape de recodage puisqu'à l'issue de l'étape de pré-traitement, 26, nous obtenons déjà un tableau binaire de présence-absence K dont le terme général ky a pour signification : 1 si le document i possède l'unité lexicale j
0 sinon Chaque variable du tableau T , qu'elle soit qualitative ou quantitative, engendrera plusieurs vecteurs descripteurs de présence-absence. En effet, les tableaux T et K sont de dimensions différentes.In the case of textual data, there is no recoding step since at the end of the pre-processing step, 26, we already obtain a presence-absence binary array K whose general term k is for meaning: 1 if the document has the lexical unit i j 0 otherwise Each variable in Table T, whether qualitative or quantitative, will generate several presence-absence descriptor vectors. Indeed, the tables T and K are of different dimensions.
Considérons la variable « CSP » (Catégorie Socio-Professionnel) et supposons que l'on soit en présence de quatre individus (11 , 12, 13, 14). Supposons
que les modalités possibles de la variable CSP soient : cadre, ouvrier, profession libérale. Supposons de plus, que ces quatre individus ont les modalités suivantes :Consider the variable "CSP" (Socio-Professional Category) and suppose that we are in the presence of four individuals (11, 12, 13, 14). Suppose that the possible modalities of the variable CSP are: manager, worker, liberal profession. Suppose, moreover, that these four individuals have the following modalities:
Après recodage des modalités de Ia variable qualitative CSP, on obtient le résultat suivant :After recoding the modalities of the qualitative variable CSP, we obtain the following result:
Chaque modalité de la variable considérée devient donc un descripteur de présence-absence. Par conséquent, le tableau des données transformées K sera de dimensions {nxp) avec p > m où m est le nombre de variable de l'ensemble V .Each category of the variable considered therefore becomes a presence-absence descriptor. Therefore, the table of transformed data K will be of dimensions {nxp) with p> m where m is the number of variable of set V.
A partir du tableau K , 31 , on effectue des calculs statistiques, 32 (moyennes, écart-types, coefficients de discrimination, etc.), qui permettent notamment, d'une part de paramétrer le filtrage des descripteurs, 33 (élimination des descripteurs peu discriminants), d'autre part, de calculer un indicateur appelé seuil structurel, 34, qui permet de s'affranchir de tout paramétrage du procédé de classification (non fixation ni d'un nombre de classes ni d'un nombre maximal de classes). L'indicateur est détaillé par la suite.From Table K, 31, statistical calculations are carried out, 32 (means, standard deviations, discrimination coefficients, etc.), which in particular make it possible, on the one hand, to parameterize the filtering of the descriptors, 33 (elimination of the descriptors not discriminating), on the other hand, to calculate an indicator called structural threshold, 34, which makes it possible to dispense with any parameterization of the classification process (non-fixation neither of a number of classes nor of a maximum number of classes ). The indicator is detailed later.
Le filtrage permet d'éliminer les descripteurs peu discriminants. L'élimination des descripteurs sera différente suivant le type de ces derniers. Dans
le cas de données numériques on se base sur un indicateur de pertinence du descripteur.Filtering eliminates unclear descriptors. The elimination of the descriptors will be different according to the type of the latter. In the case of numerical data is based on an indicator of relevance of the descriptor.
Dans le cas des documents, on utilise la fréquence d'apparition d'un descripteur dans l'ensemble du corpus ou tout autre indicateur de mesure de discrimination tel que l'entropie... et on élimine ceux qui sont, a priori, peu discriminants. A l'issue de l'étape de filtrage, on a un nouveau tableau binaire réduit, 35, qui contient un nombre restreint de colonnes. C'est ce nouveau tableau qui sert de données en entrée au procédé de classification automatique décrit par le bloc 36 et détaillé dans les figures 4 et 5.In the case of documents, we use the frequency of occurrence of a descriptor throughout the body or any other indicator of discrimination measurement such as entropy ... and eliminates those which are, a priori, little discriminating. At the end of the filtering step, there is a new reduced bitmap, 35, which contains a small number of columns. It is this new table which serves as input data to the automatic classification process described by block 36 and detailed in FIGS. 4 and 5.
Seuil structurel et critère adapté aux donnéesStructural threshold and criterion adapted to the data
Le procédé selon l'invention utilise un seuil structurel ou indicateur qui a notamment pour fonction de définir un critère d'optimisation adapté aux données.The method according to the invention uses a structural or indicator threshold which has the particular function of defining an optimization criterion adapted to the data.
Pour mieux comprendre son rôle, on rappelle la théorie de l'analyse relationnelle qui se base sur la maximisation du critère de Condorcet simplifié suivant :To better understand its role, we recall the theory of relational analysis that is based on maximizing the following simplified Condorcet criterion:
W=Σ ;=1 Σ ;'=1 I C , -iχ/(C,,,C,,,,) k.' où C , représente le degré de ressemblance entre les deux objets i et ï . Par exemple ;W = Σ, Σ = 1; = 1 I C, -i χ / (C ,, C,,) k. ' where C, represents the degree of resemblance between the two objects i and i. For example ;
et O1 représente le profil de l'objet O1 donné par la ieme ligne du tableau K :and O 1 represents the profile of the object O 1 given by the i- th row of Table K:
01 = {k,1,kι2,-,k,J,-,kψ) et où f(Cπ,Ciγ) est une fonction des accords propres maximaux des individus /' et i' Par exemple : /(CB ,ClV) = |(CB + ClV)0 1 = {k, 1 , k ι2 , -, k, J , -, k ψ ) and where f (C π , C iγ ) is a function of the maximal proper agreements of the individuals / ' and i' For example: / (C B , C IV ) = | (C B + C IV )
f{Cu , CιV) = Mm(C11 ^1,,) etc...f {C u , C ιV ) = Mm (C 11 ^ 1 ,,) etc ...
Xn, est par ailleurs donné par :
1 X n , is also given by: 1
Y _ 11 si les objets i et i sont dans la même classe zz 0 sinonY _ 11 if objects i and i are in the same class zz 0 otherwise
Le procédé selon l'invention est de complexité linéaire dans la mesure où les formules du type ∑∑Cn, et ^^/(C,,,CjV) sont calculablesThe method according to the invention is of linear complexity insofar as the formulas of the type ΣΣC n , and ^^ / (C 1, C jV ) are computable
I I' I I' linéairement. Les fonctions citées en exemple précédemment sont toutes linéarisables. En effet, la mesure de similarité Cn, utilisée est un produit scalaire possédant des propriétés de linéarité connues, la fonction f(Cn,ClY) = — (C,, + C,V) est linéaire, par contre, la fonctionII 'II' linearly. The functions previously exemplified are all linearizable. Indeed, the similarity measure C n used is a scalar product having known linearity properties, the function f (C n , C lY ) = - (C 1 + C, V ) is linear, however, the function
f (C11 , Cn.) = Mm(Cn , C ,,,,) n'est pas linéaire. Cependant, on peut linéariser les calculs du type ∑∑Min(Cn,ClV) . i /'f (C 11 , C n ) = Mm (C n , C ,,,,) is not linear. However, one can linearize the calculations of the type ΣΣMin (C n , C lV ). i / '
L'invention à titre illustratif décrit le cas particulier f(Cn, CιV) - Min(Cn , ClY) particulièrement adapté aux bases contenant un nombre important de données manquantes et les procédures qui permettent de calculer avec une complexité linéaire les calculs du type ∑∑Min(Cn ,ClV) .The invention for illustrative purposes describes the particular case f (C n , C ιV ) - Min (C n , C lY ) particularly suitable for bases containing a large number of missing data and the procedures that make it possible to calculate with a linear complexity the Calculations of the type ΣΣMin (C n , C lV ).
Le procédé selon l'invention met par exemple en œuvre le critère suivant :The method according to the invention implements, for example, the following criterion:
Cβ«) = ∑∑[C, -a χf(Cπ,Cή,)]Xn,C β ") = ΣΣ [C, -a χf (C π , C ή ,)] X n ,
;=1 /'=1= 1 / '= 1
∑∑Contribu,X,, ι=l ι'=ïΣΣContrib u , X ,, ι = l ι '= ï
où a est un seuil et la quantité Contribn, la contribution unitaire des deux objets i et /' au critère C (JQ .where a is a threshold and the quantity Contrib n , the unit contribution of the two objects i and / 'to criterion C (JQ.
Selon l'invention, le paramètre seuil structurel as est calculé automatiquement. Il s'agit d'un indicateur qui est une fonction des n2 accords entre les objets à classifier :
On peut donner comme exemple, sa formulation lorsqu'il représente le rapport entre la moyenne arithmétique des accords entre tous les objets sur la moyenne arithmétique de leurs accords maximaux. :According to the invention, the structural threshold parameter a s is calculated automatically. It is an indicator that is a function of the n 2 agreements between the objects to be classified: We can give as an example, its formulation when it represents the ratio between the arithmetic average of the agreements between all the objects on the arithmetical average of their maximal chords. :
Cette formule est linéarisable lorsque l'on se place dans les mêmes conditions que celles évoquées précédemment. Le critère Ca* (X) utilisé dans l'invention consiste, par exemple, à comparer les accords entre deux objets quelconques au produit du seuil as par leur accord maximal (ce qui représente un pourcentage de l'accord maximal).This formula is linearizable when one places oneself in the same conditions as those mentioned above. The criterion C a * (X) used in the invention consists, for example, in comparing the agreements between any two objects with the product of the threshold a s by their maximum agreement (which represents a percentage of the maximum agreement).
Ainsi, deux objets seront a priori dans une même classe dés lors que leur similarité est supérieure ou égale au pourcentage d'accord maximal calculé (contribution positive).Thus, two objects will be a priori in the same class as long as their similarity is greater than or equal to the calculated maximum agreement percentage (positive contribution).
Procédé de classification automatique de l'inventionAutomatic classification method of the invention
Le procédé de classification 36 est décrit en détail dans la figure 4. Le point de départ est le tableau de données binaires 35 dont les descripteurs ont été filtrés.The method of classification 36 is described in detail in FIG. 4. The starting point is the array of binary data whose descriptors have been filtered.
La première étape du procédé de classification qui consiste à trier les descripteurs, 40, repose sur une mesure de la contribution au critère de chaque descripteur (qualité d'un descripteur). On utilise, par exemple, les descripteurs comme « générateurs » de structuration de la population des objets à classifier. Un descripteur est représenté par un vecteur colonne de 1 et de 0 (présence-absence). On associe à ce descripteur une classe qui est composée des objets dont la valeur prise est 1. On peut alors calculer pour chaque classe d'objets Cq sa mesure de contribution Contrib(Cq) au critère global :The first step of the classification process of sorting the descriptors, 40, is based on a measure of the contribution to the criterion of each descriptor (quality of a descriptor). For example, descriptors are used as "generators" for structuring the population of the objects to be classified. A descriptor is represented by a column vector of 1 and 0 (presence-absence). We associate with this descriptor a class which is composed of the objects whose value taken is 1. We can then calculate for each class of objects C q its contribution measure Contrib (C q ) to the global criterion:
Contrib{Cq ) = ∑ ∑ Contrit,,, = ∑ ∑ Cn, - a x ∑ ∑ /(C,, , Cn, ) [1 ] leCqi'eCq leCqi'eCq l≡Cqi'eCq
L'évaluation de la contribution d'une classe est de complexité polynomiale. En effet, supposons que tous les objets constituent une seule classe, il faudrait alors calculer n1 contributions unitaires afin de déterminer la valeur du critère.Contrib (C q ) = Σ Σ Contrd ,,, = Σ Σ C n , - ax Σ Σ / (C ,,, C n ,) [1] leCqi'eCq leCqi'eCq l≡Cqi'eCq The evaluation of the contribution of a class is of polynomial complexity. In fact, suppose that all the objects constitute a single class, it would then be necessary to calculate n 1 unitary contributions in order to determine the value of the criterion.
Dans le cas où Cn, est un produit scalaire, la première partie de la formule de droite, , se simplifie de la manière suivante :
In the case where C n , is a dot product, the first part of the formula on the right,, is simplified as follows:
où Rq = (r9 ,r9 ' ,• • • • • ,rp q ) est appelé représentant de la classe Cq dont les termes sont donnés par la somme en colonne de chaque modalité du tableau K pour les objets de la classe : r? = ∑k,, . where R q = (r 9 , r 9 ' , • • • • •, r p q ) is called a representative of the class C q whose terms are given by the sum in column of each modality of the table K for the objects of the class: r? = Σk ,,.
I ^Cq Chaque valeur r? , j=\,...,p , représente le nombre d'objets de la classe Cq qui possède la modalité / .I ^ Cq Each value r? , j = \, ..., p, represents the number of objects of the class C q which has the modality /.
Dans le cas où f (Cn , ClV) = MIn(Cn , CιV) , la deuxième partie de la formule de droite de l'équation [1] vaut ]T ^ Mm(C11, C lV) . Nous donnons ci-dessous la leCqi'eCq procédure permettant de calculer avec une complexité linéaire cette quantité.In the case where f (C n , C lV ) = MIn (C n , C ιV ), the second part of the formula on the right of equation [1] is equal to T ^ Mm (C 11 , C IV ). We give below the leCqi'eCq procedure allowing to compute with a linear complexity this quantity.
*************************************************************************** ***** ***** ************** ***** ********* ***** * * ***** *************************
Procédure MinCC (Classe C)MinCC procedure (Class C)
Nécessite : CαrdC > 0Requires: CαrdC> 0
Nécessite : Liste triée d'individus pour la classe C Entier : résultat - 0Requires: Sorted list of individuals for class C Integer: result - 0
Entier : j = prochain élément de CInteger: j = next element of C
Entier : i = 0Integer: i = 0
Tant que la classe C n'est pas parcourue Faire résultat = résultat + [(CardC -i) x2 -l]x C M j = prochain élément de C i = i + lAs long as the class C is not traveled Make result = result + [(CardC -i) x2 -l] x C M j = next element of C i = i + l
Fin tant queEnd as long as
***********************************************************************************************
On a ainsi pour chaque descripteur q la valeur de la contribution de la classe engendrée par ce dernier ou encore une mesure de la qualité du descripteur vis à vis du critère. On procède alors à un tri, par exemple, par ordre décroissant de ces contributions afin d'obtenir un ordre de prise en compte des descripteurs. Le choix de cet ordre a très peu d'influence sur la qualité du résultat (il peut y avoir quelques différences locales minimes). Cependant, prendre les classes engendrées par les descripteurs de meilleures contributions en premier, permet d'avoir une solution stable plus rapidement et donc d'accélérer le processus de calcul de la meilleure partition 41 issue de l'intersection entre la partition courante et celle engendrée par un descripteur. ************************************************** ********************************************* Thus, for each descriptor q, the value of the contribution of the class generated by the latter or a measure of the quality of the descriptor with respect to the criterion. This is followed by sorting, for example, in descending order of these contributions in order to obtain an order of taking into account the descriptors. The choice of this order has very little influence on the quality of the result (there may be some local differences). However, taking the classes generated by the descriptors of better contributions first, makes it possible to have a stable solution more quickly and thus to accelerate the process of calculating the best partition 41 resulting from the intersection between the current partition and that generated by a descriptor.
Ce processus 41 consiste notamment à « fusionner » progressivement 42, une classe engendrée par un descripteur 40, et une partition courante (composée de plusieurs classes). Cette opération de « fusion » consiste à déterminer à partir de deux classes en intersection la meilleure opération (au sens du critère) parmi les 4 suivantes :This process 41 consists in particular of "fusing" progressively 42, a class generated by a descriptor 40, and a current partition (composed of several classes). This "merge" operation consists in determining from two classes in intersection the best operation (in the sense of the criterion) among the following 4:
• « Cassage » de la première classe et formation de deux classes; ® « Cassage » de la deuxième classe et formation de deux classes;• "Breakage" of the first class and formation of two classes; ® "Breakage" of the second class and formation of two classes;
• « Cassage » des deux classes pour former trois classes ;• "Breakage" of the two classes to form three classes;
® Réunion des deux classes en intersection pour former une unique classe. Ces opérations sont illustrées dans la figure 6 et les calculs permettant de décider de la meilleure opération dans la figure 7.® Meeting the two classes in intersection to form a single class. These operations are illustrated in FIG. 6 and the calculations making it possible to decide on the best operation in FIG. 7.
Ce processus revient à construire pas à pas une partition qui optimise localement et progressivement le critère global.This process amounts to building step by step a partition which optimizes locally and progressively the global criterion.
Une fois que tous les descripteurs sont utilisés, on considère la partition obtenue P0 comme une première partition finalisée des objets 43.Once all the descriptors are used, we consider the resulting partition P 0 as a first finalized partition of the objects 43.
Pendant la phase de « fusion » (40, 41 , 42) des classes, on essaie de « fusionner » uniquement les classes qui possèdent des intersections. L'objet du traitement 44 est de fusionner, c'est-à-dire réunir des classes qui n'ont pas d'intersection si cette opération permet d'optimiser le critère (test de fusion des classes de la partition obtenue entre elles). Ceci conduit à une partition modifiée 45, pu partition de niveau 1 , qui constitue la partition finale du procédé de classification.During the "merge" phase (40, 41, 42) of classes, we try to "merge" only classes that have intersections. The purpose of the processing 44 is to merge, that is to say to bring together classes that have no intersection if this operation makes it possible to optimize the criterion (class fusion test of the partition obtained between them) . This leads to a modified partition 45, or level 1 partition, which constitutes the final partition of the classification process.
Cette partition 45 constitue l'entrée du processus d'agrégation des classes, 46, qui est décrit dans la figure 8.
La figure 5 représente un exemple de schéma fonctionnel du traitementThis partition 45 constitutes the input of the class aggregation process, 46, which is described in FIG. FIG. 5 represents an example of a functional diagram of the treatment
41. Ce dernier consiste notamment à « fusionner » une nouvelle classe engendrée par un descripteur X notée Cx , 50, avec la partition courante P constituée de K classes 51. Le processus est le suivant : • Calcul des intersections entre les classes de la partition P et la classe Cx ,41. The latter consists in particular of "merging" a new class generated by a descriptor X denoted C x , 50, with the current partition P consisting of K classes 51. The process is as follows: • Calculation of the intersections between the classes of the partition P and the class C x ,
52, • Tri de l'ensemble A des classes Cy de la partition P en intersection avec la classe Cx dans l'ordre décroissant du cardinal de leur intersection, 53, par exemple, • Pour chaque classe Cy , 55, de l'ensemble A , fusionner les deux classes52, • Sort of the set A of the classes C y of the partition P in intersection with the class C x in descending order of the cardinal of their intersection, 53, for example, • For each class C y , 55, of set A, merge the two classes
Cv et Cx , 54.C v and C x , 54.
On parcourt toutes les intersections entre Cx et P et une fois que toutes les classes C de A ont été fusionnées avec Cx , 55, on obtient une nouvelle partition des objets qui améliore le critère global et qui devient alors la nouvelle partition courante 51. L'étape suivante consiste à passer à un nouveau descripteur, 42, et on répète ce processus jusqu'à ce que tous les descripteurs aient été parcourus.We cross all the intersections between C x and P and once all the classes C of A have been merged with C x , 55, we obtain a new partition of the objects which improves the global criterion and which then becomes the new current partition 51 The next step is to move to a new descriptor, 42, and repeat this process until all descriptors have been traversed.
Le cardinal des éléments de l'ensemble des intersections d'une classe Cx avec les classes d'une partition P, 52, peut être obtenu linéairement de la manière décrite ci-après.The cardinal of the elements of the set of intersections of a class C x with the classes of a partition P, 52, can be obtained linearly in the manner described hereinafter.
On considère la classe Cx comme la classe dont on désire évaluer l'intersection avec une partition P . A cette classe, on associe une liste triée, par exemple, par ordre croissant des indices des objets qu'elle contient. En effet chaque objet est identifié par un entier unique qui est son indice. Pour trier les objets, on utilise par exemple un tri linéaire (par exemple le tri par base dont une référence est la suivante : Cormen et al (2002), Introduction à l'algorithmique, Dunod) puisque l'on connaît la borne supérieure des valeurs à trier.
Pour l'opération de calcul du cardinal des intersections, on utilise un vecteur A de dimension n pour lequel chaque dimension i représente l'indice de la classe où est stocké l'individu O1.Class C x is considered as the class whose intersection with a partition P is to be evaluated. In this class, we associate a sorted list, for example, in ascending order of the indices of the objects it contains. Indeed each object is identified by a unique integer which is its index. To sort the objects, one uses for example a linear sorting (for example the sorting by base whose reference is the following one: Cormen et al (2002), Introduction to the algorithmic, Dunod) since one knows the upper bound of values to sort. For the operation of calculating the cardinal of the intersections, we use a vector A of dimension n for which each dimension i represents the index of the class where the individual O 1 is stored.
Exemple de calcul de cardinaux d'intersections :Example of calculation of intersection cardinals:
Si on prend une population de 6 objets O11O7,- - -,O6 et une partition courante de ces objets P, 51 , constituée de trois classes
If we take a population of 6 objects O 11 O 7 , - - -, O 6 and a current partition of these objects P, 51, consisting of three classes
Le vecteur A est égal à :The vector A is equal to:
Ainsi si on « fusionne » la partition existante avec une classe Cx = [O2, 03, 04, 06] 50, on est capable de trouver rapidement le cardinal de l'ensemble intersection de la classe Cx avec les classes de la partition existante, en l'occurrenceThus if we "merge" the existing partition with a class C x = [O 2 , 0 3 , 0 4 , 0 6 ] 50, we are able to quickly find the cardinal of the intersection set of the class C x with the classes of the existing partition, in this case
Cαrd(lnter(Cx Cx )) = 1 , Cαrd(lnter{C2 Cx )) = 3 et Cαrd(lnter(Cχ Cx )) = 0. Le nombre d'opérations effectuées lors du calcul des intersections 52 est égal au nombre d'objets dans la classe Cx à fusionner avec la partition P . En effet, on regarde pour chaque objet de la nouvelle classe s'il appartient à une classe de la partition P , si oui on incrémente le compteur d'intersection de cette classe.Cαrd (lnter (C x C x )) = 1, Cαrd (lnter {C 2 C x )) = 3 and Cαrd (lnter (C χ C x )) = 0. The number of operations performed when calculating intersections 52 is equal to the number of objects in the class C x to merge with the partition P. Indeed, we look for each object of the new class if it belongs to a class of the partition P, if yes we increment the intersection counter of this class.
S'il existe plusieurs intersections entre une classe Cx et une partition P , on calcule comme indiqué ci-dessus, le cardinal des différentes intersections entre Cx et les différentes classes Cy de la partition P afin d'avoir un ordre de prise en compte.If there are several intersections between a class C x and a partition P, we calculate as indicated above, the cardinal of the different intersections between C x and the different classes C y of the partition P in order to have a take order into account.
A partir de l'intersection de Cx et d'une classe Cy de la partition P , on évalue quelle est la meilleure configuration parmi celles présentes dans la figure 6. Pour cela, on évalue les quantités identifiées dans la figure 7. Les figures 6 et 7 expliquent donc un exemple d'opérations de base de l'invention qui sont représentées par le traitement 54.
Le processus de « fusion » de deux classes est par exemple le suivant.From the intersection of C x and a class C y of partition P, we evaluate what is the best configuration among those present in FIG. 6. For this, the quantities identified in FIG. FIGS. 6 and 7 therefore explain an example of basic operations of the invention represented by the processing 54. The process of "merging" two classes is, for example, the following.
Soient Rx et Ry les vecteurs représentant des classes Cx et Cy , on construit les vecteurs Ra , Rb et Rc définis par :Let R x and R y be the vectors representing classes C x and C y , let the vectors R a , R b and R c be defined by:
R" = Ry -Rc Rb = RX -RC où Cc -Cx
est la classe définie par l'intersection de Cx et C (les objets à la fois dans la classe Cx et dans Cy ) et Rc son représentant. R" représente donc les objets qui sont uniquement dans Cy et Rb ceux qui sont uniquement dans Cx .R "= R y -R c R b = R X -R C where C c -C x is the class defined by the intersection of C x and C (the objects in both the class C x and in C y ) and R c is its representative. R "therefore represents the objects which are only in C y and R b those which are only in C x .
Au définira respectivement CardA, CardB et CardC comme les cardinaux des classes représentées par R" , Rb et Rc .At will define respectively CardA, CardB and CardC as the cardinals of the classes represented by R ", R b and R c .
Les deux listes d'objets contenus dans les classes Cy et Cx sont triées par ordre croissant de leur indice. On peut donc appliquer la procédure classique suivante pour calculer rapidement les trois vecteurs :The two lists of objects contained in the classes C y and C x are sorted in ascending order of their index. We can therefore apply the following standard procedure to quickly calculate the three vectors:
****************************************************************************************** Procédure de Calcul vecteurs (Classe Cx , Classe Cy) ************************************************** **************************************** Vector Calculation Procedure (Class C x , Class C y )
Rα = Ry R α = R y
Rb = RX R b = R X
Rc = 0R c = 0
CαrdA = CαrdB = CαrdC = 0CαrdA = CαrdB = CαrdC = 0
L1 = liste des objets de Cy e = tête de la liste Lx L2 = liste des objets de Cx / = tête de la liste L2 L 1 = list of objects of C y e = head of the list L x L 2 = list of objects of C x / = head of the list L 2
Tant que la liste L1 n'est pas parcourue Faire Tant que la liste L2 n'est pas parcourue Faire Si e = f Faire Re = Ô.
R" = Ra - Re Rb = Rb - Re As long as the list L 1 is not traversed Make As long as the list L 2 is not traversed Do If e = f Make R e = Ô. R "= R a - R e R b = R b - R e
Rc = RC + Re e = tête de la liste L1 f = tête de la liste L2 cardC = cardC + 1 Sinon Si e < /Faire e = tête de la liste L1 cardA = cardA + 1 SinonR c = R C + R e e = head of the list L 1 f = head of the list L 2 cardC = cardC + 1 Else If e </ Do e = head of the list L 1 cardA = cardA + 1 Else
/ = tête de la liste L2 cardB = cardB + 1/ = head of the list L 2 cardB = cardB + 1
Fin Si Fin Tant queEnd If End As long as
Fin Tant queEnd as long as
*********************************************************************************************** A partir de ces trois vecteurs, il est possible de choisir la meilleure solution parmi les quatre suivantes, ces dernières étant représentées sur un exemple dans la figure 6 : ************************************************** ********************************************* From these three vectors, it is possible to choose the best solution from the following four, the latter being represented on an example in Figure 6:
© « casser » la classe Cy pour former les deux classes suivantes : Cy - Cx et© "break" the class C y to form the two following classes: C y - C x and
Cx ® « casser » la classe Cx pour former les deux classes suivantes : Cx - C1, etC x ® "break" the class C x to form the two following classes: C x - C 1 , and
® « casser » la classe Cx et « casser » la classe Cy pour former les trois classes suivantes : Cx - Cy , Cy - Cx et Cy n Cx • fusionner les deux classes pour former une unique classe : C u C( . Le choix de la meilleure des quatre solutions se base, par exemple, sur l'évaluation des « liens » entre les 3 différentes sous-classes mises en évidence ci-
dessus. Le calcul général du « lien » entre deux classes Cq et Cq, est donné par la formule suivante :® "break" the class C x and "break" the class C y to form the following three classes: C x - C y , C y - C x and C y n C x • merge the two classes to form a single class . C u C (choosing the best of the four solutions is based, for example, on the assessment of "links" between different 3 subclasses highlighted below above. The general calculation of the "link" between two classes C q and C q , is given by the following formula:
Lien(Cq,C9. ) = ∑ ∑Contrib,,, =∑ ∑ (C11, - a x /(C1, , C,v ))Link (C q , C 9 ) = Σ ΣContrib ,,, = Σ Σ (C 11 , - ax / (C 1 ,, C, v ))
<sC/eCV !eC/eCV <sC / eC V ! eC / eC V
Lorsque la mesure de similarité est un produit scalaire, et lorsque f (C1nC1,,,) - Min(Cπ, C lY) , on peut comme précédemment, linéariser le calcul du lien entre deux classes distinctes. Le procédé utilise pour cela les propriétés de linéarité du produit scalaire, ce qui donne la simplification suivante :When the measure of similarity is a scalar product, and when f (C 1n C 1 ,,,) - Min (C π , C lY ), one can as before, linearize the computation of the link between two distinct classes. The method uses for this the properties of linearity of the dot product, which gives the following simplification:
Lien(Cq,C , ) =< R" ,R9' > -a x ∑ ∑ Mm(C11, C1,,,) l≡Cqi'≡Cq'Link (C q , C,) = <R ", R 9 ' > -ax Σ Σ Mm (C 11 , C 1 ,,,) l≡Cqi'≡Cq'
On peut aussi utiliser la procédure suivante qui permet d'évaluer avec une complexité linéaire la quantité ∑ ∑jMin(C11,C1,1,) : leCqi'εCq' ***********************************************************************************************One can also use the following procedure which makes it possible to evaluate with a linear complexity the quantity Σ Σ j Min (C 11 , C 1 , 1 ,): leCqi'εCq '************* ************************************************** ********************************
Procédure MinCC (Classe C, Classe C)MinCC procedure (Class C, Class C)
Nécessite : CαrdC > 0Requires: CαrdC> 0
Nécessite : CαrdC '> 0 Nécessite : Liste triée d'individus pour les classes C et CRequires: CαrdC '> 0 Requires: Sorted list of individuals for classes C and C
Entier : résultat - 0Whole: result - 0
Entier : nb _lignes = CardCInteger: nb _lines = CardC
Entier : nb _cols = CardCInteger: nb _cols = CardC
Entier : j = prochain élément de C Entier : f = prochain élément de CInteger: j = next element of C Integer: f = next element of C
Tant que la classe C n'est pas parcourue et la classe C n'est pas parcourue FaireAs long as class C is not covered and class C is not covered Do
Si j < f faire résultat - résultat + nb_ cols x C j = prochain élément de C nb __ lignes — nb_ lignes — 1 SinonIf j <f result - result + nb_ collars x C j = next element of C nb __ rows - nb_ rows - 1 Otherwise
Si j'< j faire
résultat = résultat + nb lig CJnes x C J .J , f = prochain élément de C nb ___ cols -nb _ cols — 1 Sinon résultat - résultat + (nb _ cols + nb__ lignes - 1) x C ff j = prochain élément de C f = prochain élément de C nb _ lignes = nb _ lignes — 1 nb _ cols -nb _ cols — 1 Fin SiIf I do result = result + nb lig CJnes x CJ .J, f = next element of C nb ___ necks -nb _ necks - 1 Otherwise result - result + (nb _ necks + nb__ rows - 1) x C ff j = next element of C f = next element of C nb _ lines = nb _ lines - 1 nb _ necks -nb _ necks - 1 End If
Fin SiEnd if
Fin tant queEnd as long as
******************************************************************************************************************************************** ****************************************
Dans le cadre de l'intersection entre deux classes, le procédé évalue les trois quantités suivantes qui sont représentées sur un exemple dans la figure 7 :In the context of the intersection between two classes, the method evaluates the following three quantities which are represented on an example in Figure 7:
Lieni=Lien(Cy-Cc,Cx-Cc)=<Ra ,Rb >-ax ∑ ∑/(CU,C,,) i≡CyiΛieCc l'eCxnj'ïCcLie n = (C y -C c , C x -C c ) = <R a , R b > -ax Σ Σ / (C U , C ,,) i≡CyiΛieCc eCxnj'ïCc
Lien2 = Lien(Cy -CC,CJ=< R" ,RC >-ax ∑ ∑f(C,,,ClY) ifΞCymeCc l'eCcLink Link 2 = (C y C C CJ = <R ", R C> -ax Σ Σf (C ,,, C lY) ifΞCymeCc ECC
Lien3=Lien(Cx-Cc,Cc)=<Rb,Rc>-ax ∑ ∑ /(Cn, C1,,) leCxmeCc l'eCcLink 3 = Link (C x -C c , C c ) = <R b , R c > -ax Σ Σ / (C n , C 1 ,,) leCxmeCc eCc
Ainsi, pour maximiser localement le critère global :Thus, to locally maximize the global criterion:
• Si Lien, +Lien2 + Lien3 est la plus grande, on choisit la solution 4 (fusion des deux classes) ;• If Link, + Link 2 + Link 3 is the largest, choose solution 4 (merge of the two classes);
• Si Lien 2 est la plus grande, on choisit la solution 2 (« cassage » de Cx ) ;• If Link 2 is the largest, choose solution 2 ("breaking" of C x );
• Si Lien3 est la plus grande, on choisit la solution 1 (« cassage » de C1 ) ; ® Si 0 est la plus grande, autrement dit que Lien} +Lien2 +Lien3 < 0, Lien, < 0 et Lien3 < 0 , alors on choisit la solution 3 (« cassages » de Cx et de Cv ).
Une fois que la classe Cx , 50, est fusionnée avec la première classe C , , on continue le traitement avec les autres classes de la partition P en intersection avec la classe Cx , 55,. Pour cela, la classe Cx sera transformée en classe Cx, : @ Si Ia solution 1 est choisie, Cx, = Cx • If Link 3 is the largest, choose solution 1 ("breaking" of C 1 ); Si If 0 is the largest, that is to say that Link } + Link 2 + Link 3 <0, Link, <0 and Link 3 <0, then choose solution 3 ("breaks" of C x and C v ) . Once the class C x , 50, is merged with the first class C, we continue the processing with the other classes of the partition P in intersection with the class C x , 55 ,. For this, the class C x will be transformed into class C x : @ If the solution 1 is chosen, C x , = C x
• Si la solution 2 est choisie, Cx, = Cx ~ Cy • If solution 2 is chosen, C x , = C x ~ C y
• Si la solution 3 est choisie, Cx, = Cx - Cv • If solution 3 is chosen, C x , = C x - C v
• Si la solution 4 est choisie, Cx, = Cx vj Cy • If solution 4 is chosen, C x , = C x vj C y
Dans tous les cas, la nouvelle classe Cx, contient les objets qui peuvent appartenir aux autres classes de la partition P puisqu'on sait, par avance, qu'aucun objet de la classe Cy ne peut appartenir à une autre classe de la partition P .In any case, the new class C x , contains the objects that can belong to the other classes of the partition P since we know, in advance, that no object of the class C y can belong to another class of the score P.
Procédure de retrait d'objets à une classeHow to remove objects to a class
Pour retirer un ensemble d'objets Δ d'une classe, il suffit de retirer Δ de la liste d'objets de la classe et de retrancher le représentant RΔ du représentant de la dite classe. Par exemple, lors de l'opération Cx, = CX - CV , RA est égal à Rc .To remove a set of objects Δ from a class, it suffices to remove Δ from the list of objects of the class and to subtract the representative R Δ from the representative of said class. For example, during the operation C x = C X - C V , R A is equal to R c .
En effet, on retranche à la classe Cx , les objets en intersection représentée par le représentant Rc . Ainsi Rx' = RX - Rc .Indeed, we subtract from the class C x , the objects in intersection represented by the representative R c . Thus R x ' = R X - R c .
De cette manière, les opérations de « cassage » ne nécessitent pas de temps de calcul importants puisque la quantité retranchée au représentant de la classe est toujours égale au vecteur Rc qui est déjà calculé. D'autre part, le retrait des objets de la liste est une opération simple et linéaire.In this way, the "breaking" operations do not require a large calculation time because the quantity subtracted from the class representative is always equal to the vector R c which is already calculated. On the other hand, removing objects from the list is a simple, linear operation.
Procédure de Réunion de deux classes Dans cette procédure, on connaît le représentant de l'intersection de C1 et C2 (défini par Rc ci-dessus) et le cardinal de l'intersection (défini par CαrdC ci- dessus). On cherche donc à créer la classe C1 u C2 , sans effectuer de tri linéaire complet.
*********************************************************************************************** Reunion procedure of two classes In this procedure, we know the representative of the intersection of C 1 and C 2 (defined by R c above) and the cardinal of the intersection (defined by CαrdC above). We thus seek to create the class C 1 u C 2 , without performing a complete linear sorting. ************************************************** *********************************************
Procédure Réunion (Classe C1 , Classe C2 , Représentant Inter, EntierMeeting Procedure (Class C 1 , Class C 2 , Inter Representative, Whole
Cαrdlnter)Cαrdlnter)
Vecteur temporaire de taille (CαrdC , + CαrdC 2 - Cαrdlnter) Entier position = 0Temporary vector size (CαrdC, + CαrdC 2 - Cαrdlnter) Integer position = 0
Lx = liste des objets de C1 e = tête de la liste Lx L2 = liste des objets de C2 / = tête de la liste L2 Tant que la liste L1 n'est pas parcourue FaireL x = list of objects of C 1 e = head of the list L x L 2 = list of objects of C 2 / = head of the list L 2 As long as the list L 1 is not covered Do
Tant que la liste L2 n'est pas parcourue Faire Si e = f Faire el = e e = tête de la liste Lx / = tête de la liste L2 As long as the list L 2 is not traversed Do If e = f Make el = ee = head of the list L x / = head of the list L 2
Sinon Si e < / Faire el = e e = tête de la liste L1 Sinon el = f f = tête de la liste L2 Fin SiOtherwise If e </ Do el = ee = head of the list L 1 El = ff = head of the list L 2 End If
Temporaire[position] = el Position = position + 1 Fin Tant queTemporary [position] = el Position = position + 1 End As long as
Fin Tant que Recopie Temporaire dans la liste des objetsEnd As Temporary Copy In The Object List
Représentant = Représentant ( C1 ) + Représentant ( C0 ) - Inter ***********************************************************************************************
Procédure Regrouper (Partition P) 44Representative = Representative (C 1 ) + Representative (C 0 ) - Inter ********** ************* ************ ******* *** ** * *********** ************ ********** **** *** ******* Consolidate Procedure (Partition P) 44
Soit K le nombre de classes de la partition PLet K be the number of classes of the partition P
Pour chaque classe Cq de la partition P , on calcule Contrib(Cq )For each class C q of the partition P, one calculates Contrib (C q )
Soit Cx la classe qui possède la contribution la plus forte Nous calculons le vecteur S de κ — \ valeurs définies par :Let C x be the class with the strongest contribution We calculate the vector S of κ - \ values defined by:
S = (sv s2,..., sk_, ) et oùS = (s v s 2 , ..., s k _,) and where
[ LUm(C x,C, ) ά l < x[LUm (C x , C,) ά l <x
S' [Lien(C x, C1+1 ) si I > x S '[Link (C x , C 1 + 1 ) if I> x
Pour toutes les valeurs de Lien positives de S , on va fusionner les classes correspondantes. L'ensemble de ces classes seront marquées comme affectées et ne pourront plus être fusionnées par la suite. On itère le processus avec l'ensembleFor all the positive link values of S, we will merge the corresponding classes. All of these classes will be marked as affected and can not be merged later. Iterates the process with the whole
K' des classes non marquées.K 'unmarked classes.
Procédé d'agrégation hiérarchique des classes de l'invention Dans la figure 8, est représenté un exemple d'architecture du procédé d'agrégation hiérarchique des classes en méta-classes.Hierarchical aggregation method of the classes of the invention In FIG. 8, an example of an architecture of the hierarchical aggregation method of the classes in meta-classes is represented.
Ce procédé consiste, notamment, à regrouper sur plusieurs niveaux (le nombre de niveaux est à fixer par l'utilisateur) les classes entre elles. L'optimisation du critère global passe, par exemple, par la maximisation des liens entre les classes constituées. En d'autres termes, les classes obtenues doivent, in fine, avoir des liens négatifs. Or, le calcul des liens est fondé sur la définition de la contribution Contrit^, d'une paire (i,f) d'objets. On rappelle ci-dessous la définition de la contribution d'une paire d'objets lorsque la fonction / est la fonction Minimum : Contribu, = C11, - α x MIn(Cn , C,,,,) Le procédé d'agrégation des classes, proposé par l'invention, consiste alors à diminuer à chaque niveau, la valeur du seuil structurel 80, de sorte que les contributions faiblement négatives puissent devenir positives. De cette manière, le lien entre deux classes peut devenir positif ce qui permet de les regrouper 81 , et de mettre en évidence des relations entre les classes d'une partition. On répète ce processus autant de fois qu'il y a de niveaux 82. On obtient alors un ensemble de
partitions emboîtées 83, qui permet de détecter des relations hiérarchiques et conceptuelles (sur plusieurs niveaux) entre les classes considérées initialement dans la partition 45. L'invention, par ce principe, permet ainsi de faire de la découverte de connaissances. La procédure d'agrégation hiérarchique des classes d'un niveau j à un niveau y + 1 est similaire à la procédure Regrouper décrite ci-dessus.This method consists, in particular, in grouping on several levels (the number of levels is to be set by the user) classes between them. The optimization of the global criterion passes, for example, by maximizing the links between the classes formed. In other words, the classes obtained must ultimately have negative links. Now, the calculation of the links is based on the definition of the contribution Contrit ^ , of a pair (i, f) of objects. The definition of the contribution of a pair of objects is described below when the function / is the function Minimum: Contrib u , = C 11 , - α x MIn (C n , C ,,,,) The process of class aggregation, proposed by the invention, then consists in decreasing at each level the value of the structural threshold 80, so that the weakly negative contributions can become positive. In this way, the link between two classes can become positive which makes it possible to group them 81, and to highlight relations between the classes of a partition. This process is repeated as many times as there are levels 82. We then obtain a set of nested partitions 83, which makes it possible to detect hierarchical and conceptual relationships (on several levels) between the classes considered initially in the score 45. The invention, by this principle, thus makes it possible to make the discovery of knowledge. The hierarchical aggregation procedure for classes from a level j to a level y + 1 is similar to the grouping procedure described above.
Calculs permettant l'évaluation de la qualité des résultats de classification de l'invention On donne ici les formules théoriques des indices de mesure de la qualité de la solution obtenue qui s'expriment en pourcentage. Plus l'indice est proche de 100%, plus la qualité de la solution étudiée (qualités partition, classe ou individu) est bonne.Calculations allowing the evaluation of the quality of the classification results of the invention The theoretical formulas of the indices of measurement of the quality of the solution obtained, expressed as a percentage, are given here. The closer the index is to 100%, the better the quality of the studied solution (partition, class or individual qualities).
On introduit tout d'abord quelques notations :We first introduce some notations:
L'accord entre deux classes : Acσ - ^ ]T C11,
The agreement between two classes: A cσ - ^] TC 11 ,
L'accord maximal entre deux classes : AM cc, = ∑ ∑f (C111C1.,.) ιeC l'eCThe maximum agreement between two classes: AM cc , = Σ Σf (C 111 C 1 .,.) ΙeC eC
Le désaccord entre deux classes : A ^rCrC, -~ A ΛM1V± rCrC. - A Λ rCrC,The disagreement between two classes: A ^ r C r C - ~ A Λ ± 1V M r C r C - A Λ r C r C
La qualité finale de la partition obtenue est donnée par :The final quality of the score obtained is given by:
∑Acc +∑ ∑Âcc ∑Ac -∑ ∑Acσ + ∑ V∑A ΛMλ/t C, CΣA cc + Σ Σ cc ΣAc -Σ ΣA cσ + Σ VΣA ΛMλ / t C, C
C=I C=I C'≠C _ C=I C=I C'≠C C=I C≠CC = I C = I C '≠ C _ C = I C = I C' ≠ C C = I C ≠ C
Q =Q =
∑∑^cc ∑∑AMccΣΣ ^ cc ΣΣAMcc
C=I C=I C=I C=I où K est le nombre de classes de la partition.Where C is the number of classes of the partition.
La qualité d'une classe C est donnée par :The quality of a class C is given by:
Acc + 2x ∑Âcc ACc -2x ∑Acc + 2x ∑AMt CC C'≠C _ C'≠C C≠CA cc + 2x Σ cc A Cc -2x ΣA cc + 2x ΣAM t CC C '≠ C _ C' ≠ CC ≠ C
Qc C = NbCl NbClQ c C = NbCl NbCl
AM cC + 2 x ^ AM cσ AM cc +2^ γjA 4M λyfAM cC + 2 x ^ AM cσ AM cc + 2 ^ γ j At 4M λyf
CcCC c C
C'≠C C'≠C
La qualité d'un objet i appartenant à une classe C est donnée par :C '≠ C C' ≠ C The quality of an object i belonging to a class C is given by:
ΣC«' +∑Q. ∑C, -∑Cπ, + ∑/(CB,C,,) p. _ i'eC t'tC _ l'eC (VC ι^C_Σ C '' + ΣQ. ΣC, -ΣC π , + Σ / (C B , C ,,) p. _ i'eC eCt _ eC (VC ι ^ C_
∑f(Cu,CιV) ∑/(CB,C,V)Σf (C u , C ι V ) Σ / (C B , C, V )
,'=1 ,'=1 où Cn, = f(Cu,ClY) - Cn, est le désaccord entre l'individu i et l'individu i'., '= 1,' = 1 where C n , = f (C u , C lY ) - C n , is the disagreement between the individual i and the individual i '.
Les sommes sur les termes Acσ sont linéarisâmes lorsque les similarités Cn, sont des produits scalaires grâce aux propriétés de linéarité de ces derniers. On donne ci-dessous des exemples de procédures permettant de calculer linéairement les quantités suivantes intervenant dans les différentes formules de qualités lorsqueThe sums on the terms A cσ are linearized when the similarities C n , are scalar products thanks to the properties of linearity of these last ones. Examples of procedures for calculating linearly the following quantities occurring in the different quality formulas are given below.
/(C,,,ClV) =M«(C,,,C,v) :/ (C 1, C IV ) = M "(C 1, C, v ):
ClY)C lY )
• ∑Min(C,,,CιY) t'sC On note respectivement ces quantités SS'MinCC, S'MinC et MiniC :• ΣMin (C ,,, C ιY ) t'sC We note respectively these quantities SS'MinCC, S'MinC and MiniC:
************************************************************************************************************************************************* *********************************************
Procédure SS'MinCC (Classe C, Classe C)SS'MinCC procedure (Class C, Class C)
Nécessite ; K > 0 Entier : résultat = 0Need ; K> 0 Integer: result = 0
Pour z = l jusqu'à n par incrément de 1 Faire résultat = résultat + ((n - i + V) x 2 - 1) x Cn Fin PourFor z = l up to n in increments of 1 Do result = result + ((n - i + V) x 2 - 1) x C n End For
************************************************************************************************************************************************* *********************************************
**************************************************************************************************************************** ************************
Procédure S'MinCC (Classe C, Classe C)S'MinCC procedure (Class C, Class C)
Nécessite : CαrdC > 0 Nécessite : K > 0Requires: CαrdC> 0 Requires: K> 0
Nécessite ; Liste triée d'individus pour les classes C Entier : résultat - 0 Entier : nb _lignes = CardC Entier : nb _cols = n Entier : j = prochain élément de CNeed ; Sorted list of individuals for C classes Integer: result - 0 Integer: nb _lines = CardC Integer: nb _cols = n Integer: j = next element of C
Entier : i = 1Integer: i = 1
Tant que la classe i ≤ n et C n'est pas parcourue Faire Si / = j faire résultat - résultat + (nb _ cols + nb_ lignes - 1) x Cn nb _ lignes = nb _ lignes - 1 nb _ cols = nb _cols - 1 i = i + l j = prochain élément de C Sinon résultat = résultat + nb_ lignes x C17 As long as the class i ≤ n and C is not traversed Do If / = j make a result - result + (nb _ cols + nb_ rows - 1) x C n nb _ rows = nb _ rows - 1 nb _ cols = nb _cols - 1 i = i + lj = next element of C If result = result + nb_ rows x C 17
/ = / + 1 nb _cols = nb _cols - 1/ = / + 1 nb _cols = nb _cols - 1
Fin Si Fin tant queEnd If End as long as
************************************************************************************************************************************************* *********************************************
******************************************************************************************************************************** ****************************
Procédure MiniC (Classe C)MiniC procedure (Class C)
Nécessite : CαrdC > 0 Nécessite : Liste triée d'individus pour la classe CRequires: CαrdC> 0 Requires: Sorted list of individuals for class C
Entier : résultat = 0 Entier : nb_cols = CardC Entier : j = prochain élément de CInteger: result = 0 Integer: nb_cols = CardC Integer: j = next element of C
Tant que la classe C n'est pas parcourue et nb _cols ≤ j Faire Si z = / Faire résultat = résultat + nb _ cols x Cn Sinon résultat = résultat + C j - prochain élément de C nb _cols = nb _cols -\As long as the class C is not traversed and nb _cols ≤ j Do If z = / Make result = result + nb _ cols x C n Otherwise result = result + C j - next element of C nb _cols = nb _cols - \
Fin SiEnd if
Fin Tant queEnd as long as
************************************************************************************************************************************************* *********************************************
Claims
REVENDICATIONS
1 - Procédé de classification non supervisée linéaire permettant de structurer une base de données composée d'objets et de descripteurs, qui est stable sur l'ordre des objets comprenant une étape préalable de transformation des données qualitatives, quantitatives ou textuelles en données binaire de présence-absence caractérisé en ce qu'il comporte au moins les étapes suivantes :1 - Linear unsupervised classification method for structuring a database composed of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming the qualitative, quantitative or textual data into presence binary data -absence characterized in that it comprises at least the following steps:
• déterminer un seuil structurel as fonction des ri2 accords entre les objets à classifier, le seuil structurel définissant un critère d'optimisation adapté aux données,• determining a threshold s structural function of ri 2 agreements between the objects to be classified, the structural threshold defining an optimization criterion adapted to the data,
• utiliser les descripteurs comme générateurs de structuration et de construction d'une partition ou ensemble de classes,• use the descriptors as generators for structuring and building a partition or set of classes,
• fusionner progressivement une classe engendrée par un descripteur et une partition (40, 41 , 42), • pour un critère d'optimisation faisant intervenir une fonction f(Cu ,CιY) = Min(Cu ,Cιr) linéariser des sommes de fonctions Minimums.• gradually merge a class generated by a descriptor and a partition (40, 41, 42), • for an optimization criterion involving a function f (C u , C ιY ) = Min (C u , C ιr ) linearize sums of functions Minimums.
2 - Procédé selon la revendication 1 , caractérisé en ce qu'il comporte une étape où l'on regroupe les classes de la partition entre elles.2 - Method according to claim 1, characterized in that it comprises a step where one groups the classes of the partition between them.
3 - Procédé selon la revendication 1 , caractérisé en ce que l'étape de fusion comporte une étape où l'on détermine à partir de deux classes en intersection la meilleure opération (au sens de l'optimisation du critère) parmi les 4 suivantes :3 - Process according to claim 1, characterized in that the melting step comprises a step wherein is determined from two classes in intersection the best operation (in the sense of the optimization of the criterion) among the following 4:
• « Cassage » de la première classe et formation de deux classes; • « Cassage » de la deuxième classe et formation de deux classes;• "Breakage" of the first class and formation of two classes; • "Breakage" of the second class and formation of two classes;
• « Cassage » des deux classes pour former trois classes ;• "Breakage" of the two classes to form three classes;
• Réunion des deux classes en intersection pour former une unique classe.• Meeting of the two classes in intersection to form a single class.
4 - Procédé de classification selon la revendication 2, caractérisé en ce que le regroupement des classes d'une partition est effectué sur plusieurs niveaux hiérarchiques et comporte les étapes suivantes :4 - Classification method according to claim 2, characterized in that the grouping of the classes of a partition is performed on several hierarchical levels and comprises the following steps:
• diminuer à chaque niveau la valeur du seuil structurel (70) de sorte que les contributions faiblement négatives puissent devenir positives,
• maximiser des liens entre les classes constituées où les liens sont déterminés en utilisant la contribution d'une paire d'objets• decrease at each level the value of the structural threshold (70) so that the weakly negative contributions can become positive, • Maximize links between built classes where links are determined using the contribution of a pair of objects
Lien(Cq,Cq,)= ∑ ∑Contrïbu, = ∑ ∑CU, -a'xf(Cu,CιV) i≡Cqi'≡Cq' i≡Cqi'≡Cq' avec a' la nouvelle valeur de aLink (C q , C q ,) = Σ ΣContrib u , = Σ ΣC U , -a'xf (C u , C ιV ) i≡Cqi'≡Cq 'i≡Cqi'≡Cq' with a ' new value of a
• regrouper (71 ) deux classes dont le lien est positif, et réitérer ce processus sur tous les niveaux.• group (71) two classes whose link is positive, and reiterate this process on all levels.
5 - Dispositif permettant la classification non supervisée linéaire permettant de structurer une base de données composées d'objets et de descripteurs, qui est stable sur l'ordre des objets comprenant une étape préalable de transformation des données qualitatives, quantitatives ou textuelles en données binaires de présence- absence, caractérisé en ce qu'il comporte au moins les éléments suivants : un calculateur (1 ) comprenant une mémoire (2), une base de données (4) et un processeur (3) adapté à mettre en œuvre les étapes du procédé selon l'une des revendications 1 à 4.5 - Device allowing linear unsupervised classification for structuring a database composed of objects and descriptors, which is stable on the order of the objects comprising a preliminary step of transforming the qualitative, quantitative or textual data into binary data of presence-absence, characterized in that it comprises at least the following elements: a computer (1) comprising a memory (2), a database (4) and a processor (3) adapted to implement the steps of process according to one of claims 1 to 4.
6 - Dispositif selon la revendication 2, caractérisé en ce qu'il comporte un moyen (7) de conduite d'actions en fonction des résultats de la classification.
6 - Device according to claim 2, characterized in that it comprises a means (7) for conducting actions according to the results of the classification.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0512844A FR2895110B1 (en) | 2005-12-16 | 2005-12-16 | METHOD OF CLASSIFICATION NOT SUPERVISED LINEAR AND STABLE ON THE ORDER OF OBJECTS |
PCT/EP2006/069726 WO2007068741A1 (en) | 2005-12-16 | 2006-12-14 | Method for stable and linear unsupervised classification upon the command on objects |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1960916A1 true EP1960916A1 (en) | 2008-08-27 |
Family
ID=37231300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP06841370A Ceased EP1960916A1 (en) | 2005-12-16 | 2006-12-14 | Method for stable and linear unsupervised classification upon the command on objects |
Country Status (5)
Country | Link |
---|---|
US (1) | US8423549B2 (en) |
EP (1) | EP1960916A1 (en) |
CN (1) | CN101410831B (en) |
FR (1) | FR2895110B1 (en) |
WO (1) | WO2007068741A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010076260A1 (en) | 2008-12-30 | 2010-07-08 | Thales | Method and system for sorting data from a database |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012138539A2 (en) * | 2011-04-08 | 2012-10-11 | The Regents Of The University Of California | Interactive system for collecting, displaying, and ranking items based on quantitative and textual input from multiple participants |
KR101496179B1 (en) * | 2013-05-24 | 2015-02-26 | 삼성에스디에스 주식회사 | System and method for searching information based on data absence tagging |
FR3016062B1 (en) | 2013-12-31 | 2016-10-21 | Thales Sa | METHOD FOR NON-SUPERVISED CLASSIFICATION OF A PLURALITY OF OBJECTS AND DEVICE FOR NON-SUPERVISED CLASSIFICATION ASSOCIATED WITH THIS METHOD |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1049030A1 (en) * | 1999-04-28 | 2000-11-02 | SER Systeme AG Produkte und Anwendungen der Datenverarbeitung | Classification method and apparatus |
-
2005
- 2005-12-16 FR FR0512844A patent/FR2895110B1/en active Active
-
2006
- 2006-12-14 CN CN2006800528444A patent/CN101410831B/en not_active Expired - Fee Related
- 2006-12-14 WO PCT/EP2006/069726 patent/WO2007068741A1/en active Application Filing
- 2006-12-14 US US12/097,613 patent/US8423549B2/en not_active Expired - Fee Related
- 2006-12-14 EP EP06841370A patent/EP1960916A1/en not_active Ceased
Non-Patent Citations (2)
Title |
---|
AH-PINE J ET AL: "Un nouvel outil de classification non supervisée de documents pour la découverte de connaissances et la détection de signaux faibles: RARES Text", INTERNET CITATION, 13 June 2005 (2005-06-13), XP002407399, Retrieved from the Internet <URL:http://isdm.univ-tln.fr/PDF/isdm22/isdm22_ahpine.pdf> [retrieved on 20061114] * |
See also references of WO2007068741A1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010076260A1 (en) | 2008-12-30 | 2010-07-08 | Thales | Method and system for sorting data from a database |
US8458182B2 (en) | 2008-12-30 | 2013-06-04 | Thales | Method and system for clustering data arising from a database |
Also Published As
Publication number | Publication date |
---|---|
CN101410831B (en) | 2012-04-18 |
FR2895110B1 (en) | 2017-12-29 |
CN101410831A (en) | 2009-04-15 |
FR2895110A1 (en) | 2007-06-22 |
US8423549B2 (en) | 2013-04-16 |
US20090287723A1 (en) | 2009-11-19 |
WO2007068741A1 (en) | 2007-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Meng et al. | Interpretability and fairness evaluation of deep learning models on MIMIC-IV dataset | |
Chen et al. | Algorithms to estimate Shapley value feature attributions | |
Jang et al. | Knowledge unlearning for mitigating privacy risks in language models | |
Charalampakis et al. | A comparison between semi-supervised and supervised text mining techniques on detecting irony in greek political tweets | |
Li et al. | A framework for automatic TRIZ level of invention estimation of patents using natural language processing, knowledge-transfer and patent citation metrics | |
Zhang et al. | Predicting startup crowdfunding success through longitudinal social engagement analysis | |
WO2008115519A1 (en) | A system for estimating a distribution of message content categories in source data | |
Sharma et al. | Supervised machine learning method for ontology-based financial decisions in the stock market | |
CN112419029B (en) | Similar financial institution risk monitoring method, risk simulation system and storage medium | |
Wang et al. | Advertisement click-through rate prediction using multiple criteria linear programming regression model | |
EP2374075A1 (en) | Method and system for sorting data from a database | |
US20120117043A1 (en) | Measuring Duplication in Search Results | |
WO2018138423A1 (en) | Automatic detection of frauds in a stream of payment transactions by neural networks integrating contextual information | |
EP1960916A1 (en) | Method for stable and linear unsupervised classification upon the command on objects | |
Salvatore | Inference with non-probability samples and survey data integration: a science mapping study | |
Akila et al. | Opinion mining on food services using topic modeling and machine learning algorithms | |
Mansouri et al. | TextBlob and BiLSTM for Sentiment analysis toward COVID-19 vaccines | |
Mihov et al. | Mentalnet: Heterogeneous graph representation for early depression detection | |
US20210097605A1 (en) | Poly-structured data analytics | |
İş et al. | A Profile Analysis of User Interaction in Social Media Using Deep Learning. | |
Almutairi et al. | A Comparative Analysis for Arabic Sentiment Analysis Models In E-Marketing Using Deep Learning Techniques | |
Foote et al. | A computational analysis of social media scholarship | |
Alegre Sepúlveda et al. | Twitter sentiment analysis for the estimation of voting intention in the 2017 Chilean elections | |
Pradana et al. | Sentiment Analysis of Nanovest Investment Application Using Naive Bayes Algorithm | |
Issa | Linked data quality: completeness and conciseness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20080619 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
17Q | First examination report despatched |
Effective date: 20100505 |
|
DAX | Request for extension of the european patent (deleted) | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20181110 |