FR 2813412 A1 20020301 FR 0010854 A 20000823 PROCEDES ET APPAREIL FACILITANT LE COMMERCE ELECTRONIQUE La présente invention concerne le domaine du commerce électronique, et plus précisément des procédés et système pour la sélection d'articles en vue d'une vente en ligne. L'invention concerne un procédé d'affichage d'une page interactive qui facilite la sélection et l'achat, par un acheteur, de marchandises provenant d'un ou de plusieurs vendeurs. Le procédé comporte les étapes consistant à entretenir une base de données qui comporte des entrées d'articles représentant des articles à vendre ; accéder à une structure de données représentant un acheteur potentiel, la structure de données comportant des informations d'autorisation associées à l'acheteur ; et afficher une page SGML en réponse à la structure de données et à au moins une des entrées de la base de données d'entrées. Un appareil correspondant comporte un premier élément de mémoire stockant une base de données d'articles, et un deuxième élément de mémoire stockant une structure de données d'acheteur qui comprend des informations d'autorisation. Un générateur de pages accède à la base de données et à la structure de données stockée dans les premier et deuxième éléments de mémoire, et affiche une page SGML. La plupart des sites marchands existant sur Internet présuppose que l'internaute connaît très précisément son besoin, soit via des recherches off-line, soit via des moteurs de recherche pour aller trouver de l'information. Il n'existe cependant aucun système automatisé permettant à un internaute d'identifier son produit à partir de son besoin ou de son souhait. On connaît par exemple dans l'état de la technique le brevet PCT W00030004 relatif à des procédés permettant la mise en #uvre d'applications de commerce électronique sous la forme d'un site web de commerce électronique qui comprend des pages spécifiquement consommateur correspondant chacune à un consommateur particulier, des pages spécifiquement vendeur correspondant chacune à un vendeur particulier, et un système de traitement qui gère les échanges entre les pages consommateur et les pages vendeur. Le système de traitement comporte, ou a accès à un ensemble de serveurs et à un ensemble correspondant de bases de données permettant le traitement des requêtes consommateurs. Une requête consommateur particulière générée au niveau de l'une des pages consommateur est traitée par le système de traitement de façon que l'information provenant d'au moins un vendeur associe aux pages vendeur puisse être fournie au consommateur via la page consommateur. Par exemple, un vendeur sans site web ouvert au commerce électronique peut se faire connaître du système de façon que l'information en provenance du vendeur soit fournie au consommateur, notamment à l'occasion d'une recherche en comparaison de produits. Le brevet PCT W00043852 concerne un procédé d'affichage d'une page SGML page qui facilite la sélection et l'achat, par un acheteur, de marchandises provenant de multiples vendeurs. Le procédé comporte les étapes consistant à - entretenir une base de données qui comporte des entrées d'articles représentant des articles à vendre ; - accéder à une structure de données représentant un acheteur potentiel, la structure de données comportant des informations d'autorisation associées à l'acheteur; - afficher une page SGML en réponse à la structure de données et à au moins une des entrées de la base de données d'entrées. - Un générateur de pages accède à la base de données et à la structure de données stockée dans les mémoires, et affiche une page SGML. Le système selon l'invention permet de recommander une liste de produits à partir de la saisie par l'internaute de son besoin fonctionnel (où allez-vous utilisez-vous le produit ? Pour quelles utilisations ?...) et non de choix de caractéristiques techniques compréhensibles seulement par des initiés. C'est en gérant l'ensemble des étapes du processus d'achat (identification du besoin, recherche d'information, évaluation des choix possibles, achat, après-vente) que l'invention permet de renforcer la confiance d'un internaute sur la recommandation produit effectuée. A cet effet, l'invention concerne selon son acception la plus générale un procédé pour la mise en #uvre d'applications de commerce électronique, comportant une étape de constitution d'une base de données contenant des descripteurs techniques des articles et une base de données de produits, et des étapes d'interrogation desdites bases de données par un utilisateur équipé d'un poste client caractérisé en ce que l'étape d'interrogation des bases de données du serveur comporte une première étape d'établissement depuis le poste client d'un fichier numérique correspondant à l'expression des besoins fonctionnels de l'utilisateur, une deuxième étape de calcul de variables techniques à partir dudit fichier numérique d'expression des besoins fonctionnels, et une étape d'extraction des éléments de la base de données produits en fonction de la corrélation entre lesdites variables techniques et les descripteurs techniques enregistrées dans la base de données du serveur. La présente invention sera mieux comprise à la lecture de la description d'un exemple non limitatif de réalisation qui suit, ce référant aux dessins annexés où La figure unique représente le diagramme fonctionnel de l'invention. Le système selon l'invention comprend deux types de fonctionnalités - Des fonctionnalités de calcul pour permettre de dérouler le processus de recommandation produit - Des fonctionnalités de gestion pour pouvoir paramétrer et modifier tant le contenu que les formules de calcul La figure unique représente diagramme fonctionnel de l'invention. La mise en place du système se traduit par la constitution d'une base de données produits (1) et une base de données de fiches techniques (2). Ces deux bases de données sont liées, une fiche technique pouvant être associée à un ou plusieurs occurrences de la base produits (1). Ces bases sont hébergées sur un serveur reliées à un réseau de communication, par exemple Internet. L'utilisateur prépare depuis un poste client un profil fonctionnel (3) dans lequel il saisit les paramètres correspondant à sa recherche, et transmet au serveur un fichier numérique correspondant à ces données. Ces données sont ensuite transformées en variables techniques (5) par un calculateur (4). Ces variables (5) sont exploitées pour l'extraction des produits pertinents et pour l'établissement d'une sélection (6) qui est transmise sous forme de fichier numérique, par exemple sous forme de page HTML à l'utilisateur au cours de la session précédemment ouverte. L'utilisateur procède ensuite à une cotation des attributs techniques (7) et en fonction des critères d'achats (8). Ces cotations permettent d'établir un score (9) pour chacun des produits préselectionnés et de présenter le résultat (10) de ces calculs. L'utilisateur peut interroger le serveur sur les modes d'établissement (11) du score. L'objectif du procédé conforme à l'invention est de disposer d'une interface simple et conviviale pour paramétrer ce processus. I1 faut donc pouvoir facilement - Ajouter un nouveau produit - Ajouter un attribut technique - Modifier la traduction technique d'un attribut technique - Modifier 1a traduction du besoin en variables techniques - Modifier le seuil pour limiter le sous-ensemble de produits restant en lices [Consideration Set] - Modifier la liste des critères d'achat possibles Les bases de données disponibles sur les sites marchands peuvent contenir un volume d'information extrêmement important et qui dépasse largement le cadre de notre système. Cette étape a donc quatre objectifs - Sélectionner les champs de la base de donnée produit nécessaire au processus de recommandation - Normaliser les champs pour voir s'ils sont tous cohérents - Traduire la valeur du champ sous forme de variables discrètes Toute cette étape est réalisée par l'administrateur à la mise en place de l'outil et régulièrement en cas de changement. Son déroulement est par conséquent dissocié du déroulement du processus pour l'internaute. Sélection des champs Le système lit les différents formats de base de données existantes, via des requêtes ODBC par exemple. Les champs de cette base de données peuvent être classés selon deux clés - Leur nature : alphanumérique, alphanumérique dans une liste déroulante fixée, numérique. - Leur intervention dans le Processus de Recommandation Produit) . signalétique produit, attributs liés aux besoins, attributs liés au calcul d'un score [scoring], attributs de configuration finale, hors processus de recommandation de produits. Cette lecture aboutit à une fenêtre de paramétrage où apparaissent - Le nom du champ (issu de la lecture) - Le format (issu de la lecture) - Leur rôle dans le choix d'options saisi par l'administrateur L'administrateur peut modifier le rôle de chaque champ dans le processus de recommandation de produits. Normalisation des champs outre la lecture de la base de données, il doit être possible de fusionner des valeurs proches mais différentes. Exemple : la désignation Mercedes classe A et Mercedes Cl. A désignent le même produit mais ont des appellations différentes. L'administrateur peut pour chaque champ lire toutes les valeurs prises et fusionner si besoin est plusieurs valeurs en une. Traduction des champs en variables discrètes Chaque attribut lié au besoin doit être traduit sous forme de variables discrètes pour pouvoir, lors de la connexion d'un internaute, être comparé par rapport à ce que demande l'internaute. Cette traduction concerne seulement les champs à valeur numérique, puisque les autres (dans une liste déroulante) sont déjà regroupées dans un ensemble fini. Cette traduction s'effectue en trois temps Etape 1 : Décomposition de l'espace des valeurs numériques possibles en un nombre limité de variables ( par exemple 3 à 5) Etape 2 : Définition pour chaque variable du support d'appartenance et du profil. Le support d'appartenance est l'intervalle où la fonction d'appartenance est non nulle, le profil étant la fonction comprise entre 0 et 1 et indiquant le niveau d'appartenance d'une valeur à une variable discrète. Etape 3 : Calcul pour chaque produit de sa valeur par variable définie Exemple . L'espace d'un coffre peut varier de 30 dm3 à 1120 dm3. On décide de segmenter ce paramètre en 5 variables discrètes : très petit, petit, moyen, grand, très grand. Pour chaque variable, on définit un profil trapézoïdal (ou tout autre forme : rectangle, triangle, ...) pour décrire chacune des variables. Pour chaque véhicule, on calcule sa valeur sur chacun des champs. Un coffre de 400 dm3 pourra ainsi être décrit sous la forme suivante très petit = 0 petit = 0,21 moyen = 0,79 grand = 0 très grand = 0 La valeur numérique a donc été transformée simplement et automatiquement en variables discrètes. Les étapes 1 et 2 doivent pouvoir être paramétrées par l'administrateur de façon simple pour chacun des champs. Calcul de champs Dans la formule de calcul d'un score [scoring], il est possible que le système ait besoin de paramètres calculés. Exemple : pour calculer l'autonomie d'une voiture, on a besoin de calculer le rapport entre la capacité du réservoir et la consommation moyenne, qui sont 2 attributs techniques standard issus de la base de données. I1 faut donc que le développeur puisse créer un nouveau champ dans la base de données à partir de ces champs standards. Choix d'un profil Au début du processus, il sera demandé à l'internaute de choisir un profil d'expert ou d'utilisateur qui lui corresponde le mieux. Les types de profil sont fortement dépendants de la catégorie de produit et seront définis par l'administrateur à la mise en place de l'outil. Cette information peut impacter sur - La logique et la formulation des questions posées sur le besoin - La sélection d'avis d'expert ou d'utilisateurs selon le profil donné par l'internaute (non décrit dans le présent document) - Le poids relatif des critères d'achat ou des besoins fonctionnels selon le profil L'administrateur doit pouvoir ajouter, modifier ou supprimer un profil. Cette étape correspond à une page Web. Elle permet également l'ouverture d'un numéro de session afin de pouvoir conserver les données au cours de la session. Saisie des besoins fonctionnels A chaque besoin fonctionnel, doit être associée une ou plusieurs questions à poser à l'internaute de façon conviviale. Les champs associés à chaque question sont les suivants . - Langue - Libellé de la question - Aide à la question Contrôle : menu déroulant ou choix d'option ou champ numérique à saisir ou applet Java Contenu de la liste ou libellé et explication de chaque option Cette étape correspond à une page web (ou plusieurs si la liste des questions est trop longue) Une table rassemblant les différents paramètres des besoins fonctionnels devra être crée et pourra être modifiée par l'administrateur. Traduction des besoins en variables techniques Cette traduction a lieu pour chacune des cessions. Elle se fonde sur l'exploitation de plusieurs tables qui rassemblent l'ensemble des règles nécessaires à la recommandation Une table par question qui donne la valeur sur chaque état des paramètres fonctionnels, Une table de correspondance (ou matrice donnant la projection de chaque besoin fonctionnel sur les différentes variables discrètes de chaque caractéristique technique) entre les états des paramètres fonctionnels et les variables discrètes des attributs techniques. Une table de cohérence entre paramètres fonctionnels. La traduction s'effectue donc en deux étapes principales - Remplissage des valeurs par états des paramètres fonctionnels, - Calcul via la table de correspondance de la valeur sur chaque variable linguistique - Contrôle de la cohérence du besoin de l'internaute . Par ailleurs, la table de cohérence permet d'identifier les incohérences du besoin exprimé par l'internaute. Chacune des tables (table de correspondance et table de cohérence) doit pouvoir être modifiée par l'administrateur. Par ailleurs, en cas d'ajout ou de suppression de paramètres fonctionnels ou d'attributs techniques, il sera proposé à l'administrateur de remettre à jour ces 2 tables. Construction du Sous-ensemble de produits restant en lices [Consideration Set] Cette construction s'effectue en deux temps - Mesure de la cohérence (avec une fonction mathématique non fournie dans ce document) entre la traduction des besoins en variables discrètes et la traduction de chaque produit en variables linguistiques, - Suppression dans la liste des produits dont la mesure est inférieure à un seuil fixé par l'administrateur. Ce seuil pourra correspondre à un nombre maximum de produits à afficher, à une valeur de 1a mesure de cohérence ou à une combinaison des deux. De façon standard, le Sous-ensemble de produits restant en lices [Consideration Set] ne sera pas affiché directement, sauf s'il est composé de moins de 20 produits. Il sera plutôt décrit par les valeurs prises sur quelques caractéristiques principales. L'internaute pourra décocher les valeurs qu'il souhaite exclure. A chacune de ses actions, un calcul permettra de calculer le nombre de produits encore en lice et les valeurs prises sur les autres caractéristiques. Exemple : Le sous-ensemble de produits restant en lices [Consideration Set] aboutit à une liste de voitures ayant les éléments suivants Marque Carburant ... 102 véhicules BMW Diesel Citroen Essence Si l'internaute décoche Citroen (et en supposant qu'il n'y ait pas de BMW Diesel), il lui sera affiché Marque Carburant ... 45 véhicules BMW Essence Ce Sous-ensemble de produits restant en lices [Consideration Set] pourra être affiché sur une page Web à l'internaute dans l'ordre décroissant de la mesure. A l'écran, un hyperlien permettra d'afficher la fiche technique du produit. En cas d'incohérence du besoin de l'internaute, un message d'alerte apparaitra au-dessus de la liste avec une explication des principales incohérences (inclus dans la table de cohérence). Par ailleurs, une case à cocher à côté de chaque produit permettra à l'internaute de cocher les produits qu'il souhaite garder dans son processus de choix ou, au choix de l'administrateur, de cocher les produits qu'il souhaite retirer. Un bouton lui permet de tout décocher s'il le souhaite. Un bouton permet de revenir en arrière, et un autre permet d'affiner la recommandation. En cliquant sur ce dernier bouton, une fonction ira calculer sur chaque attribut technique le minimum et le maximum sur tout le Sous-ensemble de produits restant en lices [Consideration Set] (cf.3.6) Cotation sur les attributs techniques Une page Web affichera les attributs techniques sur lesquels l'internaute sera invité à exprimer ses préférences. Chaque préférence sera décrite par les champs suivants _ L'attribut technique associé Le libellé de la préférence Une aide au remplissage Un menu déroulant pour choisir l'intervalle ou les valeurs souhaitées (plusieurs sélections possibles) Un contrôle (choix d'option) avec 7 cases possibles - Je veux absolument - Très important - Important - Moyennement important - Peu important - Pas important - Je ne veux surtout pas Cotation sur les critères d'achat Sur la même page web ou sur une autre (selon l'administrateur), l'internaute sera invité à exprimer le poids relatif des critères d'achat. Chaque critère d'achat sera décrit de la façon suivante - Le libellé du critère - Une aide au remplissage - Un contrôle (choix d'option) avec 5 cases possibles - Très important - Important - Moyennement important - Peu important - Pas important Une table rassemblera la liste complète des critères d'achat possibles. L'administrateur pourra ajouter, modifier ou supprimer cette table. Cependant, seuls 5 critères seront proposés à l'internaute. Un bouton permettra à l'internaute d'accéder à cette liste complète. Les 5 critères d'achat initialement proposés seront issus du choix du profil de l'expert (voir 3.2). La table de correspondance entre les critères d'achat et le profil d'expert doit pouvoir être modifiée par l'administrateur. Scoring des produits Plusieurs étapes sont nécessaires pour calculer ce calcul d'un score [scoring] . Retranscription de la saisie de l'internaute avec pour chaque préférence - Un paramètre Epsilon = 1 si l'internaute a rempli et 0 sinon - Un paramètre Valeur = 1 ; 0,75 ; 0,5 ; 0,25 ; 0 selon ce qu'a saisi l'internaute (valeurs modifiables par l'administrateur) - Ajout d'une clause de tri si l'internaute a coché des cases absolument ou surtout pas - Retranscription de la saisie de l'internaute avec pour chaque critère d'achat - Un paramètre Epsilon = 1 si l'internaute a rempli et 0 sinon - Un paramètre Valeur = 1 ; 0,75 ; 0,5 ; 0,25 ; 0 selon ce qu'a saisi l'internaute (valeurs modifiables par l'administrateur) - Pour chaque produit encore dans le Sous-ensemble de produits restant en lices [Considération Set] - Récupérer ses valeurs sur les attributs techniques associés aux préférences de l'internaute - Récupérer ses valeurs sur les attributs calculés associés aux critères d'achat de l'internaute - Calculer le minicalcul d'un score [scoring] par attribut technique et critère d'achat en fonction de la valeur du produit et du minimum et du maximum sur le Sous-ensemble de produits restant en lices [Considération Set] (calculé à la fin de l'étape 3.5) - Calculer le calcul d'un score [scoring] sur les attributs techniques avec un paramètre Béta1 (à fixer par l'administrateur) - Calculer le calcul d'un score [scoring] final sur les critères d'achat avec un paramètre Béta2 à fixer par l'internaute (à fixer par l'administrateur) Une option sera disponible par l'administrateur pour pouvoir, si nécessaire, combiner ce calcul d'un score [scoring] avec la mesure effectuée dans l'étape 3.5. Un paramètre modifiable par l'administrateur permettra de fixer 1e poids relatif entre ces 2 calculs. Etat du calcul d'un score [scoring] par produit Sur une page Web, sera affichée la liste des produits rangée par ordre décroissant de calcul d'un score [scoring] final. Pour chaque produit, l'internaute pourra trouver Une case à cocher (état décoché par défaut) elle permet de retenir le produit afin de sélectionner le fournisseur le plus approprié (accès à la page suivante) Le libellé du produit (en hyperlien) . en cliquant sur l'hyperlien, l'internaute pourra lire la fiche technique complète du produit Une évaluation globale (1 à 5 étoiles) du produit selon le profil choisi par l'internaute au début (et un hyperlien) . en cliquant sur l'hyperlien, une fenêtre [pop-up] s'ouvre pour afficher le texte correspondant à l'évaluation. - Une valeur correspondant au calcul d'un score [scoring] (et un hyperlien calcul d'un score [scoring] détaillé ) - Le prix du produit - Un bouton comparer : en cliquant sur ce bouton, son état change. En cliquant que le bouton Go en en-tête de colonne, une pop-up s'affiche avec un tableau reprenant pour chaque caractéristique produit les valeurs des produits à comparer. En cliquant sur l'hyperlien calcul d'un score [scoring] détaillé, une pop-up s'affiche avec la fiche technique du produit et pour chaque caractéristique technique, une icône reprenant l'évaluation de ce produit par rapport aux préférences affichées par l'internaute - Plus que rempli - Totalement rempli - Partiellement rempli - Pas du tout rempli - Non évalué - Feedback de l'internaute A l'issue de la recommandation, il sera proposé à l'internaute de nous transmettre sur son avis sur notre service. I1 pourra mettre une note de 0 à 10 sur la qualité globale puis une évaluation plus précise s'il le souhaite et/ou si son évaluation est mauvaise. Cette évaluation précise portera sur les points suivants - Justification de la recommandation - Nature des questions posées - Lourdeur de la démarche - Recommandation non adaptée à vos attentes S'il est mécontent, il lui sera proposé de donner son e-mail pour le recontacter sous 48 heures afin d'avoir iir, a,,-i- s d'expert non automatique. REVENDICATIONS 1 - Procédé pour la mise en #uvre d'applications de commerce électronique, comportant une étape de constitution d'une base de données contenant des descripteurs techniques des articles et une base de données de produits, et des étapes d'interrogation desdites bases de données par un utilisateur équipé d'un poste client caractérisé en ce que l'étape d'interrogation des bases de données du serveur comporte une première étape d'établissement depuis le poste client d'un fichier numérique correspondant à l'expression des besoins fonctionnels de l'utilisateur, une deuxième étape de calcul de variables techniques à partir dudit fichier numérique d'expression des besoins fonctionnels, et une étape d'extraction des éléments de la base de données produits en fonction de la corrélation entre lesdites variables techniques et les descripteurs techniques enregistrées dans la base de données du serveur. 2 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon la revendication 1, caractérisé en ce que l'étape d'interrogation des bases de données du serveur consiste en la préparation par l'utilisateur depuis un poste client d'un profil fonctionnel (3) dans lequel il saisit les paramètres correspondant à sa recherche, et la transmission au serveur du fichier numérique correspondant à ces données, ces données étant ensuite transformées en variables techniques (5) par un calculateur (4). 3 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon la revendication 1 ou 2, caractérisé en ce que les variables techniques (5) sont exploitées pour l'extraction des produits pertinents et pour l'établissement d'une sélection (6) qui est transmise sous forme de fichier numérique, par exemple sous forme de page HTML à l'utilisateur au cours de la session précédemment ouverte. 4 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon l'une quelconque des revendications précédentes, caractérisé en ce que l'utilisateur procède ensuite à une cotation des attributs techniques (7) et en fonction des critères d'achats (8). 5 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon la revendication 4, caractérisé en ce qu'il comporte une étape de calcul d'un score (9) pour chacun des produits préselectionnés en fonction des cotations attribuées par l'utilisateur. 6 - Procédé pour la mise en #uvre d'applications de commerce électronique selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape de saisie des besoins fonctionnels consiste à créer une table numérique rassemblant les différents paramètres des besoins fonctionnels. 7 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comporte une étape de traduction des besoins en variables techniques fondé sur l'exploitation de plusieurs tables qui rassemblent l'ensemble des règles nécessaires à la recommandation, comprenant une table par question qui donne la valeur sur chaque état des paramètres fonctionnels, une table de correspondance (ou matrice donnant la projection de chaque besoin fonctionnel sur les différentes variables discrètes de chaque caractéristique technique) entre les états des paramètres fonctionnels et les variables discrètes des attributs techniques et une table de cohérence entre paramètres fonctionnels. 8 - Procédé pour la mise en #uvre d'applications de commerce électronique selon la revendication 7, caractérisé en ce que la traduction s'effectue par le remplissage des valeurs par états des paramètres fonctionnels, le calcul via la table de correspondance de la valeur sur chaque variable linguistique et le Contrôle de la cohérence du besoin de l'internaute. 9 - Procédé pour la mise en #uvre d'applications de commerce électronique selon l'une quelconque des revendications précédentes, caractérisé en ce que chaque attribut lié au besoin est traduit sous forme de variables discrètes pour pouvoir, lors de la connexion d'un internaute, être comparé par rapport à ce que demande l'internaute. 10 - Procédé pour la mise en ceuvre d'applications de commerce électronique selon la revendication 9, caractérisé en ce que la traduction s'effectue en trois temps, un premier temps correspondant à la décomposition de l'espace des valeurs numériques possibles en un nombre limité de variables, le deuxième temps correspondant à la définition pour chaque variable du support d'appartenance et du profil, et le troisième temps correspondant au calcul pour chaque produit de sa valeur par variable définie