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

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

Expert Systems with Applications 29 (2005) 17–32 www.elsevier.com/locate/eswa NAMA: a context-aware multi-agent based web service approach to proacti...

1MB Sizes 1 Downloads 3 Views

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 b

a School of International Management, Kyunghee University, 449701 YonginSi, South Korea School 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 One of the major issues of intelligent electronic commerce is to develop a need identification system; a personalized reminder system to address user’s needs in the electronic commerce marketplace. Our proposed reminder system differentiates itself from traditional marketing information systems or supply chain management systems in that the reminder system individually interacts with the user to support a more personalized, individual focus, such as helping the user find a specific product. A reminder system, as well as a recommendation system, has been proposed as one of the personalized intelligent systems to support electronic commerce (Lee & Yang, 2003; Wang & Shao, 2004). Therefore, to do so, the user’s preferences on

* Corresponding author. Tel.: C82 31 201 2306; fax: C82 31 204 8114. E-mail address: [email protected] (O. Kwon). 0957-4174/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2005.01.001

product purchases may be applied to a user evaluation system or to discovery mechanisms by data mining (Fu, Budzik, & Hammond, 2000; O’Connor, Cosley, Konstan, & Riedl, 2001; Shardanand & Maes, 1995). An effective personalized mechanism should also include adaptive behavior, allowing the system to change based on implicit user behavior or requests. These changing capabilities are often based on learning capability to adapt user’s purchase behavior (Weld et al., 2003). This personalization may also be useful in the context of mobile services. Users with mobile devices surf the web to perform tasks, such as reading or writing messages, to seek information, or just to pass time. Information seeking in particular becomes an interesting behavior for a reminder system since the behavior is predictable. Proteus and Minpath are personalized tools that support information seeking activities (Anderson & Bower, 1973). Such a system finds information seeking patterns from the past experiences of user interaction, and tries to automatically

18

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

personalize contents of the web page for each separate visitor. Another product, Autominder, applies artificial intelligence techniques such as temporal reasoning and reasoning under uncertainty in planning and performing personalized service. Autominder also uses complicated intrinsic scheduling rules which are difficult to be modified automatically (McCarthy & Pollack, 2002; Pollack et al., 2003). Most of the reminder systems today only provide structured and routine information such as daily schedule information. Moreover, the majority of reminder systems lack flexibility: since they do not today incorporate any user-centric need identification mechanism to adapt automatically to changing conditions. Meanwhile, the end result, of a buyer’s need being met by a purchase, is composed of multiple associated factors resulting from external stimulus called context. These kinds of user purchase behaviors can be explained by associative theory first proposed by David Hartley, and developed by James Mill: every awareness is derived from experience in order to inference specific, simple, but powerful associations. The associative theory, which originates from Aristotle’s philosophy, still has yet been defined as a unified theory (Leahey, 1994; Young, 1968). However, at least, most of the association-related theories have suggested the following four common concepts and principles (Anderson & Bower, 1973): † Association is any ideas or elements of mind that result from experience. † Association is any thoughts that have been derived from the accumulation of simple ideas. † These simple ideas are generated from fundamental and unstructured senses. † The simple and cumulative rules allow one to predict the composite attributes from the fundamental and simple attributes of ideas. In short, associative theory attempts to remodel human awareness by applying superficial experiences and minimal theoretical assumptions. The theory tries to illustrate how a concept is derived from many fragments of ideas, and also is transformed to a general systematical concept such as awareness and reminder (Leahey, 1994). It is also congruent as a kind of ‘hyperlink’ which helps to establish links to different ideas or examples. For example, someone reading an article about a house might realize that he himself would like to buy a house, or that he should talk with a financial planner about his real estate investments. This situation can only be illustrated if we know that the person has strong intrinsic preference to purchase a house and at the same time, that this is the context in which the person is reading such an article. However, present web-based electronic commerce systems do not have any context awareness capability. These limitations drive our research to develop a personalized reminder system that enables purchase by

