Expert Systems with Applications 29 (2005) 17–32 www.elsevier.com/locate/eswa

NAMA: a context-aware multi-agent based web service approach to proactive need identification for personalized reminder systems

O. Kwona,*, Sungchul Choib, Gyuro Parkb

aSchool of International Management, Kyunghee University, 449701 YonginSi, South Korea bSchool of Management and Economics, Handong University, 791708 PohangSi, South Korea

Abstract

Developing a personalized, user-centric system is one of today’s challenging issues in ubiquitous network-based systems, especially personalized reminder systems. Such a personalized reminder system has to identify the user’s current needs dynamically and proactively based on the user’s current context, such as location and current activity. However, need identification methodologies and their feasible architectures for personalized reminder systems have so far been rare. Hence, this paper aims to propose a proactive need identification mechanism by applying agent and semantic web technologies for a personalized reminder system, which is one of the supporting systems for a robust ubiquitous service support environment. We revisit associationism in order to understand a buyer’s need identification process, and we adopt the process as ‘purchase based on association’ to implement a personalized reminder system. Based on this approach, we have shown how an agent-based semantic web service system can be used to realize a personalized reminder system which identifies a buyer’s need autonomously. We have created a prototype system, NAMA (Need Aware Multi-Agent), to demonstrate the feasibility of the methodology and of the mobile settings framework that we propose in this paper. NAMA embeds a Bluetooth-based location-tracking module and identifies what users are currently looking at through their mobile devices. Based on these capabilities, NAMA considers the context, user profile with preferences, and information about currently available services to discover the user’s current needs and then link the user to a set of services, which are implemented as web services. q 2005 Elsevier Ltd. All rights reserved.

Keywords: Semantic web; Ontology; Agent technology; Context awareness; Reminder system; Personalization; Web service

1. Introduction product purchases may be applied to a user evaluation system or to discovery mechanisms by data mining (Fu, One of the major issues of intelligent electronic Budzik, & Hammond, 2000; O’Connor, Cosley, Konstan, & commerce is to develop a need identification system;a Riedl, 2001; Shardanand & Maes, 1995). An effective personalized reminder system to address user’s needs in the personalized mechanism should also include adaptive electronic commerce marketplace. Our proposed reminder behavior, allowing the system to change based on implicit system differentiates itself from traditional marketing user behavior or requests. These changing capabilities are information systems or supply chain management systems often based on learning capability to adapt user’s purchase in that the reminder system individually interacts with the behavior (Weld et al., 2003). user to support a more personalized, individual focus, such This personalization may also be useful in the context of as helping the user find a specific product. A reminder mobile services. Users with mobile devices surf the web to system, as well as a recommendation system, has been perform tasks, such as reading or writing messages, to seek proposed as one of the personalized intelligent systems to information, or just to pass time. Information seeking in support electronic commerce (Lee & Yang, 2003; Wang & particular becomes an interesting behavior for a reminder Shao, 2004). Therefore, to do so, the user’s preferences on system since the behavior is predictable. Proteus and Minpath are personalized tools that support information seeking activities (Anderson & Bower, 1973). Such a * Corresponding author. Tel.: C82 31 201 2306; fax: C82 31 204 8114. system finds information seeking patterns from the past E-mail address: [email protected] (O. Kwon). experiences of user interaction, and tries to automatically

