Our solution addresses set of the following problems:
Connecting synchronous HTTP protocol with asynchronous nature of software agents.
Web browser and mobile interface providing natural access to the multi-agent system.
Separation of data and view thanks to: Model-View-Controller architecture, ontologies and Raccoon server for transforming data into view.
- Content personalization basen on user modelling, including: stereotyping, user profile learning and exploitation.
personal agent, travel support system, multimodal interaction,user modelling, Semantic Web, multi-agent system, stereotyping, recommending system.
Maciej Gawinecki (content-based personalization)
Paweł Kaczmarek (user-agent communication, MVC pattern implementation)
Michał Szymczak (ontologies, ontology documentation generator)
Mladenka Vukmirovic (ontologies)
The system is licensed under the General Public License.
System interfaceAt the current stage the systems plays role of a restaurant recommender with ability to suggest any of 8700 Polish restaurants incorporated from Chefmoz dining guide. The user can access the system by any internet browser.
Monitoring systemSystems operates on a set of ontology models persistent in a database. This includes data about stereotypes, user profiles, events gathered during user interaction with the system and related statistics, and descriptions of restaurants. Graphical SWT-based interface is provided for debugging purposes.
System structureThe system realize user requests thanks do set of agents. Proxy Agent (PrA) is reponsible for translating user request (HTTP request) into agent-understable form and back -- system responses into HTTP response. All translated requests are forwarded to Session Handling Agent (SHA), playing the role of main orchestrer of the system. SHA behaves as Controller of MVC architecture: (1) it builds data model or request other agent (i.e. Personal Agent (PA)) to do it and (2) forwards data model to View Transforming Agent (VTA) in order to translate model into browser-readable form (e.g. HTML). SHA also tracks session with the user and logs all events in database. These gathered data are processed on call by Profile Managing Agent (PMA) in order to keep user profile up-to-date. SHA authorizes also user to access to services available only after logging into the system, e.g. restaurant recommender is such a service. And, eventually, Restaurant Service Agent (RSA) provides provide vast volume of data about restaurants. The diagram below shows how agents depends on each other for their functionality.
User ModellingUser modelling is based on user profiles characterizes a sets of user's opinion about particular concepts in domain ontology and are called overlay models, since they lay over domain ontology.
Process of learning is based on implicit and explicit relevant feedback coming from user. Generally it estimates probability of user interest in particular concepts of domain ontology, on the base of frequency of actions (events) targetted against these concepts in user history. This probability is normalized in relation to probablity of users population interest in these concepts.
Problem of new user in the system has been solved by incorporating stereotyping algorithm. It measures a distance between user-specified characteristics and these appearing in stereotypes to find the best matching stereotype. Then opinions states in the selected stereotype are copied to the user profile.
Content filtering exploits user profile by comparing semantic content of recommended resource and users opinions about this resource.