association, especially within a mobile e-commerce environment. So far, today’s reminder systems are limited, with some important deficiencies. One is that user preferences are not shared or understood by legacy mobile service systems. One of the reasons is that user preferences are hard-coded in the reminder system. These preferences are neither visible nor accessible, which renders the entire system weak in ‘sharability’. Moreover, since current reminder systems depend on a single knowledge storage, if the number of candidate products increases dynamically, it becomes increasingly difficult and expensive to maintain system knowledge. Because of these limitations, this information should be sharable and machine-understandable in the reminder system. To do so, an agent-based semantic web service could be a solution. In semantic web services, user preference information can be managed in machine-understandable and sharable forms. Moreover, very few legacy reminder systems utilize context data for context-aware intelligent reminder services. Only a few adopt a locationbased service. Using diversified context would facilitate a higher number of reminder systems being able to offer interesting context-aware services. Hence, this paper proposes an architecture that applies an agent-based semantic web service that is based on associative theory; we also show how this architecture can be applied to develop a needs-aware reminder system which considers full-fledged context data, including the factors such as time, identity, location, and entity that Abowd (1999) has classified. The need awareness in a mobile setting is supported by identifying user profiles and preferences, collecting user context in real-time, need identification, and providing push-based service. To do so, a personalized user information storage system called ewallet is applied. E-wallet is a web-based agent system that selectively allows visiting agents that are employed by external systems to get users’ private data such as profile, preferences, and individual context. The user’s current location is available via a Bluetooth-based location tracking method, and the URLs she is viewing with her mobile device are adopted as user context. To show the feasibility of this proposed system, we implemented the need-aware reminder system architecture proposed in this paper, NAMA (Need Aware Multi-Agent). NAMA is a semantic web service that is aware of the URL address and the contents that user’s concentration is focused on. It interprets the content as context data and conjectures what the user might want to purchase by correlating public information with the user’s individual personalized concept and knowledge that it has ‘learned’, and it cooperates with a web service matchmaker to help the user purchase a certain product. This paper is organized as follows. A literature review on the existing reminder system, the main concept of this paper, is described in Section 2. In Section 3, we illustrate a theoretical basis on need identification. In Section 4,

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

we explain NAMA, a framework and core structure of mobile reminder system based on association. To show the possibility of the idea proposed in this paper, how the prototype system, NAMA, is implemented and applied to mobile reminder system will be specified in Section 5. The paper finishes with concluding remarks in Section 6.

2. Literature review: reminder system A reminder system is a kind of personalization system that informs its user in advance about things to do. Data produced by reminder systems are categorized into signal and description. Signal is used to remember certain content. An example of an audio-based signal is an alarm clock. A signal can also be visual, such as light projected from the theater or a brief note inserted in doors. A description, on the other hand, indicates some explanation about the things that need to be remembered. For example, a paper to-do list or a hand-written note can be the sources of reminder. Therefore, objects such as paper, e-mail, or a personal information management system can be to some extent called reminder systems. However, Abowd (1999) proposed that an ideal reminder system should have the following abilities: † Proactively provides a variety of contextual data, which includes time and location information. † Accepts input from the user or a third person about things to be reminded of. † Creates reminder contents from a variety of input devices. † Allows the user to receive suitable reminder contents with any devices. † Accepts and uses all signal and description types of contents. † Displays the full list of available reminder systems to the user. Legacy reminder systems do not satisfy all these functions mainly because they cannot collect contextual data that are useful or necessary to operate the reminder service. Hence, reminder systems need to adopt context awareness ability. PLACE, Personal Location Agents for Communicating Entities, is a platform that provides user reminder content along with detailed information, using precise and diversified location information. To do so, PLACE includes a feature to share user location context, which allows PLACE to create and share semantic information about the user through a common language; PLACE, in turn, communicates with its users through location tracking sensors. To do so, PLACE proposes a customized relation-map, which is used to represent location-based semantics. Another system, PLA, Personal Location Agent, is a reminder system that provides location information to transmit and receive source of all contents by operating a sort of sensors

19

Peters and Shrobe, 200 (Peters & Shrobe, 2003). Footprints is a prototype system that allows user to visualize traces of past browsed URL so that complicated websites maybe viewable on a small-screen PDA. Footprints can remind as ‘You are here at this moment’. 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 Service. These systems help users utilize the past history of coordination by remembering the users’ history (Hill & Hollan, 1993). These prototype systems aim to alter the traditional ways of the user’s document-processing tasks such as writing, editing source code, and e-mail handling. Lifestreams is a time-aware reminder system that was applied to organizing documents by replacing historical files and folder structure (Fertig, Freeman, & Gelernter, 1996). Similar to this, ComMotion is a location-based reminder system project as Lifestreams (Marmasse, 1999). Poem is a wearable system that supports the profile-based cooperations (Korteum, Segall, & Thompson, 1999). By using Poem, users can manage user-made rules on the level of interest about other people. If a person approaches a user who is wearing Poem, then the person’s profile is captured and compared with one’s profile to inform the user whether the approaching person has similar interests. However, these interests are limited in static categories such as name and behavior. Therefore, Poem does not support dynamic context such as a to-do list. CyberMinder is a Java-based system to produce reminder contents and delivery by applying contextual data such as time, location, and the other person’s information. However, CyberMinder has some limitations. First, because of deficiency in semantics, it does not include an intelligent interface. Second, since user preferences are not shared, a distributed and cooperative reminder system cannot be supported—which assumes that one closed system will to provide all services, which makes actual implementation very difficult. Third, since the user must manually input the requested service times one by one, it is cumbersome. Lastly, since the system does not detect dynamic context, user preferences that changes dynamically cannot be considered.