0957-4174/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2005.01.001 18 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 personalize contents of the web page for each separate association, especially within a mobile e-commerce visitor. Another product, Autominder, applies artificial environment. intelligence techniques such as temporal reasoning and So far, today’s reminder systems are limited, with some reasoning under uncertainty in planning and performing important deficiencies. One is that user preferences are not personalized service. Autominder also uses complicated shared or understood by legacy mobile service systems. One intrinsic scheduling rules which are difficult to be modified of the reasons is that user preferences are hard-coded in the automatically (McCarthy & Pollack, 2002; Pollack et al., reminder system. These preferences are neither visible nor 2003). accessible, which renders the entire system weak in Most of the reminder systems today only provide ‘sharability’. Moreover, since current reminder systems structured and routine information such as daily schedule depend on a single knowledge storage, if the number of information. Moreover, the majority of reminder systems candidate products increases dynamically, it becomes lack flexibility: since they do not today incorporate any increasingly difficult and expensive to maintain system user-centric need identification mechanism to adapt auto- knowledge. Because of these limitations, this information matically to changing conditions. should be sharable and machine-understandable in the Meanwhile, the end result, of a buyer’s need being met reminder system. To do so, an agent-based semantic web by a purchase, is composed of multiple associated factors service could be a solution. In semantic web services, user resulting from external stimulus called context. These kinds preference information can be managed in machine-under- of user purchase behaviors can be explained by associative standable and sharable forms. Moreover, very few legacy theory first proposed by David Hartley, and developed by reminder systems utilize context data for context-aware James Mill: every awareness is derived from experience in intelligent reminder services. Only a few adopt a location- order to inference specific, simple, but powerful associ- based service. Using diversified context would facilitate a ations. The associative theory, which originates from higher number of reminder systems being able to offer Aristotle’s philosophy, still has yet been defined as a unified interesting context-aware services. theory (Leahey, 1994; Young, 1968). However, at least, Hence, this paper proposes an architecture that applies an most of the association-related theories have suggested the agent-based semantic web service that is based on following four common concepts and principles (Anderson associative theory; we also show how this architecture can & Bower, 1973): be applied to develop a needs-aware reminder system which considers full-fledged context data, including the factors † Association is any ideas or elements of mind that result such as time, identity, location, and entity that Abowd from experience. (1999) has classified. The need awareness in a mobile † Association is any thoughts that have been derived from setting is supported by identifying user profiles and the accumulation of simple ideas. preferences, collecting user context in real-time, need † These simple ideas are generated from fundamental and identification, and providing push-based service. To do so, unstructured senses. a personalized user information storage system called e- † The simple and cumulative rules allow one to predict the wallet is applied. E-wallet is a web-based agent system that composite attributes from the fundamental and simple selectively allows visiting agents that are employed by attributes of ideas. external systems to get users’ private data such as profile, preferences, and individual context. The user’s current In short, associative theory attempts to remodel human location is available via a Bluetooth-based location tracking awareness by applying superficial experiences and minimal method, and the URLs she is viewing with her mobile theoretical assumptions. The theory tries to illustrate how a device are adopted as user context. To show the feasibility concept is derived from many fragments of ideas, and also is of this proposed system, we implemented the need-aware transformed to a general systematical concept such as reminder system architecture proposed in this paper, awareness and reminder (Leahey, 1994). It is also congruent NAMA (Need Aware Multi-Agent). NAMA is a semantic as a kind of ‘hyperlink’ which helps to establish links to web service that is aware of the URL address and the different ideas or examples. For example, someone reading contents that user’s concentration is focused on. It interprets an article about a house might realize that he himself would the content as context data and conjectures what the user like to buy a house, or that he should talk with a financial might want to purchase by correlating public information planner about his real estate investments. This situation can with the user’s individual personalized concept and knowl- only be illustrated if we know that the person has strong edge that it has ‘learned’, and it cooperates with a web intrinsic preference to purchase a house and at the same service matchmaker to help the user purchase a certain time, that this is the context in which the person is reading product. such an article. However, present web-based electronic This paper is organized as follows. A literature review on commerce systems do not have any context awareness the existing reminder system, the main concept of this capability. These limitations drive our research to develop a paper, is described in Section 2. In Section 3, we illustrate a personalized reminder system that enables purchase by theoretical basis on need identification. In Section 4, O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 19 we explain NAMA, a framework and core structure of Peters and Shrobe, 200 (Peters & Shrobe, 2003). Footprints mobile reminder system based on association. To show the is a prototype system that allows user to visualize traces of possibility of the idea proposed in this paper, how the past browsed URL so that complicated websites maybe prototype system, NAMA, is implemented and applied to viewable on a small-screen PDA. Footprints can remind as mobile reminder system will be specified in Section 5. The ‘You are here at this moment’. paper finishes with concluding remarks in Section 6. Bellcore group, managed by both Hill and Hollan, has developed a series of prototype system such as Edit Wear, Read Wear, Email Wear, Source Code Wear, and Vita 2. Literature review: reminder system Service. These systems help users utilize the past history of coordination by remembering the users’ history (Hill & A reminder system is a kind of personalization system Hollan, 1993). These prototype systems aim to alter the that informs its user in advance about things to do. Data traditional ways of the user’s document-processing tasks produced by reminder systems are categorized into signal such as writing, editing source code, and e-mail handling. and description. Signal is used to remember certain content. Lifestreams is a time-aware reminder system that was An example of an audio-based signal is an alarm clock. A applied to organizing documents by replacing historical files signal can also be visual, such as light projected from the and folder structure (Fertig, Freeman, & Gelernter, 1996). theater or a brief note inserted in doors. A description, on the Similar to this, ComMotion is a location-based reminder other hand, indicates some explanation about the things that system project as Lifestreams (Marmasse, 1999). Poem is a need to be remembered. For example, a paper to-do list or a wearable system that supports the profile-based hand-written note can be the sources of reminder. Therefore, cooperations (Korteum, Segall, & Thompson, 1999). By objects such as paper, e-mail, or a personal information using Poem, users can manage user-made rules on the level management system can be to some extent called reminder of interest about other people. If a person approaches a user systems. However, Abowd (1999) proposed that an ideal who is wearing Poem, then the person’s profile is captured reminder system should have the following abilities: and compared with one’s profile to inform the user whether the approaching person has similar interests. However, these † Proactively provides a variety of contextual data, which interests are limited in static categories such as name and includes time and location information. behavior. Therefore, Poem does not support dynamic † Accepts input from the user or a third person about things context such as a to-do list. to be reminded of. CyberMinder is a -based system to produce reminder † Creates reminder contents from a variety of input contents and delivery by applying contextual data such as devices. time, location, and the other person’s information. How- † Allows the user to receive suitable reminder contents ever, CyberMinder has some limitations. First, because of with any devices. deficiency in semantics, it does not include an intelligent † Accepts and uses all signal and description types of interface. Second, since user preferences are not shared, a contents. distributed and cooperative reminder system cannot be † Displays the full list of available reminder systems to the supported—which assumes that one closed system will to user. provide all services, which makes actual implementation very difficult. Third, since the user must manually input the Legacy reminder systems do not satisfy all these requested service times one by one, it is cumbersome. functions mainly because they cannot collect contextual Lastly, since the system does not detect dynamic context, data that are useful or necessary to operate the reminder user preferences that changes dynamically cannot be service. Hence, reminder systems need to adopt context considered. awareness ability. PLACE, Personal Location Agents for Communicating Entities, is a platform that provides user reminder content along with detailed information, using precise and diversi- 3. Need identification reminder system fied location information. To do so, PLACE includes a feature to share user location context, which allows PLACE 3.1. Purchase need identification to create and share semantic information about the user through a common language; PLACE, in turn, commu- ‘Need’ is defined as a sort of internal state; to do nicates with its users through location tracking sensors. To something particular Need is also a gap between what ‘is’ do so, PLACE proposes a customized -map, which and what ‘should be’ (Witkin & Altschuld, 1995). Reviere is used to represent location-based semantics. Another mentioned need as a gap between actual and ideal identified system, PLA, Personal Location Agent, is a reminder as community value (Reviere, Berkowitz, Carter, & system that provides location information to transmit and Gergusan, 1996). On the other hand, McKillip (1987) receive source of all contents by operating a sort of sensors interpreted need as wants or as a demand. In short, need can 20 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

