Brevet FR2817638A1 — publié le 20020607

La présente invention concerne un procédé de codage universel des caractéristiques de produits quelconques, manufacturés ou non, appartenant ou non à un standard, pour faciliter leur recherche dans des bases de données informatiques. IL s'applique notamment, à la vente à distance par l'intermédiaire d'un réseau téléphonique commuté ou d'un réseau de radiotéléphone cellulaire (WAP), à la traduction automatique, ainsi qu'à la définition de profils par les "internautes"du réseau Internet à l'aide des éléments constitutifs de leurs requêtes. La vente d'un produit s'accompagne généralement d'une publicité consistant à le décrire par ses caractéristiques essentielles. Ainsi par exemple, pour vendre une maison, l'agent immobilier va tout d'abord s'attacher à en faire une description synthétique en énumérant, le type de pièces ; cave, cuisine, salle de séjour, chambres, salle de bains etc. en précisant éventuellement, leurs surfaces et leurs expositions. Egalement, il peut donner des précisions concernant le moyen de chauffage, l'existence d'un jardin ou celle d'autres commodités concernant par exemple les commerces et les moyens de transport situés à proximité. Ces caractéristiques essentielles de la maison et de son environnement sont ainsi consignées sous la forme d'une fiche descriptive afin d'exposition dans une vitrine publicitaire de l'agence, de parution sous la forme d'annonce dans un journal ou encore sur un site Internet spécialisé dans le domaine des transactions immobilières regroupant dans une même base de données de produits ou dans des documents électroniques contenant des descriptifs de produits l'ensemble des annonces faîtes par plusieurs agences immobilières. Mais la mise à la disposition du public de ces fiches descriptives oblige les acheteurs potentiels à effectuer une recherche fastidieuse dans des listes très importantes d'annonces immobilières pour sélectionner la maison qui leur paraît satisfaire au mieux au profil de celle qu'il recherche. Plusieurs mécanismes ont été développés pour faciliter des recherches de produits et ceux ci effectuent pour la plus part une comparaison entre un profil qui est établie à partir d'une requête du demandeur définissant le produit recherché et l'ensemble des critères inscrits dans une base de données. Cependant la vitesse d'exécution de ces recherches et les résultats obtenus dépendent pour beaucoup de la manière dont sont définis les profils et de la méthode utilisée pour y accéder, soit que le demandeur formule sa requête à partir de mots clés ou qu'il réponde successivement à des questions qui lui sont posées par le système informatique, soit encore que les éléments caractéristiques du profil du produit recherché sont obtenus à partir d'une analyse"plein texte" du texte de la requête. Ces disparités dans les recherches entraînent des disparités dans les résultats obtenus, ce qui pour les utilisateurs de ces bases de données n'est pas satisfaisant et même déconcertant. A cela s'ajoute une autre difficulté qui est due à la langue utilisée pour établir les profils et qui oblige à effectuer des traductions au niveau des requêtes et des résultats lorsque le demandeur pratique une langue différente de celle qui a été utilisée pour établir les profils. Le but de l'invention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet, un procédé de codage universel de caractéristiques de produits permettant leur recherche dans des bases de données ou dans des documents électroniques contenant des descriptifs de produits caractérisé en ce qu'il consiste à attribuer un code aux produits ainsi qu'à chacune de leurs caractéristiques de façon unique et indépendante de la langue utilisée pour les décrire en faisant pour cela usage d'un dictionnaire mémorisé dans une mémoire ou une base de données couplée à des moyens de traitement de données d'un ordinateur et, par un procédé d'assemblage lexicalogique programmé dans l'ordinateur, à construire un arbre de codage dont la racine est constituée par le code représentatif du produit et les feuilles sont réparties par niveaux et sont constituées des codes représentatifs des caractéristiques du produit, et à projeter l'arbre de codage dans un espace à une dimension pour obtenir une codification des caractéristiques du produit. Le procédé selon l'invention a pour avantage qu'il permet la recherche de produits dont les caractéristiques sont décrites en langage naturel, par interrogation de bases de données informatiques, l'accès aux bases de données pouvant être obtenu par exemple à partir de serveurs couplés au réseau Internet. La compréhension des notions existante dans un descriptif de produit à l'aide d'un composant logiciel lexicalogique mis en oeuvre conformément au procédé selon l'invention a aussi pour avantages qu'elle permet : - une interchangeabilité des composants logiciels, un même composant pouvant être utilisé dans des domaines différents, - une facilité de développement de plusieurs outils et langages de programmation, et une indépendance linguistique, la composition logique d'un objet étant indépendante de la langue qui le décrit. De ce fait le procédé d'analyse Lexicalogique selon l'invention ne dépend de la langue qu'au niveau des composants Lexicologiques. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard des dessins annexés qui représentent : La figure 1 une illustration du procédé de codage universel de l'invention mis sous la forme d'un organigramme. Les figures 2a à 2d une illustration des règles logiques utilisées dans la mise en oeuvre du procédé selon l'invention. La figure 3 un exemple de constitution d'un arbre lexicalogique selon l'invention. La figure 4 les différentes étapes du procédé selon l'invention mises sous la forme d'un organigramme. La figure 5 un schéma pour illustrer la réalisation de liens entre objets lexicalogiques. Le procédé de codage universel selon l'invention qui est représenté à la figure 1, consiste à attribuer un code aux produits ainsi qu'à chacune de leurs caractéristiques de façon unique et indépendante de la langue utilisée pour les décrire en faisant pour cela usage d'un dictionnaire mémorisé dans une mémoire ou une base de données d'un ordinateur de type connu non représenté et à construire par un procédé d'assemblage lexicalogique, un arbre de codage dont la racine est constituée par le code représentatif du produit et les feuilles sont réparties par niveaux et sont constituées des codes représentatifs des caractéristiques du produit. Le code définissant entièrement le produit est obtenu par une projection de l'arbre de codage dans un espace à une seule dimension. Dans l'exemple de la figure 1, le produit A est codé avec le code 1501 et ses caractéristiques B, C, D, E sont codées suivant les codes respectifs 6189,4354, 5002,2130. L'arbre de codage qui résulte de l'analyse lexicalogique est représentée à l'intérieur du bloc 1. Il comporte une racine identifiant par son code le produit A et deux niveaux de feuilles, un premier niveau NI regroupant les codes des caractéristiques B et C et un deuxième niveau N2 regroupant les codes des sous caractéristiques D et E de la caractéristique B. La projection est effectuée par les blocs 2 et 3, elle a pour résultat la suite des codes 1501 (6189 (5002,2130), 4354), les parenthèses marquant le début et la fin de chaque niveau de l'arbre de codage. Pour réaliser ce codage un dictionnaire universel contenu dans une mémoire couplée à des moyens de traitement d'un ordinateur non représentés, permet d'associer à un objet ou ses caractéristiques, des identifiants numériques uniques (INU). La codification est effectuée par les moyens de traitement de l'ordinateur par l'exécution d'un programme consistant à parcourir l'arbre de codage en commençant par la branche de gauche en plaçant une parenthèse à chaque passage d'un niveau de code au suivant. Les codes de même niveau sont regroupés à l'intérieur d'une même parenthèse, chaque parenthèse marquant le début et la fin de chaque niveau de l'arbre. Il est possible de conserver les codes universels dans un référentiel ou un système de gestion de bases de données afin de permettre des recherches automatiques de produits à l'aide d'un référentiel ou d'un moteur de recherche. La recherche peut alors s'effectuer en comparant dans l'ordinateur un code universel provenant d'une requête avec les codes universels issus d'un ensemble de produits E. Le résultat est alors un ensemble de produits E', sousensemble de E, pour lesquels le code universel est inclus dans le code universel R. Dans ce processus un code universel U1 est dit inclus dans un code universel U2 si l'ensemble des INU de U1 sont présents dans l'ensemble des INU deU2 et si la hiérarchie des INU de Ul, symbolisée par les parenthèses, est incluse dans la hiérarchie des INU de U2. Une hiérarchie Hl est dite incluse dans une hiérarchie H2 si tous les liens hiérarchiques de Hl sont présents dans H2. Pour modifier les caractéristiques existantes dans le descriptif d'un produit le procédé selon l'invention fait appel à des règles de déduction inscrites dans une mémoire de l'ordinateur qui permettent l'ajout ou la suppression d'un ensemble d'objets ou de caractéristiques en fonction de règles logiques. Une règle de déduction est définie par trois ensembles. Un ensemble de départ, un ensemble d'arrivé constitués des objets et des caractéristiques et un ensemble de conditions. L'ensemble de départ entraîne l'ensemble d'arrivé si les conditions définies dans l'ensemble de conditions sont satisfaites. Les règles de déduction logique sont complètement hiérarchisées. Plusieurs règles sont appliquées selon leurs hiérarchies, celles ci permettent par exemple, soit d'élaborer une décision logique en cas d'existence ou d'absence de caractéristiques ou de propriété d'une proposition soit, de déclencher un calcul, soit d'effectuer une conversion entre objets, soit encore de détecter des anomalies. Les règles de type déduction logique ont l'avantage qu'elles permettent d'apporter une correction éventuelle aux descriptifs d'un produit. Ces règles ne sont pas obligatoirement réciproques. La figure 2a montre un exemple où une combinaison de deux caractéristiques A et B entraîne l'ajout d'une caractéristique F. La figure 2b montre un cas ou l'absence d'une caractéristique M entraîne l'ajout d'autres caractéristiques F, G, H, I. La figure 2c illustre une règle de calcul permettant de calculer dynamiquement le nombre d'objets de type A par exemple. La figure 2d montre l'exécution d'une règle de conversion où un certain nombre d'objets de type A sont convertis en un autre nombre d'objets de type B. L'arbre de codage d'un produit décrit précédemment est défini par une analyse lexicalogique permettant à partir d'un texte exprimé en langage naturel, semi-structuré ou structuré de retrouver la composition logique d'un produit appartenant à un domaine. Cette analyse se base sur un réseau, appelé "arbre lexicalogique", modélisant la composition logique d'un domaine de produits, et leurs caractéristiques communes. Ainsi un"arbre lexicalogique"est défini par : les objets qui composent un domaine, par exemple le domaine"logement", les caractéristiques spécifiques à chaque objet, par exemple : "Maison de campagne", les caractéristiques communes à plusieurs objets, par exemple :"Surface", - les règles logiques existantes entre objets, par exemple : "Maison + Piscine = > (implique) Jardin" les relations existantes entre les objets, par exemple : Logement- > "Jardin" les composants logiciels autonomes d'analyse, les composant logiciels de déduction. L'arbre lexicalogique représenté à la figure 3, montre une composition logique établie pour modéliser un logement comportant un jardin et une piscine, avec une caractéristique commune qui est la surface. Le procédé mis en oeuvre selon l'invention se déroule suivant les étapes référencées de 4 à 7 sur l'organigramme de la figure 4. Il consiste à identifier dans une première étape référencée 4, chaque caractéristique du produit analysé à l'aide d'un composant logiciel autonome dépendant de la langue avec laquelle le texte a été composé. A établir au cours d'une deuxième étape référencée 5, les liens entre les caractéristiques obtenues à l'étape précédente en se basant sur l'arbre lexicalogique, indépendamment de la langue. A enrichir au cours d'une troisième étape référencée 6 le résultat obtenu à la deuxième étape par des déductions logiques selon les règles définies dans l'arbre lexicalogique câblées dans des composants autonomes de déduction. Enfin à codifier lors d'une quatrième étape référencée 7, les résultats de la troisième étape en appliquant la règle de codage décrite précédemment. L'exécution de l'étape 4 s'effectue à l'aide de composants logiciels lexicalogiques autonomes capables d'identifier un objet ou une caractéristique de manière non ambiguë, appartenant à un ou plusieurs domaines de produits. Un composant logiciel lexicalogique se charge de la compréhension atomique des notions existantes dans le descriptif d'un produit. A titre d'exemple un composant lexicalogique est capable d'identifier, un objet par exemple :"Jardin", une ou plusieurs caractéristiques spécifiques à l'objet par exemple : "de contemplation", une ou plusieurs composantes génériques par exemple : "Beau, Grand, Moderne". L'exécution de l'étape 5 s'effectue à l'aide d'un automate lexicalogique programmé dans l'ordinateur qui permet d'établir des liens entre un ensemble d'objets, obtenus par les composants lexicalogiques. Les règles selon lesquelles l'automate décide de relier les objets sont basées sur l'arbre lexicalogique d'une part, et sur la langue avec laquelle le produit a été décrit, d'autre part. Le tout est assemblé dans un composant logiciel autonome, permettant ainsi de modifier les règles à volonté. Revendications 1-Procédé de codage universel de caractéristiques de produits permettant leur recherche dans des bases de données ou dans des documents électroniques contenant des descriptifs de produits caractérisé en ce qu'il consiste à attribuer un code aux produits ainsi qu'à chacune de leurs caractéristiques de façon unique et indépendante de la langue utilisée pour les décrire en faisant pour cela usage d'un dictionnaire mémorisé dans une mémoire ou une base de données couplée à des moyens de traitement de données d'un ordinateur et, par un procédé d'assemblage lexicalogique programmé dans l'ordinateur, à construire (1) un arbre de codage dont la racine est constituée par le code représentatif du produit et les feuilles sont réparties par niveaux et sont constituées des codes représentatifs des caractéristiques du produit, et à projeter (2) l'arbre de codage dans un espace à une dimension pour obtenir une codification des caractéristiques du produit. 2-Procédé selon la revendication 1 caractérisé en ce que la codification est effectuée en parcourant l'arbre de codage en commençant par la branche de gauche en plaçant une parenthèse à chaque passage d'un niveau de code au suivant, et en regroupant les codes de même niveau à l'intérieur d'une même parenthèse, chaque parenthèse marquant le début et la fin de chaque niveau de l'arbre. 3-Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce qu'il consiste pour effectuer la recherche d'un produit à comparer dans l'ordinateur un code universel provenant d'une requête avec les codes universels issus d'un ensemble de produits E. 4-Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce qu'il consiste à modifier les caractéristiques existantes dans le descriptif d'un produit par application de règles de déduction logiques, inscrites dans une mémoire de l'ordinateur, permettant l'ajout ou la suppression d'un ensemble d'objets ou de caractéristiques à partir de caractéristiques prédéterminées. 5-Procédé selon la revendication 4 caractérisé en ce qu'il consiste à effectuer des calculs sur des objets en cas de présence ou d'absence de caractéristiques dans un descriptif de produit. 6-Procédé selon l'une quelconque des revendications 4 et 5 caractérisé en ce qu'il consiste à convertir des objets d'un type déterminé en objets d'un autre type par application de règles de déduction inscrites en mémoire dans l'ordinateur. 7-Procédé selon l'une quelconque des revendications 1 à 6 caractérisé en ce qu'il consiste : - à identifier (4) dans une première étape, chaque caractéristique du produit analysé à l'aide d'un composant logiciel autonome dépendant de la langue avec laquelle le texte a été composé, - à établir (5) au cours d'une deuxième étape, les liens entre les caractéristiques obtenues à l'étape précédente en se basant sur l'arbre lexicalogique, indépendamment de la langue, - à enrichir (6) au cours d'une troisième étape le résultat obtenu à la deuxième étape par des déductions logiques câblées dans des composants autonomes de déduction, - et à codifier (7) lors d'une quatrième étape, les résultats de la troisième étape en projetant (2) l'arbre de codage lexicalogique enrichi dans un espace à une dimension pour obtenir une codification des caractéristiques du produit. 8-Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce que un"arbre lexicalogique est défini par : les objets qui composent un domaine, les caractéristiques spécifiques à chaque objet, les caractéristiques communes à plusieurs objets, les règles logiques existantes entre les objets, les relations existantes entre les objets, les composants logiciels autonomes d'analyse, ainsi que par les composants logiciels de déduction.