3. Need identification reminder system 3.1. Purchase need identification ‘Need’ is defined as a sort of internal state; to do something particular Need is also a gap between what ‘is’ and what ‘should be’ (Witkin & Altschuld, 1995). Reviere mentioned need as a gap between actual and ideal identified as community value (Reviere, Berkowitz, Carter, & Gergusan, 1996). On the other hand, McKillip (1987) 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

Fig. 1. Customer buying behavior (CBB) model.

be explained by a current condition, wants and its difference. Need awareness originates from recognizing unfulfilled needs. CBB (Consumer Buying Behavior) is a well-known customer model, which includes need identification as a main component. The CBB model proposed by He, Jennings, and Leung (2004) is shown in Fig. 1. Need identification is the first step of B2C procedure that enables online customers to buy goods from the e-marketplace (Blake, 2002). Since need identification is related to the customer’s purchase behavior, it focuses more on predicting the future and what will be done, rather than what has been done. This results in the difficulties of deriving user need from one’s past behavior. 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 procedures: awareness of current condition, awareness of wants, and awareness of content; and the size of the gap between them. Awareness of the size of the gap may also cause a sort of tension to drive the need fulfillment. These procedures are shown in Fig. 2.

Fig. 2. Need identification process.

Associative theory has traditionally been considered as an important approach to observing causality in developmental 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 strength of association would be lower. These concepts are derived from classical conditioning. Meanwhile, according to Rescorla-Wagner’s model, the social learning approach to discovering causality assumes the operations of association principle and contextual principle. That is to say, the model suggests that the strength of association (V) is determined by conditional stimulus by associative principle and unconditional stimulus by contextual principle. In addition, the change of the strength of association (DV) consists of the strength of conditional stimulus (a), the strength of unconditional stimulus (b), and the differences between the strength of association of unconditional stimulus (l) and the strength of overall association. (VT) as follows: DV Z abðl K VT Þ Rescorla-Wagner’s model has important implications on need identification. First, a buyer feels the intention to purchase not only through the tensions of product information that are provided, but also by the contextual stimulus that is unconditionally provided. Second, these two kinds of stimuli have their own strength levels, which also 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 constructed based on associative theory. Based on

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

associative theory, a user agent has been constructed based on the following principles: † The strength of the association is determined by predefined user preferences and to do lists. † As an unconditional stimulus, the user’s context data that is gathered at the point of purchase affects association. This paper selects the user’s location, schedule, and current URL content as sources of user context. † Even if the purchase-related stimulus is not directly given, content that is indirectly related could be used as a conditional stimulus that makes the association possible. Therefore, the need awareness agent acting on the user’s behalf that we propose in this paper aims to autonomously make decisions on predicting the user’s association behavior and provide a mobile service in a timely manner by learning the user’s association mechanism from the data such as user profile, user preferences, and to-do list, as well as the user context data stated above.

21

Purchase by association needs to be supported by an intelligent system that supports dynamic hyperlinking of purchase patterns based on user preferences. User preferences must be machine-understandable and be selectively shared as public resources. In this paper, user profile and preference are represented as ontology, and with the user’s permission, it can be shared in the secure web space. These personal resources need to be seen by the seller agents. However, because of privacy concerns, the personal resources will be limited to show personal intentions publicly as those revere auction. Addressing users’ privacy concerns on sharing personal resources will be taken care of in further research. In this paper, strong push and weak push service methods are applied based on the strength of association. Strong push autonomously pops up a separate window to display a website that sells an item that the user is interested in; in a weak push system, dynamic hyperlinks appear in the user’s web page to be unobtrusive. 4. NAMA

