EP4127965A1 - Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents - Google Patents

Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents

Info

Publication number
EP4127965A1
EP4127965A1 EP21716109.0A EP21716109A EP4127965A1 EP 4127965 A1 EP4127965 A1 EP 4127965A1 EP 21716109 A EP21716109 A EP 21716109A EP 4127965 A1 EP4127965 A1 EP 4127965A1
Authority
EP
European Patent Office
Prior art keywords
map
documents
self
database
document
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.)
Withdrawn
Application number
EP21716109.0A
Other languages
German (de)
English (en)
Inventor
François BLAYO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neoinstinct Sa
Original Assignee
Neoinstinct Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Neoinstinct Sa filed Critical Neoinstinct Sa
Publication of EP4127965A1 publication Critical patent/EP4127965A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Definitions

  • the present invention relates to the field of computer-implemented methods for searching for documents. More precisely, the present invention relates to a method implemented by computer for the analog search of documents in a set of documents. It specifically relates to a computer-implemented method which makes it possible to identify documents in a set of documents which most closely match a search term which is not necessarily contained in the documents of the set. of documents.
  • search methods use a series of key words or terms matched to a known body of information, such as the content of indexed documents.
  • a user enters a search word or phrase and a search engine matches the word or phrase to a list of words derived from the corpus.
  • the search engine then displays the documents that match the word or phrase in question.
  • conventional research methods fail to take into account the two main problems inherent in research.
  • the first problem relates to imprecise research.
  • an imprecise search a user enters incorrect information into the request. If the user does not enter the correct words in the request, the extracted documents will not represent the user's intention. For example, if a user enters a particular search word in a query, but the desired information is indexed under a synonym of the search word, then the user will not find the desired information.
  • the second problem relates to vague research.
  • a vague search the user does not know enough about the subject of the desired information to form a precise search query. For example, if the user does not know the language to describe a particular medical condition, then the user will not be able to correctly enter the search query.
  • US Pat. No. 888,657 9 B2 relates to the semantic processing of text by neural networks, that is to say the analysis of the meaning of a text by focusing on the relationship between its words and what it is. they represent in the real world and in their context.
  • the patent US9183288B2 presents an efficient method of structuring the data for an efficient and reliable search by exploiting the semantic relations between the documents. It uses a semantic analysis techniques to create a vector space model of documents contained in a domain corpus then creates a hierarchical structure of the documents by the through an agglomeration process. Each document in a domain corpus is matched against other documents in the same domain corpus to determine which documents are the most similar.
  • An aim of the present invention is therefore to provide a computer-implemented method for the analog search of text documents making it possible to overcome the limitations mentioned previously. According to the invention, these objects are achieved by virtue of the objects of the independent claim. More specific aspects of the present invention are set out in the dependent claims as well as in the description.
  • an aim of the invention is achieved by virtue of a computer-implemented method for the analog search of textual documents of a set of documents E included in a first database and whose content corresponds the most. to a search term R comprising the steps: a. Generation of a second database comprising a list of words produced by lemmatization of the documents of the first database; b. Generation of a descriptor vector V of digital values for each document of the first database using a vectorization function F of the textual information; vs.
  • a self-organized map C comprising a network of P neurons p on the basis of the descriptor vectors V, each neuron p of the self-organized map C corresponding to a weight vector l / l / of digital values; d. Allocation of each document from the first database to the neuron p of the self-organized map C whose corresponding weight vector W has the smallest distance from the descriptor vector V of the document to be allocated; e. Generation using the vectorization function F and the second database of a search vector K of numerical values for the search term R; f. Determination of the pbest neuron of the self-organized map C whose weight vector W has the smallest distance from the search vector K; and g.
  • Determination of the documents from the first database allocated to the pbest neuron of the self-organized map C it is possible to identify the document or documents of a set of documents whose content is closest to a search term.
  • the search result is based on the search term's similarity of the documents to the set of documents. The most "similar" documents can be identified even if the search term is not contained in any of the documents in the document set. Note that learning the self-organized map C in step c.
  • the self-organized map C is composed of a low-dimensional network of P neurons p.
  • each neuron has two neighbors.
  • the arrangement of the neurons is done in a rectangular way where each neuron has four neighbors (rectangular topology) or in a hexagonal way where each neuron has six neighbors (hexagonal topology). Neurons are recognized by their number and their location in the network.
  • the descriptor vectors V are projected from their initial space, or entry space, towards the card or exit space.
  • Each neuron p on the map is associated with a weight vector 1/1 /, also called the prototype or referent vector, belonging to the input space.
  • P the total number of neurons in the map
  • W of the neuron p of dimension N is denoted by:
  • the objective of learning the map consists in updating the weight vectors so as to best approximate the distribution of the vectors of the V criptors while reproducing the self-organization of the neurons on the map.
  • the card is learned in sequential mode, also called incremental, or in deferred mode (batch).
  • Each iteration t of sequential learning comprises two stages.
  • the first step consists in choosing at random a descriptor vector V (t) from the set W, and in presenting it to the network in order to determine its winning neuron.
  • the winning neuron (Best Matching Unit) of an observation is the neuron whose weight vector is closest to it within the meaning of a given distance (for example a Euclidean distance). If c is the winning neuron of vector V (t), c is determined as follows:
  • the winning neuron is activated. Its weight vector W is updated to approximate the descriptor vector presented to the network. This update does not only concern the winning neuron as in the methods of competitive learning (Winner take ail), but also the neighboring neurons which then see their weight vectors adjust to this descriptor vector.
  • the amplitude of this adjustment is advantageously determined by the value of a learning step a (t) and the value of a neighborhood function h (t).
  • the parameter a (t) regulates the speed of learning. It is initialized with a large value at the beginning then decreases with the iterations in order to slow down as the learning process progresses.
  • the function h (t) defines membership in the neighborhood. It depends both on the location of the neu rones on the map and on a certain neighborhood radius. In the first iterations, the neighborhood radius is large enough to update a large number of neighboring neurons to the winning neuron, but this radius gradually narrows to contain only the winning neuron with its immediate neighbors, or even the winning neuron. winner neuron only.
  • the rule for updating weight vectors is as follows: where c is the winning neuron of the descriptor vector V (t) presented to the network at iteration t and h is the neighborhood function which defines the proximity between neurons c and p.
  • a neighborhood function between the winning neuron c and a neuron p of the map is worth 1 if the neuron p is inside the square centered on the neuron c and 0 in the other cases. The radius of this square is called the neighborhood radius. It is wide at the start, then narrows with the iterations to contain only neuron c with its immediate neighbors at the end of the apprentice sage or even just neuron c.
  • a more flexible and common neighborhood function is the Gaussian function defined below: where r c and r p are respectively the location of neuron c and neuron p on the map, and o (t) is the radius of the neighborhood at iteration t of the learning process.
  • the amplitude of the adjustment is graduated according to the distance from the winning neuron which reserves for itself the maximum amplitude.
  • the result of the unsupervised learning of the self-organized map C is the nonlinear projection of the set of descriptor vectors V on the map.
  • Each descriptor vector V is attributed to its winning neuron, which makes it possible to allocate each document of the set of documents to a neuron of the self-organized map.
  • this projection preserves the topology of the data through the use of the neighborhood function. Two neighboring neurons on the map will represent close observations in the data space. A variant of learning is said to be “in deferred mode”.
  • each weight vector is an average weight. derived from descriptor vectors (1 ⁇ 4, ie ⁇ 1,..., n ⁇ ).
  • the corresponding weights are the values of the neighborhood function h (t).
  • the rule for updating prototype vectors is given by: where h is the value of the neighborhood function between the victorious neuron d of the vector V; and the neuron p.
  • the updating of the prototype vectors can be formulated in another way by using the fact that the observations which have the same victorious neuron have the same value for the neighborhood function and belong to the Voronoi region whose center is their victorious neuron: where ni is the number of descriptor vectors V belonging to the Voronoi region represented by the neuron / and Vi is the average of the descriptor vectors of this same region.
  • each weight vector constitutes the center of gravity of the observations that it represents and we then fall back on the algorithm of mobile centers, which guarantees a better approximation of the observation density function.
  • this algorithm does not present any convergence problems.
  • the self-organized map is a two-dimensional or three-dimensional map.
  • the initialization of the card C before the learning process as such can be carried out in several ways.
  • a first initialization method consists in assigning an initial weight vector 1/1 / to each node of the self-organized map C.
  • This initial assignment of the weight vectors can be for example a random assignment of a number to each scalar vector of the weight vectors, without stimulation.
  • random refers to equal probability for any of a set of possible outcomes.
  • the numerical value of these randomly assigned scalar values can be approximately limited to the lower and upper bound by the corresponding extrema observed in the descriptor vectors V.
  • Another method of initializing the weight vectors VJ includes a systematic variation, for example a linear variation, in the range of each dimension of each weight vector to approximately intersect the corresponding range observed in the descriptor vectors V.
  • the weight vectors VJ are initialized by the values of the ordered vectors along a two-dimensional subspace traversed by the two main eigenvectors of the descriptor vectors V obtained by orthogonalization methods well known in the art, for example by the so-called Gram-Schmidt orthogonalization.
  • the initial values are fixed on samples chosen at random from the descriptor vectors V.
  • the determination of the winner neuron of the self-organized map C for each descriptor vector V can be done according to several criteria well known to those skilled in the art. This can for example be done on the basis of a distance for example the minimum Euclidean distance between all the weight vectors W 6e the self-organized map C and the vector V.
  • Other methods can for determining the winner neuron such as those using the correlation between vectors which has the advantage of offering more robustness to the shift between vectors, the angular difference between vectors which offers the advantage of emphasizing the mutual length of the vectors for all that. that the information is carried by these quantities, the Minkowsky distance measure which is a generalization of the Euclidean distance measure and which is advantageous when the vectors carry data of a qualitative nature can also be implemented.
  • the distance between two vectors is a Euclidean distance.
  • the Euclidean distance between vectors is a measure which can be determined very quickly whatever the dimension of the self-organized map C, which allows a rapid implementation of the present method and therefore a rapid search for the document (s) of which the content most closely resembles the search term.
  • the determination of a Euclidean distance between two vectors requires only few computational resources. It can therefore be done on ordinary desktop computers.
  • the textual content of the documents of the first database is normalized before the generation of the V descriptor vectors.
  • the normalization method is commonly used by anyone familiar with the state of. the art of preprocessing textual documents.
  • the operations typically carried out during normalization are, in a non-exhaustive manner, the aggregation of words, the transformation of upper case letters into lower case letters for common names, the removal of punctuation characters, the transformation of linking pronouns. Standardization allows redundant or unnecessary information to be removed from the text of documents
  • the vectorization function F is a so-called “term frequency-inverse document frequency” function.
  • the so-called “TF-IDF” (term fre- quency-inverse document frequency) method is a weighting method often used in information research and in particular in text mining. This statistical measure has the advantage of allowing an evaluation of the importance of a term contained in a document, relative to a collection or a set of documents. Importance, also called weight, increases with the number of occurrences of the word in the document and also varies with the frequency of the word in the set of documents.
  • the self-organized map C is two- or three-dimensional. A two- or three-dimensional map makes it possible to reduce the complexity of the calculations to be carried out during the search without losing too much information. They also make it possible to produce a search result which groups together several documents in a simple way while maintaining their semantic proximity.
  • the self-organized card C is graphically displayable through a graphical interface which is for example the graphical interface of a personal computer. Thanks to this the contents of the C card are accessible through a graphical interface and can be explored directly by a user.
  • the contents of the first database can be displayed on the self-organized map. This makes it possible to see the proximity of the various documents contained in the first database. So if, for example, a document has been identified as being particularly relevant, it is possible to find documents whose content is similar to this one very easily because they are positioned close together on the self-organized map C.
  • a graphical representation of a CD document card of size equal to the self-organizing card C is superimposable on the graphical representation of the self-organizing card C.
  • the documents determined in step g. are identified graphically on the CD document card.
  • This second layer which can be superimposed on the graphic representation of the self-organized map, comprises a graphic representation of the documents identified as being the closest to the search term R.
  • the content of a document determined in step g. is accessible by selecting this document on the graphic representation of the CD document card via a computer pointing device, such as for example a computer mouse.
  • a graphic representation of a map of distances CH of dimension equal to the self-organized map C can be superimposed on the graphic representation of the self-organized map C, and a distance value dd is attributed to each neuron of the distance map CH, the distance value dd corresponding to the sum of the Euclidean distances between the weight vector l / l / of the neuron considered and the weight vectors W of the neighboring neurons direct.
  • the self-organized map C learning algorithm has the effect of grouping close documents together in the sense of a distance measurement in neurons.
  • Neurons are encoded in a matrix as vectors of real data. These neurons are ordered by the algorithm in such a way that close documents in data space are as close as possible on the C map.
  • the proximity between the neurons does not give any information on the real distance which separates the vectors from the criptors V in the original space.
  • documents allocated to nearby neurons on the map C can in reality correspond to very distant data in the original space and therefore in reality be very different.
  • This limitation can be partly reduced by the use of the distance map CH which can be superimposed on the self-organized map C in the graphics interface.
  • This distance map CH is a map of dimension equal to the map C and which gives a measure of the real distance between the weight vectors W of the latter.
  • This measurement can advantageously be displayed on a graphic representation of the distance map CH by a suitable “lookup table”, for example a suitable coloring or a suitable gray level.
  • a color coded color is assigned to each neuron of the distance map CH based on the dd value. This makes it possible to visually very quickly determine the real level of resemblance of two documents positioned in close proximity on the self-organized map C.
  • a graphical representation of a CW word map of dimension equal to the self-organized map C is superimposable on the graphical representation of the self-organized map C, in which at each neuron of the graphic presentation of the word map CW are displayed the words of the vocabular whose component of the weight vector l / l / of the corresponding self-organized map neuron C is greater than a predetermined value.
  • a road map represents cities in their context including monuments, roads, forests and in general anything that gives a city context
  • the representation of documents on a map can be contextualized by placing words on the map.
  • CW the most significant words near the neurons of the map C corresponding to the documents that contain these words.
  • a graphic representation of the word map CW is advantageously superimposed on the graphic representation of the self-organized map C in order to give additional information to the user.
  • the words displayed in the word map CW are organized on different planes corresponding to different ranges of weight values, the words having the most weight value. high being displayed in the foreground of the graphical representation of the CW word map.
  • the number of words to be displayed on the graphic representation of the CW card can be very high and lead to an unreadable display if they were all placed on the same plane.
  • the display of documents on the map is advantageously lightened by offering a zoom system comparable to that available for road maps. To do this, the words are distributed on different display planes according to their relevance.
  • the documents from the first database are indexed in a third database, and the documents comprising the search term R are determined. This allows in addition to the analog search to make a search based on an indexation of the documents of the first database. It is thus possible to search and identify documents that explicitly contain the search term R.
  • documents comprising the search term R are identified on the graphic representation of the CD document card. This makes it possible to quickly obtain information on the resemblance of two documents which were identified by the textual search. This is because two nearby documents on the CD document card have similar content.
  • the CH distance card can also be superimposed on the CD document card in this case. This allows to provide the user with an indication of the real resemblance of two documents identified during the text search.
  • the documents of the first database are documents encoded in digital form advantageously originating from word processing, from text recognition systems, for example by means of the so-called Optical Character Recognition method, or from any system capable of producing structured digital files.
  • This has the advantage that the textual content of the documents can be easily processed to create the vocabulary as well as the descriptor vectors.
  • FIG. 1 shows a functional diagram of a method according to an embodiment of the present invention
  • FIG. 3 shows a functional diagram of the adaptation of the self-organized map
  • FIG. 4 illustrates the system for generating document, word and distance cards
  • - Figure 5 shows a graphical representation of the document card
  • FIG. 6 represents a functional diagram of the search for the documents closest to the search term;
  • - Figure 7 shows a graphic representation of the distance map;
  • FIG. 8 illustrates the relationship between the map, neurons, word weights and vocabulary
  • FIG. 9a illustrates the first step in the calculation of the continuous coordinates for a word of the vocabulary
  • FIG. 9b illustrates the second step in the calculation of the continuous coordinates for a word of the vocabulary
  • FIG. 10 illustrates the positioning of a specific word on the word map after calculating the continuous coordinates
  • FIG. 11 illustrates the distribution of the words on different planes of the word map
  • FIG. 12 shows an example of word positioning on a map of 10 ⁇ 00 neurons
  • - Figure 13 shows the graphical interface
  • - Figure 14 shows the superposition of the word, distance and document maps on the self-organized map
  • FIG. 15 illustrates access to a summary of a document by selecting it on the document card
  • FIG. 16 shows the graphical interface with the summary of the documents selected on the document card
  • FIG. 17 illustrates the system for indexing and textual searching for documents
  • FIG. 18 shows an example of a result of an analog search in the graphical interface
  • the invention presented here consists in making it possible to identify one or more documents among a set of documents using an analog search.
  • the invention employs a system for analyzing documents deposited in a centralized storage location.
  • Document analysis automatically produces a vocabulary used to encode documents in the form of characteristic descriptor vectors. These criptor vectors are mapped in the form of a self-organized map, preferably two-dimensional, which can finally be used to perform searches in the document base and identify one or more documents that most closely match a search term. .
  • the invention is based on the possibility of mapping the documents on a self-organized map, for example a two-dimensional self-organized map, in such a way that two documents whose descriptor vectors are close in space to the descriptor vectors are placed on the map to nearby locations.
  • This property has the advantage of grouping documents from their content alone and without supervision.
  • a user can advantageously use the self-organized card via an appropriate graphical interface in order to find and find documents by simply exploring the map.
  • the cartography thus relies on a non-linear projection of points from the space constituted by the descriptor vectors of documents towards a two-dimensional map.
  • a document reading system 110 takes as input textual documents, from a set of documents E, encoded under digital form which can be obtained from word processing, from text recognition systems, for example by the intermediary of the method known by the abbreviation OCR (Optical Character Recognition) and in general any system capable of producing structured digital files.
  • OCR Optical Character Recognition
  • the textual content of the documents of the set of documents E is recorded in a first database, here called the “raw documents” database 120 which is used as the source of the document processing system 130, the object of which is, in a second step, to process the contents extracted from the documents to group together similar words and to remove the punctuation characters.
  • a first database here called the “raw documents” database 120 which is used as the source of the document processing system 130, the object of which is, in a second step, to process the contents extracted from the documents to group together similar words and to remove the punctuation characters.
  • the documents thus processed are stored in the “standardized documents” database 140 which is used, in a third step, by the vocabulary generation system 150 to produce a list of words called “vocabulary” established by applying restrictions to the vocabulary. the list of words produced by the document processing system 130.
  • the vocabulary thus obtained is stored in a second database, here called the “vocabulary” database 160, which will be used, in a fourth step, by the system document descriptor vectors 170 which transforms each document of the database 140 into document descriptor vectors which are finally stored in the database "descriptor vectors" 175.
  • the descriptor vectors stored in the database 175 are used, in a fifth step, by the document card generation and processing system 180 which produces a self-organized card C which allows the analog search of one or more documents of the set of documents E on the basis of a search term R advantageously defined by a user via a graphical interface 190 which is advantageously a graphical interface of a personal computer, such as for example a computer screen.
  • This graphical interface 190 allows the graphical display of the documents identified during the search on the self-organized card C and on one or more additional cards (see below for more details).
  • a document indexing system 125 processes the documents stored in the database 120 and indexes their documents. content which is recorded in a third database referred to herein as an "indexing" database.
  • This indexing can be advantageously used to allow, in addition to the analog search mode, a textual search mode which will be available in the graphical interface 190.
  • the graphical interface 190 is advantageously used to display the self-organized map C and one or more additional maps, enlarge them, move them, show or hide words, show or hide documents, and to search for documents by two search modes ana logical and textual.
  • the document reading system 110 represents any device capable of reading textual documents and recording them in a database 120.
  • Each row of the database 120 contains for each document an ID number and the content of the document in the form of. plain text.
  • Table 1 shows an example of a typical content of a row of the "raw documents" database 120 which is obtained from the database of 44,512 summaries of the "Internet Movie Database” ( IMBD).
  • Table 1 a row of the “raw documents” database 120
  • the document processing system 130 takes as input the information contained in the “raw documents” database 120 to perform a series of analyzes and transformations intended to standardize the content of the documents in a form which will allow its subsequent use. really.
  • This process called "normalization” is commonly used by anyone familiar with the state of the art in the preprocessing of textual documents.
  • the operations typically carried out during normalization are, in a non-exhaustive manner, the aggregation of words, the transformation of letters my up to lowercase letters for common nouns, the deletion of punctuation characters, the transformation of linking pronouns. and in general any processing aimed at removing redundant or unnecessary information in the text of documents.
  • the normalization will perform, for example, the following transformations:
  • Table 2 a row of the “standardized documents” database 140
  • the documents are thus standardized and can be, in a following step, used to build the “vocabulary”.
  • the vocabulary is a set of words selected from among all the words contained in the documents of the “standard documents” 140 database. Its purpose is to concisely represent all of the information. textual tion of documents in canonical form. In this sense, the vocabulary constitutes the axes of a multidimensional space whose dimension is equal to the number of words in the vocabulary.
  • the vocabulary generation step is known to those skilled in the art as “lemmatization” because it involves generating "lemmas” or vocabulary words.
  • the generation of the vocabulary will consist, among other things, in counting all the words which appear in all the documents of the “standardized documents” database 140.
  • a usual way of constructing the vocabulary consists in by shooting d 'existing vocabulary and counting the number of words that appear in standard documents.
  • Another method is to dynamically build vocabulary from standard documents. Indeed, the words are by construction eligible to become vocabulary words thanks to the preprocessing carried out during the processing of documents 130.
  • two counts will be carried out (1) the number of appearances of each word in the set of standard documents as well as (2) the number of standard documents in which this word appears.
  • two parameters will be chosen arbitrarily when constructing the vocabulary:
  • VOCABULARY_CHOICE_DOCCOUNT_MAX_DOCS the maximum number of documents in which the words appear.
  • the "cabulary" database 160 will contain as many lines as there are words of the vocabulary, each of them being represented by 3 values:
  • Table 3 extract of six lines from the "vocabulary" database 160
  • the document descriptor vectors V are vectors whose components are digital data which are calculated from the textual data of documents stored in the “standard documents” database 140 as well as from the “vocabulary” database 160 which was built upon completion of systems 110, 130 and 150.
  • TF-IDF frequency-inverse do cument frequency
  • This statistical measure makes it possible to evaluate the importance of a term contained in a document, relative to a collection or a set of documents.
  • the weight increases in proportion to the number of occurrences of the word in the document and also varies with the frequency of the word in the document set. It is this method that it is used in the preferred embodiment of the invention shown here. This method may however be replaced by any other standard or original method which could provide information more suited to the field of application relating to the documents processed without departing from the scope of the present invention.
  • the “raw” TF frequency of a term simply corresponds to the number of occurrences of this term in the document considered.
  • the term “frequency” is a misnomer.
  • the term “frequency” will however be used here, because it is regularly used in the technical field of the present invention. It is possible to choose this raw frequency to express the frequency of a term. In this case, the calculation of the raw frequency is expressed by:
  • T Fi f id where f represents the raw frequency, / is the word considered and d is the document considered.
  • the reverse IDF document frequency is a measure of the importance of the term in the set of documents. In the TF-IDF scheme, it aims to give more weight to the less frequent terms, considered to be more discriminating. In general, determining the inverse IDF frequency involves calculating the inverse of the proportion of documents in the set that contain the term:
  • each document will be coded by a descriptor vector V whose number of components corresponds to the number of words in the vocabulary.
  • the components of the descriptor vector V of each document result from the calculation of TF-IDF described above.
  • Each row of the “descriptor vectors” database 175 will contain the TF-IDF values associated with each document stored in the “raw documents” database 120 and according to the vocabulary stored in the “vocabulary” database 160.
  • a last operation consists, advantageously, in a normalization of the matrix of descriptor vectors V contained in the “descriptor vectors” database 175 by applying a so-called “L2” normalization, also called a Euclidean norm.
  • L2 normalization also called a Euclidean norm.
  • the values are normalized so that if they were all squared and added, the total would be 1.
  • each document in the “standardized documents” database 140 will be encoded in the “descriptor vectors” database. »175 as a descriptor vector V of real values of dimension 4 ⁇ 96, each value resulting from the computation of the TF-IDF of each word of the vocabulary for each document.
  • Each row of the “descriptor vectors” database 175 thus represents a descriptor vector V of each document.
  • the row in Table 2 for the document with ID 19 will be encoded by the descriptor vector V shown in the Table 4. Only the seven non-empty columns are represented for a vocabulary containing 4 ⁇ 96 words, obtained from the processing of the 44,512 summaries of films extracted from the “Internet Movie Database”.
  • Table 4 values of the descriptor vector V for document 19 of Table 2
  • the document card generation and processing system 180 is intended to produce a self-organized card C which groups together all the documents contained in the “standardized documents” database 140 in the form of a card which places the documents of which the content is similar to nearby locations on this map. To do this, the data stored in the “descriptor vectors” database 175 are used to feed an automatic classification system.
  • the map generation system 180 advantageously uses the so-called “Self-Organizing Maps (SOM)” algorithm which produces a self-organized map C as illustrated in Figure 2.
  • SOM Self-Organizing Maps
  • the self-organized map C is composed of a grid of low dimensional p neurons.
  • each neuron p has two neighbors.
  • the arrangement of the p neurons is done in a rectangular way where each neuron has four neighbors (rectangular topology) or in a hexagonal way where each neuron has six neighbors (hexagonal topology).
  • the p neurons are identified by their number and their location on the grid.
  • the document descriptor vectors V v (1), v (2), ..., v (p) are projected from their initial space, or input space, to the self-organized map C or output space.
  • a weight vector W also called the weight vector or prototype, belonging to the space entry.
  • P the total number of neurons p of the map C
  • the weight vector W of the neuron p of dimension N is denoted by:
  • the objective of learning the map is to update the weight vectors l / l / so as to best approximate the distribution of the input vectors, that is to say the descriptor vectors V, while reproducing the self-organization of the p neurons of the card C.
  • the training of the card can be done advantageously in sequential mode, also called incremental, or in deferred mode (batch).
  • the general process of learning is depicted in Figure 3.
  • All the weight vectors W are initialized to random values at step 810.
  • Each iteration t of the sequential learning comprises two steps.
  • the first step consists in choosing at random a descriptor vector V (t) from the set of descriptor vectors contained in the “descriptor vectors” database 175 (step 820), and in presenting it to the network of neu rons p in the aim of determining its winning neuron (step 830).
  • the winning neu rone, called Best Matching Unit or BMU, of a descriptor vector V (t) is the neuron p whose weight vector W (t) is closest to it within the meaning of a given distance, for example the distance Euclidean. If c is the winning neuron, i.e. the BMU of the descriptor vector V (t), c is determined as follows:
  • the winning neuron is activated. Its weight vector W (t) is updated to approximate the descriptor vector V (t) presented to the network. This update does not only concern the winning neuron BMU, as in the so-called “winner take ail” competitive learning methods, but also the neighboring neurons which then see their weight vectors W (t) also fit to the descriptor vector V (t).
  • the amplitude of this adjustment 840 is determined by the value of a learning step a (t) and the value of a neighborhood function h (t).
  • the parameter a (t) regulates the speed of the learning and is initialized with a large value at the beginning then decreases with the number of iterations in order to slow down as the learning process progresses.
  • the parameter a (t) takes its values between 0 and 1.
  • the function h (t) defines the neighborhood membership. It depends both on the location of the neurons on the map and on a certain neighborhood radius.
  • the function h (t) takes its values between N / 2 and 0, where N represents the number of neurons on the largest side of the map.
  • the neighborhood radius is advantageously large enough to update a large number of neurons neighboring the BMU neuron, but this radius gradually narrows to contain only the BMU neuron and its immediate neighbors, or even the BMU neuron only.
  • the rule for updating the weight vectors VJ is as follows: where c is the BMU neuron of the input vector V (t) presented to the network at iteration t and h the neighborhood function which defines the proximity between the neurons c and p.
  • Gaussian function defined below: where r c and r p are respectively the location of neuron c and neuron p on the map, and o (t) is the radius of the neighborhood at iteration t of the learning process.
  • the amplitude of the adjustment is graduated according to the distance from the BMU neuron which reserves the maximum amplitude to itself.
  • the unsupervised learning presented above results in a nonlinear projection of the set of V descriptor vectors on the C map.
  • Each V descriptor vector is allocated to its winner neuron BMU.
  • this projection preserves the topology of the data through the use of the neighborhood function. Two neighboring p neurons on the map will represent nearby V descriptor vectors in the data space.
  • each weight vector W is a weighted average of the descriptor vectors ( ⁇ 4, ie ⁇ 1,..., N ⁇ ) when the square of the Euclidean distance is used for the computation of the winning neuron, the corresponding weights being the values of the neighborhood function h (t)
  • the rule for updating the weight vectors W is given by: where h is the value of the neighborhood function between the winning neuron a of the vector V; and the neuron p.
  • the update of the weight vectors W can be formulated otherwise by using the fact that the descriptor vectors V which have the same victor neuron have the same value for the neighborhood function and belong to the Voronoi region whose center is their winning neuron: where ni is the number of observations belonging to the Voronoi region represented by the neuron /. and Vi is the average of the observations from this same region.
  • each weight vector W constitutes the center of gravity of the descriptor vectors V that it represents and we then fall back on the centers algorithm -mobiles, which guarantees a better approximation of the density function of the observations.
  • this algorithm does not present any problems of convergence.
  • the self-organized map C can be a two-dimensional or a three-dimensional map.
  • the initialization W of the self-organized card C before the learning process as such can be carried out in several ways.
  • a first initialization method consists in assigning an initial weight vector W to each node of the self-organized map C.
  • This initial allocation of the weight vectors W can be for example a random allocation of a number at each component of the weight vectors, without stimulation.
  • random refers to equal probability for any of a set of possible outcomes.
  • the numerical value of these randomly assigned components can be approximately limited to the lower and upper bound by the corresponding extrema observed in the descriptor vectors, i.e. the V vectors.
  • Another method of initializing the weight vectors W includes a systematic variation, for example a linear variation, in the range of each dimension of each weight vector W to approximate the corresponding range observed in the descriptor vectors V.
  • the weight vectors W are initialized by the values of the vectors ordered along a two-dimensional subspace crossed by the two principal eigenvectors of the vectors descriptors V obtained by orthogonalization methods well known in the art, for example by the so-called “Gram-Schmidt” orthogonalization.
  • the initial values of the components of the weight vectors W are fixed on samples chosen at random from the descriptor vectors V.
  • the determination of the BMU neuron of the self-organized map C for each descriptor vector V can be done according to several criteria well known to those skilled in the art. This can, for example, be done on the basis of a distance, for example the minimum Euclidean distance between all the weight vectors W of the self-organized map C and the descriptor vector V.
  • Other methods can be employed for determination of the BMU neuron such as those using correlation between vectors which has the advantage of offering more robustness to the offset between vectors, the angular difference between vectors which offers the advantage of emphasizing the mutual length of the vectors as long as the information is carried by these quantities, the Minkowsky distance measure which is a generalization of the Euclidean distance measure and which is advantageous when the vectors carry qualitative data can also be used. artwork.
  • the descriptor vectors V are stored in the “descriptor vectors” database 140 and the number of neurons p varies according to the number of documents in the set of documents E in order to ensure a distribution as well. uniform as possible of documents on the self-organized map C.
  • a weight matrix M of real numbers is delivered and stored in the “weight matrix” database 310 (see FIG. 4), the number of which of rows is equal to the number of components of the document descriptor vectors V of the “normalized documents” database 140 and the number of columns is equal to the number of neurons p of the self-organized map C.
  • This matrix of weight M can be advantageously used by the document map generation and processing processor 350 to produce the content of three “heatmap” databases 320, “wordmap” 330 and “pointmap” 340 which can be used via the graphical interface 190 (see below).
  • the purpose of the “pointmap” database 340 is to allow documents to be displayed on a graphical representation of the card C.
  • the processing processor 350 will call on the “criptor vectors” database 175 containing the descriptor vectors V of all the documents of the set of documents E. For each row of the database 175, a distance calculation will be carried out by comparing the descriptor vector V with all the weight vectors l / l / of the neurons p from the map.
  • the index, or the number, of the neuron c whose weight vector W has the smallest distance from the descriptor vector V of the document presented is associated with this descriptor vector V.
  • the number of documents to be displayed on the graphic representation of card C can be very high and lead to an illegible display if they were all placed on the same plane.
  • the display of documents on the map can be advantageously lightened by providing a zoom system comparable to that which is available for road maps.
  • Each index (x, y) contained in the "pointmap" database is enriched by a z value corresponding to a display plane.
  • the z value is calculated according to an evaluation function, the free choice of which is advantageously left to the user.
  • This may be, for example and without limitation, a ma- nual or the result of a calculation.
  • This function is determined as a parameter of the processor for generating and processing the document map 350.
  • the “point-map” database 340 contains all the words of the document. vocabulary as well as the coordinates (x, y, z) of the card at which these words must be displayed.
  • the document information of the concrete example used here is available in the "pointmap" database 340 and is shown in Table 5.
  • An example of document display is shown in Figure 5.
  • Table 5 extract from the "pointmap" database 340
  • the aim of the present invention is to make it possible to identify, using an analog search, one or more documents whose content is closest to a search term R.
  • a search term R which can advantageously be entered by a user via the graphical interface 190, is transformed into a search vector K which can then be compared to the columns of the weight matrix of the "weight matrix” database 310.
  • the transformation process is illustrated in Error! Referral source not found. 6.
  • Each word of the search term R is read sequentially at step 910 and then it is extracted at step 920 to be compared with the list of words which make up the vocabulary 160. If the word read is a word from the vocabulary, the The index to which this word is in the "vocabulary" database 160 is recorded in step 940 and the process of reading and comparing continues until all of the words in the search field have been read and that the reading of the words is terminated at step 950. At the end of this process, a list of indices 960 which correspond to the words of the search term R which have been found in the "vocabulary" database 160 is obtained.
  • the value 1 is stored at the location of these indices to form a search vector K whose number of components is equal to the number of identified words.
  • the vector K is finally normalized by advantageously using an “L2” type normalization.
  • a distance is then calculated between the values which are recorded in these indices to the values recorded in the "weight matrix" database 310 which are found at the same indices 960.
  • a distance is calculated between the search vector K and all the weight vectors W of the self-organized map C.
  • the neuron (s) pbest of the self-organized map C which respond the most, i.e. those for which the calculated distance is the smaller, are identified on the map.
  • the identifiers of the documents which are attached to these neurons are extracted using the "pointmap" database 340 and the bookmarks are advantageously displayed on a graphic representation of a CD document card which can be superimposed on the self-map. organized C, as shown on Error! Referral source not found.
  • the list of documents identified on the basis of an analog search and the search term R be made available in a way other than on a CD document card.
  • a simple list of IDs of identified documents could represent the result of the analog search.
  • these documents are always identified on the basis of the distance between the search vector K and the vectors of weight l / l / de. the self-organized map.
  • the weight vector W the distance D of which is minimal from the search vector K, is first identified. As explained above, each weight vector W corresponds to a neuron p of the self-organized map C.
  • each document of the document set E has been allocated to a neuron on map C. This therefore makes it possible, by knowing which weight vector W is closest to the search term R, to determine which document is allocated to the corresponding neuron and therefore which document has the content closest to the search term R.
  • the SOM algorithm has the effect of re-grouping close documents in the sense of a distance measurement in neurons. Neurons are encoded in a matrix as vectors of real data. These neurons are ordered by the algorithm such that close documents in data space are as close as possible on the C map. This is one of the most important properties of this algorithm.
  • each point of the distance map CH also called a “heatmap” is associated with a value ddi j calculated as follows: with k, l G ⁇ —1.0, +1 ⁇ and d is the Euclidean distance measure
  • the “heatmap” database 320 contains the coordinates of each point ij of the distance map CH as well as the value ddi j calculated for this point.
  • the color scale for representing these values can extend from red to green where red represents the highest value and green the furthest distance.
  • An example of a CH distance map with a grid of 10 ⁇ 00 neurons is shown on the Error! Reference source not found. In this figure, the color code is represented by gray levels.
  • the representation of documents on a map can be contextualized by placing on a map.
  • CW words the most significant words near the neurons on map C corresponding to the documents that contain these words.
  • the word map CW can be on the graphical interface 190 advantageously superimposed on the self-organized map C in order to give additional information to the user.
  • the positioning of the words of a document on the CW word map at the location of the corresponding C map neuron is possible but all the words are thus placed at the same time. same place, namely the position of the neuron on the map C.
  • the graphic representation of the word map CW is then useless when the number of words becomes high because they are all superimposed at the same location.
  • One of the original features provided by the present invention is to offer a new representation of all the documents processed in the form of a card. The most significant words will be placed continuously on the CW word map according to the method presented here. Let us recall first of all that the neurons are ordered according to a mono-, two- or three-dimensional relation according to the targeted application.
  • the processing processor 350 will identify for each neuron the indices of the corresponding weight vector W whose component exceeds a predefined threshold. It will then extract from the “vocabulary” database 160 the words which are located at the same indices in order to relate them to the neuron under consideration.
  • the principle is illustrated in Figure 8 where the point (2,3) of the CW word map will be attached to the words "James", “Spy” and "Bridge". Moreover, for each word the value of the component of the weight vector which corresponds to it pond is saved.
  • This reattachment process is performed for all points of the CW word map as shown in Figure 9a.
  • a list of the points of the word map C1 / 1 / to which it is attached is established.
  • An example of such a list can be found in Fig 9b.
  • the processing processor 350 will calculate a continuous index of the locations by multiplying the value of the coordinates of the neurons in the list by the value of the component of the weight vector W (third column of FIG. 9b)
  • a list of real values which can be used to calculate the position of the word on the map is available. For this purpose, a barycenter calculation will be used.
  • the sum of the values of the component of the weight vector W for each chosen word is calculated: with (k, l) designating the indices of the neurons for which w ⁇ ) > predetermined threshold and m designating the index of the weight vector for the chosen word.
  • the value z is calculated according to an evaluation function, the free choice of which is left to the user. It can be, for example and without limitation, a manual evaluation or the result of a calculation.
  • This function is determined as a parameter of the processor for generating and processing the document map 350.
  • the “wordmap” database 330 contains all the words of the vocabulary as well. as the coordinates (x, y, z) of the CW word map at which these words should be displayed.
  • An extract from the "wordmap” database 330 is shown in Table 6.
  • Table 6 extract from the "wordmap” database 330 for the word "re venge”
  • the word "revenge” is identified at 21 different locations on the CW word map which correspond to as many different contexts.
  • this same word has a higher importance (z value) at position (62.75, 96.49). This will allow it to be placed on a higher GUI 190 display plane and will therefore be highlighted more prominently there.
  • the present invention advantageously provides a graphical interface 190 to allow a graphical representation of the self-organized card C, the word card CW, the distance card CH as well as the control card. CD documents.
  • An embodiment of this graphical interface 190 is shown in Error! Referral source not found.
  • Display area 485 of GUI 190 is intended to provide a graphical representation of these cards. The data required for this display is stored in databases 310, 320, 330 and 340.
  • Button 470 allows the user to zoom in with the + symbol or zoom out with the - symbol on the map. This has the effect of enlarging or reducing the area allocated to each neuron to allow a display of its more detailed content.
  • the 480 button is used to display or hide the locations of the neurons in the form of a grid.
  • Button 490 allows the user to return to the original map display.
  • the button 460 allows the user to show or hide the CW word map.
  • the button 450 allows the user to show or hide the CD document card in which the documents are represented by pins.
  • the button 440 allows the user to show or hide the distance map CH.
  • Input field 400 allows the user to enter an R search term.
  • search will be carried out according to an “analog” or “text” type.
  • “analog” or “text” type see below.
  • Information area 430 gives the user information on the number of documents used to construct the map, the number of points displayed in the view chosen by the user and the size of the vocabulary.
  • the 420 drop-down list allows the user to choose a document database from the set of available databases.
  • Display area 495 allows the user to view an entire selected document on the map.
  • a summary 475 "popup" window is displayed.
  • the user left-click on the "Show garlic” link displayed in the summary popup window the entire document is displayed in display area 495.
  • the graphical interface 190 is configured so that initially the self-organized map C is displayed and in superposition the distance map CH, the word map CW and the document map CD, as shown in Fig. 14.
  • the user can use the various controls available to explore the content of the display, carry out searches and refine the results obtained.
  • the user has for example two buttons 470 for zooming forward or backward on part of the maps. When he clicks on the zoom (in or out), the event is picked up by the interface and then transmitted to the generation and processing processor 350. It determines the zone currently being displayed, calls the databases of "wordmap" data 330 and "pointmap" 340 to search for words and documents that are in the identified area.
  • the user selects the words and documents according to the z value associated with them and returns the list to the processor which is in charge of the display.
  • the user also advantageously has the button 480 to display or hide the location of the neurons on the map. This display makes it possible to identify which documents are attached to each neu rone.
  • the display of the grid size depends on the zoom level on the map.
  • buttons - Show / hide words 460 which allows you to display or hide the words on the CW word map, regardless of the current zoom level;
  • Each document pointer represented on the CD document card by a red bookmark is a clickable item with the right mouse button.
  • a display window 475 is shown to the user as shown in Figure 15. It contains a summary of the selected document as well as a “Show garlic” link to the full content of the document. document.
  • the user can then click on the closing cross to close each display window. He can click multiple bookmarks to display multiple summary windows, but only the last full document display window can be displayed.
  • the analog search mode presented above and allows you to search for the search term R entered in the following input field 400 a method of calculation which uses the values recorded in the “weight matrix” database 310.
  • the neu rones which respond the most that is to say those for which the distance calculated between a search vector K of the search term R and the weight vectors of the self-organizing map C is the smallest are identified on the map.
  • the IDs of the documents that are attached to these neurons are retrieved using the "pointmap" database 340 and bookmarks are displayed on the CD document map, as shown on Error! Referral source not found.
  • the user has access to several different data sources, he can choose the one he can explore thanks to the drop-down list 420 which displays all the available data sources. Selecting a data source resets the display of the map and takes into account the parameters specific to this data source and in particular the number of neurons, the volume and the total number of documents.
  • the preferred embodiment of the present invention provides in addition to the analog search mode a text search mode.
  • the latter employs a system of indexing and textual search of documents which aims to create an index database of the contents of documents in order to use it to allow a textual search in the contents of the documents. , advantageously through the graphical interface 190.
  • the indexing and text search system is based on any solution for indexing documents.
  • the 125 document indexing and text search system shown in Error! Referral source not found. Built after the indexing phase an index database 220 which can be used by the user interface of the document card 190 shown in Figure 13.
  • the search field 400 is used to enter a search term to search for in all the indexed documents, provided that the user has chosen the textual search using the button 410 of the interface 190, positioned in "search type: text" mode.
  • the text entered in this field is transmitted to the search system via the programming interface.
  • API 230 which transmits to the index and search processor.
  • the indexing and search processor 230 outputs via the API interface the list 240 of the identifiers of the documents in which all the words are present.
  • This list of identifiers is transmitted to the document map generation and processing processor 180, which crosses the list of identifiers with the data from the “pointmap” database 340 in order to determine the positions (x, y , z) of each document to place them on the CD document card.
  • the search engine 125 delivers an exact result for the searched words, the latter are advantageously highlighted in green. If the result is close, the words are highlighted in blue.
  • the weight matrix M is also advantageously used to define and display the dominant themes of all the documents E.
  • each row of the matrix M is interpreted as a point in a space of dimension r and it is assumed that these dimensions are themselves generated by a subspace of lower dimension.
  • the idea is to consider the documents as random mixtures on underlying themes ("latent" themes) where each theme is characterized by a distribution on the words. This amounts to saying that each word is contained in a context which we will call “dominant theme”.
  • the calculation of the dominant themes is based, according to the present invention, on an arbitrary choice of the number of themes q which will always be less than the number of neurons p of the map.
  • the strong assumption on which the method is based is that the themes are independent in the statistical sense. Posed thus, the The problem amounts to carrying out an analysis in independent components of the weight matrix M of the card.
  • ICA Independent Component Analysis
  • the matrix M is broken down into 2 matrices B and S where S is a matrix such that each row is a group of words representing the themes to be identified.
  • the matrices B and S are the result of the ACI as shown in Figure 19.
  • each line of S is a dominant theme and each theme is composed of a list of words. assigned a weighting one row of which is shown in Table 7.
  • Table 7 a row of the matrix S of the values generated by the ACI on the IMDB base.
  • the row of this table highlights a theme whose most important word is “music” and associated words are “band, hop, hip, song, musician, musical, concert, dancer, dance, rock”.
  • the same method of interpretation is to be used for the other rows of the table. Thanks to an adaptation of the graphical interface 190, it is possible to give the user an immediate visualization of the dominant themes which emerge from the analysis of his documents.
  • the generation of the dominant themes supposes that the generation of the matrix M has been completed.
  • the dominant theme matrix computation process performed by the dominant theme generation processor 700 is shown in Figure 20.
  • the dominant themes processor 700 takes as input the weight matrix M.
  • the first step 710 consists in reading the data from Matrix 310.
  • Step 720 consists in reading the value entered in the “number of dominant topics” field of the. graphic interface of card 190 (see figure 21). These sets of values are supplied at the input of the calculation phase 730 of the “themes” matrix carried out by an independent component analysis method.
  • the matrix is then stored in the database 360.
  • the independent component analysis can be calculated by different algorithms and in particular the Hérault-Jutten algorithm (Herault, Jutten, & Ans, Proceedings of the Xe colloque GRETSI, 2, pp. 1017-1022, 1985), JADE (Cardoso & Souloumiac, IEE proceedings-F, 140 (6), 362-370, 1993), Fast-ICA (Hyvàrinen, J. Karhunen, & Oja, Independent Component Analysis. John Wiley and Son, 2001) or Infomax (Linsker , IEEE Computer, 21, 105-117, 1988).
  • Hérault-Jutten algorithm Hérault, Jutten, & Ans, Proceedings of the Xe colloque GRETSI, 2, pp. 1017-1022, 1985
  • JADE Cardoso & Souloumiac, IEE proceedings-F, 140 (6), 362-370, 1993
  • Fast-ICA Hyvàrinen, J. Karhunen
  • the Hérault-Jutten algorithm strongly inspired by a neuromimetic approach reproduces the separation of sources observed on the nerve fibers which convey speed and position.
  • This Robins-Monro-type algorithm iteratively searches for common zeros of two nonlinear functions. Its main advantage is the simplicity of the iterative processing, but the implementation is not suited to large problems like the one we are addressing in this invention.
  • the JADE algorithm Joint Approximate Diagonalization of Eigenmats
  • the JADE algorithm is based on a definition of independence seen as the cancellation of all moments and cumulants at all orders. This amounts to canceling all the non-diagonal elements of a tensor of cumulants of order N which is an N-dimensional matrix containing all the crossed cumulants of order N.
  • Infomax is based on the principle which stipulates that the implementation of a model of the cognitive capacities of mammals by means of a network of artificial neurons must be such that the rate of information transmitted from one layer of neurons to the next is maximum. Nadal and Parga showed that under certain conditions, this principle was equivalent to the principle of redundancy reduction (Nadal & Parga, Network: computation in neural Sys tems. 5, 565-581, 1994) which states that the goal of systems sensory effects of mammals is to efficiently encode stimuli (visual, sound, etc.). The main drawback of infomax is that the runtime is difficult to predict.
  • Fast-ICA is based on the estimation of independent components by means of a “non-gausianity” measure. Its main drawback is its sensitivity to initial conditions, offset by its high speed of execution. In the context of the present invention, the Fast-ICA method is preferred without this option being limiting. It is important to note that it is possible to use any ad-hoc algorithm which implements the principle of independent component analysis efficiently.
  • the detailed description of the Fast-ICA algorithm is given by (Hyvàrinen, J. Karhunen, & Oja, 2001).
  • Table 7 A row taken from this matrix is shown in Table 7. This row highlights the 20 words that have the highest values generated by MCA. We will therefore call the dominant theme the list of 20 words. The word with the greatest value will be used as the title of the dominant theme. Table 7 will therefore give the dominant theme title: music.
  • the 20 words of the theme are: "music, band, hop, hip, song, musician, musical, concert, dancer, dance, rock, scene, teenage, actor, video, record, night, culture, industry, mi- chael, pop ”.
  • Table 8 shows an extract of the matrix containing only the words sorted in descending order of values calculated by MCA. This matrix is finally stored in the database 360 shown in Figure 20. Table 8: list of dominant themes
  • the present invention describes a method for displaying the dominant themes as regions of the map such as shown in Figure 21.
  • each dominant theme covers a region of the map and the title of the associated theme is displayed in the center of the region concerned.
  • Field 412 groups together data relating to the use of dominant themes.
  • Field 411 allows the user to choose the number of dominant themes to display.
  • the present invention also relates to the method used for the construction of the regions on the map which correspond to the dominant themes. This method is presented in Figure 22.
  • a vector containing all the descriptor words of this dominant theme is constructed in step 510 with values 0 and 1 which depend on the presence or absence of the word at the corresponding index.
  • the vector corresponding to the dominant theme "war” will be coded as shown in Table 9. Only 7 non-empty columns are represented for a vocabulary containing 4 ⁇ 96 words, obtained from the processing of the 44,512 abstracts of extracted films. from the Internet Movie Database.
  • Table 9 values of the descriptor calculated for the example chosen and corresponding words in the vocabulary A calculation is launched at step 520 to evaluate the Euclidean distance between this vector and all the vectors of the neurons of the map contained in the base of data 310. This produces a table containing these distances with the corresponding neural index, as shown in Table 10.
  • the distance vector is then normalized in step 530 with the L2 norm to produce values that will be comparable from one dominant theme to another.
  • Each distance is then compared to the threshold set in step 540 to identify the neurons that respond the most to the words of the dominant theme chosen.
  • the list of indices of these neurons is retrieved in step 550 and these neurons are surrounded on the map with a closed polygon in step 560.
  • a dominant theme can be visualized on the map as a region bounded by a polygon.
  • the title of the dominant theme being advantageously placed in the center of this polygon.
  • Each button 413 of interface 190 corresponding to each theme can be clicked to show or hide the dominant theme as a polygon on map 485 and the title 414 of the corresponding dominant theme.
  • field 415 containing the words associated with the dominant theme is displayed. Construction of regions associated with a dominant theme. The number of words displayed is chosen by parameter. It is at most equal to the number of descriptor words. By default, the value is set to 20.
  • Each theme title 414 displayed on the map can be changed by the user to correspond to a more appropriate denomination.
  • the user must double click on the title of the dominant theme or long click for a tablet version in order to activate the editing function of the title of the dominant theme.
  • the user can then edit the title of the theme.
  • the change has no effect on other words related to the dominant theme.
  • Changing the theme title also changes the title of button 413 of the corresponding theme.
  • the theme title change is saved in the user's context. It is not available to all users of the solution.
  • the present method is implemented by using a computer program to perform operations on aspects.
  • a computer program to perform operations on aspects.
  • of the present invention which can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Python, C ++, or the like and conventional procedural programming languages , such as the "C" programming language or similar programming languages.
  • Program code can be run entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer, and partially on a computer. remote computer or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be established to an external computer (for example, through the Internet function using an Internet service provider).
  • LAN local area network
  • WAN wide area network
  • the computer running the program will consist of at least a standard processor (CPU) with its RAM memory of at least 30Giga bytes, a hard disk with a minimum capacity of 1Tera Byte. It could also be composed of a processor to execute several threads simultaneously (multi-thread). Finally, it can be added hardware acceleration cards such as GPUs (graphie processor Units), TPUs (Tensor Processing Units) and in general any hardware acceleration device available on the market such as RTX2060, RTX 2070, GTX 1070.
  • GPUs graphie processor Units
  • TPUs Torsor Processing Units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