3.2. Associative theory and need identification

Associative theory has traditionally been considered as an important approach to observing causality in develop- mental psychology (Dickinson & Shanks, 1985; Dickinson, Shanks, & Evenden, 1984; Shanks, Holyoak, & Medin, 1996; Wasserman, 1996). In associative theory, a causality is regarded as the inter-relationship between event and outcome. In his associative theory, Ebbinghaus states that association can be revealed through stimulation by items in the vicinity. He also found that although association could happen even by the stimulus of remotely separated items, the strength is relatively low. Therefore, he anticipated that as the temporal gap between two items increases, the Fig. 1. Customer buying behavior (CBB) model. strength of association would be lower. These concepts are derived from classical conditioning. be explained by a current condition, wants and its Meanwhile, according to Rescorla-Wagner’s model, the difference. social learning approach to discovering causality assumes Need awareness originates from recognizing unfulfilled the operations of association principle and contextual needs. CBB (Consumer Buying Behavior) is a well-known principle. That is to say, the model suggests that the customer model, which includes need identification as a strength of association (V) is determined by conditional main component. The CBB model proposed by He, stimulus by associative principle and unconditional stimulus Jennings, and Leung (2004) is shown in Fig. 1. by contextual principle. In addition, the change of the Need identification is the first step of B2C procedure that strength of association (DV) consists of the strength of enables online customers to buy goods from the e-market- conditional stimulus (a), the strength of unconditional place (Blake, 2002). Since need identification is related to stimulus (b), and the differences between the strength of the customer’s purchase behavior, it focuses more on association of unconditional stimulus (l) and the strength of predicting the future and what will be done, rather than what overall association. (VT) as follows: has been done. This results in the difficulties of deriving user need from one’s past behavior. Z K DV abðl VTÞ If we regard need as a set of current state, desiring state, and its differences, then the first step of CBB model, need identification, could be regarded as three detailed pro- Rescorla-Wagner’s model has important implications on cedures: awareness of current condition, awareness of need identification. First, a buyer feels the intention to wants, and awareness of content; and the size of the gap purchase not only through the tensions of product between them. Awareness of the size of the gap may also information that are provided, but also by the contextual cause a sort of tension to drive the need fulfillment. These stimulus that is unconditionally provided. Second, these two kinds of stimuli have their own strength levels, which also procedures are shown in Fig. 2. influence the strength of association. Hence, to accurately identify a user’s need, a system must capture not only the contextual data, for example, a URL and a to-do list, detected at the same time that an object is exposed to the user, but also the object itself via product information gathered from the website. Lastly, association can be revealed only by unconditional stimulus. In this paper, the unconditional stimulus is regarded as context. Therefore, the user’s context, such as URLs that the user is viewing, nearby stores and people, and the current time, can all be linked to association that the user needs to do something. In other words, context is very useful to the reminder system if the context data is associated with user preferences. Based on these, we believe that reminder systems can benefit from context-aware computing technology. The need-awareness model proposed in this paper was Fig. 2. Need identification process. constructed based on associative theory. Based on O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 21 associative theory, a user agent has been constructed based Purchase by association needs to be supported by an on the following principles: intelligent system that supports dynamic hyperlinking of purchase patterns based on user preferences. User prefer- † The strength of the association is determined by pre- ences must be machine-understandable and be selectively defined user preferences and to do lists. shared as public resources. In this paper, user profile and † As an unconditional stimulus, the user’s context data that preference are represented as ontology, and with the user’s is gathered at the point of purchase affects association. permission, it can be shared in the secure web space. These This paper selects the user’s location, schedule, and personal resources need to be seen by the seller agents. current URL content as sources of user context. However, because of privacy concerns, the personal † Even if the purchase-related stimulus is not directly resources will be limited to show personal intentions given, content that is indirectly related could be used as a publicly as those revere auction. Addressing users’ privacy conditional stimulus that makes the association possible. concerns on sharing personal resources will be taken care of in further research. Therefore, the need awareness agent acting on the user’s In this paper, strong push and weak push service methods behalf that we propose in this paper aims to autonomously are applied based on the strength of association. Strong push make decisions on predicting the user’s association autonomously pops up a separate window to display a behavior and provide a mobile service in a timely manner website that sells an item that the user is interested in; in a by learning the user’s association mechanism from the data weak push system, dynamic hyperlinks appear in the user’s such as user profile, user preferences, and to-do list, as well web page to be unobtrusive. as the user context data stated above. 4. NAMA 3.3. User interface issue in need awareness This paper proposes a methodology called NAMA; a User interface is an important issue because need reminder system based on need awareness which has its awareness can be understood as the relationship between a foundations in associative theory. NAMA is a agent-based particular user, and the agent on behalf of the user. Fig. 3 semantic web service that is aware of a user’s needs when shows Gerlach and Kuo’s (1991) man–machine interface one is looking at web documents for the purpose of B2C or model. In the model, motivation on human actions is B2B commerce. Fig. 4 shows the whole process, which is an expansion of Gerlach and Kuo’s model in Fig. 3. determined by the difference between the current state and In NAMA, a user allows an agent to reside on his mobile the goal state. However, the model fails to depict how user device; the agent continuously checks the contents in the context affects his/her behavior. web browser that user is seeing with his mobile device. At this time, the user agent may identify a particular URL address as internal context and, if necessary, will acquire the web document in html format. We use this term internal to mean that the context can be acquired in the same device; hence no networking capabilities to deliver the context are needed. Using a web service matchmaker, the user agent will acquire more abundant external semantic resources. The user agent accesses personal resources by the authentication and authorization of an e-wallet web service. After an authentication step, the agent acquires the user’s profile and scans the user’s to-do list. When the agent finds any web fragment that would match an item on the user’s to- do list, then NAMA assumes that the user might want to get reminded to purchase the items. Alternatively, the agent may get the user’s current external context via a context web service. The context data is classified as external because it can be delivered from wirelessly connected sensors or devices. The context web service monitors the federating sensors; these sensors can track user’s current context such as location. By invoking web service matchmaker, once the user agent eventually identifies sellers who are in the vicinity of the user’s current location and at the same time can provide items in the user’s to-do list, NAMA alerts the Fig. 3. Gerlach and Kuo’s model. user through her mobile device. 22 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Fig. 4. Conceptual framework of the need aware process.