3.3. User interface issue in need awareness User interface is an important issue because need awareness can be understood as the relationship between a particular user, and the agent on behalf of the user. Fig. 3 shows Gerlach and Kuo’s (1991) man–machine interface model. In the model, motivation on human actions is determined by the difference between the current state and the goal state. However, the model fails to depict how user context affects his/her behavior.

Fig. 3. Gerlach and Kuo’s model.

This paper proposes a methodology called NAMA; a reminder system based on need awareness which has its foundations in associative theory. NAMA is a agent-based semantic web service that is aware of a user’s needs when one is looking at web documents for the purpose of B2C or B2B commerce. Fig. 4 shows the whole process, which is an expansion of Gerlach and Kuo’s model in Fig. 3. In NAMA, a user allows an agent to reside on his mobile device; the agent continuously checks the contents in the 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 todo 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 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 postulates that no matter what the user sees, such content— consciously or unconsciously, strong or weak, directly or indirectly—the user to some extent will be associated with the intention to purchase. When the user’s internal or external context is observed, the user agent in NAMA visits the web service directory to provide information about goods in the user’s to-do list. If found, then NAMA invokes the web service to display the results on the user’s screen through user authentication. 4.1. Ontology Ontology is the core of semantic web computing. Ontology allows NAMA components to understand what a particular item means in reality and it also uses inherited or attribute resources, to let the user know richer meanings than the item itself. In this paper, the ontology used in NAMA is categorized as both a public and a private ontology. Public ontology exists in the form of URI, and it allows the NAMA components to deal with personal information without user authentication because of privacy concern. On the other hand, a private ontology contains data that should not be shared with external entities, such as NAMA components, unless the data are authorized to be accessible. User profile, preference, and schedules belong to this category. Accessing a private ontology must be authorized on behalf of security control structure beforehand. An example of ontology on user’s personal profile can be structured as follows:

Personal profile (image, name, salary, job title, email, has_car, has_house, has_computer, etc.) Student Staff Faculty Preferences Building (rental, own, price, address, etc.) House Apartment Mansion Plant Car (category, model, price, has_4wd, has_air, has_auto, safety_level, etc.) Used Car (mileage, dealer, owner, etc.) New Car Electronics Computer (model, price, RAM, hard, has_cd, speed, etc.) PC Laptop TV (model, size, resolution, has_TFT, price, etc.) Fig. 5 indicates a simple ontology structure based on user preferences. The structure can be easily transformed into a specific ontology language format such as OWL or DAMLCOIL using sophisticated editing tools such as OilEd and Prote´ge´-2000. An e-wallet web service, in this paper, manages the following ontology: † user profile, † user preference, and † 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.

Fig. 5. An example of user preference ontology.

