Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Generación de recomendaciones a grupos considerando relaciones sociales y perfiles de personalidad Facultad de Ciencias Exactas Universidad Nacional del Centro de la Provincia de Buenos Aires Daiana Elin Madsen Torre Director Dr. Ariel Monteserin Codirectora Dra. Silvia Schiaffino Trabajo Final de Carrera Ingeniería de Sistemas 2022 "La imaginación es la facultad del descubrimiento, preeminentemente. Es lo que penetra en los mundos nunca vistos a nuestro alrededor, los mundos de la ciencia." Ada Lovelace En un mundo donde la ciencia, la ingeniería, la tecnología y la informática cobran relevancia a pasos agigantados, y la escasa participación femenina en estos ámbitos es cada vez más profunda, reivindicar a las mujeres que nos abren camino en estos campos es un acto político poderoso y necesario. Dedicatoria A mi compañero de vida por su incondicionalidad y apoyo infinito. A mi familia, amigos y amigas. Agradecimientos A Silvia y Ariel por su guía y dedicación. A mis compañeros y compañeras de trabajo por el acompañamiento. A la universidad y a la educación pública argentina por permitir mi formación profesional. A toda aquella persona que desde su lugar y con cada palabra de aliento, me acompañó en el cierre de esta etapa. ¡Muchas gracias! Resumen Los sistemas de recomendación permiten encontrar ítems que son potencialmente de interés para un usuario o un grupo de usuarios particular. El objetivo es predecir los gustos, intereses y preferencias de dichos usuarios y sugerir elementos que satisfagan sus necesidades dentro de diferentes dominios. La enorme variedad de ámbitos de aplicación habla de la infinidad de usos y la potencial utilidad que se le puede dar a los sistemas de recomendación, tanto para sugerir películas, música, videojuegos, libros, restaurantes o lugares turísticos, como para el e-commerce a través de internet. En los últimos años han surgido sistemas de recomendación que buscan satisfacer las necesidades de un grupo de personas, ya sea para escuchar música en espacios comunes, visitar en grupo un destino turístico, entre otros. Existen muchas técnicas que permiten recomendar a grupos, pero aún es un desafío equilibrar la satisfacción de todos los individuos teniendo en cuenta, no solo sus intereses o preferencias, sino también la personalidad de cada uno, sus relaciones y la manera en que interactúan entre sí. Los sistemas multiagente son particularmente útiles para desarrollar este tipo de recomendaciones debido a las características intrínsecas de los mismos. Consisten en un sistema distribuido compuesto por múltiples agentes inteligentes que interactúan entre sí, siendo capaces de cumplir objetivos difíciles o imposibles de alcanzar en forma individual. En el contexto de este trabajo, se cuenta con agentes que representan los intereses de los usuarios en un grupo y mediante técnicas de negociación se obtiene una decisión en base a múltiples ítems con el mayor balance de satisfacción posible para las posteriores sugerencias hacia dicho grupo. El énfasis está puesto en considerar las características de personalidad de los miembros del grupo durante la negociación, bajo la premisa de que ciertas personas estarán más dispuestas a modificar sus opiniones individuales iniciales en pos del beneficio común del grupo, y estudiar el impacto de la conducta de los integrantes del grupo en situaciones de conflicto. Se pudo comprobar, a partir de la evaluación experimental, que el perfil de personalidad de los integrantes tiene impacto en las recomendaciones al grupo, principalmente a partir de los niveles de asertividad, es decir, la medida en que las personas intentan satisfacer sus propios intereses. Las técnicas tradicionales de recomendación a grupos ignoran los efectos de las interacciones sociales y relaciones entre los individuos, tratándolos como personas completamente individuales. El presente trabajo demuestra que la opinión de un individuo puede verse alterada cuando una persona es parte de un grupo que coopera por un objetivo compartido. Las relaciones sociales, cuando los integrantes de los grupos manifiestan un nivel de confianza compatible con amistad, familia o pareja, evidencian un impacto positivo en las recomendaciones al grupo, permitiendo obtener mejores resultados al considerar estos factores. I Índice general Capítulo 1 1 Introducción 1 1.1. Motivación 3 1.2. Objetivos 4 1.3. Propuesta 5 1.4. Organización del trabajo 6 Capítulo 2 8 Marco teórico 8 2.1. Sistemas de Recomendación 8 2.1.1. Recomendación Individual 8 2.1.1.1. Filtrado Colaborativo 9 2.1.1.2. Filtrado Basado en Contenido 11 2.1.1.3. Perfil Demográfico 12 2.1.1.4. Enfoques híbridos 13 2.1.2. Recomendación a Grupos 14 2.1.2.1. Técnicas para obtener las preferencias 15 2.1.2.2. Estrategias para la generación de recomendaciones 16 2.1.2.3. Explicación de recomendaciones 21 2.1.2.4. Asistencia en la toma de la decisión final 22 2.1.2.5. Evaluación de recomendaciones grupales 23 2.2. Sistemas Multiagente 24 2.2.1. Modelos de negociación 25 2.2.1.1. Según la cantidad de agentes involucrados 25 2.2.1.2. Según el tipo de acuerdo 26 2.2.1.3. Según el tipo de tema negociado 26 II 2.2.1.4. Según la cantidad de temas negociados 27 2.2.1.5. Según los objetivos de los agentes participantes 28 2.2.1.6. Según la privacidad de la información 28 2.2.2. Protocolos de negociación 29 2.2.2.1. Protocolos argumentativos 29 2.2.2.2. Protocolos algorítmicos 30 2.2.2.3. Protocolos mixtos 31 2.3. Monotonic Concession Protocol 32 2.3.1. MCP Bilateral 32 2.3.1.1. Estrategia Zeuthen 34 2.3.2. MCP Multilateral 34 2.3.2.1. Acuerdos multilaterales 35 2.3.2.2. Concesiones multilaterales 35 Capítulo 3 38 Trabajos Relacionados 38 3.1. MAGReS 38 3.1.1. Sistema de recomendación de películas 40 3.2. Thomas-Kilmann Instrument 40 3.3. Relaciones sociales y grado de influencia 43 3.4. Análisis de trabajos similares 44 Capítulo 4 46 Trabajo Propuesto 46 4.1. Visión general del enfoque 46 4.2. Captura de intereses individuales 47 4.2.1. Personalidad del usuario 48 4.2.2. Relaciones entre usuarios 50 4.3. Enfoques de recomendación 50 4.3.1. Enfoque tradicional 51 III 4.3.2. Enfoque MAGReS 53 4.3.2.1. Evaluación del acuerdo 53 4.3.2.2. Selección del usuario que debe conceder 55 Capítulo 5 58 Diseño e implementación 58 5.1. Aplicación MAGReS existente 58 5.1.1. Arquitectura 58 5.1.2. Tecnología 61 5.2. Perfil de usuario en MAGReS 61 5.2.1. “My Personality” 62 5.2.2. “My Relationships” 64 5.2.3. Perfil de preferencias 65 5.3. Generar una recomendación para el grupo 66 5.3.1. TRADGRec 66 5.3.2. MAGReS 67 5.3.2.1. Evaluación del acuerdo 68 5.3.2.2. Selección del usuario que debe conceder 69 Capítulo 6 71 Evaluación experimental 71 6.1. Análisis de un caso de estudio 71 6.1.1. Análisis de las variantes con el enfoque TRADGRec 72 6.1.2. Análisis de las variantes con el enfoque MAGReS 73 6.2. Experimentación con grupos reales 75 6.2.1. Criterios utilizados para los experimentos 76 6.2.2. Detalles de la población 76 6.2.2.1. Género de los individuos 76 6.2.2.2. Perfil de personalidad predominante 77 6.2.2.3. Factores de asertividad y cooperatividad 78 IV 6.2.2.4. Relaciones sociales 78 6.2.3. Satisfacción con el perfil de personalidad y las relaciones sociales 79 6.2.4. Satisfacción respecto a las películas ya vistas 79 6.2.5. Satisfacción respecto a las recomendaciones 80 6.2.5.1. Análisis de las variantes con el enfoque TRADGRec 81 6.2.5.2. Análisis de las variantes con el enfoque MAGReS 84 6.2.6. Discusión 88 Capítulo 7 89 Conclusiones 89 7.1. Resumen 89 7.2. Limitaciones 89 7.3. Trabajos futuros 90 7.3.1. Propuesta sobre los perfiles de personalidad 91 7.3.2. Propuesta sobre la explicación de las recomendaciones 92 Apéndice A 94 Instrumento Thomas-Kilmann 94 A.1. Cuestionario de personalidad ante el conflicto 94 A.2. Correspondencia entre las respuestas y los perfiles 96 Bibliografía 98 V Índice de figurasFigura 1.1. Enfoques tradicionales para generación de recomendaciones Figura 1.2. Enfoque propuesto de SRG considerando personalidad y relaciones sociales Figura 2.1. Filtrado Colaborativo basado en usuarios Figura 2.2. Filtrado Colaborativo basado en ítems Figura 2.3. Agregación de perfiles Figura 2.4. Agregación de preferencias Figura 2.5. Agregación de recomendaciones Figura 2.6. Propuestas iniciales en MCP Bilateral Figura 2.7. Protocolo MCP Figura 3.1. Enfoque MAGReS: Multi-Agent Group Recommender System Figura 3.2. Los cinco modos de manejo de conflicto de Thomas-Kilmann Figura 4.1. Enfoque propuesto de SRG considerando personalidad y relaciones sociales Figura 4.2. Ejemplo de composición de perfil de personalidad según TKI Figura 4.3. Ejemplo de cálculo del factor de cooperación y factor de asertividad Figura 4.4. Utilidades de los miembros del grupo al mismo ítem Figura 4.5. Utilidad del grupo Figura 4.6. Nuevas utilidades de los miembros del grupo al mismo ítem Figura 4.7. Nueva utilidad del grupo Figura 4.8. Propuestas iniciales de los integrantes del grupo Figura 4.9. Utilidad de un usuario a la propuesta de otro integrante del grupo Figura 5.1. Grupo de proyectos relacionados que componen MAGReS Figura 5.2. Conjunto de bases de datos que utiliza MAGReS Figura 5.3. Tecnologías utilizadas para el desarrollo de MAGReS VI Figura 5.4. Pantalla inicial y configuración del perfil de usuario Figura 5.5. Diagrama de entidades y relaciones para la personalidad del usuario Figura 5.5. Diagrama de entidades y relaciones para la personalidad del usuario Figura 5.6. Interfaz con la que interactúa el usuario para que complete el cuestionario TKI Figura 5.7. Pantalla que informa el resultado del cuestionario TKI Figura 5.8. Diagrama de entidades y relaciones para las relaciones entre usuarios Figura 5.9. Interfaz con la que interactúa el usuario para que indique sus relaciones Figura 5.10. Interfaz con la que interactúa el usuario para generar las recomendaciones Figura 5.11. Pseudocódigo utilizado en enfoque TRADGRec Figura 5.12. Proposal Acceptance Strategies Figura 5.13. Pseudocódigo utilizado en Proposal Acceptance Strategies de MAGReS Figura 5.14. Negotiation Strategies Figura 5.15. Pseudocódigo utilizado en Willingness To Risk Conflict Strategy de MAGReS Figura 6.1. Grupo hipotético para análisis de un caso concreto Figura 6.2. Relaciones sociales entre los integrantes del grupo Figura 6.3. Comparación de TRADGRec sin factores y con factores Figura 6.4. Propuestas iniciales para un caso de estudio concreto Figura 6.5. Comparación durante la evaluación de acuerdos, sin factores y con factores Figura 6.6. Comparación durante la selección de un agente, sin factores y con factores Figura 6.7. Género de los individuos que conforman la población Figura 6.8. Perfil predominante de los individuos que conforman la población Figura 6.9. Factores de asertividad de los usuarios utilizados para los experimentos Figura 6.10. Factores de cooperación de los usuarios utilizados para los experimentos Figura 6.11. Factores de relación de los usuarios utilizados para los experimentos Figura 6.12. Satisfacción respecto a las películas ya vistas Figura 6.13. Utilidad para el top 1 del ranking para los grupos con las variantes TRADGRec VII Figura 6.14. Utilidad para el top 10 de películas para grupos con las variantes TRADGRec Figura 6.15. Métrica online de satisfacción grupal con el enfoque TRADGRec Figura 6.16. Métrica online de satisfacción individual con el enfoque TRADGRec Figura 6.17. Utilidad para el top 1 del ranking para los grupos con las variantes MAGReS Figura 6.18. Utilidad para el top 10 de películas para grupos con las variantes MAGReS Figura 6.19. Métrica online de satisfacción grupal con el enfoque MAGReS Figura 6.20. Métrica online de satisfacción individual con el enfoque MAGReS Figura 7.1. Ejemplo de composición de perfil de personalidad según TKI Figura 7.2. Ejemplo de cálculo del factor de cooperación y factor de asertividad Figura 7.3. Explicación de la recomendación, incluyendo quién realizó la propuesta VIII Índice de cuadros Cuadro 2.1. Agregación por promedio Cuadro 2.2. Agregación por promedio ponderado Cuadro 2.3. Agregación por minimización de la miseria Cuadro 2.4. Agregación por maximización del placer Cuadro 2.5. Agregación por votación por mayoría Cuadro 2.6. Agregación por votación por aprobación Cuadro 2.7. Características generales sobre criterios de concesión Cuadro 3.1. Cuadro comparativo de trabajos relacionados Cuadro 4.1. Modos de conflicto y dimensiones básicas, según Thomas-Kilmann Cuadro 4.2. Tipos de relación según Christensen-Schiaffino, y pesos asignados Cuadro 6.1. Métrica offline de satisfacción grupal para el enfoque TRADGRec Cuadro 6.2. Métrica offline de satisfacción grupal para el enfoque MAGReS Cuadro A.1. Correspondencia entre las respuestas y los perfiles IX Índice de ecuaciones Ecuación 2.1. Estrategia de Zeuthen Ecuación 2.2. Acuerdos multilaterales Ecuación 2.3. Willingness to risk conflict para MCP multilateral Ecuación 2.4. Product increasing Ecuación 2.5. Sum of products of pairs Ecuación 4.1. Utilidad del grupo Ecuación 4.2. Nueva utilidad del grupo Ecuación 4.3. Fórmula de utilidad considerando relaciones sociales y personalidad Ecuación 4.4. Comparación de utilidades Ecuación 4.5. Fórmula de comparación de utilidades utilizando relaciones y personalidad Ecuación 4.6. Valor Zi según la estrategia Willingness to risk conflict Ecuación 4.7. Valor Zi según la estrategia Product increasing Ecuación 4.8. Valor Zi según la estrategia Minimal utility loss Ecuación 4.9. Fórmula de utilidad para la propia propuesta considerando personalidad X Capítulo 1 Introducción La Inteligencia Artificial (IA) ha tenido en los últimos años una implicancia cada vez mayor en innumerables áreas de aplicación debido a que abre un mundo de posibilidades a quien conoce su potencial. En el progreso tecnológico de nuestro mundo, cada vez más digital e impulsado por los datos, resulta particularmente útil el estudio de herramientas que agilicen la toma de decisiones y permitan ofrecer soluciones apropiadas a las problemáticas actuales. Es cada vez más común que ante la enorme cantidad de datos disponibles, se haga uso de la Inteligencia Artificial para poder recomendar productos, actividades, servicios o cualquier otro ítem que sea de interés para una persona o un grupo de personas. La inteligencia artificial ha pasado de ser un concepto asociado a la ciencia ficción a convertirse en una realidad. Hoy en día, la IA ayuda a procesar pedidos en línea, recomendar productos, dar sugerencias sobre películas, música, videojuegos, libros, restaurantes o lugares turísticos. Indiscutiblemente, la automatización permite mejorar el tiempo de respuesta, aumentar la capacidad de análisis y obtener mayor precisión en los resultados, aunque aún es un desafío lograr simular los procesos de negociación entre individuos tal como si ocurrieran en la vida real. Los Sistemas de Recomendación (SR) tradicionalmente han sido una línea de investigación muy prometedora, no solo para resolver el problema de la sobrecarga de información sino gracias a las aplicaciones cada vez más requeridas en el mundo del marketing y especialmente en el comercio electrónico (en inglés, e-commerce) [1, 2]. Inicialmente, los SR eran aplicados a la predicción de intereses para individuos y perseguían el objetivo de encontrar que la experiencia sea cada vez más representativa de los intereses de un usuario, pero con el correr del tiempo se comenzó a aplicar las mismas técnicas a grupos de personas que comparten objetivos comunes. De esta manera surgen los Sistemas de Recomendación a Grupos [3]. Los Sistemas de Recomendación a Grupos (SRG) tradicionales recurren a técnicas de agregación. En particular, cuando se trata de agregación de perfiles, usualmente se realizan teniendo en cuenta un promedio de satisfacción sobre losítems de cada perfil, para obtener así el perfil grupal. Realizar un promedio, puede desencadenar en una mala recomendación debido a la naturaleza del cálculo, esto quiere decir que quizás la recomendación satisfaga a la mayoría, pero una minoría resulte perjudicada. Con este escenario, se considera el enfoque de negociaciones entre agentes para llegar a un acuerdo entre todas las partes. Se presume que negociar un perfil grupal desembocará en recomendaciones que contenten al grupo como un todo, debido a que la conformación del perfil es consensuada por todos los usuarios. 1 Los SRG son capaces de generar recomendaciones que satisfagan al grupo como si fuesen uno, es decir, recomendaciones que satisfagan, tanto como sea posible, las preferencias individuales de todos los miembros del grupo. Realizar recomendaciones a grupos implica varios desafíos. Uno de ellos tiene que ver con la existencia de conflictos de intereses entre los miembros del grupo, lo cuál hace difícil que las recomendaciones generadas puedan satisfacer a todos los miembros del grupo por igual. Otro desafío radica en el hecho de que cada grupo tiene una dinámica propia al momento de tomar decisiones. Esta dinámica debería ser tenida en cuenta al generar recomendaciones grupales. Vinculado a esto, todo el proceso de recomendación se vuelve más complejo al trabajar con grupos. Figura 1.1. Enfoques tradicionales para generación de recomendaciones Las estrategias de generación de recomendación a grupos más extendidas hacen uso de enfoques tradicionales para generar las recomendaciones. Estos enfoques, ilustrados en la figura 1.1, emplean técnicas de agregación, como por ejemplo el promedio o la minimización de miseria, para generar recomendaciones grupales. En vista de lo explicado anteriormente, se considera necesaria una forma de realizar recomendaciones grupales que vaya más allá de las técnicas de agregación tradicionales y que considere la diversidad de personalidades durante la negociación, representando más fielmente los intereses y las intenciones de los miembros del grupo. Para poder resolver este tipo de recomendaciones a grupos, se debe hacer uso de los Sistemas Multiagente (SMA), los cuales consisten en un sistema distribuido compuesto por múltiples agentes inteligentes que interactúan entre sí, siendo capaces de cumplir objetivos difíciles o imposibles de alcanzar en forma individual. Los agentes que forman 2 parte de un SMA pueden interactuar a través de un proceso conocido como negociación. Al negociar es necesario alcanzar acuerdos y tales acuerdos implican la convergencia de intereses conflictivos [4]. La novedad del presente trabajo final de carrera, consiste en incluir los perfiles de personalidad de los integrantes del grupo dentro del proceso de negociación de los SRG, partiendo de la premisa de que ciertas personas estarán dispuestas a modificar sus opiniones individuales iniciales con el objetivo de encontrar un punto en común para el grupo. Para lograrlo, resulta de utilidad tener en cuenta la Teoría Thomas-Kilmann, la cual define cinco modos de personalidad a la hora de lidiar con conflictos [5]. Además, teniendo en cuenta los estudios e investigaciones sobre influencia social en Sistemas de Recomendación a Grupos [6, 7, 8, 9] se incorporan las relaciones sociales como forma de cuantificar el grado de influencia basado en el nivel de confianza, amistad o afinidad entre los miembros del grupo, lo que permite modelar la influencia en la toma de decisiones a la hora de encontrar los ítems de interés. 1.1. Motivación El desafío que implica realizar recomendaciones a grupos de individuos radica en la heterogeneidad de sus miembros y la diversidad de sus intereses y preferencias. Lograr la satisfacción de todos ellos de una manera equilibrada sobre los ítems recomendados es particularmente difícil y objeto de estudio. Modelar el comportamiento colectivo implica la adaptación de los sistemas de recomendación clásicos para atender tanto las preferencias individuales como las comunes. Sin embargo, no es suficiente considerar un promedio de satisfacción sobre los ítems de cada perfil para obtener el perfil grupal, sino que se deben considerar otros factores como la diversidad de los grupos, el grado de confianza entre los miembros [6, 10] y la personalidad a la hora de las negociaciones para obtener una decisión final. La búsqueda de consenso en un proceso de decisión no solamente busca el acuerdo de la mayoría de los participantes, sino que también persigue el objetivo de resolver o atenuar las objeciones de la minoría para alcanzar la decisión más satisfactoria. Durante la negociación, las opiniones individuales tienden a adaptarse a la satisfacción del grupo, y con frecuencia los usuarios están dispuestos a modificar sus opiniones individuales iniciales con el objetivo de encontrar un punto en común. Las técnicas tradicionales de recomendación a grupos ignoran los efectos de estas interacciones sociales y las relaciones entre los individuos, por este motivo es que se propone un análisis diferente, considerando características de la personalidad dentro del proceso de negociación de los agentes. Las relaciones y el nivel de confianza entre los individuos deben ser un factor a tener en cuenta durante el proceso de negociación de grupos. La satisfacción de algunos miembros es percibida como un objetivo principal por otros miembros que, debido a su cercanía, alterarían sus propias preferencias inmediatas [7, 8]. De la misma manera, el análisis de la composición de la personalidad de los integrantes del grupo resulta interesante para medir el comportamiento de las personas en situaciones conflictivas 3 [11]. Algunas personas estarán más dispuestas a ceder o cambiar de opinión en pos de colaborar con los intereses del grupo, mientras que otras no estarán tan predispuestas. Existen trabajos anteriores que se enfocan en mediciones intuitivas [123, 124, 125, 126]. Teniendo en cuenta que las interacciones sociales tienen un impacto tanto en las opiniones individuales como en el consenso final, el presente trabajo propone utilizar los factores anteriormente mencionados para identificar y evaluar este impacto. 1.2. Objetivos Durante la generación de recomendaciones a grupos mediante la utilización de sistemas multiagentes, cada miembro del grupo es representado por un agente inteligente. Dichos agentes negocian entre sí con el fin de acordar qué ítem debe ser recomendado al grupo. En tales contextos, es importante representar fielmente a dichos usuarios con el objetivo de obtener recomendaciones más representativas de sus intereses [4]. Considerando que las interacciones sociales pueden tener un impacto tanto en las opiniones individuales como en el consenso final, es necesario tener en cuenta las relaciones entre los miembros del grupo y establecer su nivel de confianza o grado de afinidad. Se propone ponderar según el tipo de relación y el nivel de confianza entre pares de usuarios. Por ejemplo, para el caso de relaciones de pareja otorgar el mayor grado de cercanía; en el siguiente nivel considerar relaciones familiares; luego amistad; compañeros de trabajo o socios; ex compañeros de trabajo o ex socios; conocidos; y por último desconocidos [6]. Resulta interesante modelar el grado de cooperación o el énfasis que un individuo puede darle a las necesidades de otros miembros del grupo, como así también la capacidad de influir en las decisiones de los demás integrantes en búsqueda del beneficio personal, poniendo las propias necesidades por sobre las necesidades de los demás. La Teoría Thomas-Kilmann define cinco modos de personalidad a la hora de lidiar con conflictos. Consiste en una prueba diseñada para medir el comportamiento de las personas en tales situaciones a lo largo de dos dimensiones: asertividad y cooperatividad. En términos generales, la inclusión de la personalidad en el proceso de recomendación grupal se desarrolla de la siguiente manera: las conductas asertivas penalizan las diferenciascon la mejor elección de los otros miembros ya que las otras opciones no satisfacen sus inquietudes personales, mientras que las conductas cooperativas premian las diferencias con los mejores elección de otros miembros debido a que no es su elección de preferencia pero será lo suficientemente buena para otros miembros y para el grupo [11]. Teniendo en cuenta todos estos factores, y bajo la premisa de que las opiniones de los individuos pueden verse alteradas cuando una persona es parte de un grupo que coopera por un objetivo compartido, se podrá comparar este enfoque con otras estrategias existentes de recomendación a grupos. 4 En base al proyecto MAGReS, un sistema de recomendación a grupos, donde los acuerdos son alcanzados por múltiples agentes que representan a los usuarios a través de un proceso de negociación cooperativa [10], se propone extender el modelo de negociación considerando las relaciones y los perfiles de personalidad. Se espera poder comparar los resultados obtenidos con las otras estrategías implementadas. 1.3. Propuesta El presente trabajo propone generar recomendaciones a grupos incorporando el perfil de personalidad de los integrantes al proceso que define sus intereses individuales, como así también considerar el grado de confianza o afinidad determinado por el tipo de relación preexistente entre los miembros, y de esta manera evaluar cómo afecta esto en el proceso de negociación y posterior generación de la recomendación para el grupo. Figura 1.2. Enfoque propuesto de SRG considerando perfiles de personalidad y relaciones sociales Obtener información sobre las preferencias de los miembros del grupo, capturando los intereses individuales de cada usuario, es necesario para crear perfiles personalizados. A partir de la evaluación de cierta cantidad de ítems que permitan determinar los intereses iniciales, se establece el perfil para cada usuario. El perfil de personalidad de cada uno se determina a partir del resultado del Cuestionario de Thomas-Kilmann, el cual permite conocer el nivel de asertividad y el nivel de cooperación de cada integrante del grupo. 5 Para determinar el nivel de confianza o grado de afinidad entre los usuarios, cada individuo debe especificar explícitamente el tipo de relación existente, cada una de las cuales tiene un peso asignado que representa el nivel de confianza con la otra persona. La figura 1.2 presenta un resumen del enfoque propuesto para modelar el problema. La información anteriormente mencionada es utilizada para realizar la recomendación al grupo, tanto utilizando un enfoque tradicional de agregación de preferencias, como utilizando el enfoque MAGReS de negociación utilizando SMA. En el caso del enfoque tradicional, la técnica de agregación TRADGRec utilizada para la creación del usuario virtual, y posterior incorporación a un modelo de datos de un SRI utilizado para generar la recomendación, debe incorporar los factores de asertividad, los factores de cooperación y los niveles de confianza anteriormente mencionados. En el caso del enfoque MAGReS, la generación de recomendaciones al grupo se realiza utilizando SMA, donde cada miembro del grupo es representado por un agente que conoce sus preferencias y participa en un proceso de negociación en el cual deciden acerca de qué ítem recomendar. La negociación se lleva a cabo de acuerdo a un protocolo (MCP, por sus siglas en inglés, Monotonic Concession Protocol [100]) que imita la forma en que funciona el proceso de negociación llevado a cabo por los seres humanos. Dicha recomendación se realiza teniendo en cuenta los perfiles de personalidad y las relaciones sociales, ya que los agentes inteligentes incluyen los factores de asertividad, los factores de cooperación y los tipos de relación entre los miembros del grupo. 1.4. Organización del trabajo Este documento tiene como objetivo describir en profundidad, de manera clara y organizada, las diferentes etapas que componen el trabajo final de carrera realizado. En el Capítulo 2 se presenta el Marco Teórico, que describe las cuestiones teóricas y metodológicas que guiaron el desarrollo del trabajo final. Se presentan los conceptos principales que serán utilizados a lo largo de este trabajo, abordando tanto los fundamentos básicos de la recomendación a grupos, como los principales lineamientos sobre Sistemas Multiagente. Un estudio completo de los Trabajos Relacionados es presentado en el Capítulo 3, donde numerosas fuentes de la literatura existente sobre el tema fueron indagadas. El Capítulo 4 constituye uno de los más relevantes de este trabajo, dado que incluye la descripción detallada del método propuesto. Se describe la estrategia planteada, explicando la manera de adquirir la información relativa a los integrantes del grupo, necesaria para ser utilizada durante el proceso de recomendación. Se detallan en profundidad las diferentes etapas involucradas para lograr la generación de recomendaciones a grupos considerando los perfiles de personalidad basados en el nivel de asertividad y el nivel de cooperación de cada usuario, como así también el grado de afinidad o nivel de confianza que tienen los integrantes del grupo entre sí. Se proponen técnicas para calcular la construcción de preferencias grupales en un enfoque tradicional de agregación de preferencias, y métodos para la evaluación de acuerdos y 6 concesiones durante el proceso de negociación considerando perfiles de personalidad y relaciones sociales. Una visión general del diseño arquitectónico de la aplicación desarrollada para dar soporte al proceso de experimentación, validación y comparación de técnicas es presentada en el Capítulo 5. Allí se describen los módulos que componen la arquitectura junto a sus características principales, al igual que las tecnologías que permitieron llevar a cabo el desarrollo. Una discusión completa acerca del análisis de los resultados obtenidos utilizando el método propuesto es presentada en el Capítulo 6. Mediante diversos experimentos, se analiza y valida el rendimiento de la estrategia utilizando relaciones y perfiles de personalidad frente a los métodos clásicos de recomendación a grupos. Finalmente, en el Capítulo 7 se presentan las consideraciones finales donde se sintetizan los conceptos más importantes y se recuperan los aspectos fundamentales que surgieron durante el proceso de investigación y desarrollo. Además, se plantean posibles trabajos para continuar con algunas líneas futuras de investigación. Por último, se incluye un apéndice que contiene el cuestionario de Thomas-Kilmann, y la correspondencia entre cada respuesta y los perfiles de personalidad. 7 Capítulo 2 Marco teórico En este capítulo se presentan definiciones y conceptos involucrados en los campos de investigación de los sistemas de recomendación y los sistemas multiagente, con el fin de comprender el alcance y los objetivos del proyecto. En la sección 2.1 se introducen los sistemas de recomendación, tanto los utilizados para realizar recomendaciones a individuos como a grupos. En la sección 2.2 se definen los sistemas multiagente, y se presentan distintas clasificaciones de modelos y protocolos de negociación. Por último, en la sección 2.3 se profundiza en particular el protocolo MCP. 2.1. Sistemas de Recomendación Los sistemas de recomendación (SR) son ampliamente utilizados para resolver problemáticas que implican tomar decisiones en contextos donde existe sobrecarga de información. Con el auge de las tecnologías digitales, el avance de internet modificó profundamente la manera de interactuar con otras personas y se fue creando la cultura de la conectividad. Esto hace que el volumen de información al cual podemos acceder al realizar los procesos de búsqueda sea cada vez mayor, y se requieran nuevas y novedosas herramientas que permitan estar a la altura de la fenomenal revolución tecnológica que afecta todos los órdenes de la vida social. Para comprender este desafío, basta con pensar en los resultados personalizados que nos ofrecen losmotores de búsqueda de contenido en Internet, la publicidad que vemos diariamente en redes sociales, o inclusive las recomendaciones que nos brindan las plataformas de streaming que utilizamos para reproducir películas, series o videos. Los SR fueron creados para ayudar a aliviar los procesos de búsqueda en los mencionados contextos, analizando la información que el usuario tiene disponible y reduciéndola hasta el punto de que, quien demanda la recomendación, sólo necesite evaluar una cantidad limitada de ítems para tomar una decisión. 2.1.1. Recomendación Individual Las estrategias para los sistemas clásicos de recomendación individual están dirigidas a un usuario particular, siendo las más utilizadas el filtrado colaborativo, el filtrado basado en contenido, el perfil demográfico y los enfoques híbridos. 8 2.1.1.1. Filtrado Colaborativo El filtrado colaborativo (FC) es uno de los enfoques más utilizados en el diseño de sistemas de recomendación. El algoritmo de FC basa sus recomendaciones en la opinión y las preferencias de otros usuarios que tengan un perfil similar al usuario al que se le está realizando la recomendación. Este enfoque no necesita conocimiento respecto a los ítems que se recomiendan debido a que no se enfoca en el contenido de los mismos sino en la opinión que los otros usuarios tienen respecto a dichos ítems. Ejemplos de aplicaciones que utilizan este tipo de filtrado son Netflix1 y Filmaffinity2, las cuales generan recomendaciones de películas identificando los usuarios similares en función de las que los usuarios han votado [12, 13]. Los sistemas de filtrado colaborativo utilizan los ratings otorgados por los usuarios a un subconjunto de ítems, y busca usuarios con ratings similares durante el proceso de recomendación. De esta manera, la sugerencia de ítems se realiza teniendo en cuenta las mencionadas similaridades. Existen tres tipos de filtrado colaborativo [14, 15, 16, 17]: ⦁ FC basado en memoria: Asume que los usuarios que en el pasado tuvieron intereses similares tendrán intereses similares en el futuro. Por este motivo, se centra en la generación de comunidades de usuarios que poseen gustos similares. El enfoque tradicional es el algoritmo KNN [18, 19], donde se buscan los K usuarios más similares (vecindario) para el usuario activo (usuario objetivo); posteriormente, se recomiendan los ítems no consumidos por el usuario activo que han sido mejor valorados por su vecindario [12, 13]. El proceso explicado se llama KNN basado en usuario y se observa en la figura 2.1. También es posible llevar a cabo una recomendación basada en ítems, obteniendo conjuntos de vecindario de cada ítem, tal como se observa en la figura 2.2. La similaridad entre dos usuarios o ítems se determina a partir de medidas de similaridad, siendo las más populares: Coseno, Coseno Ajustado, Correlación de Pearson, Pearson Restringida, Índice de Jaccard, JMSD, MJD, PIP, entre otras. ⦁ FC basado en modelos: Utiliza alguna técnica de aprendizaje de máquina (en inglés, Machine Learning) para construir un modelo de ratings de los usuarios y realizar futuras recomendaciones y predicciones en base a ese modelo. Algunas de las técnicas propuestas para la creación del modelo son Redes Bayesianas [20] y Técnicas de Clustering [21]. Este tipo de filtrado tiene el problema del costo que requiere procesar grandes volúmenes de datos, por este motivo, generalmente se utilizan enfoques híbridos basados en memoria y modelos. ⦁ Métodos híbridos: Realizan la combinación de las técnicas de los dos métodos anteriores. 2 https://www.filmaffinity.com/ 1 https://www.netflix.com/ 9 Figura 2.1. Filtrado Colaborativo basado en usuarios [22] Es necesario mencionar el problema del “arranque en frío” (en inglés, cold start), cuando aún no se tienen datos de los usuarios ni de sus intereses, o los datos son escasos e insuficientes. Puede ocurrir porque un usuario es nuevo y aún no ha votado suficientes ítems, o un nuevo ítem aún no ha sido votado y por este motivo nunca será recomendado. Es posible salvar estas cuestiones forzando la inicialización de algunos datos. 10 Figura 2.2. Filtrado Colaborativo basado en ítems [22] 2.1.1.2. Filtrado Basado en Contenido En el filtrado basado en contenido (FBC) las recomendaciones se basan en el conocimiento que se tiene sobre los ítems que el usuario ha valorado o seleccionado (ya sea de forma implícita o explícita). Esta técnica hace foco en analizar los atributos que describen los ítems del dominio, contrastando las descripciones de los ítems con los perfiles que representan los intereses de los usuarios. Esto permite que se puedan hacer recomendaciones según los datos históricos. Por ejemplo, si cierto usuario compró determinado artículo en el pasado, es probable que se le recomiendo un artículo similar que no haya comprado aún. Una aplicación que usa este tipo de filtrado es YouTube3, puesto que recomienda videos (ítems) basándose en su descripción, además en función de los perfiles de los usuarios y de los comentarios [23]. 3 https://www.youtube.com/ 11 Los perfiles de los usuarios están compuestos por distintos tipos de información, que pueden ser, por ejemplo, una descripción de los tipos de ítems que le interesan al usuario, la cual podría ser interpretada como una función que predice la probabilidad de que un usuario se interese en él; o bien, una historia de las interacciones del usuario, lo cual implica llevar un registro de los ítems que el usuario a visto o votado, junto con otra información acerca de las interacciones del usuario [24]. La principal dificultad que presenta el FBC es la elección de la representación utilizada para modelar los atributos de los ítems, la cual será distinta según el dominio en el que se esté trabajando. Existen tres tipos de representación de acuerdo al dominio de aplicación [24]: ⦁ Datos estructurados: Es la forma de representación más fácil de interpretar. Cada ítem es descripto por un mismo conjunto de atributos. Por ejemplo, en el dominio de películas, cada una tiene un género establecido, un conjunto de protagonistas y una fecha de estreno. ⦁ Datos no estructurados: Comprenden los textos sin restricciones o textos libres, como por ejemplo los artículos de noticias, donde no existen atributos con valores bien definidos. En estos casos, se debe considerar la complejidad que implica el manejo del lenguaje natural. ⦁ Datos semi estructurados: Es una combinación de los anteriores, en dominios donde existen algunos atributos que se pueden representar con un conjunto de valores estricto y otros con campos de texto libre. Estos campos de texto libre pueden ser complementados con conjuntos de palabras más repetidas en el texto, o palabras clave, que permitan un mejor procesamiento. 2.1.1.3. Perfil Demográfico Las técnicas de filtrado basadas en Perfil Demográfico (PD) tienen por objetivo categorizar a los usuarios tomando como base su información personal y generar recomendaciones a partir de su clase demográfica [25]. Los datos a considerar pueden ser la edad, el género, el lugar de nacimiento o lugar de residencia; también se pueden incluir factores socioeconómicos como la ocupación, el nivel de estudios o la situación familiar, entre otros. Los mencionados datos pueden ser recolectados a partir de ser otorgados por los propios usuarios o inferidos a partir de otros datos. Generalmente se necesita que los usuarios completen formularios con sus datos personales, lo cual resulta tedioso o invasivo. Es por este motivo que no existen muchos sistemas de recomendación puramente demográficos, a pesar de que no requieren historiales de evaluaciones o de navegación, como sí requieren los enfoques colaborativos o basados en contenido. Este enfoque ha adquirido popularidad en la literatura de marketing pero ha sido relativamente menos apropiado en la investigación de sistemas de recomendación [26]. 12 2.1.1.4. Enfoques híbridos Debido a la complementariedad de las virtudes y debilidades de los tipos de sistemas de recomendacióndescriptos con anterioridad, lo más habitual en la realidad es combinarlos. Es muy normal pedir a un usuario que al darse de alta en un sistema, cree un perfil de usuario, por lo que se le podrán hacer recomendaciones en base a sus cualidades demográficas hasta que el número de feedback de ítems sea suficiente para poder realizar recomendaciones con filtrado colaborativo o basado en contenido. También es muy normal que sistemas que utilizan filtrado colaborativo utilicen un sistema basado en contenido para poder recomendar los nuevos ítems. Por ejemplo, Amazon4 utiliza un filtrado híbrido, en sus tiendas online recomienda productos en función de su descripción (FBC) y también en función de los comentarios y votaciones (FC) de los usuarios. Las diversas formas de combinar las distintas técnicas se pueden clasificar de la siguiente manera [33]: ⦁ Ponderación: La puntuación para cada ítem es calculada a partir de combinar los resultados de todas las técnicas de recomendación disponibles en el sistema. ⦁ Conmutación: A partir de algún criterio determinado, el sistema decide cuál de las técnicas de recomendación disponibles es la más apropiada para utilizar. El problema que presenta este enfoque es la necesidad de definir el criterio para conmutar entre las técnicas asegurando que la calidad de las recomendaciones generadas sean aceptables y mejores que las provistas por los enfoques individuales. ⦁ Mixta: En este caso se implementan cada una de las técnicas deseadas por separado, se generan recomendaciones utilizando cada una de esas técnicas y finalmente se presentan al usuario todas las sugerencias obtenidas en una única lista. ⦁ Combinación de atributos: Resulta de la combinación de FC y FBC a partir de la toma de información colaborativa como características de los datos asociados con cada ítem, para luego utilizar las técnicas basadas en contenido. ⦁ Cascada: Este enfoque propone que primero se utilice una técnica para generar un gran conjunto de ítems candidatos y que luego se refine dicho conjunto utilizando otra técnica en cascada. De esta manera se evita tener que aplicar la segunda técnica innecesariamente a ítems muy poco valorados, y de la misma manera con ítems claramente destacados. ⦁ Incremento de atributos: Aplica una técnica para generar evaluaciones o una clasificación para un ítem determinado y luego la información obtenida se incorpora en el proceso de la técnica de recomendación siguiente. Esta forma de 4 https://www.amazon.com/ 13 hibridación de técnicas de recomendación ofrece una forma de mejorar la performance de los sistemas sin necesidad de modificarlos. Como se puede observar, existen dos instancias básicas de combinación: secuencial y en paralelo. Por lo tanto, al momento de elegir un tipo de hibridación se debe tener en cuenta que, en las combinaciones secuenciales, si la etapa inicial no produce buenos resultados, éstos se propagan a la siguiente etapa. Existen enfoques híbridos que usan otras técnicas de inteligencia artificial, por ejemplo: ⦁ Usando Algoritmos Genéticos: Se mezclan los algoritmos de filtrado mediante un algoritmo genético. Por ejemplo, utilizando la salida de varios recomendadores para construir vectores de previsión que constituyen las cadenas de cromosomas que requieren los algoritmos genéticos [27]. ⦁ Usando Lógica Difusa: Mediante la determinación de conjuntos difusos se definen características demográficas, y mediante la fusificación y defusificación se obtienen resultados numéricos que luego sirven como entrada para otras técnicas como los algoritmos genéticos [28]. ⦁ Usando Redes Neuronales: A través de Mapas Auto Organizados (SOM) se puede realizar un preclustering de grupos de usuarios que pueden guiar mejor las predicciones [29], otros enfoques utilizan las salidas de otras técnicas, por ejemplo, toman las medidas de similaridad como punto de referencia en el entrenamiento de redes neuronales y así mejoran las recomendaciones [30]. ⦁ Usando Redes Bayesianas: Por lo general se combina el filtrado colaborativo con el filtrado basado en contenidos para adaptar una topología que permite estimar las distribuciones de probabilidad mediante inferencia probabilística [31]. ⦁ Usando Clustering: Esta técnica se basa en dos fases, la primera consiste en generar diferentes grupos de usuarios utilizando técnicas de clustering y una segunda fase ejecuta la recomendación analizando únicamente el grupo al que pertenece el usuario [32]. 2.1.2. Recomendación a Grupos Existen dominios de aplicación, sobre el cual se efectúan las recomendaciones, que contemplan actividades que realizan grupos de personas [34, 35], como puede ser por ejemplo ver películas en familia o con un grupo de amigos [36], escuchar música en espacios compartidos [37, 38, 39], planear un viaje en grupo [40, 41, 42, 43, 44], comer en un restaurante con compañeros de trabajo [45], entre otras. En este contexto surgen los sistemas de recomendación a grupos (SRG), los cuales tienen por objetivo generar recomendaciones que satisfagan al grupo como un todo, es decir, tratando de satisfacer tanto como sea posible a todos los miembros del grupo. 14 Satisfacer a un grupo es una tarea compleja si se la compara con la tarea de satisfacer a un individuo, y las técnicas de recomendación desarrolladas para los SR no son directamente aplicables al problema de la recomendación a grupos. Lo que se debe tener en cuenta cuando se cambia de recomendación individual a grupal es lo siguiente [3]: ⦁ Obtener información sobre las preferencias de los miembros del grupo, capturando los intereses individuales de cada usuario para crear perfiles personalizados. ⦁ Generar recomendaciones, realizando un análisis de las preferencias de los miembros del grupo para lograr determinar las del grupo completo. ⦁ Explicar las recomendaciones, para lograr que los miembros del grupo puedan entender por qué se les recomendaron esos ítems y no otros. ⦁ Ayudar a los miembros del grupo a lograr el consenso, lo que resulta muy complejo, ya que es posible que se requiera un amplio debate y negociación al tratarse de múltiples usuarios. Los SRG han tendido a no proporcionar un apoyo explícito para el proceso de llegar a una decisión final y este es uno de los mayores desafíos en la actualidad. 2.1.2.1. Técnicas para obtener las preferencias Respecto a las técnicas de captura de preferencias en los SRG se debe destacar que existe una gran cantidad de ellas y que la gran mayoría son prácticamente idénticas a las utilizadas en SR individuales. Existen dos formas de adquirir información relativa a las preferencias de los usuarios: ⦁ Información explícita: Es la técnica más utilizada. Los usuarios deben indicar el grado de satisfacción respecto a determinados items. Existen varios sistemas que utilizan esta técnica al momento de obtener los perfiles de los usuarios, como por ejemplo: CATS [44], MusicFX [38], Pocket Restaurant Finder [45], PolyLens [46], entre otros. ⦁ Información implícita: No es una técnica muy extendida en recomendación a grupos. Es utilizada por aquellos sistemas que aprenden las preferencias de los usuarios analizando su historial de uso y navegación. Un ejemplo es FlyTrap [39], que selecciona música que será reproducida en una salón público, como puede ser un gimnasio o una oficina, aprendiendo las preferencias musicales de los usuarios, observando los archivos mp3 reproducidos por cada uno de ellos. Adicionalmente, se debe mencionar que existen casos en los cuales se utilizan ambos enfoques de forma simultánea [47]. 15 2.1.2.2. Estrategias para la generación de recomendaciones La generación de recomendaciones ha sido el foco de atención a lo largo del tiempo y por consiguiente se han elaborado una gran variedad de técnicas. Dichas técnicas se clasifican principalmente en tres enfoques según la literatura [48, 49, 50]: ⦁ Agregación de perfiles: Consiste en obtener el perfil grupal a partir de técnicas de agregación de los perfiles individuales de los miembros del grupo conel objetivo de estimar los datos del perfil del grupo [51] y buscando que dicho perfil grupal represente al grupo como un todo. Existen varias formas de agregar perfiles, y en la mayoría de los casos el método de agregación a elegir depende de los datos que contienen los perfiles de usuario. Por ejemplo, para un grupo de usuarios de los cuales se conocen datos como la edad y el lugar de nacimiento, se calcula el perfil grupal con los mismos atributos pero con valores agregados. Tal como se observa en la figura 2.3, la edad del grupo se calcula como el promedio de las edades de sus integrantes, y dado que el lugar de nacimiento no es un atributo cuantitativo, se utiliza la mayoría como método de agregación. Figura 2.3. Agregación de perfiles ⦁ Agregación de preferencias individuales: Se basa en la creación de un usuario virtual que representa al grupo, cuyas preferencias resultan de la agregación de las preferencias de sus miembros. Dicho usuario virtual que representa a todos los integrantes, se asume como si fuera un usuario individual; luego se hace uso de los sistemas de recomendación tradicionales, es decir, aquellos que sólo permiten generar recomendaciones para usuarios individuales, para obtener la recomendación grupal. Por ejemplo, en la figura 2.4 se puede ver un grupo de usuarios que especificó individualmente el rating para determinadas películas, al crear el usuario virtual que representa a todo el grupo, se establecen las preferencias del grupo realizando un promedio de los ratings de los ítems individuales. En este ejemplo, si todos los miembros del grupo evaluaron la película, el rating grupal será el promedio de los ratings individuales; pero si algún miembro no evaluó la película se predice este rating para ese usuario individual antes de realizar el promedio. 16 Figura 2.4. Agregación de preferencias ⦁ Agregación de recomendaciones: Este enfoque consiste en generar recomendaciones individuales para cada miembro del grupo y luego realizar una agregación de recomendaciones para estimar las recomendaciones para el grupo [48]. En la figura 2.5 se muestra un ejemplo en el cual una recomendación grupal se genera combinando recomendaciones individuales generadas para cada miembro del grupo. Figura 2.5. Agregación de recomendaciones 17 El enfoque a utilizar es elegido dependiendo del contexto en el cual se realizan las recomendaciones y de la información disponible. Por ejemplo, cuando se realizan recomendaciones en base a información demográfica y se tiene poca o ninguna información respecto a las preferencias de los usuarios, se utiliza el primer enfoque, agregación de perfiles. Por el contrario, cuando no se dispone de información demográfica pero sí de información relativa a las preferencias de los usuarios, resulta especialmente útil utilizar el segundo enfoque, agregación de preferencias. Finalmente, el tercer enfoque, agregación de recomendaciones, es independiente de ambos tipos de información pero depende de qué otra técnica de recomendación haya sido capaz de realizar recomendaciones. A pesar de sus diferencias, todos los enfoques tienen un punto en común: en algún momento hacen uso de una estrategia de agregación para combinar información. Dependiendo de cuál sea el enfoque y sobre qué datos se necesite aplicar la agregación se utilizarán distintas técnicas. Las más conocidas, descriptas en la literatura [48, 49], son: ⦁ Promedio (en inglés, average): Es únicamente aplicable a datos cuantitativos. Consiste en calcular el promedio de los valores del atributo asignados por los usuarios del grupo. En el ejemplo del cuadro 2.1 se puede observar cómo se calculan los promedios de ratings para las películas evaluadas por los usuarios. Avatar Titanic Robocop 4.6 3.3 5.0 5.0 4.8 4.6 1.0 4.9 4.6 4.3 4.8 3.5 Cuadro 2.1. Agregación por promedio ⦁ Promedio ponderado (en inglés, weighted average): Esta estrategia es igual a la anterior, pero en vez de hacer un promedio normal hace un promedio utilizando los valores de prioridad asociados a los miembros de grupo. Tal como se observa en el cuadro 2.2, se utiliza un factor que va entre cero y uno, que le da distinto peso a las evaluaciones individuales. 18 Avatar Titanic Robocop Prioridad = 0.7 Prioridad = 0.1 Prioridad = 0.2 4.6 3.3 5.0 5.0 4.8 4.6 1.0 4.9 4.6 4.55 4.90 2.11 Cuadro 2.2. Agregación por promedio ponderado ⦁ Minimización de la miseria (en inglés, least misery): Sólo es aplicable cuando se trabaja con datos cuantitativos. Se basa en la idea de que el grupo será tan feliz como su miembro más infeliz. Por lo tanto, utiliza la felicidad del miembro más infeliz para determinar la felicidad del grupo. Como se puede observar en el ejemplo del cuadro 2.3, el rating grupal se determina con el menor rating otorgado por las evaluaciones individuales. El problema de utilizar esta técnica radica en que las minorías pueden afectar la preferencia grupal. Si por ejemplo, la mayoría de las personas del grupo coinciden en darle un rating alto a determinada película, pero solo una persona le da un valor bajo, el rating grupal tomará el único valor bajo para esa película. Avatar Titanic Robocop 4.6 3.3 5.0 5.0 4.8 4.6 1.0 4.9 4.6 3.3 4.6 1.0 Cuadro 2.3. Agregación por minimización de la miseria ⦁ Maximización del placer (en inglés, most pleasure): De forma análoga a la técnica anterior, este método utiliza el mayor valor de los asignados por los usuarios, considerando que la felicidad del grupo estará determinada por por el miembro más feliz, tal como se observa en el cuadro 2.4. 19 Avatar Titanic Robocop 4.6 3.3 5.0 5.0 4.8 4.6 1.0 4.9 4.6 5.0 5.0 4.9 Cuadro 2.4. Agregación por maximización del placer ⦁ Votación por mayoría (en inglés, plurality voting): Esta estrategia es mayormente utilizada cuando los elementos a agregar son del tipo cualitativo, aunque también es aplicable a datos cuantitativos discretos pero no si son contínuos. En el último caso sería necesario usar rangos para producir una agregación representativa puesto que de lo contrario sería prácticamente imposible encontrar la mayoría. De acuerdo con esta técnica, el dato agregado es el que más se repite entre el conjunto de datos a agregar. Para ejemplificar esta estrategia, se toman los ratings dentro del rango bajo, medio o alto, para tomar la mayoría para la evaluación grupal, tal como se puede ver en el cuadro 2.5. Avatar Titanic Robocop Alto Medio Alto Alto Alto Alto Bajo Alto Alto Alto Alto Alto Cuadro 2.5. Agregación por votación por mayoría ⦁ Votación por aprobación (en inglés, approval voting): De acuerdo a esta técnica el rating grupal se calcula multiplicando el máximo rating que puede darse a un ítem por la proporción de usuarios satisfechos. Un usuario se considera satisfecho si el rating que le dio al ítem es superior a un límite (en inglés, threshold) de aprobación definido. En el cuadro 2.6 se muestra un ejemplo donde esta técnica de agregación es utilizada. En este caso, se considera que una película está aprobada, si el rating otorgado es mayor a 4. Así, el rating grupal para la primer película se calcula como 5 × ⅔ = 3.33 siendo 5 el máximo rating asignable, y ⅔ indica que 2 de los 3 miembros del grupo están satisfechos con el ítem. 20 Avatar Titanic Robocop 4.6 3.3 5.0 5.0 4.8 4.6 1.0 4.9 4.6 3.33 5.0 3.33 Cuadro 2.6. Agregación por votación por aprobación 2.1.2.3. Explicación de recomendaciones La explicación de las recomendaciones es una parte muy importante, ya que permite que los miembros del grupo puedan entender por qué se les recomendaron determinados ítems y no otros, y puedan confiar en el sistema de recomendación. Los SR son procesos estocásticos que varían permanentemente en el tiempo y, por lo tanto, pueden producir errores sin importar qué tan bien se los haya implementado. Además, debido a que la manera en que se obtienen los resultados no es conocida por los usuarios, los mismos pueden confiar o dudar en su funcionamiento. Ambos problemas puedenser mitigados con la explicación de las recomendaciones realizadas. En los SRG, dadas las muchas formas en que puede generarse las recomendaciones para grupos y los conflictos de intereses que pueden existir dentro del mismo, es natural que los miembros del grupo deseen entender cómo se llegó a la recomendación que obtuvieron y, en particular, cuán atractivos son los ítems recomendados para los otros miembros del grupo [3]. El objetivo de la explicación no siempre es convencer a los integrantes del grupo acerca de aceptar la recomendación entregada. No es correcto pensar que el rol de las explicaciones es siempre el de justificar por qué determinado ítem fue recomendado. La explicación puede ayudar a mejorar la confianza mejorando la performance de la toma de decisiones, y por sobre todas las cosas, otorgando transparencia a los usuarios [52, 53]. De esta manera, las explicaciones pueden ayudar a los usuarios a entender el proceso de recomendación del sistema y a conocer las virtudes y los defectos del mismo. Adicionalmente, el hecho de poder solicitar una explicación proporciona un mecanismo para el manejo de errores, los cuales son inevitables al generar recomendaciones. Por consiguiente, las explicaciones pueden servir a múltiples propósitos [54, 55, 56]. Por ejemplo, si lo que se busca es exponer el razonamiento y los datos detrás de la recomendación tal como hacen las plataformas de comercio electrónico como Amazon5, 5 https://www.amazon.com/ 21 Ebay6, MercadoLibre7, entre otras, al decir “Los clientes que compraron este artículo también compraron…” o plataformas como Spotify8, cuando dicen “Te recomendamos estas canciones porque recientemente escuchaste canciones del mismo género musical“, entonces el propósito de las explicaciones es incrementar la transparencia. Si lo que se busca es explicar al usuario porqué desearía o no un determinado ítem, por ejemplo diciendo "Creemos que el ítem (no) te gustará porque...", la explicación contribuye a mejorar la efectividad de las recomendaciones. Con el fin de explicar las recomendaciones, los SR usualmente acompañan cada recomendación con algún tipo de análisis, el cual puede ir desde un simple índice de confianza del sistema a una visualización compleja de ventajas y desventajas respecto de la recomendación realizada [57, 58]. En el caso de los SRG, es posible presentar un análisis para cada miembro del grupo, para un subconjunto de miembros y/o el grupo completo. El tipo de explicación que pueda generarse depende tanto de los datos disponibles como de la técnica utilizada para generar las recomendaciones, y por esto sería posible extender los enfoques actuales de explicación para que sean aplicables a grupos [34]. Por ejemplo, en el caso de los SRG que usan FC, una posible explicación sería: "A los grupos a los que les gustó esta película, también les gustó la película...". En la actualidad, sólo unos pocos SRG brindan explicaciones para las recomendaciones que generan [34], entre ellos: FlyTrap [39], Intrigue [59] y PolyLens [46]. En todos los casos, los autores de dichos SRG muestran que hay diversos tipos de información que pueden transmitirse a través de dicha explicación, y que la función de las explicaciones es convencer a los miembros del grupo para que acepten las recomendaciones. Por el contrario, las explicaciones de los sistemas son frecuentemente mejor vistas como información que ayuda a los miembros del grupo a tomar una decisión final, la cual puede ser completamente distinta de las recomendaciones recibidas. 2.1.2.4. Asistencia en la toma de la decisión final Cuando se trabaja con recomendadores para individuos, el proceso de decisión se lleva a cabo de manera individual, pero cuando se recomienda ítems para un grupo de usuarios, la situación cambia, ya que se deben tener en cuenta otros factores, intentando lograr un consenso, lo que por lo general requiere un amplio debate y negociación al tratarse de múltiples usuarios. Sin embargo, hay varios puntos en común tanto en SR como en SRG. En ambos casos se debe tener en cuenta que al momento de tomar una decisión hay muchos factores que entran en juego. Se deben tener en cuenta las experiencias previas de los usuarios, el estado de humor y la personalidad de los mismos. En la literatura es posible encontrar muchos trabajos que, con el objetivo de ayudar a los usuarios a tomar la decisión final, combinan las técnicas de recomendación tradicionales con información relativa a las emociones del usuario [60, 61], su personalidad [62, 63, 64, 65] o ambos [66]. 8 https://www.spotify.com/ 7 https://www.mercadolibre.com/ 6 https://www.ebay.com/ 22 En el caso de la recomendación a grupos, es posible encontrar al menos tres enfoques distintos en lo que respecta a proveer soporte para la toma de la decisión final: (i) el sistema toma la decisión sin consultar al grupo (por ejemplo, en el sistema FlyTrap el recomendador automáticamente reproduce la canción recomendada), (ii) el sistema le presenta las opciones a sólo uno de los miembros del grupo el cual se encarga de tomar la decisión, y (iii) el grupo debate y negocia para tomar la decisión. Respecto al tema de lograr un consenso, mediante debate y negociación, es necesario notar dos cuestiones. La primera cuestión es que el tercero de los enfoques puede ser problemático si los miembros no pueden comunicarse fácilmente, aunque en la actualidad, la comunicación grupal generalmente no es un problema debido a la existencia de una variedad de herramientas que se encargan de facilitar la comunicación de grupos de personas en tiempo real. La segunda cuestión es que existen casos especiales, donde el SRG utiliza no uno sino dos de los mencionados enfoques. Un ejemplo de esto es el SRG Travel Decision Forum [67, 68], que permite que la decisión sea tomada ya sea por un único usuario, es decir, el guía turístico, o por todos los miembros del grupo. 2.1.2.5. Evaluación de recomendaciones grupales De acuerdo con lo explicado en la literatura [50, 69] existen dos formas de evaluar las recomendaciones producidas por los SRI y los SRG: la evaluación offline y la evaluación online. La evaluación offline se basa en la idea de estimar la calidad de las predicciones del recomendador utilizando datasets que incluyen ratings de ítems, dados por usuarios. Estos datasets generalmente se dividen en conjuntos de entrenamiento y pruebas, por ejemplo, el 80% del dataset se utiliza para entrenar y el 20% restante se utiliza para testear. Una vez dividido el dataset, se evalúa la recomendación computando métricas de distintos tipos: métricas de clasificación (Precision, Recall, F1), métricas de error (MAE, RMSE), métricas de rankeo (nDCG, distancia Kendall-τ) y métricas de cobertura (Catalogue Coverage, Serendipity). Luego, se realiza una validación cruzada [70, 71], es decir, que se genera otra partición aleatoria del dataset y se repite el procedimiento. Esto se repite una cierta cantidad de iteraciones, y los valores de las métricas se promedian. El principal problema al momento de realizar este tipo de evaluación para un SRG es que los datasets generalmente son derivados de SRIs [72], por lo que no contienen datos relativos a grupos. Por esta razón, es necesario sintetizar un dataset que contenga ratings grupales [48, 73, 74], es decir, fabricar o crear un ground truth. La evaluación online se basa en la idea de utilizar usuarios reales para la evaluación [75]. Este tipo de evaluación tiene al menos dos ventajas respecto de la evaluación offline. La primera es que, al ser utilizado para evaluar SRGs, permite saber qué tan buenas son realmente las recomendaciones generadas. La segunda es que permite recolectar feedback sobre las recomendaciones generadas, lo cual a su vez permite, si se recolecta la cantidad suficiente de información, utilizar las mismas métricas que las utilizadas para la evaluación offline pero sin necesidad de sintetizar datasets. En los últimos años, este enfoque se ha dejado atrás debido a que requiere mayores esfuerzos ydebido a la falta 23 de marcos de evaluación estandarizados [75, 76]. Un tipo de evaluación online son los llamados “estudios de laboratorio”, que implican reclutar voluntarios, solicitarles que prueben algo bajo determinadas condiciones, y que, al finalizar, reporten los resultados obtenidos. Este tipo de enfoque ha sido aplicado en el pasado en el contexto de SRG [77, 78, 79] y será utilizado para realizar parte de la evaluación de esta tesis. 2.2. Sistemas Multiagente Los agentes son entidades de software que actúan en representación de un usuario u otro programa con un objetivo definido, dentro de ambientes determinados, y que cumplen con algún propósito [80]. Los agentes pueden o no ser inteligentes. Existen cuatro propiedades básicas que hace que un agente pueda considerarse inteligente [81]: ⦁ Autonomía: Un agente se considera autónomo si es capaz de operar sin la intervención directa de los seres humanos, y si tienen algún tipo de control sobre sus acciones y estados internos. ⦁ Habilidad social: Un agente posee habilidad social si es capaz de interactuar con otros agentes, y posiblemente con seres humanos, por medio de algún tipo de lenguaje de comunicación entre agentes. ⦁ Reactividad: Un agente es reactivo si puede percibir su entorno o ambiente, y responder oportunamente para cambiar lo que ocurre en el mismo. ⦁ Proactividad: Un agente es proactivo si no sólo es capaz de actuar en respuesta a su ambiente, sino también posee un comportamiento dirigido por objetivos, que le permita tomar la iniciativa y accionar en forma anticipada. En la actualidad se define a los agentes inteligentes como entidades capaces de percibir su entorno, procesar tales percepciones y responder o actuar en su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado esperado. La percepción del entorno o medio ambiente la realizan con la ayuda de sensores, y la actuación o generación de respuesta a estímulos la realizan utilizando actuadores, los cuales son elementos que reaccionan a un estímulo realizando una acción. En la mayoría de los casos, los agentes necesitan interactuar entre sí para alcanzar sus objetivos. El tipo de interacción que realicen dependerá del ambiente en el que dicha interacción sea necesaria. Algunos ejemplos de tipos de interacción son: intercambio de información, coordinación (necesaria cuando los agentes organizan conjuntamente sus actividades individuales), colaboración (necesaria cuando los agentes trabajan en conjunto para alcanzar objetivos en común), o negociación (utilizada cuando agentes con intereses conflictivos intentan alcanzar un acuerdo mutuamente aceptable para las partes). Un Sistema Multiagente (SMA, en inglés, MAS por Multi-Agent System) es un sistema compuesto por múltiples agentes que interactúan entre sí en un determinado entorno. Estos sistemas pueden ser utilizados para resolver problemas que son difíciles de 24 resolver para un agente individual o un sistema monolítico, es decir, que todos los aspectos de su funcionalidad no son componentes arquitectónicamente separados [82]. Por ejemplo cuando se intenta modelar situaciones en las que múltiples usuarios, entidades o sistemas, deben llegar a un acuerdo durante la toma de una decisión. Otras cualidades de los SMA es que facilitan la paralelización de tareas, son robustos y escalables [83]. Los agentes que forman parte de un SMA pueden interactuar a través de un proceso conocido como “Negociación”. Al negociar es necesario alcanzar acuerdos y tales acuerdos implican la convergencia de intereses conflictivos. A lo largo de la historia el concepto de negociación entre agentes inteligentes ha sido definido de diferentes formas, y de estas definiciones surgieron distintos enfoques y técnicas destinados a tratar con el problema: ⦁ La negociación como una forma de toma de decisiones en conjunto, donde dos o más partes realizan una búsqueda en un espacio de posibles soluciones con el objetivo de alcanzar un consenso [84]. ⦁ La negociación como un proceso a través del cual dos o más agentes toman una decisión en conjunto, cada uno de los cuales intenta cumplir un objetivo individual [85]. ⦁ La negociación como un proceso de búsqueda en un espacio de potenciales acuerdos con el objetivo de encontrar una solución que satisfaga las preferencias y requerimientos de todas las partes interesadas [86]. ⦁ La negociación como una forma de interacción en la cual un grupo de agentes, con intereses conflictivos y un deseo de cooperar, intentan alcanzar un acuerdo mutuamente aceptable en la división de recursos escasos [87]. Los modelos y protocolos de negociación seguidos por los agentes son variados, y de ellos depende la forma en la que interactúan los agentes. En la sección 2.2.1 se presentan distintas formas de clasificar los modelos de negociación, además, en la sección 2.2.2 se presenta una clasificación de protocolos de negociación. 2.2.1. Modelos de negociación Los modelos de negociación entre agentes dentro de un SMA son variados y se pueden clasificar según distintos criterios. Los criterios más relevantes se mencionan a continuación. 2.2.1.1. Según la cantidad de agentes involucrados La cantidad de agentes involucrados en la negociación influye directamente en la elección del modelo de negociación a utilizar. Según este criterio un modelo puede ser: 25 ⦁ Bilateral: Sólo dos agentes forman parte de la negociación. Generalmente el proceso implica que ambas partes realicen concesiones hasta llegar a un acuerdo. ⦁ Multilateral: En este caso más de dos agentes forman parte de la negociación. Todos negocian concurrentemente sobre los mismos temas y en conjunto deben llegar a un acuerdo. Cuanto mayor es la cantidad de agentes involucrados en la negociación, más complejo se vuelve el alcanzar el acuerdo debido a que el espacio de posibles acuerdos disminuye considerablemente y aumenta la posibilidad de alcanzar un conflicto. Cuando se tiene un enfoque cooperativo, este tipo de negociación cobra vital importancia ya que si bien cada agente defiende sus intereses, que probablemente compiten con los del resto, también existen intereses comunes que motivan la cooperación, y por ende la concesión de los agentes para llegar a un acuerdo. 2.2.1.2. Según el tipo de acuerdo Dependiendo del resultado que se espera obtener en los agentes, esta clasificación puede dividirse en los siguientes modelos: ⦁ Ganar-Ganar: Este es el modelo de negociación más aceptado, dado que todos los participantes de la negociación resultan beneficiados y ninguno de ellos pierde, y se podría considerar el ideal en la mayoría de los dominios. ⦁ Ganar-Perder: En este modelo uno de los participantes de la negociación gana, quedando satisfecho con el resultado de la negociación, y el resto pierde, quedando disconformes con cómo resultó la negociación. ⦁ Perder-Perder: Tal como el nombre del modelo lo indica, cuando se usa este modelo ninguna de las partes resulta beneficiada, por lo que el resultado de la negociación es nulo o cero. Las partes no pueden llegar a un acuerdo porque ninguna está dispuesta a aceptar la propuesta de la otra. 2.2.1.3. Según el tipo de tema negociado Uno de los principales temas de investigación en la negociación entre agentes son los objetos negociados, ya que estos representan el conjunto de temas sobre los cuales debe alcanzarse un acuerdo. Según la literatura, se describen tres modelos de negociación dependiendo de la flexibilidad de los objetos negociados [86]: ⦁ Temas fijos: Tanto la estructura como el contenido del acuerdo es fijo y, por lo tanto, las partes sólo pueden aceptarlo o rechazarlo. ⦁ Temas semiflexibles: En este caso los agentes pueden cambiar los valores de los temas intercambiando propuestas y contrapropuestas, lo que permite que se alcancen mejores acuerdos. 26 ⦁ Temas flexibles: Los agentes participantes de la negociación pueden extender dinámicamente la estructura del objeto de negociación, es decir, agregar temas a negociar durante lanegociación. Este tipo de clasificación está íntimamente ligado con el que se refiere a la cantidad de temas negociados, que se explica a continuación. 2.2.1.4. Según la cantidad de temas negociados En función de la cantidad de temas que se puedan tratar en una negociación, un modelo puede ser clasificado como: ⦁ Unidimensional (en inglés, single-issue): En este modelo sólo se negocia un tema por negociación. Este tipo de negociación suele brindar soluciones del tipo Ganar-Perder, debido a que siempre que lo que una parte gana sobre el tema negociado es lo que la otra parte perderá. ⦁ Multidimensional (en inglés, multi-issue): En este modelo se permite negociar múltiples temas, y a diferencia de los modelos unidimensionales, las soluciones a las que se puede arribar al finalizar la negociación pueden ser del tipo Ganar-Ganar. Esta característica resulta ideal en los problemas de negociación. Este tipo de soluciones sólo son alcanzables cuando la negociación es multidimensional puesto que los agentes poseen diferentes preferencias sobre los temas negociados, y por ende pueden obtener mejores acuerdos sobre los temas que son más importantes para ellos al conceder en aquellos que no lo son. A pesar de la ventaja que poseen los modelos multidimensionales, plantean el desafío de que la negociación es más compleja. Dicha complejidad está determinada por varios factores que se resumen a continuación [88]: ⦁ Las preferencias del agente suelen representarse mediante una función de utilidad. Dicha función es una función matemática que intenta determinar con valores cuantitativos los gustos del usuario que el agente representa. Sin embargo, la construcción de estas funciones cuando se trabaja sobre múltiples temas no es una tarea trivial, especialmente cuando la preferencia sobre un tema influye sobre la preferencia respecto de otro tema. Esto causa que las preferencias de un agente sobre múltiples temas suelen ser difíciles de representar. ⦁ El espacio de soluciones es n-dimensional (n > 1). Esto hace que la estrategia de negociación sea más compleja, ya que el agente deberá decidir no sólo cuanto conceder sino también en qué temas conceder. ⦁ Dado que en las negociaciones multidimensionales se suele arribar a soluciones del tipo Ganar-Ganar, el resultado ideal de la negociación es Pareto-Óptimo9. Esto 9 El concepto de óptimo de Pareto define toda situación en la que no es posible beneficiar a una persona sin perjudicar a otra. 27 significa que cualquier solución alternativa a la actual, sacrifica la utilidad de algún agente para mejorar la de otro. 2.2.1.5. Según los objetivos de los agentes participantes Un factor importante al momento de definir el comportamiento de los agentes durante la negociación es el nivel de conflicto que existe entre los objetivos o intenciones de los agentes. En consecuencia, se pueden diferenciar dos tipos de ambientes [2, 89]: ⦁ Cooperativos: En un ambiente cooperativo los agentes que negocian poseen objetivos en común, lo que permite que la negociación sea cooperativa aunque existan otros objetivos conflictivos. Además, en la mayoría de los casos los agentes se encuentran conectados por algún tipo de relación social, de la cual surgen los objetivos comunes. ⦁ Competitivos: En este caso los agentes no poseen objetivos en común. Se puede decir que en este caso los agentes sólo se interesan en ellos mismos, lo que no permite negociaciones cooperativas. 2.2.1.6. Según la privacidad de la información Esta clasificación está vinculada a la información de la que los agentes disponen durante la negociación, ya que los agentes deben decidir si aceptar o rechazar propuestas, generar contrapropuestas, evaluar argumentos, etc. El tipo y la cantidad de información necesaria dependerá del tipo de negociación y de cada situación particular, y la información que los agentes manipulan durante los procesos mencionados puede ser tanto propia como ajena. En base a lo anterior, es posible distinguir entre dos tipos de modelos de negociación: ⦁ Con información completa: Estos modelos asumen que los agentes poseen toda la información necesaria para llevar a cabo la negociación, incluyendo la información acerca de sus oponentes. Esta situación es poco realista ya que en la mayoría de los casos, los usuarios se muestran reticentes a exponer más datos de los que consideran necesarios. ⦁ Con información incompleta: A diferencia del enfoque anterior, este considera que la información que posee el agente sobre sus oponentes es incompleta. Esta suposición es bastante más fiel a la realidad debido a que, como se mencionó previamente, hay cierta información que los usuarios prefieren mantener privada. La información que se desconoce, entonces, deberá ser estimada de alguna manera con el fin de poder predecir el comportamiento del oponente y poder actuar en consecuencia. En cuanto a la información propia, se puede decir que generalmente es completa, aunque en algunos casos puede ser confusa, sobre todo cuando se refiere a las preferencias. Por ejemplo, resulta difícil definir la función de utilidad que utilizará el agente para evaluar las propuestas si el objeto negociado no es cuantificable. 28 2.2.2. Protocolos de negociación Los protocolos de negociación entre agentes dentro de un SMA se refieren a un conjunto de reglas que definen el mecanismo de interacción entre los agentes. Esto comprende el tipo de participantes permitidos, los estados de la negociación, los eventos que hacen que cambien los estados de negociación y las acciones válidas de los participantes en estados particulares [86]. De esta manera, un protocolo especifica las posibles acciones que un agente tiene permitido realizar durante la negociación en función de las acciones realizadas previamente por su oponente. Las acciones permitidas dependen del tipo de protocolo utilizado. Los protocolos se pueden clasificar en tres categorías, según el enfoque del modelo de la negociación y las particularidades de la implementación del protocolo en sí: (i) Protocolos argumentativos, (ii) Protocolos algorítmicos y (iii) Protocolos mixtos. 2.2.2.1. Protocolos argumentativos Los protocolos argumentativos son utilizados cuando la negociación y el modelo están basados en argumentación. En este caso las acciones típicas permitidas por el protocolo incluyen: hacer una propuesta, aceptar la propuesta del oponente, rechazar una propuesta, discutir sobre por qué una propuesta debería ser aceptada, atacar un argumento que apoya o rechaza una propuesta, entre otros [90]. Existen varios protocolos de este tipo, en donde los argumentos y las propuestas son transmitidos a través del intercambio de mensajes. Estos intercambios se denominan movimientos de diálogo. En este tipo de protocolos, la forma en que se definen los movimientos varía ligeramente, pero en líneas generales siguen la misma idea. A continuación, se explicarán tres ejemplos de protocolos de negociación basados en argumentación [90]: ⦁ Como primer ejemplo [91], un protocolo en el cual el mecanismo de razonamiento utilizado por los agentes está basado en un framework de argumentación. Los agentes poseen creencias, deseos e intenciones (se denominan agentes de tipo BDI, por sus siglas en inglés: Beliefs, Desires, Intentions). El protocolo inicia cuando un agente realiza una propuesta. Cuando un agente recibe una propuesta puede generar una crítica y con ello una contrapropuesta, la cual puede ser aceptada por el oponente o no. Además, cualquier agente puede decidir abandonar el proceso en cualquier momento. El proceso itera hasta que uno de los dos agentes acepta o abandona. ⦁ Un segundo ejemplo [92], es un protocolo de negociación donde el mecanismo de razonamiento usado por los agentes está basado en un framework de argumentación abstracto creado con la idea de ser instanciado de distintas formas, de modo que cada instanciación produzca distintos diálogos. Un punto destacado de este protocolo es que es capaz de manejar negociaciones donde el modelo es multilateral
Compartir