SETIT 2009 5th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March 22-26, 2009 – TUNISIA Le Raisonnement à Base de Cas Appliqué à la Négociation Electronique Chokri EL AOUN *, Hella BEN AYED *, Hichem ELEUCH***, Esma AÏMEUR ** et Farouk KAMOUN * * Laboratoire CRISTAL, Ecole Nationale des Sciences de l’Informatique Université de Manouba, 2010 Manouba-Tunis, Tunisie [email protected] [email protected] [email protected] ** Département d'informatique et de recherche opérationnelle, Université de Montréal Pavillon André Aisenstadt C.P. 6128, Succ. A, Montréal H3C 3J7 (QC), Canada [email protected] *** Laboratoire de Physique de la Matière Condensée, Faculté des Sciences de Tunis, Université de Tunis El Manar, Campus Universitaire, 1060 Tunis, Tunisie [email protected] Résumé: Le raisonnement à base de cas (Case-Based Reasoning – CBR) permet de résoudre des problèmes dans un environnement dynamique et propose des solutions qui suit une étape de révision où on procède le cycle test-erreurcorrection jusqu’à l’obtention de la solution espérée. Dans ce papier nous proposons une approche basée sur le raisonnement à base de cas (un modèle 3R) avec un cycle de trois étapes (Rechercher, Réutiliser et Retenir). Dans cette approche nous calculons les poids optimaux des attributs de chaque cas automatiquement pour extraire le cas similaire dont nous utiliserons pour obtenir la solution finale en une seule fois. Ce modèle est utilisé comme une stratégie de négociation pour prédire le comportement du vendeur et l’appliqué dans le domaine immobilier dont le résultat obtenu est intéressant. Mots clés: Raisonnement à base de cas, le modèle 3R, similarité, prévision, négociation. consommateur a un espace plus grand, plus de choix de produits et de solutions. Le consommateur peut personnaliser son produit et modifier sa demande itérativement jusqu'à ce ses besoins soient satisfaits. La manière de procéder dans le CE est différente de celle du commerce traditionnel où le consommateur achète ce qu’il voit. INTRODUCTION Dans un environnement dynamique où l’information est incertaine et évolutive, on fait appel à la technologie du CBR pour résoudre de nouveaux problèmes en adaptant des problèmes similaires déjà résolus [AAM 94], [AHA 91], [BER 99], [KOL 93], [LEA 96] et [SCH 82]. Le cycle traditionnel du CBR [Aamodt and Plaza 1994] se déroule en 4 étapes (4R) : Rechercher, Réutiliser, Réviser et Retenir. Le CBR porte une grande attention au développement des systèmes intelligents appliqués au commerce électronique. Le cycle traditionnel du CBR [AAM 94] ne peut pas être appliqué directement au processus de commerce électronique (CE) où le -1- SETIT2009 2. Description de notre approche Dans ce qui suit nous proposons notre approche (le modèle 3R) inspirée du cycle classique [AAM 94], cette approche se base sur un cycle de trois étapes (Rechercher, Réutiliser et Retenir). Ensuite, nous détaillons le cycle des 3Rs tout en l’appliquant à la négociation immobilière. Ce modèle nous permet d’évaluer pour comprendre le comportement du vendeur et prédire pour contrôler sa stratégie. Figure 1. Le CBR traditionnel [AAM 94] et le CBR dans le CE [WIL 98] 2.1. Le modèle 3R Dans notre approche, la résolution du problème analogique consiste à extraire la solution à partir de l’expérience passée, qui est similaire au nouveau problème, et à utiliser cette solution pour calculer la solution du nouveau problème. Le modèle 3R est un cycle de trois étapes (Figure 2) : L’utilisation du CBR qui est un outil de résolution de problème donne de la valeur ajoutée si on l’intègre dans les outils du CE à savoir les supports des ventes en ligne, la négociation, la recommandation des produits ou l’assistance technique en ligne, ainsi nous aurons des supports intelligents [WIL 98]. Ces observations permettent de rendre plausible l’utilisation de la technique CBR en informatique et de proposer un modèle qui permet de prédire le comportement du vendeur dans une négociation. Dans notre travail nous proposons une approche qui permet à l’acheteur de comprendre la stratégie du vendeur, lui permettant de réagir en conséquence pour prendre la bonne décision pendant une négociation. Cette approche se base sur un cycle de trois étapes, Rechercher, Réutiliser et Retenir, d’où le nom « le modèle 3R ». Pour prouver son efficacité, nous le testons dans le domaine de négociation immobilière. Rechercher : Cette étape se déroule en deux phases (recherche 1 et recherche 2). Recherche 1 : il s’agit de chercher les poids optimaux. Ce processus de recherche est itératif. A chaque itération les poids sont ajustés par incrémentation jusqu’à obtenir les valeurs optimales. Recherche 2 : il s’agit d’extraire le cas similaire lorsque les bons poids sont trouvés. Réutiliser : Cette étape permet de calculer la solution du cas cible à partir de la solution du cas similaire. Dans cette étape, la réutilisation ne veut pas dire une copie ou des modifications de la solution similaire pour aboutir à la solution finale, mais une application d’une formule pour générer la solution cible et finale. Cette étape ne contient pas de processus itératif de modification, de vérification et de correction de la solution similaire. Ce papier est organisé de la manière suivante : La section 1 présente une petite introduction de la négociation comme un outil de résolution de problème. Dans la section 2, nous proposons notre approche et son application dans la négociation immobilière. En fin, la section 3 permet de donner une conclusion et quelques perspectives de recherches. Retenir : La dernière étape, comme dans le cycle traditionnel, est l’intégration ou la mémorisation du nouveau cas avec sa solution et la mise à jour de la base de cas. 1. Négociation Dans tout processus de négociation on assiste à une confrontation entre deux parties : acheteurs/vendeurs. Ces derniers ont en général des objectifs contradictoires, chacun veut maximiser son intérêt personnel et prédire le comportement de l’autre. Selon Guttman, la négociation est une forme d'interaction définie en terme de protocoles et de stratégies. Les protocoles de la négociation comprennent les règles (c.-à-d., les plan d’actions) du jeu. Pour un protocole donné, un enchérisseur utilise une stratégie rationnelle (c.-à-d., un plan d'action) pour maximiser son utilité [GUT 98]. Le vendeur désire savoir pour combien l’acheteur peut acquérir le bien ? L’acheteur désire savoir pour combien le vendeur veut vendre son bien ? Figure 2. Le modèle 3R pour la prévision du comportement du vendeur Afin de prendre de bonnes décisions, nous avons besoin de bien connaître notre adversaire et avoir des informations à propos de ses intérêts, ses préférences et ses préjugés [LUO 03]. -2- SETIT2009 2.2 Négociation Immobilière avec le Modèle 3R les descripteurs qui décrivent le problème associé à sa solution. Les cinq premiers colonnes correspondent aux descripteurs du problème (Ls ( Living space in square metres : Espace habitable en mètres carrés), Ah (The age of house in years : L'âge de maison en années), Bl (Basement living space in square metres : Sous-sol espace vivant dans les mètres carrés), Ssh (Size of shed in square metres : Dimension d'abri en mètres carrés)) (Figure 3) et la dernière colonne « Pf » correspond au descripteur de la solution (dans ce cas, seul le prix de vente a été considéré). Afin de prouver la faisabilité de notre approche, nous avons choisi comme exemple de réalisation la négociation immobilière. Dans une agence du bien immobilier il existe un ensemble de propriétés qui ont besoin d'être vendu. Dans ce domaine deux acteurs principaux sont présents : le vendeur et l'acheteur. Le vendeur agit de la part des intérêts de l'agence, pendant que l'acheteur représente ses propres intérêts. Le vendeur a besoin de vendre une maison avec un profit maximal pour l'agence. Il s’agit d’un conflit d'intérêts évident qui est résolu habituellement par une négociation. L'idée sous-jacente du CBR est simple : On ne résout pas un problème à partir de zéro mais en se rappelant comment on a résolu un problème similaire et on applique cette connaissance pour résoudre le problème courant [ALT 01]. Alors, nous pouvons dire que deux propriétés similaires ont des valeurs similaires. Pour la résolution du problème à base de cas, la source principale de la connaissance est formée par un ensemble de cas. Les cas représentent les expériences précédentes. Chaque cas consiste au moins en une description du problème et une solution ou un ensemble d’informations pertinentes qui permettent de déterminer la solution [SCH 04]. Ce problème résolu est mémorisé dans une base de cas [ALT 01]. Dans ce qui suit nous définissons cas et base de cas. • Figure 3. Base des cas 2.3. Le Cycle du modèle 3R L’organigramme générale (voir annexe 1) décrit les différents étapes du cycle du « modèle 3R » sans prendre en compte l’étape « retenir ». Chaque étape sera étudiée dans les sections suivantes. 2.3.1. Rechercher Pour permettre de comparer les cas les uns avec les autres, il faut pouvoir comparer les valeurs de leurs attributs de façon à établir à quels points ces valeurs sont proches. Cette étape nous permet d’extraire le cas le plus similaire à notre problème cible (cas cible). Cas : Le plus petit élément d'information de l'expérience dans le CBR est appelé un cas. Quand on applique le CBR structurel, chaque cas est décrit par un ensemble fini et structuré de paires attribut-valeur qui caractérisent le problème et la solution. Donc, un cas peut être considéré comme un point dans l'espace défini par le produit Cartésien de l'espace du problème Durant cette étape on passe par deux phases : A. Recherche 1 : Elle permet de chercher les poids optimaux. P et espace de la solution S [TAR 04]. B. Recherche 2 : Elle permet de chercher le cas similaire. Un cas est donc l'association d'un problème et sa solution. Il est représenté par C = (P, S) où : A. Recherche 1 : Recherche des poids optimaux P : représente le problème et correspond à un élément de l’espace du problème P Dans cette recherche 1, nous commençons par une identification des cas référence et test, puis nous passons à la détermination des poids optimaux. S : représente la solution et correspond à un élément de l’espace de solution S A.1. Identification Un cas source est un cas dont on va s'inspirer pour résoudre un nouveau cas que l'on appellera un cas cible. Un cas source s'écrit : cs=(ps,ss) et un cas cible s'écrit donc cc=(pc,sc). Un cas, son problème et sa solution sont donc décrits par un ensemble de descripteurs. • Pour démarrer le processus de résolution du problème qui est déclanché par l’arrivée d’un nouveau cas (cas cible), nous devons passer par l’identification des cas et choisir un cas référence et un cas test (Figure 4). Base de cas Choisir un cas référence et un cas test Une base de cas est une collection de cas de résolution du même problème. Si nous reprenons les exemples déjà présentés, nous aurons une base de cas résolus de vente des propriétés. Chaque cas est une description d'un épisode de résolution d'une vente et Dans cette étape nous identifions le cas référence et le cas test: -3- SETIT2009 • • de similarité (distance Euclidienne pondérée) [WET 95]. Cette distance est définie par dj qui est la distance du cas j par rapport au cas référence. Le cas référence (le choix se fait d’une manière arbitraire). Le cas test (extrait de la base, et choisit arbitrairement). Calcul de la distance de similarité dj d d j = j = ∑ p (x ref (i) − x ji ) 2 2 i i ∑ p (x ref (i) − x ji ) 2 i 2 i (1) dj : distance de similarité du cas j par rapport à la référence pi : poids attribué à chaque attribut selon le degrés d’importance. Figure 4. Identification des cas Donc, nous avons défini nos cas de référence et de test à partir de la base suite à l’arrivée d’un nouveau cas. Pour chercher les cas similaire, nous allons utiliser la distance de similarité. Cette distance tient compte des poids affectés à chaque attribut et l’étape suivante décrit le choix des poids. i : numéro d’ordre d’attribut j : numéro d’ordre d’un cas xref(i) : attribut i de la référence xji : attribut i du cas j A.2. Détermination des poids optimaux c) Ajustement des poids Il est difficile d’avoir des poids optimaux dès le premier choix. Pour cette raison nous procédons comme suit : a) Dans cette section nous allons commencer par chercher les poids optimaux, un ajustement doit être effectué dans le cas contraire. Puis, nous aborderons la construction de la courbe de similarité, ensuite l’interpolation pour le test de l’optimalité. Initialisation des poids. b) Calcul de la distance de similarité. c) Diagramme de similarité : Interpolation de la courbe à partir des Mj (dj, fj) Ajustement des poids. d) Calcul des poids optimaux. a) Initialisation des poids A chaque cas, nous affectons des points pour réaliser un diagramme de similarité. Donc à un cas donné (cas j) nous avons un point qui est composé par la paire dj et fj noté par Mj (dj,fj). Les valeurs des poids sont attribuées d’une façon intuitive de telle sorte que l’incrémentation ou la modification des poids nous permettent de balayer le maximum de possibilité pour atteindre l’optimalité. Pour réaliser cette opération, nous devons commencer par donner une valeur faible au poids « p1 », une valeur moins faible au poids « p2 » et le reste des valeurs pour les autres poids. Lors de cette modification, l’incrémentation des poids fonctionnent comme un compteur. Chaque point Mj est caractérisé par sa distance de similarité dj et une déviation fj qui est l’écart entre la solution j et la solution du cas référence (fj = solutionj – solutionref). A partir des cas existants, nous construisons la courbe interpolée et nous obtenons (Figure 5) : Choisir les poids pi de chaque attribut, K = 1 pi : poids affectés à chaque attribut selon un degré d’importance. i : numéro d’ordre d’un attribut. Suite à l’introduction des poids, le cas référence et les cas de la base, nous pouvons calculer la distance de similarité qui fait l’objet de ce qui suit. b) Calcul de la distance de similarité Figure 5. Courbe d’interpolation Dans cette étape nous allons chercher le cas le plus similaire à notre cas référence déjà choisi. Dans notre situation la ressemblance est mesurée par la distance Donc, On dispose d'un ensemble de points { Mj (dj,fj), j = 0...n}. Le problème est de pouvoir -4- SETIT2009 déterminer ou plutôt d’estimer la valeur de « f » en un point d'abscisse x = d de l'intervalle [d1; dn]. A partir des données déjà connues, nous devons prédire f(dtest) du point Minterpolé (dtest, f(dtest)). Pour résoudre ce problème nous utilisons la technique d’interpolation. Calcul de la distance de similarité d Cette étape permet d’obtenir les poids optimaux : d ∑ p (x ref (i) − x cible(i)) 2 2 (4) i i d = ∑ p (x ref (i ) − x cible (i ) ) 2 i 2 i 2.3.2. Réutiliser L'adaptation termine 'l'inférence analogique" en calculant quelle pourrait être la solution au problème du cas cible inspirée de la solution du cas source le plus similaire. Une fois que nous avons trouvé les poids optimaux (les pi), nous calculons la distance de similarité c’està-dire le cas le plus proche (le plus similaire) à celui du cas cible : ∑ p (x cible(i) − x ji ) cible Figure 7. Calcul de la distance de similarité du cas cible B.1. Calcul de la distance de similarité par rapport à la cible i = Calcul des poids optimaux et de la distance de similarité du cas inconnu Dans cette étape nous calculons les distances de similarité puis nous extrairons le cas le plus similaire. i cible (2) B. Recherche 2 : Recherche du cas similaire = i A l’issue de la détermination des poids optimaux, nous avons calculé les poids optimaux du cas inconnu (cas cible), ensuite nous calculons sa distance de similarité (dcible) par rapport à la référence (Figure 7) : Figure 6. Calcul des poids optimaux et f(dtest) j 2 2 i B.2. Extraction du cas similaire sinon nous devons ajuster les poids (Figure 6) et recommencer l’opération de recherche des poids optimaux, alors retour à la section (b. calcul de la distance de similarité). d ∑ p (x cible(i) − x ji ) Donc nous commençons par la rechercher du cas le plus similaire (le cas test n’est pas pris en considération), revient à trouver la distance la plus proche du cas cible. Ensuite nous prenons ce cas qui est le plus similaire comme un cas référence et nous reprenons les étapes : b) calcul de la distance de similarité, c) ajustement des poids et d) calcul des poids optimaux. A partir du cas test nous avons Mtest (dtest, ftest) et à partir de l’interpolation nous obtenons f(dtest) qui est la fonction f : d p f(d). Donc f(dtest) est une valeur obtenue par interpolation, alors que ftest est une valeur calculée à partir de la différence entre la solution du cas j et la solution référence. Si les poids sont justes ou optimaux alors nous aurons ftest tend vers f(dtest) c'est-à-dire 2 = Chercher la distance la plus proche (le cas le plus similaire) : min dj , et le prendre comme une référence et K=0 et retour au d) Calcul des poids optimaux f test − f (d test ) ≤ ε, f test j Solutioncible= f(dcible)+solutionref La solution cible, qui est le prix final à prévoir, est obtenue par: 2 (3) Solutioncible= f(dcible) + solutionref (5) Nous avons obtenu par interpolation f(dcible) qui est dans notre cas f(d10) f(dcible) = f(d10) = 985.2423458 Solutioncible = f(d10) +solutionref (du dernier cas référence) -5- SETIT2009 [LEA 96] D. B. Leake, “CBR in context: The present and future”, in Leake, D. B. (editor) Case-Based Reasoning: Experiences, Lessons & Future Directions, American Association for Artificial Intelligence, Menlo Park California, USA, 3-30, 1996. Solutioncible = 985.2423458 + 48200 = 49185.2423 Nous notons que le résultat obtenu est intéressant car la valeur de la solution cible (49185.2423) est déviée de 0.23% de la solution réelle (49300.000). [LUO 03] X. Luo, N. R. Jennings and N. Shadbolt, “Knowledge-based acquisition of trade-off preferences for negotiating agents”, Proceedings of the 5th International Conference on Electronic Commerce, Pittsburgh, USA, pp. 138-149, 2003. 2.3.3. Retenir Le cas résolu peut être donc retenu et stocké dans la base pour une utilisation ultérieure. La base sera mise à jour et une modification incrémentale de la base est réalisée ce qui permet un apprentissage progressif. [SCH 04] M. Schaaf, A. Freßmann, R. Maximini, R. Bergmann, A. Tartakovski and M. Radetzki, “Intelligent IP Retrieval Driven by Application Requirements”,. Integration, the VLSI Journal, 37(4):253-287, 2004. 3. Conclusion Dans ce travail de recherche, nous avons développé un modèle de prévision des prix de vente. Ce modèle est basé sur un raisonnement à base de cas dont le cycle est composé de trois étapes d’où le nom de notre modèle le « modèle 3R ». Ce cycle est caractérisé par « rechercher », « réutiliser » et de « retenir ». [SCH 82] R. Schank, “Dynamic Memory: A Theory of Reminding and Learning in Computer and People”, Cambridge University Press, 1982. [TAR 04] A. Tartakovski, M. Schaaf, R. Maximini and R. Bergmann, “MINLP Based Retrieval of Generalized Cases”, Proceedings of 7th European Conference, ECCBR 2004. In Peter Funk, and Pedro A. González Calero, editors, Advances in Case-Based Reasoning, LNAI 3155, pp. 404-418, Madrid, Spain, August 2004, Springer Verlag, Berlin-Heidelberg. Notre contribution dans ce travail consiste à réduire les étapes du CBR classique [AAM 94] en trois étapes, à développer une méthode de recherche des poids optimaux, cette méthode nous permet d’avoir des poids automatiquement sans intervention humaine, et à obtenir la solution du cas cible en une seule fois. [WET 95] D. Wettschereck and D.W. Aha, “Weighting Features”, Proceedings of the First International Conference on Case-Based Reasoning, Springer, New York, 1995. [WIL 98] W. Wilke, M. Lenz, S. Wess, “Intelligent Sales Support with CBR”. In: Lenz M, et al. (eds): Case Based Reasoning Technology: from foundations to applications. Berlin: Springer LNCS 1400. 1998. Un volet important de nos perspectives est une ouverture vers l’utilisation des agents intelligents dans le CE pour améliorer ainsi la négociation en ligne. Son application dans des situations réelles en l’intégrant dans des scénarios de négociation avec des acteurs concernés tel que des entreprises virtuelles ou les sites d’enchères. Enfin, pour une large acceptation de notre modèle de prévision, d’autres validations empiriques sur des bases contenant un nombre élevé de cas sont nécessaires et d’autres domaines. REFERENCES [AAM 94] A . Aamodt and E. Plaza, “Case-based reasoning: Foundational issues, methodological Variations, and system approaches”, Artificial Intelligence Communications, IOS Press, 7(1), pp 39-59, 1994. [AHA 91] W. D. Aha, “Case-Based Learning Algorithms”, DARPA Case-Based Reasoning Workshop, Morgan Kaufmann, LoaAtlos, CA, 1991. [ALT 01] K.-D. Althoff, “Case-Based Reasoning”. In: S. K. Chang (Ed.), Handbook on Software Engineering and Knowledge Engineering. Vol. 1 “Fundamentals”, World Scientific, pp. 549-588, 2001. [BER 99] R. Bergmann, S. Breen, M. Göker, M. Manago and S. Wess, “Developing industrial case-based reasoning applications”, LNAI 1612, Springer, 1999. [GUT 98] R. H. Guttman, A. G. Moukas and P. Maes, “Agent-mediated electronic commerce: A survey”, Knowledge Engineering Review, 13(3), June 1998. [KOL 93] J. L. Kolodner, “Case-Based Reasoning”, Morgan Kaufmann 1993. -6- SETIT2009 Annexe 1 Organigramme général Début Choisir un cas référence et un cas test Choisir les poids pi de chaque attribut, K =1 Calcul de la distance de similarité dj d j = ∑ p (x ref (i) − x ji ) 2 2 i i Diagramme de similarité : Interpolation de la courbe à partir des Mj (dj, fj) Modifier et varier les poids Non f test − f (d test ) ≤ε f test Oui On obtient les pi optimaux Non K=1 Oui Calcul de la distance de similarité d j = ∑ p (x cible(i) − x ji ) 2 2 i i Chercher la distance la plus proche (le cas le plus similaire) : min dj , et le prendre comme une référence et K=0 Calcul de la distance de similarité du cas inconnu d cible = ∑ p (x ref (i ) − x cible (i ) ) 2 2 i i Solutioncible = f(dcible) + solutionref Fin -7-