4.2. Context awareness Context can be largely divided into external context and internal context. External context means social or physical environment that can have an impact on certain behavior. Internal context means psychological context that does not appear externally (Giunchiglia & Bouquet, 1988; Kintsch, 1988; Sperber & Wislon, 1986). Internal context can be acquired by inferencing user’s behavior and external context. Among those, NAMA is based on external context to approach context awareness. NAMA adopts Bluetooth technology for location tracking, and a semantic web approach such as location ontology for deriving richer location meaning. When a user’s NAMA-embedded mobile device is in a service zone where Bluetooth is active, the user’s PDA can communicate to a Bluetooth Service Provider Machine which provides location context data contained in hardware. Most of the legacy context-aware services depend simply on locations and provide location-based service (Schilit, Adams, & Want, 1994; Schilit, 1995; Want, Hopper, Falcao, & Gibbons, 1992; Want et al., 1995). To overcome this limitation, NAMA aims to use four kinds of context called TILE (Time–Identity–Location–Entity) that Abowd (1991) has classified before as follows. 4.2.1. Time Time context can be acquired when a mobile device such as a PDA or a Bluetooth Service Provider Machine communicates with each other for synchronized service. In case of a PDA, since it cannot be continuously operable or connected to the Internet because of its battery power and user dependence and negligence of user; hence an Internet time server is not always available to synchronize the time. Therefore, the Bluetooth Service Provider Machine must be continuously synchronized with an Internet time server. Then, whenever the user’s PDA communicates with

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. 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 example, items to be purchased or to be seen will be different when a user goes shopping with his friend or with his family. 4.2.3. Location Bluetooth machines store location-based user information as a form of ontology. A context web service can then parse that location ontology to acquire the user’s current location, which also includes which hardware has been detected. A detailed technical explanation of configuring these Bluetooth settings and other Bluetooth techniques is not addressed in this paper. Using location information is one of the fundamental activities of NAMA; this location data is often combined with other user context to derive internal context rather than directly used as its own. 4.2.4. Entities Entity context is the data of sensed objects that Bluetooth hardware detects in the vicinity of the user’s current location. At the location where a Bluetooth connection device exists, object information is stored into a form of ontology. The Bluetooth machine acquires the user’s context when the user’s PDA is within range. Entity context can be widely used in many diversified areas. For example, when a user approaches a service zone and when an item is included in the user’s to-do list, NAMA dynamically understands the user’s context and to-do list; within this framework, NAMA can then acquire information for certain items on the user’s to-do list and provide product information to the user. The external context, TILE, can be to some extent used to infer internal context by linking with user’s need. Current external context and user defined needs are compared to provide or remind the services that user may want. For example when a user’s current need is to purchase a suit, 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, then a user profile and preference in e-wallet will be considered to provide an advertisement of chosen item, suitable for that user. Such an internal context can provide more personalized service based on individual rule base. Fig. 6 shows a Bluetooth connecting hardware’s access location and its ontology information edited by Prote´ge´-2000. 4.3. Need aware user agent To automatically identify the user’s current need, NAMA uses a specific agent on the user’s behalf. This need aware user agent has the following capabilities: † Context-aware capability. Be automatically aware of the user’s current situation in an unobtrusive way. † Interoperability. User’s personal resources need to be both explored and acquired to grasp the user’s public preferences; respective agents invoke the other using a standardized protocol. † Need identification capability. Determine which service should be conducted on the user’s behalf by combining acquired need and current context data and then transparently communicating with related web services. One of the main features of the need aware user agent is to transform a normal URL into a proactive URL by

dynamically combining the URL with user preference and context as shown in Fig. 7. The left screen of Fig. 7 indicates a general URL. Hyperlinks included in the URL are statically constructed beforehand for an untargeted audience. Therefore, some of the hyperlinks may not be useful to a particular user and to some extent what the user really want to hyperlink would be 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 user preferences, we can then generate hyperlinks according to those preferences, and then add the tailored links to the current simple URL as static hyperlinks. Second, if the user’s browsing history is available, we can use that data to learn about the user’s navigation pattern; from this, then, additional hyperlinks are generated by linking a pair of frequently visited web pages. However, these methods are determined by decision-making based on the current URL; therefore, if the URL’s contents continuously change, then more customized hyperlinking is almost impossible. Moreover, a user’s hyperlinking preference can be changed according to the activity and location. To address these situations, context awareness is crucial to discover which URL address the user is viewing and even what content user is looking at. Such a context will not be concentrated but distributed in a variety of sensors. Therefore, the existence and usage of ontology, which contributes to understanding the user’s preferences and user’s context, should

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

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). Table 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 implementation (Avila-Rosas, Moreau, Dialani, Miles, & Liu, 2002; Buhler & Vidal, 2002).

Fig. 8. (a,b) Example of a homepage.

25

26

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

Table 1 Example objects found in Fig. 8(a) and (b) URL

Browsed object

http://xxx.com

Weather, Christmas, Snow, Rockies, Great Lakes, etc. Fire, Christmas, Apartment, Homeless, etc.

http://yyy.com

Service ‘matchmaking’ is important in such web service environment. A web service matchmaker chooses web services by applying at least two matchmaking techniques: exact query and constraint-based query. A constraint-based query is typically more efficient than a simple exact query, since it quickly narrows the search space by applying constraints that come from the user and/or the user agent, and then conducts an exact match. The constraint-based query is useful in cases where scalability is stressed, either because the search space is very large and/or the boundary of the space cannot be pre-defined and predictable (Han, 1994). Hence, in our architecture, we propose service matchmaking for web services that adopt constraint-based queries. Because it uses service matchmaking web services, any remote systems including NAMA can communicate with Table 2 Examples of a need aware list

the service matchmaking web service with simple yet powerful interaction.