This approach is based on associative theory which Personal profile (image, name, salary, job title, email, postulates that no matter what the user sees, such content— has_car, has_house, has_computer, etc.) consciously or unconsciously, strong or weak, directly or Student indirectly—the user to some extent will be associated with Staff the intention to purchase. When the user’s internal or Faculty external context is observed, the user agent in NAMA visits Preferences the web service directory to provide information about Building (rental, own, price, address, etc.) goods in the user’s to-do list. If found, then NAMA invokes House the web service to display the results on the user’s screen Apartment through user authentication. Mansion Plant Car (category, model, price, has_4wd, has_air, has_auto, 4.1. Ontology safety_level, etc.) Used Car (mileage, dealer, owner, etc.) Ontology is the core of semantic web computing. New Car Ontology allows NAMA components to understand what a Electronics particular item means in reality and it also uses inherited or Computer (model, price, RAM, hard, has_cd, speed, attribute resources, to let the user know richer meanings etc.) than the item itself. In this paper, the ontology used in PC NAMA is categorized as both a public and a private Laptop ontology. Public ontology exists in the form of URI, and it TV (model, size, resolution, has_TFT, price, etc.) allows the NAMA components to deal with personal information without user authentication because of privacy Fig. 5 indicates a simple ontology structure based on user concern. On the other hand, a private ontology contains data preferences. The structure can be easily transformed into a that should not be shared with external entities, such as specific ontology language format such as OWL or NAMA components, unless the data are authorized to be DAMLCOIL using sophisticated editing tools such as accessible. User profile, preference, and schedules belong to OilEd and Prote´ge´-2000. An e-wallet web service, in this this category. Accessing a private ontology must be paper, manages the following ontology: authorized on behalf of security control structure beforehand. † user profile, An example of ontology on user’s personal profile can be † user preference, and structured as follows: † to-do list. O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 23

the Bluetooth Service Provider Machine, it automatically synchronizes the PDA’s time, which also results in acquiring the user’s context. To acquire this time context, NAMA provides intelligent service: when a user enters a service zone and requests service, NAMA’s reminder system is activated, and vice versa. The service time is acquired from web services via a web service matchmaker.

