Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-IMPLEMENTED METHOD FOR ANALOGUE RETRIEVAL OF DOCUMENTS
Document Type and Number:
WIPO Patent Application WO/2021/191392
Kind Code:
A1
Abstract:
The present invention relates to a computer-implemented method for the analogue retrieval of documents comprising at least one piece of textual information from a set of documents E comprised in a first database and whose textual information most closely corresponds to a search term R, comprising the following steps: a. Generating a second database comprising a list of words produced by lemmatisation of the textual information of the documents of the first database; b. Generating a descriptor vector V of numerical values for each document of the first database, using a vectorisation function F for vectorising the textual information; c. Training a self-organising map C comprising a network P of neurons p by projecting the descriptor vectors V onto the self-organising map C, each neuron p of the self-organising map C corresponding to a weight vector W of numerical values; d. Allocating each document of the first database to the neuron p of the self-organising map C whose corresponding weight vector W is the smallest distance from the descriptor vector V of the document to be allocated; e. Generating, using the vectorisation function F and the second database, a search vector K of numerical values for the search term R; f. Determining the neuron pbest of the self-organising map C whose weight vector W is the smallest distance from the search vector K; and, g. Determining the documents of the first database allocated to the neuron pbest of the self-organising map C.

Inventors:
BLAYO FRANÇOIS (CH)
Application Number:
PCT/EP2021/057839
Publication Date:
September 30, 2021
Filing Date:
March 25, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NEOINSTINCT SA (CH)
International Classes:
G06F16/36; G06F16/34
Foreign References:
US9183288B22015-11-10
US8886579B22014-11-11
US9183288B22015-11-10
Other References:
HÉRAULT, JUTTENANS, ACTES DU XE COLLOQUE GRETSI, vol. 2, 1985, pages 1017 - 1022
CARDOSOSOULOUMIAC, IEE PROCEEDINGS-F, vol. 140, no. 6, 1993, pages 362 - 370
HYVARINEN, J. KARHUNENOJA: "Independent Component Analysis", 2001, JOHN WILEY AND SON
LINSKER, IEEE COMPUTER, vol. 21, 1988, pages 105 - 117
NADALPARGA, NETWORK: COMPUTATION IN NEURAL SYS-TEMS, vol. 5, 1994, pages 565 - 581
Attorney, Agent or Firm:
BOVARD AG (CH)
Download PDF:
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).

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ù r c et r p 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 = f i 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

\{d j : ti G d j }\

Où :

\D \ : le nombre total de documents dans l’ensemble de documents ; | [d j\ ti e d j }\ : le nombre de documents où le mot t t apparaît. La valeur TF-IDF pour un couple TF - IDFi j est donné par :

TF - IDFi j = 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

IDF cop = log

5 et donc:

2 100

TF C0P Ig x IDF cop = —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 :

W p avec p G {1, , P} et W p G R N

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ù r c et r p 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 ddi j 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 ddi j 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 :

Wtotal spy = 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(n 4 ) 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.