5. Implementation 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 semantic web technologies to enhance context through user location tracking. To control the JSR-82 of Bluetooth, we use a JCP Linux-based Bluetooth controller API from Rococosoft Company, Impronto DK for Linux v1.1, the Windows operating system for the Pocket PC, and Atinav Company’s aveLink Bluetooth Protocol Stack and SDK. To create the ontology, we used Prote´ge´-2000; this was managed by an e-wallet web service using JENA 2.0 API. Pointbase was used to as the database running on the user’s mobile device. For the Java virtual machine, Sun’s JAVA SE 1.4.1 was used. For the Pocket PC virtual machine, EVM from Jeobe was applied. As a platform environment, Windows XP Professional and Linux-based Red Hat 9.0 was used. The mobile device operating system (in this case, two PDAs: HP’s iPAQ 2100 and iPAQ 5400) is Microsoft Pocket PC 2003. We used a Bluetooth USB dongle with

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 complete NAMA service framework architecture is shown in Fig. 9. When a user enters a Bluetooth service zone, her PDA automatically detects any available services that are available in that current location. If the user has already activated NAMA, then NAMA automatically connects the user’s PDA to the Bluetooth service and the user agent (UA) sends the URI of the user’s e-Wallet to NAMA. When NAMA receives the user’s URI, it passes the URI to an Information Crawler via the NAMA Controller Information Agent. The e-Wallet Crawler in the Information Crawler requests the personal resources to the user-related ontology. Next, the Context Crawler provides the user’s personal and contextual data, such as current location, to the NAMA controller. Current time is synchronized to the PDA by an Internet time server. Finally, the Information Crawler acquires the related contextual data about other individuals who are within the same service zone via those users’ Bluetooth-enabled PDAs, and delivers the data to the NAMA controller. The NAMA Controller task agent then sends the whole context data to the service matchmaker, which consists of an Information Matchmaker and a Service Broker. A Service Matchmaker compares the provided context with the known user preferences and to-do list to identify which available services are matched to the user’s need. If found, the Service Broker will get a search command and then sends a requests to the UDDI to determine if the service exists as a web service. When the request results come into the Service Broker, the Service

Broker invokes that particular service. The invoking results are then sent to the NAMA Controller. The NAMA Controller delivers the results to the user agent which resides in the PDA, so that the user agent might search for built-in service rules using the results in the model base located in the user’s PDA. If a particular set of service rules exists, then the service is provided according to the service rules. 5.1. To do list To execute NAMA, a user records personal schedule data, such as due date, category, and description as shown in Fig. 10, into the PDA’s to-do list. The user may also select an item to purchase by using the category from the predefined category list or by using description that has been registered in a personal ontology. Since the category list is generated from the to-do list ontology, the list is neither static nor hard-coded. If a description of items has not been registered in the to-do list ontology, the user can directly input the item into a NAMA-linked PDA, which can call the user’s online e-Wallet to modify the ontology. Due date indicates operable date of reminder system. When the date expires, NAMA considers that the user no longer needs the item. 5.2. Initialization Based on preference, the user may always operate 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.

when the user needs to use the NAMA service by pull-based service mode. The initialization function is implemented to handle the modes as shown in Fig. 11. When a user clicks ‘Turn on need-aware service’, then the push-based service mode starts. 5.3. NAMA’s context awareness When a user executes NAMA through his own PDA, the PDA communicates with the Service Provider to deliver the 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.

screen and various context-aware services and process for internal process are loaded and executed. At this time, the user’s to-do list, which has been stored in the PDA, or URL information, will be sent to Service Provider. 5.4. Web service discovery If all the user’s contextual data and user needs are available, then by the support of a service matchmaking web service, NAMA acquires a service list from the service provider that is preferred and executable by user. Fig. 13 shows a screen with a service list that will meet the user’s need.

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.

An acquired available service list is displayed on the user’s PDA. In this figure, the service consists of contextaware service such as Shopping and Printer, and basic services such as file transfer and messenger services. If the user continuously uses these services, then NAMA generates a model that is based on context to provide automated services; in other words, the user does not need to select the service from the list to execute the services.

5.5. Need aware management The user may click on a service in the service list to get the service started. For example, if the user selected ‘Shopping Service’ as a web service in Fig. 13, contextual data such as time, identity, location, and entity are displayed on the screen as shown in Fig. 14. The contextual data are also useful to the reminder service in NAMA. 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 pushed to the user as a kind of reminder alert. For example, the reminder system may alert the user that a nearby shop has the red shirt in stock that the user put on his to-do list. As shown in Fig. 15, description of a product selected by NAMA is indicated.

5.7. Intrinsic context-based reminder service In this paper, a URL address and its document are adopted as intrinsic context. NAMA also regards resources from a user’s URL contents in a specific location as entity context and provides a service as mentioned in this paper.