La présente invention se rapport à une méthode mise en œuvre par ordinateur pour la recherche analogique de documents comprenant au moins une information textuelle d'un ensemble de documents E compris dans une première base de données et dont l'information textuelle correspond le plus à un terme de recherche R comprenant les étapes : a. Génération d'une deuxième base de données comprenant une liste de mots produite par lemmatization de l'information textuelle des documents de la première base de données; b. Génération d'un vecteur descripteur V de valeurs numériques pour chaque document de la première base de données à l'aide d'une fonction de vectorisation F de l'information textuelle; c. Apprentissage d'une carte auto-organisée C comprenant un réseau de P neurones p par projection des vecteurs descripteurs V sur la carte auto-organisée C, chaque neurone p de la carte auto-organisée C correspondant à un vecteur poids W de valeurs numériques; d. Allocation de chaque document de la première base de données au neurone p de la carte auto-organisée C dont le vecteur poids W correspondant possède la plus petite distance avec le vecteur descripteur V du document à allouer; e. Génération à l'aide de la fonction de vectorisation F et de la deuxième base de données d'un vecteur de recherche K de valeurs numériques pour le terme de recherche R; f. Détermination du neurone pbest de la carte auto-organisée C dont le vecteur poids W possède la plus petite distance avec le vecteur de recherche K; et g. Détermination des documents de la première base de données alloués au neurone pbest de la carte auto-organisée C.