4.2.2. Identity Identity context is information about other people who are also with the user. The context is provided when the user’s NAMA system connects with Bluetooth machine. Among the available Bluetooth machines, if one of the machine is known as owned by another user, NAMA assumes that that user is now also able to be accessed. Fig. 5. An example of user preference ontology. NAMA has also been designed to address the fact that services to be provided can be altered mainly according to the person with whom the user is communicating. For 4.2. Context awareness example, items to be purchased or to be seen will be different when a user goes shopping with his friend or with Context can be largely divided into external context and his family. internal context. External context means social or physical environment that can have an impact on certain behavior. 4.2.3. Location Internal context means psychological context that does not Bluetooth machines store location-based user infor- appear externally (Giunchiglia & Bouquet, 1988; Kintsch, mation as a form of ontology. A context web service can 1988; Sperber & Wislon, 1986). Internal context can be then parse that location ontology to acquire the user’s acquired by inferencing user’s behavior and external current location, which also includes which hardware has context. Among those, NAMA is based on external context been detected. A detailed technical explanation of config- to approach context awareness. uring these Bluetooth settings and other Bluetooth tech- NAMA adopts Bluetooth technology for location track- niques is not addressed in this paper. ing, and a semantic web approach such as location ontology Using location information is one of the fundamental for deriving richer location meaning. When a user’s activities of NAMA; this location data is often combined NAMA-embedded mobile device is in a service zone with other user context to derive internal context rather than where Bluetooth is active, the user’s PDA can communicate directly used as its own. to a Bluetooth Service Provider Machine which provides location context data contained in hardware. 4.2.4. Entities Most of the legacy context-aware services depend simply Entity context is the data of sensed objects that Bluetooth on locations and provide location-based service (Schilit, hardware detects in the vicinity of the user’s current Adams, & Want, 1994; Schilit, 1995; Want, Hopper, Falcao, location. At the location where a Bluetooth connection & Gibbons, 1992; Want et al., 1995). To overcome this device exists, object information is stored into a form of limitation, NAMA aims to use four kinds of context called ontology. The Bluetooth machine acquires the user’s TILE (Time–Identity–Location–Entity) that Abowd (1991) context when the user’s PDA is within range. has classified before as follows. Entity context can be widely used in many diversified areas. For example, when a user approaches a service zone 4.2.1. Time and when an item is included in the user’s to-do list, NAMA Time context can be acquired when a mobile device such dynamically understands the user’s context and to-do list; as a PDA or a Bluetooth Service Provider Machine within this framework, NAMA can then acquire information communicates with each other for synchronized service. for certain items on the user’s to-do list and provide product In case of a PDA, since it cannot be continuously operable information to the user. or connected to the Internet because of its battery power and The external context, TILE, can be to some extent used to user dependence and negligence of user; hence an Internet infer internal context by linking with user’s need. Current time server is not always available to synchronize the time. external context and user defined needs are compared to Therefore, the Bluetooth Service Provider Machine must be provide or remind the services that user may want. For continuously synchronized with an Internet time server. example when a user’s current need is to purchase a suit, Then, whenever the user’s PDA communicates with and a user’s current location is near a clothing shop. 24 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Fig. 6. An architecture of context ontology.

If the clothing shop is still open and a user is with his friend, dynamically combining the URL with user preference and then a user profile and preference in e-wallet will be context as shown in Fig. 7. considered to provide an advertisement of chosen item, The left screen of Fig. 7 indicates a general URL. suitable for that user. Such an internal context can provide Hyperlinks included in the URL are statically constructed more personalized service based on individual rule base. beforehand for an untargeted audience. Therefore, some of Fig. 6 shows a Bluetooth connecting hardware’s the hyperlinks may not be useful to a particular user and to access location and its ontology information edited by some extent what the user really want to hyperlink would be Prote´ge´-2000. missing. A personalized URL is an upgrade from the generic URL. If user preferences are available, the following adaptive methods can be applied. First, with pre-defined 4.3. Need aware user agent user preferences, we can then generate hyperlinks according to those preferences, and then add the tailored links to the To automatically identify the user’s current need, current simple URL as static hyperlinks. Second, if the NAMA uses a specific agent on the user’s behalf. This user’s browsing history is available, we can use that data to need aware user agent has the following capabilities: learn about the user’s navigation pattern; from this, then, † Context-aware capability. Be automatically aware of the additional hyperlinks are generated by linking a pair of user’s current situation in an unobtrusive way. frequently visited web pages. However, these methods are † Interoperability. User’s personal resources need to be determined by decision-making based on the current URL; both explored and acquired to grasp the user’s public therefore, if the URL’s contents continuously change, then preferences; respective agents invoke the other using a more customized hyperlinking is almost impossible. More- standardized protocol. over, a user’s hyperlinking preference can be changed † Need identification capability. Determine which service according to the activity and location. To address these should be conducted on the user’s behalf by combining situations, context awareness is crucial to discover which acquired need and current context data and then URL address the user is viewing and even what content user transparently communicating with related web services. is looking at. Such a context will not be concentrated but distributed in a variety of sensors. Therefore, the existence One of the main features of the need aware user agent is and usage of ontology, which contributes to understanding to transform a normal URL into a proactive URL by the user’s preferences and user’s context, should O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 25

Fig. 7. Proactive URL. be continuously available. Thus, this paper pursues a proactive URL. To explain the necessity of the personalized URL and the proactive URL, let us assume the two examples as shown in Fig. 8(a) and (b). 1 lists an example of objects found in Fig. 8(a) and (b). The objects in Table 1 are apparent to those who see the web documents, and from the perspective of associative theory, they are unconditional stimuli that do not have any inter-relationship between the needs of the purchasers who are viewing the web documents. Table 2, however, presents examples of pre-defined user preferences, current dynamic context and identified needs of the user seeing the web documents. Even if two users are looking at one same URL, they may associate two different thoughts and needs based on their respective preferences and context. Moreover, even though a user sees an identical URL with the same preferences, they are believed to have different needs if the user contexts are not same. Consequently, even for the same homepage, user characteristics and context may be concurrent but the users still have distinct needs. This implies that an autonomous information system such as an intelligent agent that acquires the causality would be useful for proactive and personalized service.

4.4. Service matchmaking web service