O. Kwon et al. / Expert Systems with Applications 29 (2005) 17–32

NAMA is aware of the HTML source code as shown in Fig. 16. NAMA parses the code and discovers a set of fragments that are related in the user’s to-do list. Such 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 other available web services that match the user’s preference on used car, if any. The results display on the PDA’s web browser as shown in Fig. 17. In summary, Fig. 18 shows the whole example screens of the reminder service by NAMA, which is running on Bluetooth-enabled PDAs.

6. Conclusion This paper aims to illustrate how context-aware and agent-based web services can contribute to a personalization web service. We selected and implemented a reminder system as an example service. We applied associative theory, in particular, for user need identification. Moreover, a full-fledged context-aware service is considered: not only a location-based service but a service that considers time, identity, and entity. To reveal the feasibility of the ideas in this paper, we proposed an agent-based web service called NAMA, which runs on the user’s mobile device, such as a PDA. To automate the communication of the context server, personal resource management system, user agent, and task agent, we adopted semantic web with ontology. Particularly, to address users’ privacy concerns, personal resources are managed by an e-Wallet web service. Even if successfully implemented, the current NAMA implementation has to overcome some limitations. First, as a technological limitation, it is impossible to use NAMA on a WinCE-based PDA. Since JSR-82 is not so far standardized in using a Bluetooth stack, incompatibility issues are sure to arise. To resolve these issues, we would need to modify the hardware that controls Bluetooth hardware. Second, NAMA’s speed is not quite satisfactory because of the Java components used in the PDA implementation, resulting in decreased interface speed. Moreover, the system does not guarantee the stability when service is provided through UDDI. The major deficiency was the connection speed. Next, a problematic issue is usability. If a user is first time PDA user, then one does not feel intimacy with the system, and eventually user will not demand for such service. It could have negative influence of user acceptance on NAMA-related technology. Despite some drawbacks, however, the mechanisms combined in NAMA such as agent, ontology, and contextaware systems are very applicable for providing services that are both personalized and proactive, and can be applied to various customer relationship management and other standardized customized service programs. Also, with

31

additional, supplemented context-aware capabilities, NAMA would eventually develop into the new generation of mobile services such as ubiquitous services.