Description

Méthode mise en œuvre par ordinateur pour la recherche analogique de documents
Domaine technique de l'invention
La présente invention se rapporte au domaine des méthodes mises en oeuvre par ordinateur pour la recherche de documents. Plus précisément, la présente invention concerne une méthode mise en oeuvre par ordinateur pour la recherche analogique de documents dans un ensemble de documents. Elle concerne spécifiquement une méthode mise en oeuvre par ordinateur qui per met d’identifier des documents dans un ensemble de documents qui se rappro- chent le plus d’un terme de recherche qui n’est pas forcément contenu dans les documents de l’ensemble de documents.
État de la technique
L’évolution rapide de la numérisation documentaire a conduit à une production explosive de fichiers contenant une information codée de manières très variées : documents textes, traitements de texte, documents sous format PDF et en général tout document dans un format capable de contenir des infor mations textuelles. L’exploitation efficace de ces documents passe par la possi bilité de trouver rapidement un contenu recherché par un utilisateur. De nom breuses solutions ont été apportées à ce besoin et notamment des moteurs de recherche mais aussi des systèmes de gestion documentaire ou des systèmes d’indexation.
Les méthodes de recherche conventionnelles utilisent une série de mots ou de termes clés appariés à un corpus d'information connu, par exemple le contenu des documents indexés. Un utilisateur saisit un mot ou une expres- sion de recherche et un moteur de recherche fait correspondre le mot ou l'ex pression à une liste de mots dérivés du corpus. Le moteur de recherche affiche ensuite les documents qui correspondent au mot ou à l'expression en question. Cependant, les méthodes de recherche conventionnelles ne tiennent pas compte des deux principaux problèmes inhérents à la recherche.
Le premier problème se rapporte à une recherche imprécise. Dans une recherche imprécise, un utilisateur entre des informations incorrectes dans la requête. Si l'utilisateur n'entre pas les bons mots dans la requête, les docu ments extraits ne représenteront pas l'intention de l'utilisateur. Par exemple, si un utilisateur entre un mot de recherche particulier dans une requête, mais que l'information désirée est indexée sous un synonyme du mot de recherche, alors l'utilisateur ne retrouvera pas l'information désirée.
Le deuxième problème se rapporte à une recherche vague. Dans une recherche vague, l'utilisateur n'en sait pas assez sur le sujet de la l'informa tion désirée pour former une requête de recherche précise. Par exemple, si l'uti lisateur ne connaît pas le langage pour décrire une condition médicale particu- lière, alors l'utilisateur ne sera pas en mesure d'entrer correctement la requête de recherche.
Dans ce contexte, la possibilité d’une recherche analogique peut ap porter un avantage à un utilisateur qui souhaite trouver une information dans une grande masse de documents tout en formulant une requête imprécise ou vague.
Le principe de la recherche par analogie a été proposé notamment dans le contexte de l’image où des solutions proposent de rechercher par simili tude. Néanmoins, dans le contexte de la recherche textuelle, la recherche ana logique soulève la question de déterminer ce qu’est une analogie entre plu- sieurs documents.
Quelques solutions ont été proposées pour la recherche analogique dans le contexte de la recherche textuelle. En particulier, le brevet US 888657 9 B2 concerne le traitement sémantique du texte par les réseaux de neurones, c'est-à-dire l'analyse du sens d'un texte en se concentrant sur la relation entre ses mots et ce qu'ils représentent dans le monde réel et dans leur contexte.
Le brevet US9183288B2 présente une méthode efficace de structu rer les données pour une recherche efficace et fiable en exploitant les relations sémantiques entre les documents. Il utilise une techniques d'analyse séman tique pour créer un modèle d'espace vectoriel de documents contenus dans un corpus de domaine puis crée une structure hiérarchique des documents par le biais d'un processus d'agglomération. Chaque document dans un corpus de do maine est mis en correspondance avec les autres documents dans le même corpus de domaine pour déterminer quels documents sont les plus similaires.
Bien que les solutions connues de l’art antérieur permettent d’identi- fier des documents dans un ensemble de documents à l’aide d’une recherche analogique, ces solutions ne sont pas entièrement satisfaisantes. En effet, ces solutions permettent une mise en relation des documents mais ne permettent pas une exploration visuelle basée sur la proximité sémantique des documents. Notamment, ces solutions ne présentent pas les documents sous forme de carte de proximité contenant les termes les plus représentatifs des régions de cette carte.
Il existe par conséquent un besoin pour une méthode mise en oeuvre par ordinateur qui permet à l’aide d’une recherche analogique d’identifier des documents d’un ensemble de documents qui correspondent le plus à un terme de recherche. Le but de de la présente invention consiste en particulier à offrir une méthode mise en oeuvre par ordinateur permettant de résoudre les pro blèmes tels que :
- accéder le plus simplement et naturellement à une base de don nées documentaire constituée de nombreux documents de contenu très variés ; - suggérer à l’utilisateur des documents qui ne correspondent pas explicitement à ses requêtes mais dont le contenu peut éventuellement l’inspi rer ;
- représenter le contenu de la base de données documentaire sous forme d'une carte résumant son contenu ; et - améliorer le processus et améliorer les réponses aux demandes en tenant compte des interactions possibles avec un utilisateur.
Résumé de l'invention
Un but de la présente invention est donc de proposer une méthode mise en oeuvre par ordinateur pour la recherche analogique de documents tex- tuels permettant de surmonter les limitations mentionnées préalablement. Selon l’invention, ces buts sont atteints grâce aux objets de la reven dication indépendante. Les aspects plus spécifiques de la présente invention sont décrits dans les revendications dépendantes ainsi que dans la description.
De manière plus spécifique, un but de l’invention est atteint grâce à une méthode mise en oeuvre par ordinateur pour la recherche analogique de documents textuels d’un ensemble de documents E compris dans une première base de données et dont le contenu correspond le plus à un terme de re cherche R comprenant les étapes : a. Génération d’une deuxième base de données comprenant une liste de mots produite par lemmatization des documents de la première base de données ; b. Génération d’un vecteur descripteur V de valeurs numériques pour chaque document de la première base de données à l’aide d’une fonction de vectorisation F de l’information textuelle ; c. Apprentissage d’une carte auto-organisée C comprenant un ré seau de P neurones p sur la base des vecteurs descripteurs V, chaque neurone p de la carte auto-organisée C correspondant à un vecteur poids l/l/de valeurs numériques ; d. Allocation de chaque document de la première base de données au neurone p de la carte auto-organisée C dont le vecteur poids W correspon dant possède la plus petite distance avec le vecteur descripteur V du document à allouer; e. Génération à l’aide de la fonction de vectorisation F et de la deu xième base de données d’un vecteur de recherche K de valeurs numériques pour le terme de recherche R ; f. Détermination du neurone pbest de la carte auto-organisée C dont le vecteur poids W possède la plus petite distance avec le vecteur de recherche K ; et g. Détermination des documents de la première base de données al- loués au neurone pbest de la carte auto-organisée C. Grâce à une telle méthode, il est possible d’identifier le ou les docu ments d’un ensemble de documents dont le contenu se rapproche le plus d’un terme de recherche. Il est particulier possible d’accéder simplement et naturel lement à une base de données documentaire constituée de nombreux docu- ments de contenu très variés, de suggérer à l’utilisateur des documents qui ne correspondent pas explicitement à ses requêtes mais dont le contenu peut éventuellement l’inspirer. En d’autres termes, le résultat de la recherche se fonde sur la ressemblance du terme de recherche des documents de l’en semble de documents. Les documents les plus « ressemblants » peuvent être identifiés même si le terme de recherche n’est pas contenu dans aucun des do cuments de l’ensemble de documents. A noter que l’apprentissage de la carte auto-organisée C à l’étape c. peut être mis en œuvre par tout algorithme d’ap prentissage non-supervisé connus de l’art antérieur, tel que par exemple, l’algo rithme dit de Kohonen. Dans un tel algorithme, la carte auto-organisée C est composée d’un réseau de faible dimension de P neurones p. Quand le réseau est unidimen sionnel, chaque neurone possède deux voisins. Quand le réseau est bidimen sionnel, l’arrangement des neurones se fait d’une façon rectangulaire où chaque neurone possède quatre voisins (topologie rectangulaire) ou d’une fa- çon hexagonale où chaque neurone possède six voisins (topologie hexago nale). Les neurones sont reconnus par leur numéro et leur emplacement dans le réseau.
Les vecteurs descripteurs V sont projetés de leur espace initial, ou espace d’entrée, vers la carte ou espace de sortie. A chaque neurone p de la carte est associé un vecteur poids 1/1/ , appelé aussi vecteur prototype ou réfé rent, appartenant à l’espace d’entrée. En désignant par P le nombre total des neurones de la carte, le vecteur poids W du neurone p de dimension N est dési gné par : L’objectif de l’apprentissage de la carte consiste à mettre à jour les vecteurs poids de façon à approximer au mieux la distribution des vecteurs des cripteurs V tout en reproduisant l’auto-organisation des neurones de la carte. L’apprentissage de la carte se fait en mode séquentiel appelé aussi incrémen tal, ou en mode différé (batch).
Chaque itération t de l’apprentissage séquentiel comprend deux étapes. La première étape consiste à choisir au hasard un vecteur descripteur V(t) de l’ensemble W, et à le présenter au réseau dans le but de déterminer son neurone vainqueur. Le neurone vainqueur (Best Matching Unit), d’une observa tion est le neurone dont le vecteur poids en est le plus proche au sens d’une distance donnée (par exemple une distance euclidienne). Si c est le neurone vainqueur du vecteur V(t), c est déterminé comme suit :
Dans une deuxième étape, le neurone vainqueur est activé. Son vec teur poids W est mis à jour pour se rapprocher du vecteur descripteur présenté au réseau. Cette mise à jour ne concerne pas seulement le neurone vainqueur comme dans les méthodes de l’apprentissage par compétition (Winner take ail), mais aussi les neurones qui lui sont voisins et qui voient alors leurs vecteurs poids s’ajuster vers ce vecteur descripteur. L’amplitude de cet ajustement est avantageusement déterminée par la valeur d’un pas d’apprentissage a(t) et la valeur d’une fonction de voisinage h(t).
Le paramètre a(t) règle la vitesse de l’apprentissage. Il est initialisé avec une grande valeur au début puis décroît avec les itérations en vue de ra lentir au fur et à mesure le processus d’apprentissage. La fonction h(t) définit l’appartenance au voisinage. Elle dépend à la fois de l’emplacement des neu rones sur la carte et d’un certain rayon de voisinage. Dans les premières itéra tions, le rayon de voisinage est assez large pour mettre à jour un grand nombre de neurones voisins du neurone vainqueur, mais ce rayon se rétrécit progressi vement pour ne contenir que le neurone vainqueur avec ses voisins immédiats, ou bien même le neurone vainqueur seulement. La règle de mise à jour des vecteurs poids est la suivante : où c est le neurone vainqueur du vecteur descripteur V(t) présenté au réseau à l'itération t et h est la fonction de voisinage qui définit la proximité entre les neurones c et p.
Une fonction de voisinage entre le neurone vainqueur c et un neu- rone p de la carte vaut 1 si le neurone p se trouve à l’intérieur du carré centré sur le neurone c et 0 dans les autres cas. Le rayon de ce carré est appelé rayon de voisinage. Il est large au début, puis se rétrécit avec les itérations pour con tenir seulement le neurone c avec ses voisins immédiats à la fin de l’apprentis sage ou même seulement le neurone c. Une fonction de voisinage plus flexible et plus commune est la fonction gaussienne définie ci-dessous : où rc et rp sont respectivement l’emplacement du neurone c et du neurone p sur la carte, et o(t) est le rayon du voisinage à l’itération t du proces sus d’apprentissage. Avec une telle fonction de voisinage, l’amplitude de l’ajustement est graduée selon l’éloignement du neurone vainqueur qui réserve à lui-même l’am plitude maximale. Le résultat de l’apprentissage non supervisé de la carte auto organisée C est la projection non linéaire de l’ensemble des vecteurs descrip teurs V sur la carte. Chaque vecteur descripteur V est attribué à son neurone vainqueur ce qui permet d’allouer chaque documents de l’ensemble de docu ments à un neurone de la carte auto-organisée. Outre la tâche de quantifica tion, cette projection préserve la topologie des données grâce à l’utilisation de la fonction de voisinage. Deux neurones voisins sur la carte représenteront des observations proches dans l’espace de données. Une variante de l’apprentissage est dite « en mode différé ». En mode différé, à chaque itération t, tous les vecteurs descripteurs V sont présen tés au réseau et la mise à jour des vecteurs poids se fait en prenant en compte tous les vecteurs descripteurs V. Chaque vecteur poids est une moyenne pon- dérée des vecteurs descripteurs (¼, i e {1 , . . . , n}). Quand le carré de la dis tance euclidienne est utilisé pour le calcul du neurone vainqueur, les poids cor respondants sont les valeurs de la fonction de voisinage h(t).
La règle de mise à jour des vecteurs prototypes est donnée par : où h est la valeur de la fonction de voisinage entre le neurone vain queur d du vecteur V; et le neurone p.
La mise à jour des vecteurs prototypes peut être formulée autrement en utilisant le fait que les observations qui ont le même neurone vainqueur ont la même valeur pour la fonction de voisinage et appartiennent à la région de Voronoï dont le centre est leur neurone vainqueur : où ni est le nombre de vecteurs descripteurs V appartenant à la ré- gion de Voronoï représentée par le neurone / et Vi est la moyenne des vecteurs descripteurs de cette même région.
Vers la fin de l’apprentissage, quand le rayon de voisinage devient trop petit pour activer seulement le neurone vainqueur, chaque vecteur poids constitue le centre de gravité des observations qu’il représente et on retombe alors sur l’algorithme des centres-mobiles, ce qui garantit une meilleure ap proximation de la fonction de densité des observations. De plus, avec l’absence du pas d’apprentissage, cet algorithme ne présente pas de problèmes de con vergence.
Cependant, le mode différé pourrait causer des torsions dans les cartes à grandes dimensions. Pour cette raison, on procède à une analyse en composantes principales pour initialiser les vecteurs prototypes. De manière avantageuse, la carte auto-organisée est une carte bidi mensionnelle ou tridimensionnelle. L’initialisation de la carte C avant la procé dure d’apprentissage en tant que telle peut être effectuée de plusieurs façons. Par exemple, une première méthode d’initialisation consiste à assigner un vec- teur de poids 1/1/ initial à chaque nœud de la carte auto-organisée C. Cette attri bution initiale des vecteurs de poids peut être par exemple une attribution aléa toire d'un nombre à chaque vecteur scalaire des vecteurs poids, sans stimula tion. Le terme "aléatoire" désigne probabilité égale pour n'importe lequel d'un ensemble de résultats possibles. La valeur numérique de ces valeurs scalaires assignées au hasard peut être approximativement limitée à la borne inférieure et supérieure par l'extrema correspondant observé dans les vecteurs descrip teurs V. Une autre méthode d’initialisation des vecteurs poids VJ comprend une variation systématique, par exemple une variation linéaire, dans la plage de chaque dimension de chaque vecteur de poids pour recouper approximative- ment la plage correspondante observée dans les vecteurs descripteurs V. Dans une autre méthode d'initialisation, les vecteurs poids VJ sont initialisés par les valeurs des vecteurs ordonnés le long d'un sous-espace bidimensionnel tra versé par les deux vecteurs propres principaux des vecteurs descripteurs V ob tenus par des méthodes d'orthogonalisation bien connues dans l'art, par exemple par l'orthogonalisation dite de Gram-Schmidt. Dans une autre procé dure d'initialisation, les valeurs initiales sont fixées sur des échantillons choisis au hasard parmi les vecteurs descripteurs V.
La détermination du neurone vainqueur de la carte auto-organisée C pour chaque vecteur descripteur V peut se faire selon plusieurs critères bien connus de l’homme du métier. Cela peut par exemple être effectué sur la base, d’une distance par exemple la distance Euclidienne minimale entre tous les vecteurs poids W 6e la carte auto-organisée C et le vecteur V. D’autres mé thodes peuvent pour la détermination du neurone vainqueur telles que celles utilisant la corrélation entre vecteurs qui présente l’avantage d’offrir plus de ro- bustesse au décalage entre vecteurs, l’écart angulaire entre vecteurs qui offre l’avantage de mettre l’accent sur la longueur mutuelle des vecteurs pour autant que l’information soit portée par ces grandeurs, la mesure de distance de Min- kowsky qui est une généralisation de la mesure de distance euclidienne et qui est avantageuse lorsque les vecteurs portent des données de nature qualita tives peuvent être aussi mises en oeuvre.
Dans un premier mode de réalisation préféré de la présente inven tion, la distance entre deux vecteurs est une distance euclidienne. La distance Euclidienne entre vecteurs est une mesure qui peut être déterminée très rapide ment quelle que soit la dimension de la carte auto-organisée C ce qui permet une mise en oeuvre rapide de la présente méthode et donc une recherche ra pide du ou des documents dont le contenu ressemble le plus au terme de re cherche. De plus, la détermination d’une distance Euclidienne entre deux vec- teurs ne demande que peu de ressources de calcul. Elle peut donc se faire sur des ordinateurs de bureau ordinaires.
Dans un autre mode de réalisation préféré de la présente invention, le contenu textuel des documents de la première base de données est norma lisé avant la génération des vecteurs descripteurs V. Le procédé de normalisa tion est couramment utilisé par toute personne connaissant l’état de l’art en ma tière de prétraitement de documents textuels. Les opérations typiquement réali sées lors de la normalisation sont, de manière non exhaustive, l’agrégation de mots, la transformation des lettres majuscules en lettres minuscules pour les noms communs, la suppression de caractères de ponctuation, la transformation des pronoms de liaison. La normalisation permet de supprimer l’information re dondante ou inutile dans le texte des documents
Dans un autre mode de réalisation préféré de la présente invention, la fonction de vectorisation F est une fonction dite de « term frequency-inverse document frequency ». La méthode dite « TF-IDF « (de l'anglais term fre- quency-inverse document frequency) est une méthode de pondération souvent utilisée en recherche d'information et en particulier dans la fouille de textes. Cette mesure statistique a l’avantage de permettre une évaluation de l'impor tance d'un terme contenu dans un document, relativement à une collection ou un ensemble de documents. L’importance, aussi appelé poids, augmente pro- portionnellement au nombre d'occurrences du mot dans le document et varie également en fonction de la fréquence du mot dans l’ensemble de documents. Dans un autre mode de réalisation préféré de la présente invention, la carte auto-organisée C est bi- ou tridimensionnelle. Une carte bi- ou tridimen sionnelle permet de réduire la complexité des calculs à effectuer lors de la re cherche sans perte trop importante d’information. Elles permettent en outre de produire un résultat de recherche qui regroupe plusieurs documents de manière simple tout en conservant leur proximité sémantique.
Dans encore un autre mode de réalisation préféré de la présente in vention, la carte auto-organisée C est affichable graphiquement par l’intermé diaire d’une interface graphique qui est par exemple l’interface graphique d’un ordinateur personnel. Grâce à ceci le contenu de la carte C est accessible par l’intermédiaire d’une interface graphique et peut être exploré directement par un utilisateur. En particulier, le contenu de la première base de données peut être affiché sur la carte auto-organisée. Ceci permet de voir la proximité des diffé rents documents contenus dans la première base de données. Ainsi si, par exemple, un document a été identifié comme étant particulièrement pertinent, il est possible de trouver les documents dont le contenu est semblable à celui-ci très facilement car ils sont positionnés proches sur la carte auto-organisée C.
Dans encore un autre mode de réalisation préféré de la présente in vention, une représentation graphique d’une carte de documents CD de dimen- sion égale à la carte auto-organisée C est superposable à la représentation gra phique de la carte auto-organisée C, et les documents déterminés à l’étape g. sont identifiés graphiquement sur la carte de documents CD. Ceci permet de créer un deuxième layer, ou deuxième couche, dans l’interface graphique. Ce deuxième layer qui est superposable à la représentation graphique de la carte auto-organisée comprend une représentation graphique des documents identi fiés comme étant les plus proches du terme de recherche R.
Dans un mode de réalisation préféré de la présente invention sui vant, le contenu d’un document déterminé à l’étape g. est accessible en sélec tionnant ce document sur la représentation graphique de la carte de documents CD par l’intermédiaire d’un dispositif de pointage pour ordinateur, tel que par exemple une souris informatique. Ceci permet d’accéder très rapidement au contenu des documents les plus proches du terme de recherche R. Dans encore un autre mode de réalisation préféré de la présente in vention, une représentation graphique d’une carte de distances CH de dimen sion égale à la carte auto-organisée C est superposable à la représentation gra phique de la carte auto-organisée C, et une valeur de distance dd est attribuée à chaque neurone de la carte de distances CH, la valeur de distance dd corres pondant à la somme des distances euclidienne entre le vecteur poids l/l/du neurone considéré et les vecteurs poids W des neurones voisins directs. Comme mentionné auparavant, l’algorithme d’apprentissage de la carte auto organisée C a pour effet de regrouper les documents proches au sens d’une mesure de distance dans des neurones. Les neurones sont codés dans une matrice sous forme de vecteurs de données réelles. Ces neurones sont ordon nés par l’algorithme de telle sorte que des documents proches dans l’espace des données soient aussi proches que possibles sur la carte C. Néanmoins, à cause de la forte non-linéarité de la projection des données d’origine, c’est-à- dire les vecteurs descripteurs V, sur la carte C, la proximité entre les neurones ne donne aucune information sur la distance réelle qui sépare les vecteurs des cripteurs V dans l’espace d’origine. Il en résulte que des documents alloués à des neurones proches sur la carte C peuvent en réalité correspondre à des données très distantes dans l’espace d’origine et donc en réalité être très diffé- rents. Cette limitation peut être en partie réduite par l’utilisation de la carte de distances CH qui peut être superposée à la carte auto-organisée C dans l’inter face graphique. Cette carte de distances CH est une carte de dimension égale à la carte C et qui donne une mesure de la distance réelle entre les vecteurs poids W de cette dernière. Cette mesure peut être avantageusement affichée sur une représentation graphique de la carte de distances CH par une « lookup table » adaptée, par exemple une coloration adaptée ou un niveau de gris adapté.
Dans encore un autre mode de réalisation préféré de la présente in vention, une couleur d’un codage couleur est attribuée à chaque neurone de la carte de distance CH en fonction de la valeur dd. Ceci permet de déterminer vi suellement très rapidement le niveau de ressemble réel de deux documents po sitionnés de façon proches sur la carte auto-organisée C.
Dans un mode de réalisation préféré de la présente invention sui vant, une représentation graphique d’une carte de mots CW de dimension égale à la carte auto-organisée C est superposable à la représentation gra phique de la carte auto-organisée C, dans laquelle à chaque neurone de la re présentation graphique de la carte de mots CW sont affichés les mots du voca bulaire dont la composante du vecteur poids l/l/du neurone de la carte auto-or- ganisé C correspondant est supérieure à une valeur prédéterminée. Tout comme une carte routière représente les villes dans leur contexte incluant les monuments, les routes, les forêts et en général tout ce qui donne un contexte à la ville, la représentation des documents sur une carte peut être contextualisée en plaçant sur la carte de mots CW les mots les plus significatifs à proximité des neurones de la carte C correspondant aux documents qui contiennent ces mots. Une représentation graphique de la carte de mots CW est avantageuse ment superposée à la représentation graphique de la carte auto-organisée C afin de donner une information supplémentaire à l’utilisateur.
Dans encore un autre mode de réalisation préféré de la présente in- vention, les mots affichés dans la carte de mots CW sont organisés sur des plans différents correspondant à des différentes plages de valeurs de poids, les mots dont la valeur de poids sont les plus élevées étant affichées au premier plan de la représentation graphique de la carte de mots CW. Le nombre de mots à afficher sur la représentation graphique de la carte CW peut être très élevé et conduire à un affichage illisible si ces derniers étaient tous placés sur un même plan. Dans le cadre de cette invention, l’affichage des documents sur la carte est avantageusement allégé en offrant un système de zoom compa rable à celui qui est disponible pour les cartes routières. Pour ce faire, les mots sont distribués sur différents plans d’affichage selon leur pertinence. Dans encore un autre mode de réalisation préféré de la présente in vention, les documents de la première base de données sont indexés dans une troisième base données, et les documents comprenant le terme de recherche R sont déterminés. Ceci permet en plus de la recherche analogique de faire une recherche sur la base d’une indexation des documents de la première base de données. Il est ainsi possible de rechercher et d’identifier les documents qui contiennent explicitement le terme de recherche R.
Dans encore un mode de réalisation préféré de la présente invention suivant, les documents comprenant le terme de recherche R sont identifiés sur la représentation graphique de la carte de documents CD. Ceci permet d’avoir rapidement une information quant à la ressemblance de deux documents qui ont été identifiés par la recherche textuelle. En effet, deux documents proches sur la carte de documents CD ont un contenu proche. Bien sûr la carte de dis- tance CH peut dans ce cas aussi être superposée à la carte de documents CD. Cela permet de fournir à l’utilisateur une indication sur la ressemblance réelle de deux documents identifiés lors de la recherche textuelle.
Dans encore un autre mode de réalisation préféré de la présente in vention, les documents de la première base de données sont des documents codés sous forme numérique avantageusement issus de traitement de texte, de systèmes de reconnaissance de textes, par exemple par l’intermédiaire de la méthode dite Optical Character Récognition, ou issus de tout système capable de produire des fichiers numériques structurés. Ceci a l’avantage que le con tenu textuel des documents peut être facilement traité pour créer le vocabulaire ainsi que les vecteurs descripteurs.
Brève description des dessins
Les particularités et les avantages de la présente invention apparaî tront avec plus de détails dans le cadre de la description qui suit avec un exemple de réalisation donné à titre illustratif et non limitatif en référence aux dix-neuf figures ci-annexées qui représentent :
- La figure 1 représente un schéma fonctionnel d’une méthode se lon un mode de réalisation de la présente invention ;
- La figure 2 illustre l’étape d’apprentissage de la carte auto-organi- sée C ;
- La figure 3 représente un schéma fonctionnel de l’adaptation de la carte auto-organisée ;
- La figure 4 illustre le système de génération des cartes docu ments, mots et distances; - La figure 5 montre une représentation graphique de la carte de do cuments ;
- La figure 6 représente un schéma fonctionnel de la recherche des documents les plus proches du terme de recherche ; - La figure 7 montre une représentation graphique de la carte de distances ;
- La figure 8 illustre la relation entre la carte, neurones, les poids de mots et le vocabulaire ;
- La figure 9a illustre la première étape dans le calcul des coordon- nées continues pour un mot du vocabulaire;
- La figure 9b illustre la deuxième étape dans le calcul des coordon nées continues pour un mot du vocabulaire;
- La figure 10 illustre le positionnement d’un mot spécifique sur la carte de mots après calcul des coordonnées continues ; - La figure 11 illustre la distribution des mots sur différents plans de la carte de mots ;
- La figure 12 montre exemple de positionnement de mots sur une carte de 10Ό00 neurones ;
- La figure 13 montre l’interface graphique ; - La figure 14 montre la superposition des cartes de mots, de dis tances et de documents sur la carte auto-organisée ;
- La figure 15 illustre l’accès à un résumé d’un document par sa sé lection sur la carte de documents ;
- La figure 16 montre l’interface graphique avec le résumé des do- cuments sélectionnés sur la carte de documents ;
- La figure 17 illustre le système d'indexation et de recherche tex tuelle de documents ; - La figure 18 montre un exemple d’un résultat d’une recherche analogique dans l’interface graphique ;
- La figure 19 illustre l’analyse en composantes indépendantes de la matrice de poids; - La figure 20 illustre la création de la matrice thèmes ;
- La figure 21 montre l’interface graphique avec les thèmes domi nants identifiés ; et
- La figure 22 illustre la construction des régions dans l’interface graphique qui correspondent aux thèmes dominants. Description détaillée d’un mode de réalisation
L’invention présentée ici consiste à permettre d’identifier un ou plu sieurs documents parmi un ensemble de documents à l’aide d’une recherche analogique.
En résumé, l’invention emploie un système d’analyse de documents déposés dans un emplacement de stockage centralisé. L’analyse des docu ments produit automatiquement un vocabulaire utilisé pour coder les docu ments sous forme de vecteurs descripteurs caractéristiques. Ces vecteurs des cripteurs sont cartographiés sous forme d’une carte auto-organisée, de préfé rence bidimensionnelle, qui peut être enfin utilisée pour effectuer les recherches dans la base des documents et identifier un ou plusieurs documents correspon dant le plus à un terme de recherche.
L’invention repose sur la possibilité de cartographier les documents sur une carte auto-organisée, par exemple une carte auto-organisée bidimen sionnelle, de telle manière que deux documents dont les vecteurs descripteurs sont proches dans l’espace des vecteurs descripteurs sont placés sur la carte à des emplacements proches. Cette propriété présente l’avantage d’effectuer des regroupements de documents à partir de leur seul contenu et sans supervision. Finalement, un utilisateur pourra avantageusement exploiter par l’intermédiaire d’une interface graphique appropriée la carte auto-organisée afin de rechercher et trouver des documents par simple exploration de la carte. La cartographie re pose ainsi sur une projection non-linéaire de points depuis l’espace constitué par les vecteurs descripteurs de documents vers une carte en deux dimensions.
Un schéma général d’un mode de réalisation préféré de l’invention est présenté dans la Figure 1. Dans une première étape, un système de lecture de documents 110 prend en entrée des documents textuels, d’un ensemble de documents E, codés sous forme numérique qui peuvent être issus de traitement de texte, de systèmes de reconnaissance de textes, par exemple par l’intermé diaire de la méthode connue sous l’abréviation OCR (Optical Character Reco- gnition) et en général tout système capable de produire des fichiers numériques structurés.
Le contenu textuel des documents de l’ensemble de documents E est enregistré dans une première base de données, appelées ici base de don nées « documents bruts » 120 qui est utilisée comme source du système de traitement de document 130 dont l’objet est, dans une deuxième étape, de trai ter les contenus extraits des documents pour regrouper des mots semblables et supprimer les caractères de ponctuation.
Les documents ainsi traités sont stockés dans la base de données « documents normalisés » 140 qui est utilisée, dans une troisième étape, par le système de génération de vocabulaire 150 pour produire une liste de mots ap pelée « vocabulaire » établie en appliquant des restrictions à la liste de mots produite par le système de traitement de documents 130. Le vocabulaire ainsi obtenu est stocké dans une deuxième base de données, ici appelée base de données « vocabulaire » 160, qui va être utilisé, dans une quatrième étape, par le système de génération de vecteurs descripteurs de documents 170 qui trans forme chaque document de la base de données 140 en vecteurs descripteurs de documents qui sont finalement stockés dans la base de données « vecteurs descripteurs » 175.
Les vecteurs descripteurs stockés dans la base de données 175 sont utilisés, dans une cinquième étape, par le système de génération et de traite ment de cartes de documents 180 qui produit une carte auto-organisée C qui permet la recherche analogique d’un ou plusieurs documents de l’ensemble de documents E sur la base d’un terme de recherche R avantageusement définit par un utilisateur par l’intermédiaire d’une interface graphique 190 qui est avan tageusement une interface graphique d’un ordinateur personnel, tel que par exemple un écran d’ordinateur. Cette interface graphique 190 permet l’affichage graphique des documents identifiés lors de la recherche sur la carte auto-orga- nisée C et sur une ou plusieurs cartes supplémentaires (voir ci-dessous pour plus de détails).
Dans ce mode de réalisation non limitatif, parallèlement au de flux de traitement des documents décrit ci-dessus et permettant la recherche analo gique, un système d’indexation de documents 125 traite les documents enregis- très dans la base de données 120 et indexe leur contenu qui est enregistré dans une troisième base de données appelées ici base de données « d’indexa tion ». Cette indexation peut être avantageusement utilisée pour permettre, en plus du mode de recherche analogique, un mode de recherche textuel qui sera disponible dans l’interface graphique 190. L’interface graphique 190 est avantageusement utilisée pour visuali ser la carte auto-organisée C et une ou plusieurs cartes supplémentaires, les agrandir, les déplacer, afficher ou cacher des mots, afficher ou cacher des do cuments, et pour rechercher les documents par deux modes de recherche ana logique et textuel. Les différentes étapes de la méthode schématisée dans la Fi- gure 1 vont maintenant être décrites en détails grâce à un exemple concret d’application de la présente invention.
Le système de lecture de document 110 représente tout dispositif ca pable de lire des documents textuels et de les enregistrer dans une base de données 120. Chaque ligne de la base de données 120 contient pour chaque document un numéro ID et le contenu du document sous forme de texte brut.
Le Tableau 1 monte un exemple d’un contenu typique d’une ligne de la base de données « documents bruts » 120 qui est obtenue à partir de la base de don nées de 44'512 résumés de « l’Internet Movie Database » (IMBD).
Tableau 1 : une ligne de la base de données « documents bruts » 120 Le système de traitement des documents 130 prend en entrée les in formations contenues dans la base de données « documents bruts » 120 pour effectuer une série d’analyses et de transformations destinées à normaliser le contenu des documents sous une forme qui permettra son exploitation ultérieu- rement. Ce procédé appelé « normalisation » est couramment utilisé par toute personne connaissant l’état de l’art en matière de prétraitement de documents textuels. Les opérations typiquement réalisées lors de la normalisation sont, de manière non exhaustive, l’agrégation de mots, la transformation des lettres ma juscules en lettres minuscules pour les noms communs, la suppression de ca- ractères de ponctuation, la transformation des pronoms de liaison et en général tout traitement visant à supprimer l’information redondante ou inutile dans le texte des documents. Pour la langue anglaise, la normalisation effectuera, par exemple, les transformations suivantes :
• happier, happiest seront transformés en happy · worse, worst seront transformés en badly
• dogs, children seront transformés en dog, child
• writes, writing, wrote, written seront transformés en write
• les pronoms seront transformés en -PRON- La ligne de la base de données « documents bruts » 120 présentée dans le Tableau 1 sera ainsi transformée et codée dans la base de données « documents normalisés» 140 par la ligne présentée dans le Tableau 2.
Tableau 2: une ligne de la base de données « documents normalisés » 140
Après exécution du système de traitement de documents 130, les documents sont ainsi normalisés et peuvent être, dans une étape suivante, utili sés pour construire le « vocabulaire ».
Le vocabulaire est un ensemble de mots sélectionnés parmi tous les mots contenus dans les documents de la base de données « documents nor malisés » 140. Il a pour objet de représenter de manière concise toute l’informa- tion textuelle des documents sous une forme canonique. En ce sens, le vocabu laire constitue les axes d’un espace multidimensionnel dont la dimension est égale au nombre de mots du vocabulaire.
L’étape de génération du vocabulaire est connue par les personnes qui maîtrisent l’état de l’art sous le nom de « lemmatization » car elle consiste à générer des « lemmes » ou mots de vocabulaire. Dans le mode de réalisation présenté ici, la génération du vocabulaire va consister entre autres à compter tous les mots qui apparaissent dans tous les documents de la base de données « documents normalisés » 140. Une manière habituelle pour construire le vocabulaire consiste à par tir d’un vocabulaire existant et à compter le nombre de mots qui apparaissent dans les documents normalisés. Une autre méthode consiste à construire dyna miquement le vocabulaire à partir des documents normalisés. En effet, les mots sont par construction éligibles à devenir des mots de vocabulaire grâce au pré- traitement effectué lors du traitement de documents 130. Dans le mode de réali sation présenté ici, deux décomptes seront effectués (1) le nombre d’appari tions de chaque mot dans l’ensemble des documents normalisés ainsi que (2) le nombre de documents normalisés dans lesquels ce mot apparaît. De plus, deux paramètres seront choisis arbitrairement lors de la construction du voca- bulaire :
• VOCABULARY_CHOICE_DOCCOUNT_MIN_DOCS : le nombre mini mum de documents dans lesquels les mots apparaissent ; et
• VOCABULARY_CHOICE_DOCCOUNT_MAX_DOCS: le nombre maxi- mum de documents dans lesquels les mots apparaissent.
Ces deux paramètres ont pour objectif de réduire la taille du vocabu laire en supprimant les mots qui apparaissent trop souvent ainsi que ceux qui apparaissent trop rarement dans l’ensemble des documents. A l’issue de l’exé- cution du système de génération de vocabulaire 150, la base de données « vo cabulaire » 160 contiendra autant de lignes que de mots du vocabulaire, chacun d’eux étant représenté par 3 valeurs :
Le mot (word) • Le nombre d’apparition de ce mot dans tous les documents (count)
• Le nombre de documents dans lesquels ce mot apparaît (documents)
A titre d’exemple, six lignes de la base de données « vocabulaire » 160 correspondant à l’exemple concret utilisé ici sont présentées dans le Ta bleau 3.
Tableau 3: extrait de six lignes de la base de données « vocabulaire » 160
Il est important de noter que toute méthode capable de produire un vocabulaire à partir des documents normalisés de la base de données « docu ments normalisés » 140 pourrait être utilisée dans le cadre de la présente in vention et son choix dépendra des avantages et inconvénients que la méthode présente.
Les vecteurs descripteurs de documents V sont des vecteurs dont les composantes sont des données numériques qui sont calculées à partir des données textuelles de documents stockées dans la base de données « docu ments normalisés » 140 ainsi que de la base de données « vocabulaire » 160 qui a été construite à l’issue de l’exécution des systèmes 110, 130 et 150.
De très nombreuses méthodes existent pour transformer des textes en valeurs numériques. Citons par exemple le comptage de mots dans un do cument, qui délivre une seule valeur numérique. Cette méthode présente l’avantage d’être très simple à réaliser mais résulte en une perte importante d’information sur le contenu du document. Une autre méthode pourrait consister à définir arbitrairement des mots-clefs et à compter le nombre d’apparitions de ces mots-clefs dans chaque document. Cette méthode présente l’avantage de capter une information plus riche dans chaque document mais présente l’incon vénient de devoir construire une liste de mots-clefs arbitraire. Une autre méthode possible et connue sous le nom de « bag of words » consiste à compter la fréquence d’apparition d’un vocabulaire de mots dans chaque document et de construire un vecteur de nombres qui contient la fréquence calculée pour chaque mot du dictionnaire. Cette méthode apporte une richesse encore plus élevée mais requiert des calculs importants et surtout ne donne aucune information sur la fréquence d’apparition relative d’un mot dans l’ensemble des documents qui a servi à construire le vocabulaire.
La méthode dite « TF-IDF « (de l'anglais term frequency-inverse do cument frequency) est une méthode de pondération souvent utilisée en re- cherche d'information et en particulier dans la fouille de textes. Cette mesure statistique permet d'évaluer l'importance d'un terme contenu dans un document, relativement à une collection ou un ensemble de documents. Le poids aug mente proportionnellement au nombre d'occurrences du mot dans le document et varie également en fonction de la fréquence du mot dans l’ensemble de do cuments. C’est cette méthode qu’il est utilisé dans le mode réalisation préféré de l’invention présenté ici. Cette méthode peut être toutefois remplacée par toute autre méthode standard ou originale qui pourrait apporter une information plus adaptée au domaine d’application relatif aux documents traités sans sortir du cadre de la présente invention. Dans la méthode TF-IDF, la fréquence « brute » TF d'un terme cor respond simplement au nombre d'occurrences de ce terme dans le document considéré. A noter que le terme de « fréquence » est un abus de langage. Le terme de « fréquence » sera toutefois utilisé ici, car il est régulièrement utilisé dans le domaine technique de la présente invention. Il est possible de choisir cette fréquence brute pour exprimer la fréquence d'un terme. Dans ce cas, le calcul de la fréquence brute s’exprime par :
T Fi = fi d où f représente la fréquence brute, / est le mot considéré et d est le document considéré.
La fréquence inverse de document IDF est une mesure de l'impor- tance du terme dans l'ensemble des documents. Dans le schéma TF-IDF, elle vise à donner un poids plus important aux termes les moins fréquents, considé rés comme plus discriminants. En général, la détermination de la fréquence inverse IDF consiste à calculer l'inverse de la proportion de documents de l’ensemble qui contiennent le terme :
\D\
IDFi = log
\{dj : ti G dj}\
Où :
\D \ : le nombre total de documents dans l’ensemble de documents ; | [dj\ ti e dj}\ : le nombre de documents où le mot tt apparaît. La valeur TF-IDF pour un couple TF - IDFij est donné par :
TF - IDFij = T Fi j x IDFi
Toujours en utilisant notre exemple “a vengeful New York transit cop décidé to steal a trainload of subway tare -PRON- foster brother a fellow cop try to protect -PRON-" de la base de données « documents normalisés » 140, la valeur TF-IDF pour le mot « cop » dans le document avec l’ID 19 du Tableau 2 sera calculée de la manière suivante :
- Pour l’exemple, on suppose que tous les mots de la phrase font partie du vocabulaire et que le mot « cop » apparaît dans 5 documents sur 100 documents au total. 100
IDFcop = log
5 et donc:
2 100
TFC0P Ig x IDFcop = —x log — = 0.108 Ainsi, à la fin de l’exécution du système de génération de descrip teurs de documents 170, chaque document sera codé par un vecteur descrip teur V dont le nombre de composantes correspond au nombre de mots dans le vocabulaire. Les composantes du vecteur descripteur V de chaque document résultent quant à elles du calcul de TF-IDF décrit ci-dessus. Chaque ligne de la base de données « vecteurs descripteurs » 175 contiendra les valeurs TF-IDF associées à chaque document stocké dans la base de données « documents bruts » 120 et suivant le vocabulaire stocké dans la base de données « vocabu laire » 160. Une dernière opération consiste, avantageusement, en une normali sation de la matrice des vecteurs descripteurs V contenue dans la base de don nées « vecteurs descripteurs » 175 en appliquant une normalisation dite « L2 », appelée aussi norme euclidienne. Lors d’une normalisation L2 les valeurs sont normalisées de sorte que si elles étaient toutes mises au carré et additionnées, le total serait égal à 1.
En se référant à nouveau à l’exemple concret, si le vocabulaire stocké dans la base de données « vocabulaire » 160 contient 4Ό96 mots, chaque document de la base de données « documents normalisés » 140 sera codé dans la base de données « vecteurs descripteurs » 175 comme un vec- teur descripteur V de valeurs réelles de dimension 4Ό96, chaque valeur résul tant du calcul du TF-IDF de chaque mot du vocabulaire pour chaque document. Chaque ligne de la base de données « vecteurs descripteurs » 175 représente ainsi un vecteur descripteur V de chaque document. Ces vecteurs descripteurs V seront utilisés ultérieurement pour générer une carte auto-organisée C des documents avec le système de génération et de traitement de la carte de docu ments 180.
Par exemple, la ligne du Tableau 2 pour le document avec l’ID 19 sera codée par le vecteur descripteur V montré dans le Tableau 4. Seules les sept colonnes non vides sont représentées pour un vocabulaire contenant 4Ό96 mots, obtenu à partir du traitement des 44'512 résumés de films extraits de « l’Internet Movie Database ».
Tableau 4: valeurs du vecteur descripteur V pour le document 19 du Tableau 2
Le système de génération et de traitement de carte de documents 180 est destiné à produire une carte auto-organisée C qui regroupe tous les do cuments contenus dans la base de données « documents normalisés » 140 sur forme d’une carte qui place les documents dont le contenu est similaire à des emplacements proches sur cette carte. Pour ce faire, les données stockées dans la base de données « vecteurs descripteurs » 175 sont utilisées pour ali menter un système de classification automatique.
Le système de génération de carte 180 utilise avantageusement l’al gorithme dit des « Self-Organizing Maps (SOM)» qui produit une carte auto-or- ganisée C comme cela est illustré sur la Figure 2.
La carte auto-organisée C est composée d’une grille de neurones p de faible dimension. Quand la grille est unidimensionnelle, chaque neurone p a deux voisins. Quand la grille est bidimensionnelle, l’arrangement des neurones p se fait d’une façon rectangulaire où chaque neurone possède quatre voisins (topologie rectangulaire) ou d’une façon hexagonale où chaque neurone pos sède six voisins (topologie hexagonale). Les neurones p sont identifiés par leur numéro et leur emplacement sur la grille.
Les vecteurs descripteurs de documents V= v(1), v(2), ... ,v(p) sont projetés de leur espace initial, ou espace d’entrée, vers la carte auto-organisée C ou espace de sortie. A chaque neurone p de la carte C est associé un vec teur poids W, appelé aussi vecteur poids ou prototype, appartenant à l’espace d’entrée. En désignant par P le nombre total des neurones p de la carte C, le vecteur poids W du neurone p de dimension N est désigné par :
Wp avec p G {1, , P} et Wp G RN
L’objectif de l’apprentissage de la carte consiste à mettre à jour les vecteurs poids l/l/de façon à approximer au mieux la distribution des vecteurs d’entrée, c’est-à-dire les vecteurs descripteurs V, tout en reproduisant l’auto-or- ganisation des neurones p de la carte C. L’apprentissage de la carte peut se faire avantageusement en mode séquentiel appelé aussi incrémental, ou en mode différé (batch). Le processus général de l’apprentissage est décrit sur la Figure 3.
Tous les vecteurs poids W sont initialisés à des valeurs aléatoires à l’étape 810. Chaque itération t de l’apprentissage séquentiel comprend deux étapes. La première étape consiste à choisir au hasard un vecteur descripteur V(t) de l’ensemble des vecteurs descripteurs contenu dans la base de données « vecteurs descripteurs » 175 (étape 820), et à le présenter au réseau de neu rones p dans le but de déterminer son neurone vainqueur (étape 830). Le neu rone vainqueur, appelé Best Matching Unit ou BMU, d’un vecteur descripteur V(t) est le neurone p dont le vecteur poids W(t) en est le plus proche au sens d’une distance donnée, par exemple la distance euclidienne. Si c est le neurone vainqueur, c’est-à-dire le BMU du vecteur descripteur V(t), c est déterminé comme suit :
Dans la deuxième étape d’une itération t, le neurone vainqueur est activé. Son vecteur poids W(t) est mis à jour pour se rapprocher du vecteur descripteur V(t) présenté au réseau. Cette mise à jour ne concerne pas seule ment le neurone vainqueur BMU, comme dans les méthodes d’apprentissage par compétition dites de « winner take ail », mais aussi les neurones qui lui sont voisins et qui voient alors leurs vecteurs poids W(t) s’ajuster également vers le vecteur descripteur V(t). L’amplitude de cet ajustement 840 est déterminée par la valeur d’un pas d’apprentissage a(t) et la valeur d’une fonction de voisinage h(t). Le paramètre a(t) règle la vitesse de l’apprentissage et est initialisé avec une grande valeur au début puis décroît avec le nombre d’itérations en vue de ralentir au fur et à mesure le processus d’apprentissage. Le paramètre a(t) prend ses valeurs entre 0 et 1. La fonction h(t) définit quant à elle l’apparte- nance au voisinage. Elle dépend à la fois de l’emplacement des neurones sur la carte et d’un certain rayon de voisinage. La fonction h(t) prend ses valeurs entre N/2 et 0, où N représente le nombre de neurones du plus grand côté de la carte.
Dans les premières itérations, le rayon de voisinage est avantageu- sement assez large pour permette de mettre à jour un grand nombre de neu rones voisins du neurone BMU, mais ce rayon se rétrécit progressivement pour ne contenir que le neurone BMU et ses voisins immédiats, ou bien même le neurone BMU seulement. La règle de mise à jour des vecteurs poids VJ est la suivante : où c est le neurone BMU du vecteur d’entrée V(t) présenté au réseau à l’itération t et h la fonction de voisinage qui définit la proximité entre les neu rones c et p.
Une fonction de voisinage entre le neurone vainqueur c et un neu- rone p de la carte, qui peut être utilisée dans le cadre de la présente invention, vaut 1 si le neurone p se trouve à l’intérieur d’un carré centré sur le neurone c et 0 dans les autres cas. Le rayon de ce carré est appelé rayon de voisinage. Il est avantageusement large au début, puis se rétrécit avec le nombre d’itéra tions pour contenir seulement le neurone c avec ses voisins immédiats à la fin de l’apprentissage ou même seulement le neurone c. Une autre fonction de voi sinage plus flexible, qui peut être utilisée dans le cadre de la présente invention, et plus commune est la fonction gaussienne définie ci-dessous : où rc et rp sont respectivement l’emplacement du neurone c et du neurone p sur la carte, et o(t) est le rayon du voisinage à l’itération t du proces sus d’apprentissage.
Avec une telle fonction de voisinage, l’amplitude de l’ajustement est graduée selon l’éloignement du neurone BMU qui réserve à lui-même l’ampli tude maximale.
L’apprentissage non supervisé présenté ci-dessus résulte en une projection non linéaire de l’ensemble des vecteurs descripteurs V sur la carte C. Chaque vecteur descripteur V est alloué à son neurone vainqueur BMU. Outre la tâche de quantification, cette projection préserve la topologie des données grâce à l’utilisation de la fonction de voisinage. Deux neurones p voisins sur la carte représenteront des vecteurs descripteurs V proches dans l’espace de données.
Comme mentionné ci-dessus, il est possible au lieu d’un apprentis- sage dit séquentiel, d’utilisé un apprentissage en mode différé. A chaque itéra tion t, tous les vecteurs descripteurs V sont présentés au réseau de neurones p et la mise à jour des vecteurs poids W se fait en prenant en compte tous les vecteurs descripteurs V. Chaque vecteur poids W est une moyenne pondérée des vecteurs descripteurs (\4, i e {1 , . . . , n}) quand le carré de la distance eu- clidienne est utilisée pour le calcul du neurone vainqueur, les poids correspon dants étant les valeurs de la fonction de voisinage h(t)
La règle de mise à jour des vecteurs poids W est donnée par : où h est la valeur de la fonction de voisinage entre le neurone vain- queur a du vecteur V; et le neurone p.
La mise à jour des vecteurs poids W peut être formulée autrement en utilisant le fait que les vecteurs descripteurs V qui ont le même neurone vain queur ont la même valeur pour la fonction de voisinage et appartiennent à la ré gion de Voronoï dont le centre est leur neurone vainqueur : où ni est le nombre d’observations appartenant à la région de Voro- noï représentée par le neurone /. et Vi est la moyenne des observations de cette même région. Vers la fin de l’apprentissage, quand le rayon de voisinage devient trop petit pour activer seulement le neurone vainqueur, chaque vecteur poids W constitue le centre de gravité des vecteurs descripteurs V qu’il représente et on retombe alors sur l’algorithme des centres-mobiles, ce qui garantit une meil leure approximation de la fonction de densité des observations. De plus, avec l’absence du pas d’apprentissage a(t), cet algorithme ne présente pas de pro blèmes de convergence.
Cependant, le mode différé pourrait causer des torsions dans les cartes à grandes dimensions. Pour cette raison, on procède à une analyse en composantes principales pour initialiser les vecteurs prototypes. La carte auto-organisée C peut être une carte bidimensionnelle ou tridimensionnelle. L’initialisation W de la carte auto-organisée C avant la procé dure d’apprentissage en tant que telle peut être effectuée de plusieurs façons. Par exemple, une première méthode d’initialisation consiste à assigner un vec teur poids W initial à chaque nœud de la carte auto-organisée C. Cette d'attribu- tion initiale des vecteurs poids W peut être par exemple une attribution aléatoire d'un nombre à chaque composante des vecteurs poids, sans stimulation. Le terme "aléatoire" désigne probabilité égale pour n'importe lequel d'un ensemble de résultats possibles. La valeur numérique de ces composantes assignées au hasard peut être approximativement limitée à la borne inférieure et supérieure par l'extrema correspondant observé dans les vecteurs descripteurs, c’est-à- dire les vecteurs V. Une autre méthode d’initialisation des vecteurs poids W comprend une variation systématique, par exemple une variation linéaire, dans la plage de chaque dimension de chaque vecteur poids W pour recouper ap proximativement la plage correspondante observée dans les vecteurs descrip- teurs V. Dans une autre méthode d'initialisation, les vecteurs poids W sont ini tialisés par les valeurs des vecteurs ordonnés le long d'un sous-espace bidi mensionnel traversé par les deux vecteurs propres principaux des vecteurs descripteurs V obtenus par des méthodes d'orthogonalisation bien connues dans l'art, par exemple par l'orthogonalisation dite de « Gram-Schmidt ». Dans une autre procédure d'initialisation, les valeurs initiales des composantes des vecteurs poids W sont fixées sur des échantillons choisis au hasard parmi les vecteurs descripteurs V.
La détermination du neurone BMU de la carte auto-organisée C pour chaque vecteur descripteur V peut se faire selon plusieurs critères bien connus de l’homme du métier. Cela peut, par exemple, être effectué sur la base d’une distance, par exemple la distance Euclidienne minimale entre tous les vecteurs poids W de la carte auto-organisée C et le vecteur descripteur V. D’autres mé thodes peuvent être employées pour la détermination du neurone BMU telles que celles utilisant la corrélation entre vecteurs qui présente l’avantage d’offrir plus de robustesse au décalage entre vecteurs, l’écart angulaire entre vecteurs qui offre l’avantage de mettre l’accent sur la longueur mutuelle des vecteurs pour autant que l’information soit portée par ces grandeurs, la mesure de dis tance de Minkowsky qui est une généralisation de la mesure de distance eucli dienne et qui est avantageuse lorsque les vecteurs portent des données de na ture qualitatives peuvent être aussi mises en œuvre.
Dans le cadre de la présente invention, les vecteurs descripteurs V sont stockés dans la base de données « vecteurs descripteurs » 140 et le nombre de neurones p varie selon le nombre de documents de l’ensemble de documents E afin d’assurer une répartition aussi uniforme que possible des do cuments sur la carte auto-organisée C.
A l’issue de la phase d’apprentissage telle qu’elle a été décrite, une matrice de poids M de nombres réels est délivrée et stockée dans la base de données « matrice de poids » 310 (voir Figure 4), dont le nombre de lignes est égal au nombre de composantes des vecteurs descripteurs de documents V de la base de données « documents normalisés » 140 et le nombre de colonnes est égal au nombre de neurones p de la carte auto-organisée C. Cette matrice de poids M peut être avantageusement utilisée par le processeur de génération et de traitement de la carte des documents 350 pour produire le contenu de trois bases de données « heatmap » 320, « wordmap » 330 et « pointmap » 340 qui pourront être exploitées par l’intermédiaire de l’in terface graphique 190 (voir ci-dessous).
La base de données « pointmap » 340 a pour but de permettre l’affi chage des documents sur une représentation graphique de la carte C. Le pro- cesseur de traitement 350 va faire appel à la base de données « vecteurs des cripteurs » 175 contenant les vecteurs descripteurs V de tous les documents de l’ensemble de documents E. Pour chaque ligne de la base de données 175, un calcul de distance va être réalisé en comparant le vecteur descripteur V avec tous les vecteurs poids l/l/ des neurones p de la carte.
L’indice, ou le numéro, du neurone c dont le vecteur poids W pos sède la plus petite distance avec le vecteur descripteur V du document pré senté est associée à ce vecteur descripteur V. Ainsi, lorsqu’il s’agira d’afficher le document dont le contenu correspond le plus à un terme de recherche R (voir ci-dessous) sur une représentation graphique de la carte C, l’indice du neurone qui répond le mieux à ce document sera disponible sans avoir à effectuer de nouveau ce calcul.
En passant en revue l’ensemble des vecteurs descripteurs V à tra vers le processeur de traitement 350 on obtient la base de données « point- map » 340 contenant tous les vecteurs descripteurs V et les indices des neu rones de la carte auto-organisée C qui répondent le mieux aux vecteurs V.
A l’issu d’une recherche, le nombre de documents à afficher sur la représentation graphique de la carte C peut être très élevé et conduire à un affi chage illisible si ces derniers étaient tous placés sur un même plan. Dans le cadre de cette invention, l’affichage des documents sur la carte peut être avan tageusement allégé en offrant un système de zoom comparable à celui qui est disponible pour les cartes routières. Chaque indice (x,y) contenu dans la base de données « pointmap » est enrichi par une valeur z correspondant à un plan d’affichage. Pour chaque document, la valeur z est calculée suivant une fonc- tion d’évaluation dont le libre choix est avantageusement laissé à l’utilisateur.
Ce peut être, par exemple et de manière non limitative, une évaluation ma- nuelle ou le résultat d’un calcul. Cette fonction est déterminée en tant que para mètre du processeur de génération et de traitement de la carte de documents 350. A l’issue de l’exécution du processeur 350, la base de données « point- map » 340 contient tous les mots du vocabulaire ainsi que les coordonnées (x,y,z) de la carte auxquelles ces mots doivent être affichés.
Par exemple, les informations relatives au document de l’exemple concret utilisé ici sont disponibles dans la base de données « pointmap » 340 et sont illustrées dans le Tableau 5. Un exemple d’affichage des documents est présenté sur la Figure 5.
Tableau 5: extrait de la base de données « pointmap » 340
Comme mentionné ci-dessus, le but de la présente invention est de permettre d’identifier à l’aide d’une recherche analogique un ou plusieurs docu ments dont le contenu est le plus proche d’un terme de recherche R. Pour ce faire, un terme de recherche R, qui peut être avantageusement être saisi par un utilisateur par l’intermédiaire de l’interface graphique 190, est transformé en un vecteur de recherche K qui peut ensuite être comparé aux colonnes de la ma trice de poids de la base de données « matrice de poids » 310. Le processus de transformation est illustré dans la Erreur ! Source du renvoi introuvable. 6.
Chaque mot du terme de recherche R est lu séquentiellement à l’étape 910 puis il est extrait à l’étape 920 pour être comparé à la liste des mots qui composent le vocabulaire 160. Si le mot lu est un mot du vocabulaire, l’in dice auquel ce mot se trouve dans la base de données « vocabulaire » 160 est enregistré à l’étape 940 et le processus de lecteur et de comparaison se pour suit jusqu’à ce que tous les mots du champ de recherche aient été lus et que la lecture des mots soit terminées à l’étape 950. A l’issue de ce processus, une liste d’indices 960 qui correspondent aux mots du terme de recherche R qui ont été trouvés dans la base de données « vocabulaire » 160 est obtenue. Avanta geusement, la valeur 1 est stockée à l’emplacement de ces indices pour former un vecteur de recherche K dont le nombre de composantes est égal au nombre de mots identifiés. Le vecteur K est finalement normalisé en utilisant avantageu- sement une normalisation de type « L2 ».
Une distance est ensuite calculée entre les valeurs qui se trouvent enregistrées dans ces indices aux valeurs enregistrées dans la base de don nées « matrice de poids » 310 qui se trouvent aux mêmes indices 960. En d'autres termes, une distance est calculée entre le vecteur de recherche K et tous les vecteurs poids W de la carte auto-organisée C. Le ou les neurones pbest de la carte auto-organisée C qui répondent le plus, c’est-à-dire ceux pour lesquels la distance calculée est la plus petite, sont identifiés sur la carte. Les identifiants des documents qui sont rattachés à ces neurones sont extraits en utilisant la base de données « pointmap » 340 et les signets sont avantageuse- ment affichés sur une représentation graphique d’une carte de documents CD qui peut être superposée sur la carte auto-organisée C, comme cela est montré sur la Erreur ! Source du renvoi introuvable..
Il est bien entendu possible que la liste des documents identifiés sur la base d’une recherche analogique et du terme de recherche R soit mise à dis- position d’une autre manière que sur une carte de documents CD. Par exemple, une simple liste des ID des documents identifiés pourrait représenter le résultat de la recherche analogique. Néanmoins, il est important de souligner qu’indé- pendamment de la représentation graphique des documents trouvés, ces docu ments sont toujours identifiés sur la base de la distance entre le vecteur de re- cherche K et les vecteurs de poids l/l/de la carte auto-organisée. Le vecteur poids W dont la distance D est minimale avec le vecteur de recherche K est dans un premier lieu identifié. Comme expliqué ci-dessus, chaque vecteur poids W correspond à un neurone p de la carte auto-organisée C. De plus, lors de la génération de la carte auto-organisée C, chaque document de l’ensemble de document E a été alloué à un neurone de la carte C. Ceci permet donc en con naissant quel vecteur poids W est le plus proche du terme de recherche R de déterminer quel document est alloué au neurone correspondant et donc quel document a le contenu le plus proche du terme de recherche R. Comme mentionné auparavant, l’algorithme SOM a pour effet de re grouper les documents proches au sens d’une mesure de distance dans des neurones. Les neurones sont codés dans une matrice sous forme de vecteurs de données réelles. Ces neurones sont ordonnés par l’algorithme de telle sorte que des documents proches dans l’espace des données soient aussi proches que possibles sur la carte C. Il s’agit d’une des propriétés les plus importantes de cet algorithme. Néanmoins, à cause de la forte non-linéarité de la projection des données d’origine, c’est-à-dire les vecteurs descripteurs V, sur la carte C, la proximité entre les neurones ne donne aucune information sur la distance réelle qui sépare les vecteurs descripteurs V dans l’espace d’origine. Il en résulte que des documents alloués à des neurones proches sur la carte C peuvent en réa lité correspondre à des données très distantes dans l’espace d’origine et donc en réalité être très différents. Cette limitation peut être en partie réduite par l’uti lisation d’une carte de distances CH qui peut être superposée à la carte auto organisée C dans l’interface graphique 190. Cette carte de distances CH est une carte de dimension égale à la carte C et qui donne une mesure de la dis tance réelle entre les vecteurs poids l/l/de cette dernière. Cette mesure peut être avantageusement affichée sur une représentation graphique de la carte de distances CH par une « lookup table » adaptée, par exemple une coloration adaptée.
Dans le cadre de cette invention, chaque point de la carte de dis tances CH, aussi appelée « heatmap », est associé à une valeur ddij calculée de la manière suivante : avec k, l G {—1,0, +1} et d est la mesure de distance euclidienne
A l’issue de l’exécution du processeur de traitement 186, la base de données « heatmap » 320 contient les coordonnées de chaque point ij de la carte de distance CH ainsi que la valeur ddij calculée pour ce point. Avantageu sement, l’échelle de couleur pour représenter ces valeurs peut s’étendre du rouge au vert où le rouge représente la valeur la plus élevée et le vert la dis tance la plus éloignée. Un exemple de carte de distances CH avec une grille de 10Ό00 neurones est montré sur la Erreur ! Source du renvoi introuvable.. Dans cette figure le code couleur est représenté par des niveaux de gris.
Tout comme une carte routière représente les villes dans leur con texte incluant les monuments, les routes, les forêts et en général tout ce qui donne un contexte à la ville, la représentation des documents sur une carte peut être contextualisée en plaçant sur une carte de mots CW les mots les plus significatifs à proximité des neurones de la carte C correspondant aux docu ments qui contiennent ces mots. La carte de mots CW peut être sur l’interface graphique 190 avantageusement superposée à la carte auto-organisée C afin de donner une information supplémentaire à l’utilisateur.
Dans une version standard le l’algorithme des cartes auto-organi sées, le positionnement des mots d’un document sur la carte de mots CW à l’emplacement du neurone de la carte C correspondant est possible mais tous les mots sont ainsi placés au même endroit, à savoir la position du neurone sur la carte C. La représentation graphique de la carte de mots CW est alors inutili sable lorsque le nombre de mots devient élevé car ils sont tous superposés au même emplacement. L’une des originalités apportées par la présente invention est d’offrir une représentation nouvelle de l’ensemble des documents traités sous forme d’une carte. Les mots les plus significatifs vont être placés de ma- nière continue sur la carte de mots CW selon la méthode présentée ici. Rappe lons tout d’abord que les neurones sont ordonnés suivant une relation d’ordre mono-, bi- ou tridimensionnelle selon l’application visée. Dans le cadre de l’exemple d’application de la présente invention, nous considérons une relation d’ordre bidimensionnelle. Pour produire les mots les plus significatifs rattachés à un neurone, le processeur de traitement 350 va identifier pour chaque neurone les indices du vecteur poids W correspondant dont la composante dépasse un seuil prédé terminé. Il va ensuite extraire de la base de données «vocabulaire » 160 les mots qui sont situés aux mêmes indices pour les rattacher au neurone consi- déré. Le principe est illustré dans la Figure 8 où le point (2,3) de la carte de mots CW se verra rattacher les mots « James », « Spy » et « Bridge ». De plus, pour chaque mot la valeur de la composante du vecteur poids qui lui corres- pond est enregistrée. Ce processus de rattachement est réalisé pour l’en semble des points de la carte de mots CW comme illustré sur la Figure 9a. En suite, pour chaque mot, une liste des points de la carte de mots Cl/l/auxquels il est rattaché est établie. Un exemple d’une telle liste se trouve dans la Figue 9b. Avec cette liste et la valeur de la composante du vecteur poids W pour l’indice du mot choisi, le processeur de traitement 350 va calculer un indice continu des emplacements en multipliant la valeur des coordonnées des neurones de la liste par la valeur de la composante du vecteur poids W (troisième colonne de la Figure 9b) A l’issue de cette étape de calculs, une liste de valeurs réelles qui peuvent utilisées pour calculer la position du mot sur la carte est disponible. A cet effet, un calcul de barycentre va être utilisé. La somme des valeurs de la composante du vecteur poids W pour chaque mot choisi est calculée : avec (k, l) désignant les indices des neurones pour lesquels w^) > seuil prédéterminé et m désigne l’indice du vecteur poids pour le mot choisi.
Dans l’exemple des Figures 9a et 9b, la valeur Wtotal pour le mot « spy » vaut :
Wtotalspy = 0.1 + 0.3 + 0.1 + 0.2 + 0.74 + 0.1 + 0.1 + 0.1 = 1.74 Enfin, la somme des coordonnées de l’indice continu des emplace ments est calculée pour être divisée par W total du mot choisi. Dans l’exemple des Figures 9a et 9b, la somme des coordonnées vaut :
(0.1, 0,4) + (0.6,12) + (0.3, 0.4) + (0.2, 0.6) + (1.48,2.22) + (0.3, 0.3) + (0.2, 0.2) + (0.3, 0.2) = (3.48,5.52) La division de chacune des coordonnées par W total du mot donne finalement (2,3.17). Le mot « spy » serait donc placé sur la représentation gra phique de la carte de mots CW à l’emplacement (2,3.17) comme cela est illus tré dans la Figure 10. Selon la taille du vocabulaire, le nombre de mots à afficher sur la carte peut être très grand. Si tous les mots étaient placés sur un même plan, cela pourrait conduire à un affichage illisible des mots sur la carte.
Dans le cadre de cette invention, il a été prévu, tout comme pour l’af- fichage des documents sur la représentation graphique de la carte de docu ments CD, d’alléger l’affichage des mots sur la carte de mots CW en offrant un système de zoom comparable à celui qui est disponible pour les cartes rou tières. Chaque position (x,y) d’un mot sur la carte de mots CW va être enrichie par une valeur z utilisée comme plan d’affichage, comme cela est montré sur la Figure 11. Sur cette figure, les mots sont placés sur 2 plans d’affichage de la carte de mots CW suivant les valeurs z qui leur sont associées.
Pour chaque mot, la valeur z est calculée suivant une fonction d’éva luation dont le libre choix est laissé à l’utilisateur. Ce peut être, par exemple et de manière non limitative, une évaluation manuelle ou le résultat d’un calcul. Cette fonction est déterminée en tant que paramètre du processeur de généra tion et de traitement de la carte de documents 350. A l’issue de l’exécution du processeur 350, la base de données « wordmap » 330 contient tous les mots du vocabulaire ainsi que les coordonnées (x,y,z) de la carte de mots CW aux quelles ces mots doivent être affichés. Un extrait de la base de données « wordmap » 330 est présenté dans le Tableau 6.
Tableau 6: extrait de la base de données « wordmap » 330 pour le mot "re venge"
Comme on peut le constater dans ce tableau, le mot « revenge » est identifié à 21 emplacements différents sur la carte de mots CW qui correspon- dent à autant de contextes différents. De plus, ce même mot a une importance plus élevée (valeur z) à la position (62.75, 96.49). Il pourra ainsi être placé sur un plan d’affichage de l’interface graphique 190 plus élevé et sera donc mis en évidence avec plus d’importance à cet emplacement.
Par cette méthode, tous les mots du vocabulaire peuvent être placés sur la carte de mots CW et superposés à la carte auto-organisée C définissant ainsi un contexte lexical de cette dernière. Un exemple est montré sur la Erreur ! Source du renvoi introuvable. 12.
Comme mentionné ci-dessus, la présente invention prévoit avanta geusement une interface graphique 190 pour permette une représentation gra- phique de la carte auto-organisée C, de la carte de mots CW, de la carte de dis tance CH ainsi que la carte de documents CD. Un mode de réalisation de cette interface graphique 190 est présenté dans la Erreur ! Source du renvoi introuvable.. La zone d’affichage 485 de l’interface graphique 190 est destinée à présenter une représentation graphique de ces cartes. Les données requises pour cet affichage sont stockées dans les bases de données 310, 320, 330 et 340.
Le bouton 470 permet à l’utilisateur d’effectuer un zoom avant avec le symbole + ou un zoom arrière avec le symbole - sur la carte. Cela a pour ef fet d’agrandir ou de diminuer la zone allouée à chaque neurone pour permettre un affichage de son contenu plus détaillé. Le bouton 480 permet d’afficher ou de masquer les emplacements des neurones sous forme de grille. Le bouton 490 permet à l’utilisateur de revenir à l’affichage d’origine de la carte. Le bouton 460 permet à l’utilisateur de montrer ou de cacher la carte de mots CW. Le bou ton 450 permet à l’utilisateur de montrer ou cacher la carte de document CD dans laquelle les documents sont représentés par des épingles. Le bouton 440 permet à l’utilisateur de montrer ou cacher la carte de distances CH. Le champ de saisie 400 permet à l’utilisateur d’écrire un terme de recherche R.
Selon le choix effectué par l’utilisateur avec le bouton 410, la re cherche s’effectuera suivant un type « analogique» ou « textuel ». Pour ce qui est du mode de recherche « textuel » voir ci-après.
La zone d’information 430 donne à l’utilisateur des informations sur le nombre de documents utilisés pour construire la carte, le nombre de points affichés dans la vue choisie par l’utilisateur et la taille du vocabulaire.
La liste déroulante 420 permet à l’utilisateur de choisir une base de données de documents dans l’ensemble des bases de données disponibles.
La zone d’affichage 495 permet à l’utilisateur d’afficher la totalité d’un document sélectionné sur la carte. Lorsque l’utilisateur clique avec le bouton gauche d’une souris d’ordinateur sur une épingle représentant un document sur la carte de documents CD, une fenêtre « popup » de résumé 475 est affichée. Lorsque l’utilisateur clique avec le bouton gauche sur le lien « Show ail » affiché dans la fenêtre popup de résumé, l’intégralité du document est affichée dans la zone d’affichage 495.
Avantageusement, l’interface graphique 190 est configurée pour qu’initialement la carte auto-organisée C soit affichée et en superposition la carte de distance CH, la carte de mots CW et la carte de documents CD, comme cela est montré sur la Figue 14. L’utilisateur peut faire appel aux différents contrôles disponibles pour explorer le contenu de l’affichage, réaliser des recherches et affiner les résultats obtenus. L’utilisateur dispose par exemple de deux boutons 470 pour zoomer vers l’avant ou vers l’arrière sur une partie des cartes. Lorsqu’il clique sur le zoom (avant ou arrière), l’événement est capté par l’interface puis transmis au processeur de génération et de de traitement 350. Il détermine la zone actuelle ment en cours d’affichage, fait appel aux bases de données « wordmap » 330 et « pointmap » 340 pour rechercher les mots et les documents qui sont dans la zone identifiée. Il sélectionne les mots et les documents en fonction de la valeur z qui leur est associée et renvoie la liste au processeur qui est en charge de l’affichage. L’utilisateur dispose également avantageusement du bouton 480 pour afficher ou masquer l’emplacement des neurones sur la carte. Cet affi chage permet d’identifier quels sont les documents rattachés à chaque neu rone. L’affichage de la taille de la grille dépend du niveau de zoom sur la carte.
L’utilisateur dispose de 3 boutons indépendants : - Show/hide words 460 qui permet d’afficher ou de masquer les mots sur la carte de mots CW, quel que soit le niveau de zoom courant ;
- Show/hide points 450 qui permet d’afficher ou de masquer les pointeurs des documents sur la carte de documents CD ; et
- Show/hide heatmap 440 qui permet d’afficher ou de masque la carte de distances CH.
Chaque pointeur de document représenté sur la carte de documents CD par un signet rouge est un élément cliquable avec le bouton droit de la sou ris. Lorsque le signet est cliqué, une fenêtre d’affichage 475 est montrée à l’utili- sateur comme cela est représenté sur la Figure 15. Elle contient un résumé du document sélectionné ainsi qu’un lien « Show ail » vers le contenu complet du document.
Lorsque l’utilisateur clique sur le lien « Show ail », une fenêtre addi tionnelle 495 est affichée en partie droite de l’interface 190 avec la totalité du document comme montré sur la Figure 16.
L’utilisateur peut alors cliquer sur la croix de fermeture pour fermer chaque fenêtre d’affichage. Il peut cliquer sur plusieurs signets pour afficher plusieurs fenêtres de résumé mais seule la dernière fenêtre d’affichage de do cument complet peut être affichée. Le mode de recherche analogique présenté plus haut et permet de rechercher le terme de recherche R saisi dans le champ de saisie 400 suivant un mode de calcul qui exploite les valeurs enregistrées la base de données « matrice de poids » 310. Nous rappellerons simplement ici, que le ou les neu rones qui répondent le plus, c’est-à-dire ceux pour lesquels la distance calculée entre un vecteur de recherche K du terme de recherche R et les vecteurs poids de la carte auto-organisée C est la plus petite, sont identifiés sur la carte. Les identifiants des documents qui sont rattachés à ces neurones sont extraits en utilisant la base de données « pointmap » 340 et des signets sont affichés sur la carte de documents CD, comme cela est montré sur les Erreur ! Source du renvoi introuvable. Si l’utilisateur a accès à plusieurs sources de données différentes, il peut choisir celle qu’il peut explorer grâce à la liste déroulante 420 qui affiche toutes les sources de données disponibles. La sélection d’une source de don nées réinitialise l’affichage de la carte et prend en compte les paramètres propres à cette source de données et notamment le nombre de neurones, le vo cabulaire et le nombre total de documents.
Le mode de réalisation préféré de la présente invention prévoit en plus du mode de recherche analogique un mode de recherche textuel. Ce der nier emploie un système d’indexation et de recherche textuelle de documents qui a pour objectif de créer une base de données d’index des contenus de do- cuments afin de l’utiliser pour permettre une recherche textuelle dans le con tenu des documents, avantageusement à travers l’interface graphique 190.
Le système d’indexation et de recherche textuelle est basé sur toute solution permettant d’indexer des documents. Le système d’indexation et de re cherche textuelle de documents 125 représenté sur la Erreur ! Source du ren- voi introuvable., construit après la phase d’indexation une base de données d’index 220 qui pourra être utilisée par l’interface d’utilisation de la carte de do cuments 190 représentée sur la Figure 13.
Le champ de recherche 400 est utilisé pour entrer un terme de re cherche à rechercher dans l’ensemble des documents indexés, pour autant que l’utilisateur ait fait le choix de la recherche textuelle grâce au bouton 410 de l’in terface 190, positionné en mode «search type : text». Le texte entré dans ce champ est transmis au système de recherche via l’interface de programmation API 230 qui transmet au processeur d’indexation et de recherche. Le proces seur d’indexation et de recherche 230 délivre en sortie via l’interface API la liste 240 des identifiants des documents dans lesquels tous les mots sont présents. Cette liste d’identifiants est transmise au processeur de génération et de traite ment 180 de la carte de documents qui va croiser la liste des identifiants avec les données de la base de données « pointmap » 340 afin de déterminer les po sitions (x,y,z) de chaque document pour les placer sur la carte de documents CD.
Le résultat visuel sera identique à celui de la recherche analogique tel que présenté sur la Erreur ! Source du renvoi introuvable.. Néanmoins, dans le cas de la recherche textuelle, tous les mots trouvés par le moteur de re cherche 125 seront avantageusement surlignés en vert ou bleu dans le résumé ou dans le texte complet du document, comme cela est montré sur la Erreur ! Source du renvoi introuvable..
Lorsque le moteur de recherche 125 délivre un résultat exact pour les mots recherchés, ces derniers sont avantageusement surlignés en vert. Si le résultat est approchant, les mots sont surlignés en bleu.
La matrice de poids M est dans le cadre de la présente invention avantageusement également utilisée pour définir et afficher des thèmes domi nants de l’ensemble des documents E. Pour ce faire, chaque ligne de la matrice M est interprétée comme un point dans un espace de dimension r et il est sup posé que ces dimensions sont elles-mêmes engendrées par un sous-espace de dimension inférieure. L'idée consiste à considérer les documents comme des mélanges aléatoires sur des thèmes sous-jacents (thèmes « latents ») où chaque thème est caractérisé par une distribution sur les mots. Cela revient à dire que chaque mot est contenu dans un contexte que nous appellerons « thème dominant ». Grâce à la présente invention, il est possible de mettre en évidence les thèmes dominants de l’ensemble de documents E.
Le calcul des thèmes dominants repose, selon la présente invention, sur un choix arbitraire du nombre de thèmes q qui sera toujours inférieur au nombre de neurones p de la carte. L’hypothèse forte sur laquelle repose la mé thode est que les thèmes sont indépendants au sens statistique. Posé ainsi, le problème revient à réaliser une analyse en composantes indépendantes de la matrice M de poids de la carte.
L’analyse en composantes indépendantes (ACI) est une technique statistique dont l’objectif est de décomposer un signal aléatoire multivarié en une combinaison linéaire de signaux indépendants.
Pour réaliser l’ACI dans le contexte de cette invention, la matrice M est décomposée en 2 matrices B et S où S est une matrice telle que chaque ligne est un groupe de mots représentant les thèmes à identifier. Les matrices B et S sont le résultat de l’ACI comme cela est montré sur la Figure 19. A l’issue de la décomposition par ACI, chaque ligne de S est un thème dominant et chaque thème est composé d’une liste de mots affectés d’une pondération dont une ligne est montrée sur le Tableau 7.
Tableau 7: une ligne de la matrice S des valeurs générées par l'ACI sur la base IMDB.
La ligne de ce tableau met en évidence un thème dont le mot le plus important est « music » et les mots associés sont « band, hop, hip, song, musi- cian, musical, concert, dancer, dance, rock ». La même méthode d’interpréta tion est à employer pour les autres lignes du tableau. Grâce à une adaptation de l’interface graphique 190, il est possible de donner à l’utilisateur une visualisation immédiate des thèmes dominants qui ressortent de l’analyse de ses documents.
La génération des thèmes dominants suppose que la génération de la matrice M est achevée. Le processus de calcul de la matrice des thèmes do- minants réalisé par le processeur de génération de thèmes dominants 700 est présenté sur la Figure 20. Le processeur de thèmes dominant 700 prend en entrée la matrice de poids M. La première étape 710 consiste à lire les données de Matrice 310. L’étape 720 consiste à lire la valeur saisie dans le champ « number of dominant topics » de l’interface graphique de la carte 190 (voir figure 21). Ces ensembles de valeurs sont fournies en entrée de la phase de calcul 730 de la matrice « thèmes » réalisée par une méthode d’analyse en composantes indépendantes. La matrice est ensuite stockée dans la base de données 360.
L’analyse en composantes indépendantes peut être calculée par dif férents algorithmes et notamment l’algorithme de Hérault-Jutten (Hérault, Jut- ten, & Ans, Actes du Xe colloque GRETSI, 2, pp. 1017-1022, 1985), JADE (Cardoso & Souloumiac, IEE proceedings-F, 140(6), 362-370, 1993), Fast-ICA (Hyvàrinen, J. Karhunen, & Oja, Independent Component Analysis. John Wiley and Son, 2001) ou Infomax (Linsker, IEEE Computer, 21, 105-117, 1988). L’al gorithme de Hérault-Jutten fortement inspiré par une approche neuromimétique reproduit la séparation de sources observées sur les fibres nerveuses qui véhi culent vitesse et position. Cet algorithme de type Robins-Monro recherche itéra tivement des zéros communs de deux fonctions non linéaires. Son principal avantage est la simplicité du traitement itératif mais l’implémentation n’est pas adaptée aux problèmes de grande taille comme celui que nous adressons dans cette invention. L’algorithme JADE (Joint Approximate Diagonalization of Eigen- matrices) repose sur une définition de l’indépendance vue comme l’annulation de tous les moments et cumulants à tous les ordres. Ce qui revient à annuler tous les éléments non diagonaux d’un tenseur de cumulants d’ordre N qui est une matrice à N dimensions contenant tous les cumulants croisés d'ordre N. En pratique, l’algorithme JADE considère les cumulants d’ordre 4 et la complexité algorithme est dans ce cas 0(n4) qui est incompatible avec un temps de traite ment raisonnable. Infomax repose sur le principe qui stipule que l'implémenta tion d'un modèle des capacités cognitives des mammifères au moyen d'un ré seaux de neurones artificiels doit être telle que le taux d'information transmis d'une couche de neurones à la suivante soit maximal. Nadal et Parga ont mon tré que sous certaines conditions, ce principe était équivalent au principe de ré duction de redondance (Nadal & Parga, Network: computation in neural Sys tems. 5, 565-581 , 1994) qui énonce que le but des systèmes sensoriels des mammifères est de coder efficacement les stimuli (visuels, sonores...). Le prin- cipal inconvénient d’infomax est que le temps d’exécution est difficile à prédire lorsque la taille du problème augmente. Enfin, Fast-ICA est basé sur l’estima tion des composantes indépendantes au moyen d'une mesure de « non gaus- sianité. Son principal inconvénient est sa sensibilité aux conditions initiales compensé par sa grande rapidité d’exécution. Dans le cadre de la présente invention, la méthode Fast-ICA est pré férée sans que cette option soit limitative. Il est important de noter qu’il est pos sible d’utiliser tout algorithme ad-hoc qui implémente le principe de l’analyse en composantes indépendantes de manière efficace. La description détaillée de l’algorithme Fast-ICA est donnée par (Hyvàrinen, J. Karhunen, & Oja, 2001). A l’issue de l’exécution de Fast-ICA, nous obtenons une matrice dont le nombre de lignes est égal à la valeur saisie dans le champ « number of domi nant topics » de l’interface d’utilisation de la carte 190 et le nombre de colonnes est égal au nombre de mots du vocabulaire.
Une ligne extraite de cette matrice est présentée dans le Tableau 7. Cette ligne met en évidence les 20 mots qui ont les plus grandes valeurs géné rées par MCA. On appellera donc thème dominant la liste des 20 mots. Le mot ayant la plus grande valeur sera utilisé comme titre du thème dominant. Le ta bleau 7 donnera donc comme titre de thème dominant : music. Les 20 mots du thème sont : « music, band, hop, hip, song , musician, musical, concert, dancer, dance, rock, scene, teenage, actor, video, record, night, culture, industry, mi- chael, pop ».
Les lignes de cette matrice sont retraitées individuellement afin de trier les mots par ordre décroissant de valeurs. Le Tableau 8 montre un extrait de la matrice ne contenant que les mots triés par ordre décroissant de valeurs calculées par MCA. Cette matrice est finalement stockée dans la base de données 360 montrée sur la Figure 20. Tableau 8: liste des thèmes dominants
Afin de tirer parti de la représentation cartographique disponible dans l’interface graphique 190, la présente invention décrit une méthode pour afficher les thèmes dominants sous forme de régions de la carte telles comme cela est montré sur la Figure 21. Sur la carte affichée dans l’interface d’utilisation 190 de la carte de documents chaque thème dominant recouvre une région de la carte et le titre du thème associé est affiché au centre de la région concernée. La zone 412 regroupe les données relatives à l’utilisation des thèmes dominants.
Le champ 411 permet à l’utilisateur de choisir le nombre de thèmes dominants à afficher.
La présente invention concerne également la méthode utilisée pour la construction des régions sur la carte qui correspondent aux thèmes domi nants. Cette méthode est présentée sur la Figure 22. Lorsque l’utilisateur clique sur un bouton de titre 413 d’un thème dominant dans l’interface 190, un vecteur contenant tous les mots descripteurs de ce thème dominant est construit à l’étape 510 avec des valeurs 0 et 1 qui dépendent de la présence ou de l’ab sence du mot à l’indice correspondant.
Par exemple, le vecteur correspondant au thème dominant « war » sera codé comme cela est montré dans le Tableau 9. Seules 7 colonnes non vides sont représentées pour un vocabulaire contenant 4Ό96 mots, obtenu à partir du traitement des 44'512 résumés de films extraits de l’Internet Movie Da- tabase.
Tableau 9: valeurs du descripteur calculées pour l’exemple choisi et mots cor respondant dans le vocabulaire Un calcul est lancé à l’étape 520 pour évaluer la distance euclidienne entre ce vecteur et tous les vecteurs des neurones de la carte contenus dans la base de données 310. Cela produit un tableau contenant ces distances avec l’indice des neurones correspondant, comme cela est montré sur le Tableau 10.
Tableau 10: distance entre le thème "war" et tous les neurones de la carte
Le vecteur de distances est ensuite normalisé dans l’étape 530 avec la norme L2 pour produire des valeurs qui seront comparables d’un thème do minant à un autre. Chaque distance est ensuite comparée à seuil fixé à l’étape 540 pour identifier les neurones qui répondent le plus aux mots du thème domi nant choisi. La liste des indices de ces neurones est extraite lors de l’étape 550 et ces neurones sont entourés sur la carte avec un polygone fermé lors de l’étape 560.
A l’issue de ce processus, un thème dominant peut être visualisé sur la carte comme une région délimitée par un polygone. Le titre du thème domi nant étant avantageusement placé au centre de ce polygone.
Chaque bouton 413 de l’interface 190 correspondant à chaque thème peut être cliqué pour afficher ou masquer le thème dominant sous forme d’un polygone sur la carte 485 et le titre 414 du thème dominant correspondant. Lors du survol d’un thème dominant sur la carte 485, le champ 415 contenant les mots associés au thème dominant est affiché. Construction des régions as sociées à un thème dominant. Le nombre de mots affichés est choisi par para métrage. Il est au maximum égal au nombre de mots descripteurs. Par défaut la valeur est fixée à 20.
Chaque titre de thème 414 affiché sur la carte peut être changé par l’utilisateur pour correspondre à une dénomination plus appropriée. L’utilisateur doit cliquer 2 fois sur le titre du thème dominant ou cliquer longuement pour une version tablette afin d’activer la fonction d’édition du titre du thème dominant. L’utilisateur peut alors éditer le titre du thème. Le changement n’a pas d’effet sur les autres mots relatifs au thème dominant. Le changement de titre de thème change également le titre du bouton 413 du thème correspondant. Le changement de titre du thème est enregistré dans le contexte de l’utilisateur. Il n’est pas disponible pour l’ensemble des utilisateurs de la solution.
Avantageusement, la présente méthode est mise en œuvre en utili sant un programme informatique pour effectuer des opérations sur des aspects de la présente invention qui peut être écrit dans n'importe quelle combinaison d'un ou plusieurs langages de programmation, y compris un langage de pro grammation orienté objet tel que Java, Python, C++, ou similaire et des lan gages de programmation procédurale classiques, tels que le langage de pro- grammation "C" ou des langages de programmation similaires. Le code du pro gramme peut être exécuté entièrement sur l'ordinateur de l'utilisateur, en partie sur l'ordinateur de l'utilisateur, en tant que progiciel autonome, en partie sur l'ordinateur de l'utilisateur et en partie sur un ordinateur distant ou entièrement sur l'ordinateur distant ou un serveur. Dans ce dernier scénario, l'ordinateur dis- tant peut être connecté à l'ordinateur de l'utilisateur via n'importe quel type de réseau, y compris un réseau local (LAN) ou un réseau étendu (WAN), ou la connexion peut être établie à un ordinateur externe (par exemple, par le biais de la fonction Internet à l'aide d'un fournisseur de services Internet).
L’ordinateur exécutant le programme sera composé au minimum d’un processeur standard (CPU) avec sa mémoire RAM d’au minimum 30Giga octets, un disque dur de capacité minimum 1Tera Octet. Il pourra être aussi composé d’un processeur d'exécuter plusieurs threads simultanément (multi- thread). Enfin, il peut lui être adjoint des cartes d’accélération matérielles telles que les GPU (graphie processor Units), les TPU (Tensor Processing Units) et en général tout dispositif d’accélération matérielle disponible sur le marché tels que RTX2060, RTX 2070, GTX 1070.
Il est évident que la présente invention est sujette à de nombreuses variations quant à sa mise en oeuvre. Bien qu’un mode de réalisation non limita tif ait été décrit à titre d’exemple, on comprend bien qu’il n’est pas concevable d’identifier de manière exhaustive toutes les variations possibles. Il est bien sûr envisageable de remplacer un moyen décrit par un moyen équivalent sans sor tir du cadre de la présente invention. Toutes ces modifications font partie des connaissances communes d’un homme du métier dans le domaine technique de la présente invention.

Claims

Revendications
1. Méthode mise en œuvre par ordinateur pour la recherche analo gique de documents comprenant au moins une information textuelle d’un en semble de documents E compris dans une première base de données et dont l’information textuelle correspond le plus à un terme de recherche R compre nant les étapes : a. Génération d’une deuxième base de données comprenant une liste de mots produite par lemmatization de l’information textuelle des docu ments de la première base de données ; b. Génération d’un vecteur descripteur V de valeurs numériques pour chaque document de la première base de données à l’aide d’une fonction de vectorisation F de l’information textuelle ; c. Apprentissage d’une carte auto-organisée C comprenant un ré seau de P neurones p par projection des vecteurs descripteurs V sur la carte auto-organisée C, chaque neurone p de la carte auto-organisée C correspon dant à un vecteur poids W de valeurs numériques ; d. Allocation de chaque document de la première base de données au neurone p de la carte auto-organisée C dont le vecteur poids W correspon dant possède la plus petite distance avec le vecteur descripteur V du document à allouer; e. Génération à l’aide de la fonction de vectorisation F et de la deu xième base de données d’un vecteur de recherche K de valeurs numériques pour le terme de recherche R ; f. Détermination du neurone pbest de la carte auto-organisée C dont le vecteur poids W possède la plus petite distance avec le vecteur de recherche K ; et g. Détermination des documents de la première base de données al loués au neurone pbest de la carte auto-organisée C.
2. Méthode selon la revendication 1 , dans laquelle la distance entre deux vecteurs est une distance euclidienne.
3. Méthode selon l’une des revendications précédentes, dans la quelle le contenu textuel des documents de la première base de données est normalisé avant la génération des vecteurs descripteurs V.
4. Méthode selon l’une des revendications précédentes, dans la quelle la fonction de vectorisation F est une fonction dite de « term frequency- inverse document frequency ».
5. Méthode selon l’une de revendications précédentes, dans laquelle la carte auto-organisée C est bi- ou tridimensionnelle.
6. Méthode selon l’une des revendications précédentes, dans la quelle la carte auto-organisée C est affichable graphiquement par l’intermé diaire d’une interface graphique (190) qui est par exemple l’interface graphique d’un ordinateur personnel.
7. Méthode selon la revendication 6, dans laquelle une représenta tion graphique d’une carte de documents CD de dimension égale à la carte auto-organisée C est superposable à la représentation graphique de la carte auto-organisée C, et dans laquelle les documents déterminés à l’étape g. sont identifiés graphiquement sur la carte de documents CD.
8. Méthode selon la revendication 7, dans laquelle le contenu d’un document déterminé à l’étape g. est accessible en sélectionnant ce document sur la représentation graphique de la carte de documents CD par l’intermédiaire d’un dispositif de pointage pour ordinateur, tel que par exemple une souris infor matique.
9. Méthode selon l’une des revendications 6 à 8, dans laquelle une représentation graphique d’une carte de distances CH de dimension égale à la carte auto-organisée C est superposable à la représentation graphique de la carte auto-organisée C, dans laquelle une valeur de distance dd est attribuée à chaque neurone de la carte de distances CH, la valeur de distance dd corres pondant à la somme des distances euclidienne entre le vecteur poids l/l/du neurone considéré et les vecteurs poids W des neurones voisins directs.
10. Méthode selon la revendication 9, dans laquelle une couleur d’un codage couleur est attribuée à chaque neurone de la carte de distance CH en fonction de la valeur dd.
11. Méthode selon l’une des revendications 6 à 10, dans laquelle une représentation graphique d’une carte de mots CW de dimension égale à la carte auto-organisée C est superposable à la représentation graphique de la carte auto-organisée C, dans laquelle à chaque neurone de la représentation graphique de la carte de mots CW sont affichés les mots du vocabulaire dont la composante du vecteur poids l/l/du neurone de la carte auto-organisé C corres- pondant est supérieure à une valeur prédéterminée.
12. Méthode selon la revendication 11 , dans laquelle les mots affi chés dans la carte de mots CW sont organisés sur des plans différents corres pondant à des différentes plages de valeurs de poids, les mots dont la valeur de poids sont les plus élevées étant affichées au premier plan de la représentation graphique de la carte de mots CW.
13. Méthode selon l’une des revendications précédentes, dans la quelle les documents de la première base de données sont indexés dans une troisième base données, et dans laquelle les documents comprenant le terme de recherche R sont déterminés.
14. Méthode selon la revendication 13, dans laquelle les documents comprenant le terme de recherche R sont identifiés sur la représentation gra phique de la carte de documents CD.
15. Méthode selon l’une des revendications précédentes, dans la quelle les documents de la première base de données sont des documents co- dés sous forme numérique avantageusement issus de traitement de texte, de systèmes de reconnaissance de textes, par exemple par l’intermédiaire de la méthode dite Optical Character Récognition, ou issus de tout système capable de produire des fichiers numériques structurés.
16. Méthode selon l’une des revendications précédentes, dans la- quelle une matrice de poids M formée par tous les vecteurs poids W est décom- posée en une matrice B et une matrice S par une analyse en composantes in dépendantes, le nombre de lignes de la matrice S étant donnée par une valeur T de nombre de thèmes dominants déterminée par l’utilisateur et le nombre de colonnes de la matrice étant égal au nombre de neurones p de la carte auto-or- ganisée C.
17. Méthode selon la revendication 16, dans laquelle l’analyse en composantes indépendantes est effectuée par la méthode dite Fast-ICA.
18. Méthode selon l’une des revendication 16 ou 17, dans laquelle chaque ligne de la matrice S correspond à un vecteur ST et pour chaque vec- teur ST une distance DT, avantageusement une distance euclidienne, entre ST et chaque neurone p de la carte auto-organisée C est calculée.
19. Méthode selon la revendication 18, dans laquelle pour chaque vecteur ST les neurones p pour lesquels la distance DT est plus petite qu’une valeur prédéterminée TT sont identifiés sur la représentation graphique de la carte auto-organisée dans l’interface graphique (190).
EP21716109.0A 2020-03-26 2021-03-25 Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents Withdrawn EP4127965A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH00364/20A CH717260A2 (fr) 2020-03-26 2020-03-26 Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents.
PCT/EP2021/057839 WO2021191392A1 (fr) 2020-03-26 2021-03-25 Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents

Publications (1)

Publication Number Publication Date
EP4127965A1 true EP4127965A1 (fr) 2023-02-08

Family

ID=75362586

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21716109.0A Withdrawn EP4127965A1 (fr) 2020-03-26 2021-03-25 Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents

Country Status (3)

Country Link
EP (1) EP4127965A1 (fr)
CH (1) CH717260A2 (fr)
WO (1) WO2021191392A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048432B (zh) * 2022-08-02 2024-04-26 西南石油大学 基于布隆过滤器的模糊关键词公共审计方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9183288B2 (en) 2010-01-27 2015-11-10 Kinetx, Inc. System and method of structuring data for search using latent semantic analysis techniques
DK2639749T3 (en) 2012-03-15 2017-02-27 Cortical Io Gmbh Methods, apparatus and products for semantic processing of text

Also Published As

Publication number Publication date
CH717260A2 (fr) 2021-09-30
WO2021191392A1 (fr) 2021-09-30

Similar Documents

Publication Publication Date Title
Zhang et al. Sato: Contextual semantic type detection in tables
US12079269B2 (en) Visually guided machine-learning language model
US11182433B1 (en) Neural network-based semantic information retrieval
US10909459B2 (en) Content embedding using deep metric learning algorithms
US20230162481A1 (en) Pre-training of computer vision foundational models
CN113661487A (zh) 使用机器训练词条频率加权因子的产生密集嵌入向量的编码器
US12032915B2 (en) Creating and interacting with data records having semantic vectors and natural language expressions produced by a machine-trained model
US20220138402A1 (en) Text style and emphasis suggestions
JP2024503036A (ja) 改善された深層学習モデルのための方法およびシステム
CN114003758A (zh) 图像检索模型的训练方法和装置以及检索方法和装置
JP5596648B2 (ja) ハッシュ関数生成方法、ハッシュ関数生成装置、ハッシュ関数生成プログラム
CN111368125B (zh) 一种面向图像检索的距离度量方法
Giussani Applied machine learning with Python
US11763094B2 (en) Cascade pooling for natural language processing
EP4127965A1 (fr) Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents
Fonseca et al. Research trends and applications of data augmentation algorithms
EP2374073A1 (fr) Systeme de recherche d'information visuelle
Pereira-Ferrero et al. Unsupervised affinity learning based on manifold analysis for image retrieval: A survey
Sobrecueva Automated Machine Learning with AutoKeras: Deep learning made accessible for everyone with just few lines of coding
Ye et al. Data Preparation and Engineering
WO2021237082A1 (fr) Récupération d'informations sémantiques fondée sur un réseau neuronal
Mengle et al. Mastering machine learning on Aws: advanced machine learning in Python using SageMaker, Apache Spark, and TensorFlow
CN111708745A (zh) 一种跨媒体数据共享表示方法及用户行为分析方法、系统
Tüselmann et al. A weighted combination of semantic and syntactic word image representations
US20240289361A1 (en) User interface for chat-guided searches

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221021

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20230516