Web service technology aims to adopt the dynamic change of user context and collaboration with other web services to construct more complicated services that cannot be done by a single web service (Kuno & Sahai, 2002; Luo, Zhang, & Leung, 2001). To do so, a methodology of discovering and combining web services is recognized as crucial for the next generation of web service implemen- tation (Avila-Rosas, Moreau, Dialani, Miles, & Liu, 2002; Buhler & Vidal, 2002). Fig. 8. (a,b) Example of a homepage. 26 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Table 1 the service matchmaking web service with simple yet Example objects found in Fig. 8(a) and (b) powerful interaction. URL Browsed object http://xxx.com Weather, Christmas, Snow, Rockies, Great Lakes, etc. 5. Implementation http://yyy.com Fire, Christmas, Apartment, Homeless, etc. To reveal the feasibility of the need identification mechanism proposed in this paper, we developed an agent system called NAMA. NAMA applies both Bluetooth and Service ‘matchmaking’ is important in such web service semantic web technologies to enhance context through user environment. A web service matchmaker chooses web location tracking. To control the JSR-82 of Bluetooth, we services by applying at least two matchmaking techniques: use a JCP Linux-based Bluetooth controller API from exact query and constraint-based query. A constraint-based Rococosoft Company, Impronto DK for Linux v1.1, the query is typically more efficient than a simple exact query, Windows operating system for the Pocket PC, and Atinav since it quickly narrows the search space by applying Company’s aveLink Bluetooth Protocol Stack and SDK. To constraints that come from the user and/or the user agent, create the ontology, we used Prote´ge´-2000; this was and then conducts an exact match. The constraint-based managed by an e-wallet web service using JENA 2.0 API. query is useful in cases where scalability is stressed, either Pointbase was used to as the running on the user’s because the search space is very large and/or the boundary mobile device. For the Java virtual machine, Sun’s JAVA of the space cannot be pre-defined and predictable (Han, SE 1.4.1 was used. For the Pocket PC virtual machine, EVM 1994). from Jeobe was applied. As a platform environment, Hence, in our architecture, we propose service match- Windows XP Professional and Linux-based Red Hat 9.0 making for web services that adopt constraint-based queries. was used. The mobile device operating system (in this case, Because it uses service matchmaking web services, any two PDAs: HP’s iPAQ 2100 and iPAQ 5400) is Microsoft remote systems including NAMA can communicate with Pocket PC 2003. We used a Bluetooth USB dongle with

Table 2 Examples of a need aware list O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 27

Fig. 9. NAMA system architecture. the Bluetooth v1.1 standard (PROMI-USB (Initium)). The Broker invokes that particular service. The invoking results complete NAMA service framework architecture is shown are then sent to the NAMA Controller. The NAMA in Fig. 9. Controller delivers the results to the user agent which When a user enters a Bluetooth service zone, her PDA resides in the PDA, so that the user agent might search for automatically detects any available services that are built-in service rules using the results in the model base available in that current location. If the user has already located in the user’s PDA. If a particular set of service rules activated NAMA, then NAMA automatically connects the exists, then the service is provided according to the service user’s PDA to the Bluetooth service and the user agent (UA) rules. sends the URI of the user’s e-Wallet to NAMA. When NAMA receives the user’s URI, it passes the URI to an 5.1. To do list Information Crawler via the NAMA Controller Information Agent. The e-Wallet Crawler in the Information Crawler To execute NAMA, a user records personal schedule requests the personal resources to the user-related ontology. data, such as due date, category, and description as shown in Next, the Context Crawler provides the user’s personal and Fig. 10, into the PDA’s to-do list. The user may also select contextual data, such as current location, to the NAMA an item to purchase by using the category from the pre- controller. Current time is synchronized to the PDA by an defined category list or by using description that has been Internet time server. Finally, the Information Crawler registered in a personal ontology. Since the category list is acquires the related contextual data about other individuals generated from the to-do list ontology, the list is neither who are within the same service zone via those users’ static nor hard-coded. If a description of items has not been Bluetooth-enabled PDAs, and delivers the data to the registered in the to-do list ontology, the user can directly NAMA controller. The NAMA Controller task agent then input the item into a NAMA-linked PDA, which can call the sends the whole context data to the service matchmaker, user’s online e-Wallet to modify the ontology. Due date which consists of an Information Matchmaker and a Service indicates operable date of reminder system. When the date Broker. A Service Matchmaker compares the provided expires, NAMA considers that the user no longer needs the context with the known user preferences and to-do list to item. identify which available services are matched to the user’s need. If found, the Service Broker will get a search 5.2. Initialization command and then sends a requests to the UDDI to determine if the service exists as a web service. When the Based on preference, the user may always operate request results come into the Service Broker, the Service NAMA in push-based service mode, and operate only 28 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Fig. 12. Example of context awareness.

Fig. 10. Example of to-do list. screen and various context-aware services and process for internal process are loaded and executed. At this time, the when the user needs to use the NAMA service by pull-based user’s to-do list, which has been stored in the PDA, or URL service mode. The initialization function is implemented to information, will be sent to Service Provider. handle the modes as shown in Fig. 11. When a user clicks ‘Turn on need-aware service’, then the push-based service 5.4. Web service discovery mode starts. Ifalltheuser’scontextualdataanduserneedsareavailable, 5.3. NAMA’s context awareness then by the support of a service matchmaking web service, NAMA acquires a service list from the service provider that is When a user executes NAMA through his own PDA, the preferredandexecutablebyuser.Fig.13showsascreenwitha PDA communicates with the Service Provider to deliver the service list that will meet the user’s need. user’s current location as shown in Fig. 12. Once delivered, the current service location is displayed on the PDA’s

Fig. 11. Initialization of screen. Fig. 13. Searched web service list. O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 29

