Agent Technology for Personalized Information Filtering : The PIA-System As today the amount of accessible information is overwhelming , the intelligent and personalized filtering of available information is a main challenge . Additionally , there is a growing need for the seamless mobile and multi-modal system usage throughout the whole day to meet the requirements of the modern society -LRB- `` anytime , anywhere , anyhow '' -RRB- . A personal information agent that is delivering the right information at the right time by accessing , filtering and presenting information in a situation-aware matter is needed . Applying Agent-technology is promising , because the inherent capabilities of agents like autonomy , pro- and reactiveness offer an adequate approach . We developed an agent-based personal information system called PIA for collecting , filtering , and integrating information at a common point , offering access to the information by WWW , e-mail , SMS , MMS , and J2ME clients . Push and pull techniques are combined allowing the user to search explicitly for specific information on the one hand and to be informed automatically about relevant information divided in pre - , work and recreation slots on the other hand . In the core of the PIA system advanced filtering techniques are deployed through multiple filtering agent communities for content-based and collaborative filtering . Information-extracting agents are constantly gathering new relevant information from a variety of selected sources -LRB- internet , files , databases , web-services etc. -RRB- . A personal agent for each user is managing the individual information provisioning , tailored to the needs of this specific user , knowing the profile , the current situation and learning from feedback . -LSB- Information Systems -RSB- : Information Systems Applications general , Communications Applications . Algorithms , Management Nowadays , desired information often remains unfound , because it is hidden in a huge amount of unnecessary and irrelevant data . On the Internet there are well maintained search engines that are highly useful if you want to do full-text keyword-search -LSB- 1 -RSB- , but they are not able to support you in a personalized way and typically do not offer any `` push-services '' or in other words no information will be sent to you when you are not active . Also , as they normally do not adapt themselves to mobile devices , they can not be used throughout a whole day because you are not sitting in front of a standard browser all the time and when you return , these systems will treat you in the very same way as if you have never been there before -LRB- no personalization , no learning -RRB- . Users who are not familiar with domain-specific keywords wo n't be able to do successful research , because no support is offered . Predefined or auto-generated keywords for the search-domains are needed to fill that gap . As information demands are continuously increasing today and the gathering of information is time-consuming , there is a growing need for a personalized support . Labor-saving information is needed to increase productivity at work and also there is an increasing aspiration for a personalized offer of general information , specific domain knowledge , entertainment , shopping , fitness , lifestyle and health information . Existing commercial `` personalized '' systems are far away from that functionality , as they usually do not offer much more than allowing to choose the kind of the layout or collecting some of the offered information channels -LRB- and the information within is not personalized -RRB- . To overcome that situation you need a personal information agent -LRB- PIA -RRB- who `` knows '' the way of your thinking . and can really support you throughout the whole day by accessing , Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page . To copy otherwise , or republish , to post on servers or to redistribute to lists , requires prior specific permission and/or a fee . SAC ' 05 , March 13-17 , 2005 , Santa Fe , New Mexico , USA . Copyright 2005 ACM 1-58113-964-0 / 05/0003 ... $ 5.00 . 54 2005 ACM Symposium on Applied Computing filtering and presenting information to you in a situation-aware matter -LRB- figure 1 -RRB- . Some systems exist -LRB- FAB -LSB- 2 -RSB- , Amalthaea -LSB- 3 -RSB- , WAIR -LSB- 4 -RSB- , P-Tango -LSB- 5 -RSB- , TripMatcher -LSB- 6 -RSB- , PIAgent -LSB- 7 -RSB- , Letizia -LSB- 8 -RSB- , Let 's Browse -LSB- 9 -RSB- , Newt -LSB- 10 -RSB- , WebWatcher -LSB- 11 -RSB- , PEA -LSB- 12 -RSB- , BAZAR -LSB- 13 -RSB- -RRB- that implement advanced algorithmic technology , but did not become widely accepted , maybe because of real world requirements like availability , scalability and adaptation to current and future standards and mobile devices . In this paper we present an agent-based approach for the efficient , seamless and tailored provisioning of relevant information on the basis of end-users ' daily routine . As we assume the reader will be familiar with agent-technology -LRB- see -LSB- 14 -RSB- , -LSB- 15 -RSB- for a good introduction -RRB- , we will concentrate on the practical usage and the real-world advantages of agent-technology . We describe the design and architecture in the following section and afterwards depict the system in section three . To meet the discussed requirements and to support the user in that matter , we designed a multi-agent system composed of four classes of agents : many information extracting agents , agents that implement different filtering strategies , agents for providing different kinds of presentation and one personal agent for each user . Logically , all this can be seen as a classical three tier application -LRB- figure 2 -RRB- . Concerning the information extraction , general search engines on the one hand but also domain-specific portals on the other hand have to be integrated . Additional information sources -LRB- Databases , Files , Mailinglists etc. -RRB- should also be integrated easily at run-time . Several agents realize different filtering strategies -LRB- content-based and collaborative filtering -LSB- 16 -RSB- , -LSB- 5 -RSB- -RRB- that have to be combined in an intelligent matter . Also agents for providing information actively via SMS , MMS , Fax , e-mail -LRB- push-services -RRB- are needed . A Multi-access service platform has to manage the presentation of the results tailored to the used device and the current situation . The personal agent should constantly improve the knowledge about `` his '' user by learning from the given feedback , which is also taken for collaborative filtering , as information that has been rated as highly interesting might be useful for a user with a similar profile as well . As users usually are not very keen on giving explicit feedback -LRB- ratings -RRB- , implicit feedback like the fact that the user stored an article can also be taken into account -LSB- 18 -RSB- . A `` keywordassistant '' should support the user to be able to define queries even if he is not familiar with a certain domain . Keywords predefined by experts should be offered and also the possibility to point to a `` basis-paper '' serving as an example . The keywordassistant will extract automatically the most important keywords of that paper and will provide them for searching . The whole system is designed to be highly scalable , easy to modify , to adapt and to improve and therefore an agent-based approach that allows to integrate or to remove agents even at run-time is a smart choice . The different filtering techniques are needed to provide accurate results , because the weakness of individual techniques should be compensated by the strengths of others . Documents should be logically clustered by their domains to allow fast access , and for each document several `` models '' -LSB- 19 -RSB- will be built , all including stemming and stop-word elimination , but some tailored for very efficient retrieval at run-time and others to support advanced filtering algorithms for a high accuracy . PIA Demand for information is increasing continuously Information gathering is time consuming Users have different devices Facts Portals Databases General Information News Weather Information to increase productivity / Labor-saving information Domain knowledge Recreation Entertainment Shopping Health / Fitness / Lifestyle Technologies End Devices Software Networks www / Internet Not structured content Structured Dedicated content Structured content Profile Demand for information Figure 1 : Demand for a personal information agent 55 Figure 2 : The PIA System seen as a three tier application If the system notices that the content-based filtering is not able to offer sufficient results , additional information should be offered by collaborative filtering , i.e. information that was rated as interesting by a user with a similar profile will be presented . With the `` push-services '' , the user can decide to get new integrated relevant information immediately and on a mobile device , but for users who do not want to get new information immediately , a personalized newsletter also has to be offered . This newsletter is collecting new relevant information to be conveniently delivered by e-mails , allowing users to stay informed even if they are not actively using the system for some time . We implemented the system using Java and standard open source database and web-technology and based on the JIAC IV 1 agent framework -LSB- 20 -RSB- . JIAC IV is FIPA 2000 compliant -LSB- 21 -RSB- , that is it is conforming to the latest standards . It consists of a communication infrastructure as well as services for administrating and organizing agents -LRB- Agent Management Service , AMS and Directory Facilitator , DF -RRB- . The JIAC IV framework provides a variety of management and security functions , management services including configuration , fault management and event logging , security aspects including authorization , authentication and mechanisms for measuring and ensuring trust and therefore has been a good choice to be used from the outset to the development of a real world application . Within JIAC IV , agents are arranged on platforms , allowing the arrangement of agents that belong together with the control of at least one `` manager '' . A lot of visual tools are offered to deal with administration aspects . Figure 3 shows a platform , in this case with agents for the building of different models specialized for different retrieval algorithms . The prototypical system is currently running on Sun-Fire-880 , Sun-Fire-480R and Sun Fire V65x , whereas the main filtering computation , database - and web-server and information-extraction is placed on different machines for performance reasons . 1 JIAC IV is funded by T-Systems Nova GmbH Figure 3 : Several Agents are building different models specialized for different retrieval algorithms . 56 New content is stored , validated and consolidated in a central relational database -LRB- update-driven -RRB- . Information can be accessed by WWW , e-mail , SMS , MMS , and J2ME Clients , where the system adapts the presentation accordingly , using the CC/PP -LRB- Preferences Profile -RRB- with a tailored layout for a mobile phone and a PDA -LRB- see section 3.5 -RRB- . The personalized newsletter and the push-services are sent via e-mail , SMS or MMS . The user can use self-defined keywords for a request for information or choose a category and therefore the system will use a list of keywords predefined by experts and updated smoothly by learning from collaborative filtering . A combination of both is also possible . The keyword assistant is able to extract the most import keywords of a given article using the term frequency inverse document frequency -LRB- TFIDF -RRB- - algorithm -LSB- 22 -RSB- . 3.2 Gathering new Information New information is constantly inserted in the system by information extraction agents , e.g. web-reader agents or agents that are searching specified databases or directories . Additional agents for the collection of new content can easily be integrated even at runtime , as all that is necessary for a new agent is to register himself at the system , store the extracted information at a defined database table and inform the modeling-manager agent about the insertion . As a file reader-agent is constantly observing a special directory , manual insertion of documents can be done simply by drag-and-drop and an e-mail and upload-interface also exists . Source can also be integrated by Web services . New Readers can be created using a easy-to-handle tool and another tool is enabling to conveniently observe the extraction-agents , as this is the interface to the outside that might become critical if for example the data-format of a source is changed . 3.3 Pre processing for efficient retrieval The first step of pre processing information for efficient retrieval is the use of distinct tables in the global database for different domains like e.g. news , agent-related papers , etc. . Depending on the filtering request , tables with no chance of being relevant can therefore be omitted . The next step is the building of several models for each document . Stemming and stop-word elimination is implemented in every model but different models are built by computing a term importance either based only on local frequencies , or based on term frequency inverse document frequency -LRB- TFIDF -RRB- approach . Furthermore number of words that should be included in models is different which makes models either more accurate or more efficient . Created models are indexed either on document or word level , which facilitate their efficient retrieval . The manager agent is assigning the appropriate modeling agents to start building their models but might decide -LRB- or the human system administrator can tell him -RRB- at runtime to delay latest time-consuming modeling activity for a while if system load is critical at a moment . This feature is important for a real-world application , as overloading has been a main reason for the unusability of advanced academic systems . 3.4 Filtering technology As the quality of results to a particular filtering request might heavily depend on the information domain -LRB- news , scientific papers , conference calls -RRB- , different filtering communities are implemented . For each domain , there is at least one community which contains agents being tailored to do specific filtering and managing tasks in an efficient way . Instead of having only filtering agents , each and every community has also one so called manager agent that is mainly responsible for doing coordination of filtering tasks . The coordination is based on quality , CPU , DB and memory fitness values , which are the measures being associated to each filtering agent -LSB- 23 -RSB- . These measures respectively illustrate filtering agent successfulness in the past , its efficiency in using available CPU and DB resources , and the amount of memory being required for filtering . A higher CPU , DB or memory fitness value means that filtering agent needs a particular resource in a smaller extent for performing a filtering task . This further means that an insufficiency of a particular resource has a smaller influence on filtering agents with a higher particular fitness value . The introduced different fitness values together with the knowledge about the current system runtime performance can make coordination be situation aware -LRB- see also -LSB- 23 -RSB- -RRB- in the way that when a particular resource is highly loaded a priority in coordination should be given to filtering agents for which a particular resource has a minor importance . This situation aware coordination provides a way to balance response time and filtering accuracy , which is needed in overcoming the problem of finding a perfect filtering result after few hours or even few days of an expensive filtering . Instead of assigning filtering task to the agent with the best combination of fitness values in the current runtime situation , manager is going to employ a proportional selection principle -LSB- 24 -RSB- where the probability for the agent to be chosen to do actual filtering is proportional to the mentioned combination of its fitness values . By not always relying only on the most promising agents , but also sometimes offering a job to other agents , manager gives a chance to each and every agent to improve its fitness values . While the adaptation of quality fitness value can be accomplished after the user feedback became available , the other fitness values can be changed immediately after the filtering was finished through the response time analyses . The adaptation scheme has a decreasing learning rate that prevents already learnt fitness values of being destroyed , which further means that proven agents pay smaller penalties for bad jobs than the novice ones -LSB- 17 -RSB- . In the case where the received filtering task can not be successfully locally accomplished usually because of belonging to unsupported information domain , manager agent has to cooperate with other communities . While coordination takes place inside each community between manager and filtering agents , cooperation occurs between communities among manager agents . Cooperation is based on either finding a community which supports given domain or in splitting received task on sub-tasks where for each sub-task a community with good support exists . Figure 4 presents a high level overview of the filtering framework being composed of three different filtering communities -LRB- FC -RRB- , where each community has one filter manager agent -LRB- M -RRB- and different number of specialized filtering agents -LRB- F -RRB- . There are two different databases -LRB- DB -RRB- with information from different domains , and they are accessed at least by one community . On the figure cooperation is illustrated as a circle with arrows which connect manager agents . 57 Figure 4 : Filtering framework with three different communities 3.5 Presentation As one of the main design principles has been to support the user throughout the whole day , the PIA system provides several different access methods and adapts its interfaces to the used device -LRB- Figure 5 -RRB- . To fulfill these requirements an agent platform -LRB- `` Multi Access Service Platform '' -RRB- was developed that optimizes the graphical user interface for the access by Desktop PCs , PDAs and smart phones . If the user wants to use the PIA system , the request is received by the Multi Access Service Platform -LRB- MAP -RRB- . The MAP delegates the request to an agent , providing the logic for this service . In the PIA system the requests are forwarded either to login agent or the personal agent . The chosen agent performs the service specific actions and sends the MAP an abstract description of the formular that should be presented to the user . For this purpose the XML based Abstract Interaction Description Language -LRB- AIDL -RRB- has been defined . Based on the abstract description and the features of the used device the MAP generates an optimized interface presented to the user . The conversion is implemented as a XSLT transformation in which the optimal XSLT style sheet is selected based on the CC/PP information about the user 's device . This approach simplifies the creation of optimized user interfaces for different devices . The abstract interface description can be easily transformed into HTML , PDA optimized HTML or WML . If the user wants to have a voice interface , a style sheet for converting the abstract user interface description into VoiceXML has to be added to the MAP . Additional changes at the PIA system are not needed . Beside of the features provided by MAP the design of the user interface must create an easy to use system even on devices with a tiny screen and without a keyboard . That is why the PIA interface provides additional navigation elements on complex forms and minimizes the use of text input fields . New results matching a defined request are presented first as a list of short blocks containing only title , abstract and some meta-information -LRB- as this is familiar to every user from well-known search-engines -RRB- . This information is also well readable on PDAs or even mobile phones . Important articles can be stored in a repository . This allows the user to choose the articles on his PDA he wants to read later at his desktop PC . Depending on the personal options specified by the user , old information found for a specific query may be deleted automatically step by step after a given time , that is , there is always up to date information that is presented to the user -LRB- we call this `` smart mode '' -RRB- . This is for example convenient for getting personalized filtering news . The other option is to keep that information unlimited -LRB- `` global mode '' -RRB- for a query for e.g. basic scientific papers . For the `` push-services '' -LRB- that is , the system is becoming active and sending the user information without an explicit request -RRB- , the user specifies his working time -LRB- e.g. 9 am to 5 pm -RRB- . This divides the day in a pre - , work , and a recreation slot , where the PIA system assumes different demands of information . For each slot an adequate delivering technology can be chosen -LRB- e-mail , sms , mms , fax or Voice -RRB- . If you decide to subscribe to the personalized newsletter , new relevant information for you will be collected and sent by e-mail or fax once a day with a similar layout and structure for convenient reading if you have not seen it already by other pull - or push services . Therefore you can also stay informed without having to log into the system and if you do not want to get all new information immediately . Figure 5 : Information accessed by browser or tailored for presentation on a PDA or a mobile phone 58 The implemented system has an acceptable runtime performance and shows that it is a good choice to develop a personal information system using agent-technology based on a solid agent-framework like JIAC IV . Currently , PIA system supports more than 120 different web sources , grabs daily around 3.000 new semi-structured and unstructured documents , has almost 500.000 already pre-processed articles , and actively helps about fifty scientists related to our laboratory in their information retrieval activities . Their feedback and evaluation is a valuable input for the further improvement of PIA . In the near future we plan to increase the number of users to thousands , and therefore we plan to work on the further optimization of the filtering algorithms to be able to simultaneously respond to multiple filtering requests . Also , we think about integrating additional services for the user that provide information tailored to his geographical position -LRB- GPS -RRB- , a natural speech interface and innovative ways to motivate the user to give precise explicit feedback , as the learning ability of the system is depending on that information . -LSB- 1 -RSB- Brin , S. ; Page , L. : The anatomy of a large-scale hyper textual -LRB- Web -RRB- search engine , Proc . 7th International World Wide Web Conference on Computer Networks , 30 -LRB- 1-7 -RRB- , pp . 107-117 , 1998 . -LSB- 2 -RSB- Balabanovic , M. ; Yoav , S. : FAB : Content-Based Collaborative Recommendation , Communication of the ACM , Volume 40 , Number 3 , pp. 66-72 , 1997 . -LSB- 3 -RSB- Moukas , A. : Amalthaea : Information Discovery and Filtering using a Multi agent Evolving Ecosystem , Practical Application of Intelligent Agents & Multi-Agent Technology , London 1998 . -LSB- 4 -RSB- Zhang , B. ; Seo , Y. : Personalized Web-Document Filtering Using Reinforcement Learning , Applied Artificial Intelligence , Volume 15 Number 7 , pp. 665-685 , 2001 . -LSB- 5 -RSB- Claypool , M. ; Gokhale , A. ; Miranda , T. ; Murnikov , P. ; Netes , D. ; Sartin , N. : Combining Content-Based and Collaborative Filters in an Online Newspaper , ACM SIGIR Workshop on Recommender Systems , Berkeley , CA , August 19 , 1999 . -LSB- 6 -RSB- Delgado , J. ; Davidson , R. : Knowledge bases and user profiling in travel and hospitality recommender systems , In Proceedings of the ENTER 2002 Conference , Innsbruck , Austria , January 22-25 2002 , Springer Verlag , pp. 1-16 . -LSB- 7 -RSB- Kuropka , D. ; Serries , T. : Personal Information Agent , Informatik Jahrestagung 2001 , pp. 940-946 . -LSB- 8 -RSB- Lieberman , H. : Letizia : An Agent That Assists Web Browsing , International Joint Conference on Artificial Intelligence , Montreal , August 1995 . -LSB- 9 -RSB- Lieberman , H. ; Van Dyke , N , ; Vivacqua , A. : Let 's Browse : A Collaborative Browsing Agent , Knowledge-Based Systems , 12 -LRB- 8 -RRB- , 1999 , pp. 427 431 . -LSB- 10 -RSB- Sheth , B. : A Learning Approach to Personalized Information Filtering , M.S. Thesis , MIT - EECS dept , USA , 1994 . -LSB- 11 -RSB- Joachims , T. ; Freitag , D. ; Mitchell , T. : WebWatcher : A Tour Guide for the World Wide Web , In IJCAI -LRB- 1 -RRB- , 1997 , pp. 770-777 . -LSB- 12 -RSB- Winiwarter , W. : PEA - A Personal Email Assistant with Evolutionary Adaptation , International Journal of Information Technology , Vol . 5 , No. 1 , 1999 . -LSB- 13 -RSB- Thomas , C. ; Fischer , G. : Using agents to improve the usability and usefulness of the world wide web . In Proceedings of the Fifth International Conference on User Modelling , pages 5 -- 12 , 1996 . -LSB- 14 -RSB- Jennings , N ; Wooldridge , M : Agent-oriented software engineering , Handbook of Agent Technology -LRB- ed . J. Bradshaw -RRB- . AAAI/MIT Press , 2000 . -LSB- 15 -RSB- Sesseler , R. ; Albayrak , S. : Agent-based Marketplaces for Electronic Commerce , International Conference on Artificial Intelligence , IC-AI 2001 . -LSB- 16 -RSB- Resnick , P. ; Neophytos , J. ; Suchak , M. ; Bergstrom , P. ; Riedl , J. : GroupLens : An open architecture for collaborative filtering of net news , Proceedings ACM Conference on Computer-Supported Cooperative Work , pp. 175-186 , 1994 . -LSB- 17 -RSB- Albayrak , S. ; Milosevic , D. : Self Improving Coordination in Multi Agent Filtering Framework , IEEE/WIC/ACM International Joint Conference on Intelligent Agent technology -LRB- IAT 04 -RRB- and Web Intelligence -LRB- WI 04 -RRB- , Beijing , China , September 2004 . , -LRB- to appear -RRB- . -LSB- 18 -RSB- Nichols , D. : Implicit Rating and Filtering , Proc . Fifth DELOS Workshop on Filtering and Collaborative Filtering , Budapest , Hungary , 10-12 November , ERCIM , pp. 31-36 , 1997 . -LSB- 19 -RSB- Tauritz , D. : Adaptive Information Filtering : concepts and algorithms , Ph.D. dissertation , Leiden University , 2002 . -LSB- 20 -RSB- Fricke , S. ; Bsufka , K. ; Keiser , J. ; Schmidt , T. ; Sesseler , R. ; Albayrak , S. : Agent-based Telematic Services and Telecom Applications , Communications of the ACM , April . 2001 . -LSB- 21 -RSB- Foundation for Intelligent Physical Agents , www.fipa.org , 2004 . -LSB- 22 -RSB- Jing , L. ; Huang , H. ; Shi , H. : Improved Feature Selection Approach TFIDF in Text Mining , Proc . 1 st Internat . Conference on Machine Learning and Cybernetics , Beijing , 2002 . -LSB- 23 -RSB- Albayrak , S ; Milosevic D. : Situation-aware Coordination in Multi Agent Filtering Framework , The 19th International Symposium on Computer and Information Sciences -LRB- ISCIS 04 -RRB- , Antalya , Turkey , October 2004 . , -LRB- to appear -RRB- . -LSB- 24 -RSB- Zbigniew , M. ; Fogel , D. : How to Solve It : Modern Heuristics , Springer-Verlag New York , Inc. , New York , NY , 2000 . 59

B I O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O

filtering
agent technology
personal information agent

recommendation systems
agent-based deployed applications
ubiquitous access
evolution
adaptation and learning
agents and complex systems
intelligent and personalized filtering