References Abowd, G. D. (1999). Software engineering issues for ubiquitous computing The 21st international conference on software engineering, Los Angeles, California (p. 75). Anderson, J. R., & Bower, G. H. (1973). Human associative memory. New York: Wiley. 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 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/ Spring2002/COSC545/HTML_Pages/COSC545_Lecture5.pdf Buhler, P. A., & Vidal, J. M. (2002). Towards the synthesis of web services and agent behaviors Proceedings of the first international workshop on challenges in open agent systems, AAMAS’02, Bolona. Dickinson, A., & Shanks, D. R. (1985). Animal conditioning and human causality judgment. In L. G. Nilsson, & T. Archer (Eds.), Perspectives on learning and memory. Hillsdale, NJ: Lawrence Erlbaum. Dickinson, A., Shanks, D. R., & Evenden, J. L. (1984). Judgment of actoutcome contingency: The role of selective attribution. Quarterly Journal of Experimental Psychology, 36(A), 29–50. Fertig, S., Freeman, E., & Gelernter, D. (1996). Finding and reminding reconsidered. SIGCHI Bulletin, 28, 66–69. Fu, X., Budzik, J., & Hammond, K. J. (2000). Mining navigation history for recommendation Proceedings of the fifth international conference on Intelligent user interfaces, New Orleans, Louisiana (pp. 106–112). Gerlach, J., & Kuo, F. Y. (1991). Understanding human–computer interactions for information systems design. MIS Quarterly, 15(4), 527–549. Giunchiglia, F., & Bouquet, P. (1988). Introduction to contextual reasoning. In B. Kokinov, Perspectives on cognitive science (Vol. 3). Sofia: NBU Press. Han, J. (1994). Constraint-based query evaluation in deductive databases. IEEE Transactions on Knowledge and Data Engineering, 6(1), 96–107. He, M., Jennings, N. R., & Leung, H. F. (2004). On agent-mediated electronic commerce. Available from http://citeseer.nj.nec.com/ 567141.html Hill, W., & Hollan, J. (1993). History-enriched digital objects. Proceedings of CFP’93, available from http://www.cpsr.org/dox/conferences/cfp93/ hill-hollan.html Kintsch, W. (1988). The role of knowledge in discourse comprehension: A construction-integration model. Psychological Review, 95(2), 163–182. Korteum, G., Segall, Z., & Thompson, T. G. C. (1999). Close encounters: Supporting mobile collaboration through interchange of user profiles Proceedings of HUC’99 (pp. 171–185). Kuno, H., & Sahai, A. (2002). My agent wants to talk to your service: Personalizing web services through agents Proceedings of the first international workshop on challenges in open agent systems, Bolona. Kwon, O., & Sadeh, N. (2004). Applying case-based reasoning and multiagent intelligent system to context-aware comparative shopping. Decision Support Systems, 37(2), 199–213. Leahey, T. H. (1994). Associationism. In R. J. Corsini (Ed.), Encyclopedia of psychology2nd ed.. New York: Wiley. Lee, W. P., & Yang, T. H. (2003). Personalizing information appliances: A multi-agent framework for TV programme recommendations. Expert 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 heterogeneous uncertain reasoning models in a multi-agent environment: A case study. International Journal of Approximate Reasoning, 27(1), 27–59. Marmasse, N. (1999). ComMotion Proceedings of CHI’99 (pp. 320–321). McCarthy, C. E., & Pollack, M. E. (2002). A plan-based personalized cognitive orthotic Sixth international conference on AI planning and scheduling, April 2002. McKillip, J. (1987). Need analysis: Tools for the human service and education. Applied Social Research Methods Series, 10, 1987. O’Connor, M., Cosley, D., Konstan, J. A., & Riedl, J. (2001). PolyLens: A recommender system for groups of user Proceedings of the seventh European conference on computer supported cooperative work, Bonn, Germany Prinz (pp. 199–218). Peters, S., & Shrobe, H. (2003). Using semantic networks for knowledge representation in an intelligent environment PerCom 2003: First annual IEEE international conference on pervasive computing and communications, Ft. Worth, TX, USA, March (pp. 323–329). Pollack, M. E., Brown, L., Colbry, D., McCarthy, C. E., Orosz, C., Peintner, S. B., et al. (2003). Autominder: An intelligent cognitive orthotic system for people with memory impairment. Robotics and Autonomous Systems, 44(3/4), 273–282. Reviere, R., Berkowitz, S., Carter, C. C., & Gergusan, C. G. (1996). Needs assessment: A creative and practical guide for social scientists. Washington, DC: Taylor & Francis. Schilit, B. N., Adams, N. I., & Want, R. (1994). Context-aware computing applications Proceedings of the first international workshop on mobile computing systems and applications (pp. 85–90).

Schilit, W. N. (1995). System architecture for context aware mobile computing. PhD thesis, Columbia University. Shanks, D. R., Holyoak, K. J., & Medin, D. L. (1996). The psychology of learning and motivation, Vol. 34. San Diego, CA: Academic Press. Shardanand, U., & Maes, P. (1995). Social information filtering: Algorithms for automating: Word of mouth CHI 1995, Denver, Colorado, Vol. 6 (pp. 210–217). Sperber, D., & Wislon, D. (1986). Relevance, communication and cognition. Cambridge, MA: Harvard University Press. Wang, F. H., & Shao, H. M. (2004). Effective personalized recommendation based on time-framed navigation clustering and association mining. Expert Systems with Applications, 27(3), 365–377. Want, R., Hopper, A., Falcao, V., & Gibbons, J. (1992). The active badge location system. ACM Transactions on Information Systems, 10(1), 91–102. Want, R., Schilit, B., Adams, N., Gold, R., Petersen, K., Ellis, J., et al. (1995). The PARCTAB ubiquitous computing experiment, Technical Report CSL-95-1, Xerox Palo Alto Research Center. Wasserman, E. A. (1996). Attributionof causality to common and distinctive elements of compound stimuli. Psychological Science, 1, 298–302. Weld, D. S., Anderson, C., Domingos, P., Etzioni, O., Gajos, K., Lau, T., et al. (2003). Automatically personalizing user interfaces Proceedings of the 18th international joint conference on artificial intelligence, Acapulco, Mexico (pp. 1613–1619). Witkin, B. R., & Altschuld, J. W. (1995). Planning and conducting needs assessments: A practical guide. Thousand Oaks, CA: Sage. Young, R. M. (1968). Association of ideas. Available from http://www. shef.ac.uk/~psysc/staff/rmyoung/papers/paper58h.html