Fig. 16. Web browsing screen. Fig. 14. Selected web service. 5.5. Need aware management An acquired available service list is displayed on the user’s PDA. In this figure, the service consists of context- The user may click on a service in the service list to get aware service such as Shopping and Printer, and basic the service started. For example, if the user selected services such as file transfer and messenger services. If the ‘Shopping Service’ as a web service in Fig. 13, contextual user continuously uses these services, then NAMA data such as time, identity, location, and entity are displayed generates a model that is based on context to provide on the screen as shown in Fig. 14. The contextual data are automated services; in other words, the user does not need to also useful to the reminder service in NAMA. select the service from the list to execute the services.

5.6. Extrinsic context-based reminder service

Based on the selected web service, the reminder system in NAMA autonomously self-triggers to execute the web services negotiation and coordination mechanism to select the best promotion (Kwon & Sadeh, 2004). NAMA makes the promotion selection by evaluating a set of criteria, such

Fig. 15. Final service provided screen. Fig. 17. Sample screen of selected web services. 30 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Fig. 18. Screen shots of service provided by NAMA. as user preference and cost adjustment. Then the results are 5.7. Intrinsic context-based reminder service pushed to the user as a kind of reminder alert. For example, the reminder system may alert the user that a nearby shop In this paper, a URL address and its document are has the red shirt in stock that the user put on his to-do list. As adopted as intrinsic context. NAMA also regards resources shown in Fig. 15, description of a product selected by from a user’s URL contents in a specific location as entity NAMA is indicated. context and provides a service as mentioned in this paper. O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32 31

NAMA is aware of the HTML source code as shown in additional, supplemented context-aware capabilities, Fig. 16. NAMA parses the code and discovers a set of NAMA would eventually develop into the new generation fragments that are related in the user’s to-do list. Such of mobile services such as ubiquitous services. content was observed while the user navigates the websites. For example, if one of the user’s needs is to purchase a used car and NAMA discovers a fragment on ‘car’ in a web document, the reminder system self-triggers to discover References other available web services that match the user’s preference on used car, if any. The results display on the Abowd, G. D. (1999). Software engineering issues for ubiquitous PDA’s web browser as shown in Fig. 17. computing The 21st international conference on software engineering, In summary, Fig. 18 shows the whole example screens of Los Angeles, California (p. 75). Anderson, J. R., & Bower, G. H. (1973). Human associative memory. the reminder service by NAMA, which is running on New York: Wiley. Bluetooth-enabled PDAs. Avila-Rosas, A., Moreau, L., Dialani, V., Miles, S., & Liu, X. (2002). Agents for the grid: A comparison with web services (part II: Service discovery) First international workshop on challenges in open agent 6. Conclusion systems, AAMAS’02, Bolona (pp. 52–56). Blake, M. B. (2002). The business of e-commerce systems: Business models and XML, available from http://www.cs.georgetown.edu/~blakeb/ This paper aims to illustrate how context-aware and Spring2002/COSC545/HTML_Pages/COSC545_Lecture5.pdf agent-based web services can contribute to a personalization Buhler, P. A., & Vidal, J. M. (2002). Towards the synthesis of web services web service. We selected and implemented a reminder and agent behaviors Proceedings of the first international workshop on system as an example service. We applied associative challenges in open agent systems, AAMAS’02, Bolona. theory, in particular, for user need identification. Moreover, Dickinson, A., & Shanks, D. R. (1985). Animal conditioning and human a full-fledged context-aware service is considered: not only causality judgment. In L. G. Nilsson, & T. Archer (Eds.), Perspectives on learning and memory. Hillsdale, NJ: Lawrence Erlbaum. a location-based service but a service that considers time, Dickinson, A., Shanks, D. R., & Evenden, J. L. (1984). Judgment of act- identity, and entity. outcome contingency: The role of selective attribution. Quarterly To reveal the feasibility of the ideas in this paper, we Journal of Experimental Psychology, 36(A), 29–50. proposed an agent-based web service called NAMA, which Fertig, S., Freeman, E., & Gelernter, D. (1996). Finding and reminding runs on the user’s mobile device, such as a PDA. To reconsidered. SIGCHI Bulletin, 28, 66–69. automate the communication of the context server, personal Fu, X., Budzik, J., & Hammond, K. J. (2000). Mining navigation history for recommendation Proceedings of the fifth international conference on resource management system, user agent, and task agent, we Intelligent user interfaces, New Orleans, Louisiana (pp. 106–112). adopted semantic web with ontology. Particularly, to Gerlach, J., & Kuo, F. Y. (1991). Understanding human–computer address users’ privacy concerns, personal resources are interactions for information systems design. MIS Quarterly, 15(4), managed by an e-Wallet web service. 527–549. Even if successfully implemented, the current NAMA Giunchiglia, F., & Bouquet, P. (1988). Introduction to contextual reasoning. implementation has to overcome some limitations. First, as In B. Kokinov, Perspectives on cognitive science (Vol. 3). Sofia: NBU Press. a technological limitation, it is impossible to use NAMA on Han, J. (1994). Constraint-based query evaluation in deductive . a WinCE-based PDA. Since JSR-82 is not so far IEEE Transactions on Knowledge and Data Engineering, 6(1), 96–107. standardized in using a Bluetooth stack, incompatibility He, M., Jennings, N. R., & Leung, H. F. (2004). On agent-mediated issues are sure to arise. To resolve these issues, we would electronic commerce. Available from http://citeseer.nj.nec.com/ need to modify the hardware that controls Bluetooth 567141.html hardware. Second, NAMA’s speed is not quite satisfactory Hill, W., & Hollan, J. (1993). History-enriched digital objects. Proceedings of CFP’93, available from http://www.cpsr.org/dox/conferences/cfp93/ because of the Java components used in the PDA hill-hollan.html implementation, resulting in decreased interface speed. Kintsch, W. (1988). The role of knowledge in discourse comprehension: A Moreover, the system does not guarantee the stability when construction-integration model. Psychological Review, 95(2), 163–182. service is provided through UDDI. The major deficiency Korteum, G., Segall, Z., & Thompson, T. G. C. (1999). Close encounters: was the connection speed. Next, a problematic issue is Supporting mobile collaboration through interchange of user profiles usability. If a user is first time PDA user, then one does not Proceedings of HUC’99 (pp. 171–185). Kuno, H., & Sahai, A. (2002). My agent wants to talk to your service: feel intimacy with the system, and eventually user will not Personalizing web services through agents Proceedings of the first demand for such service. It could have negative influence of international workshop on challenges in open agent systems, Bolona. user acceptance on NAMA-related technology. Kwon, O., & Sadeh, N. (2004). Applying case-based reasoning and multi- Despite some drawbacks, however, the mechanisms agent intelligent system to context-aware comparative shopping. combined in NAMA such as agent, ontology, and context- Decision Support Systems, 37(2), 199–213. aware systems are very applicable for providing services Leahey, T. H. (1994). Associationism. In R. J. Corsini (Ed.), Encyclopedia of psychology2nd ed.. New York: Wiley. that are both personalized and proactive, and can be applied Lee, W. P., & Yang, T. H. (2003). Personalizing information appliances: A to various customer relationship management and other multi-agent framework for TV programme recommendations. Expert standardized customized service programs. Also, with Systems with Applications, 25(3), 331–341. 32 O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Luo, X., Zhang, C., & Leung, H. F. (2001). Information sharing between Schilit, W. N. (1995). System architecture for context aware mobile heterogeneous uncertain reasoning models in a multi-agent environ- computing. PhD thesis, Columbia University. ment: A case study. International Journal of Approximate Reasoning, Shanks, D. R., Holyoak, K. J., & Medin, D. L. (1996). The psychology of 27(1), 27–59. learning and motivation, Vol. 34. San Diego, CA: Academic Press. Marmasse, N. (1999). ComMotion Proceedings of CHI’99 (pp. 320–321). Shardanand, U., & Maes, P. (1995). Social information filtering: McCarthy, C. E., & Pollack, M. E. (2002). A plan-based personalized Algorithms for automating: Word of mouth CHI 1995, Denver, cognitive orthotic Sixth international conference on AI planning and Colorado, Vol. 6 (pp. 210–217). scheduling, April 2002. Sperber, D., & Wislon, D. (1986). Relevance, communication and McKillip, J. (1987). Need analysis: Tools for the human service and cognition. Cambridge, MA: Harvard University Press. education. Applied Social Research Methods Series, 10, 1987. Wang, F. H., & Shao, H. M. (2004). Effective personalized recommen- O’Connor, M., Cosley, D., Konstan, J. A., & Riedl, J. (2001). PolyLens: A dation based on time-framed navigation clustering and association recommender system for groups of user Proceedings of the seventh mining. Expert Systems with Applications, 27(3), 365–377. Want, R., Hopper, A., Falcao, V., & Gibbons, J. (1992). The active European conference on computer supported cooperative work, Bonn, badge location system. ACM Transactions on Information Systems, Germany Prinz (pp. 199–218). 10(1), 91–102. Peters, S., & Shrobe, H. (2003). Using semantic networks for knowledge Want, R., Schilit, B., Adams, N., Gold, R., Petersen, K., Ellis, J., et al. representation in an intelligent environment PerCom 2003: First (1995). The PARCTAB ubiquitous computing experiment, Technical annual IEEE international conference on pervasive computing and Report CSL-95-1, Xerox Palo Alto Research Center. communications, Ft. Worth, TX, USA, March (pp. 323–329). Wasserman, E. A. (1996). Attributionof causality to common and Pollack, M. E., Brown, L., Colbry, D., McCarthy, C. E., Orosz, C., Peintner, distinctive elements of compound stimuli. Psychological Science, 1, S. B., et al. (2003). Autominder: An intelligent cognitive orthotic 298–302. system for people with memory impairment. Robotics and Autonomous Weld, D. S., Anderson, C., Domingos, P., Etzioni, O., Gajos, K., Lau, T., Systems, 44(3/4), 273–282. et al. (2003). Automatically personalizing user interfaces Proceedings Reviere, R., Berkowitz, S., Carter, C. C., & Gergusan, C. G. (1996). Needs of the 18th international joint conference on artificial intelligence, assessment: A creative and practical guide for social scientists. Acapulco, Mexico (pp. 1613–1619). Washington, DC: Taylor & Francis. Witkin, B. R., & Altschuld, J. W. (1995). Planning and conducting needs Schilit, B. N., Adams, N. I., & Want, R. (1994). Context-aware computing assessments: A practical guide. Thousand Oaks, CA: Sage. applications Proceedings of the first international workshop on mobile Young, R. M. (1968). Association of ideas. Available from http://www. computing systems and applications (pp. 85–90). shef.ac.uk/~psysc/staff/rmyoung/papers/paper58h.html