adaptive assistants for customized e-shopping

8
12 1094-7167/02/$17.00 © 2002 IEEE IEEE INTELLIGENT SYSTEMS I n f o r m a t i o n C u s t o m i z a t i o n Adaptive Assistants for Customized E-Shopping Filippo Menczer and W. Nick Street, University of Iowa Alvaro E. Monge, California State University, Long Beach E -commerce has changed the way companies distribute their products and services to consumers. Traditional brick-and-mortar companies continue growing the online segment of the economy by establishing e-commerce presences. E-commerce helps them expand their markets and reduce their costs. Internet shopping also presents consumer benefits such as convenience and low prices. But such benefits are partly offset by a new cost—the time and frustration required to sift through infor- mation on innumerable vendor sites and to learn how to submit and manage orders. These tasks are diffi- cult because the type, amount, and organization of information differ from vendor to vendor. Compli- cating matters, customers are unaware of changes in pricing, availability, and so on unless they visit the same sites frequently, removing a potential advan- tage of online stores over traditional ones. Can intel- ligent agents improve the e-shopping experience? Currently, online shoppers can adopt a number of strategies when looking for a product. The most straightforward approach is to visit various vendor sites; for each site, the shopper browses or searches for a particular product. This simple approach has several drawbacks. First, because no single site caters to all shopping needs, the user’s search time increases for each new product category. Second, getting acquainted with individual nonstandard vendor inter- faces slows browsing and hinders impulse shopping. Third, this approach likely favors only the largest vendors (owing to name-branding), which reduces the market’s efficiency by providing fewer compet- itive choices to consumers. Several services let shoppers sign up to receive price alerts that notify them when a product’s price changes or falls below a specified amount. Some of these services require shoppers to fill out lengthy sur- veys, yet most of the sites offer little or no cus- tomization. This shopping approach also weakens user privacy. Another solution involves compilation of voluntary user ratings and reviews of vendors and products. 1 Such recommendation systems might reduce the mar- ketplace’s size and introduce bias, because obtaining a sufficient number of ratings for every vendor and controlling the sources’ reliability are difficult. Another alternative further automates and gener- alizes the search. 2,3 As early as 1995, researchers pro- posed comparison-shopping agents (also known as shopping bots) as a solution for finding products under the best terms (price was typically the most important feature) among vendor sites. A shopping agent queries multiple sites on behalf of a shopper to gather pricing and other information on products and services. Most comparison-shopping agents, how- ever, present a marketplace that is biased in favor of the vendor sites that collaborate with (pay fees to) the shopping agent. In addition, a shopper has only a lim- ited number of vendor sites to choose from, and often the participating sites do not offer the best prices. (For more on shopping agents, see the related sidebar.) Intelligent customization techniques can greatly improve the accessibility and consumer benefits of e-shopping by creating a personalized (and thus more efficient) marketplace. We designed and built Intelli- Shopper, a new type of shopping agent that can pro- vide customers with adaptive and customized shop- ping assistance. IntelliShopper learns users’ personal preferences and autonomously shops on their behalf while protecting their privacy. Goals We developed IntelliShopper as an intelligent Shopping bots today are biased toward vendors who pay to be listed. To make user- centered business models viable, we developed IntelliShopper, which learns shoppers’ individual preferences and autonomously monitors vendor sites for items matching those preferences.

Upload: others

Post on 25-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adaptive Assistants for Customized E-Shopping

12 1094-7167/02/$17.00 © 2002 IEEE IEEE INTELLIGENT SYSTEMS

I n f o r m a t i o n C u s t o m i z a t i o n

Adaptive Assistants forCustomized E-ShoppingFilippo Menczer and W. Nick Street, University of Iowa

Alvaro E. Monge, California State University, Long Beach

E -commerce has changed the way companies distribute their products and services

to consumers. Traditional brick-and-mortar companies continue growing the online

segment of the economy by establishing e-commerce presences. E-commerce helps them

expand their markets and reduce their costs. Internet shopping also presents consumer

benefits such as convenience and low prices. Butsuch benefits are partly offset by a new cost—thetime and frustration required to sift through infor-mation on innumerable vendor sites and to learn howto submit and manage orders. These tasks are diffi-cult because the type, amount, and organization ofinformation differ from vendor to vendor. Compli-cating matters, customers are unaware of changes inpricing, availability, and so on unless they visit thesame sites frequently, removing a potential advan-tage of online stores over traditional ones. Can intel-ligent agents improve the e-shopping experience?

Currently, online shoppers can adopt a number ofstrategies when looking for a product. The moststraightforward approach is to visit various vendorsites; for each site, the shopper browses or searchesfor a particular product. This simple approach hasseveral drawbacks. First, because no single site catersto all shopping needs, the user’s search time increasesfor each new product category. Second, gettingacquainted with individual nonstandard vendor inter-faces slows browsing and hinders impulse shopping.Third, this approach likely favors only the largestvendors (owing to name-branding), which reducesthe market’s efficiency by providing fewer compet-itive choices to consumers.

Several services let shoppers sign up to receiveprice alerts that notify them when a product’s pricechanges or falls below a specified amount. Some ofthese services require shoppers to fill out lengthy sur-veys, yet most of the sites offer little or no cus-tomization. This shopping approach also weakensuser privacy.

Another solution involves compilation of voluntaryuser ratings and reviews of vendors and products.1

Such recommendation systems might reduce the mar-ketplace’s size and introduce bias, because obtaininga sufficient number of ratings for every vendor andcontrolling the sources’ reliability are difficult.

Another alternative further automates and gener-alizes the search.2,3 As early as 1995, researchers pro-posed comparison-shopping agents (also known asshopping bots) as a solution for finding productsunder the best terms (price was typically the mostimportant feature) among vendor sites. A shoppingagent queries multiple sites on behalf of a shopper togather pricing and other information on products andservices. Most comparison-shopping agents, how-ever, present a marketplace that is biased in favor ofthe vendor sites that collaborate with (pay fees to) theshopping agent. In addition, a shopper has only a lim-ited number of vendor sites to choose from, and oftenthe participating sites do not offer the best prices. (Formore on shopping agents, see the related sidebar.)

Intelligent customization techniques can greatlyimprove the accessibility and consumer benefits ofe-shopping by creating a personalized (and thus moreefficient) marketplace. We designed and built Intelli-Shopper, a new type of shopping agent that can pro-vide customers with adaptive and customized shop-ping assistance. IntelliShopper learns users’personalpreferences and autonomously shops on their behalfwhile protecting their privacy.

GoalsWe developed IntelliShopper as an intelligent

Shopping bots today

are biased toward

vendors who pay to be

listed. To make user-

centered business

models viable, we

developed

IntelliShopper, which

learns shoppers’

individual preferences

and autonomously

monitors vendor sites

for items matching

those preferences.

Page 2: Adaptive Assistants for Customized E-Shopping

agent that could provide real shoppers withreal assistance. We had three design goals.

First, the shopping assistant should cus-tomize its behavior adaptively by learningeach user’s preferences. The shopping assis-tant can achieve this personalization byobserving a user’s shopping actions. When auser considers the items available at Internetshopping sites, he or she indirectly providesfeedback by browsing. The agent can inferuser preferences from this feedback andapply that knowledge to take initiative onfuture searches and to predict when an itemmight interest a user. Adaptive customizationmeans that the shopping assistant should beable to track and cover each user’s dynamicand diverse shopping behaviors.

Second, the shopping assistant should pro-vide the best possible service by remaining asindependent (autonomous) as possible fromboth customers and vendors. Independence

from vendors ensures that the service re-mains unbiased by performing wide searches(instead of searching only the databases of“partner” vendors). Such autonomy resultsfrom more-uniform interfaces and improvedmethods for interpreting potential hits. Inde-pendence from the customer means that theshopping assistant proactively monitors ven-dor sites on the user’s behalf, notifying theuser of products that might interest him orher. This autonomy relieves users of te-diously searching for information and adjust-ing to different vendor sites.

Third, the shopping assistant should pro-tect the shoppers’privacy by concealing theiridentities and behavior from vendors and fromthe shopping assistant itself. However, this pri-vacy would be revoked if users abuse it.

We first discussed these goals in the con-text of an early model and prototype of Intelli-Shopper.4 Here we describe a more advanced

model and implementation, which has bene-fited from many lessons learned through theearly prototype. We focus on how Intelli-Shopper presents shoppers with new informa-tion, customized on the basis of heterogeneousand dynamic profiles that the agent learns byobserving users’online shopping behavior.

IntelliShopper architectureThe current IntelliShopper prototype

resides at http://myspiders.biz.uiowa.edu/~fil/intellishopper. Figure 1 illustrates Intelli-Shopper’s logic and high-level architecture.

The following numbers (see Figure 1) indi-cate the sequence of shopping-assistanceactivities:

1. The user creates an account and one ormore personae.

2. The user takes on a persona.3. The persona initiates a shopping ses-

NOVEMBER/DECEMBER 2002 computer.org/intelligent 13

Shopping agent research dates to the Web’s early years. In1995, Andersen Consulting developed BargainFinder, thefirst shopping agent.1 It let users compare prices of musicCDs from Internet stores. However, some retailers blockedaccess because they did not want to compete on price, andBargainFinder ceased operation.

PersonaLogic, another unbiased comparison-shoppingagent, let users create preference profiles to describe theirtastes. This approach allowed the shopping agent to identifyproducts with features important to users. However, vendorshad to provide interfaces that explicitly disclosed product fea-tures such that the shopping agent could match them withuser profiles. AOL (America Online) acquired PersonaLogic in1998, and the technology disappeared.

Ringo was an agent that recommended entertainmentproducts (such as CDs and movies) on the basis of collaborativefiltering, using opinions of like-minded users.2 This becameone of the earliest commercialized software-agent technolo-gies when it evolved into the FireFly agent. FireFly addressedprivacy issues by initiating and promoting the P3P standard.Microsoft acquired FireFly Network Inc. in 1998, and the FireFlyagent ceased operation shortly thereafter. However, collabora-tive filtering has become a common technique—for example,large commercial vendors such as Amazon use it, although insimplified ways.

ShopBot, another agent, could submit queries to e-com-merce sites and interpret the resulting hits to identify lowest-priced items.3 ShopBot automated the building of “wrappers”to parse semistructured (HTML) documents and extract fea-tures such as product descriptions and prices. Our goals withIntelliShopper are similar, but we focus on learning user pref-erences, and we use a manual approach for specifying how toextract those features from vendor sites. The ShopBot technol-ogy’s fate was similar to those of PersonaLogic and FireFly.Excite acquired and commercialized it (under the name Jango)

but soon replaced it with a biased vendor-driven agent.Tete@Tete was an agent that integrated product brokering,

merchant brokering, and negotiation.4 A startup called Fric-tionless Commerce is applying the technology to business-to-business markets (e-sourcing) rather than to business-to-customer markets.

Most comparison-shopping agents now available to con-sumers (MySimon, DealTime, and RoboShopper, for instance)are biased, presenting results only from partner companieswho pay fees to participate. The current business model forshopping bots is based on vendor revenue, not buyer revenue;users are reluctant to pay fees for these services. However, avendor-revenue model produces hidden costs such as higherprices, limited choice, and poor service. In this context, the es-tablished vendors’ reluctance to be friendly to shopping bots iscertainly understandable.

References

1. B. Krulwich, “The BargainFinder Agent: Comparison Price Shop-ping on the Internet,” Agents, Bots and Other Internet Beasties,J. Williams, ed., Sams (Macmillan), Indianapolis, 1996, pp. 257–263.

2. U. Shardanand and P. Maes, “Social Information Filtering: Al-gorithms for Automating ‘Word of Mouth’,” Proc. ACM Conf.Human Factors in Computing Systems (CHI 95), ACM Press, 1995,pp. 210–217; www.acm.org/sigchi/chi95/Electronic/documnts/papers/us_bdy.htm.

3. R.B. Doorenbos, O. Etzioni, and D.S. Weld, “A Scalable Compari-son-Shopping Agent for the World Wide Web,” Proc. 1st Int’l.Conf. Autonomous Agents, ACM Press, New York, 1997, pp. 39–48.

4. P. Maes, R.H. Guttman, and A. Moukas, “Agents That Buy and Sell,”Comm. ACM, vol. 42, no. 3, Mar. 1999, pp. 81–91.

Shopping Agents

Page 3: Adaptive Assistants for Customized E-Shopping

sion by submitting a query to the learn-ing agent.

4. The learning agent stores the user’srequest in the database.

5. The learning agent uses vendor plug-ins to send requests to vendors.

6. Results from vendors are parsedthrough the vendor plug-ins.

7. IntelliShopper stores the results in thedatabase.

8. The learning agent uses the personaprofile to rank the hits.

9. The learning agent presents the resultsto the persona.

10. The privacy agent forwards the resultsto the user.

11. The user can further interact with thelearning agent.

12. The monitor agent loads standingqueries from the database.

13. The monitor agent uses the vendorplug-ins to autonomously check for anynew results from the vendors.

14. IntelliShopper parses new and updatedhits.

15. IntelliShopper stores the hits in thedatabase until the user logs in for a newinteractive session.

Steps 1 through 11 describe the basic inter-action loop, during which the learning agentobserves the persona’s actions and updatesthe profile accordingly. Steps 12 to 15 occuroffline.

The privacy agent lets the user take on ashopping persona and hides all identifyinguser information from the rest of the system.It resides on an anonymizer—one or moreservers between the user and the Intelli-Shopper server. These servers forward re-quests and responses, and anonymize by permutation, stripping of IP addresses, en-cryption, and decryption.1 Users can com-municate privately because the anonymizerhides from merchants information such asthe IP address from which requests emanateand to which responses are directed. In astandard implementation, a number of ser-vers might act together as the anonymizingagent. In such a case, the anonymizer wouldwork even if all but one of the servers werecompromised. So, for efficiency’s sake, ourprototype uses only one anonymizing server.This is a special (degenerate) case in whichthe server itself is the privacy agent. Usersmust be able to trust this server; it should nothave any commercial relation to vendors orother parties wishing to determine shoppers’identities. We assume that the user’s privacyis to be protected only during shopping—thecustomer will not conduct purchases viaIntelliShopper. (For more on personae andprivacy, see the “Privacy” sidebar.) A shop-ping persona is a unique identity that reflects

14 computer.org/intelligent IEEE INTELLIGENT SYSTEMS

I n f o r m a t i o n C u s t o m i z a t i o n

IntelliShopper serverAnonymizing server

Shoppingpersona

Vendorplug-ins9

10

10

1, 11 Privacyagent

28 13

7, 15

5

MySQL

Learningagent

Monitoragent

4

12

5, 13

6, 14

VendorWeb sites

3

Figure 1. The IntelliShopper architecture. Light-gray arrows represent Web interactionsbased on the HTTP protocol. Dark-gray arrows represent SQL-based interactions.White arrows represent internal logic. Numbers indicate the sequence of shopping-assistance activities (see the main text for an explanation).

There is a strong connection between our concept of shop-ping personae and well-known cryptographic techniques. Ourpersonae allow fine-level customization across heterogeneousand dynamic shopping preferences. Similarly, established cryp-tography can confer various types and degrees of privacy toonline shoppers through the use of pseudonyms.1

Users may adopt different personae to hide their identitiesfrom IntelliShopper and other parties. From a privacy perspec-tive, a persona is a pseudonym that a user employs for a partic-ular type of activity that he or she wishes to separate (decorre-late) from other activities. However, if a user employs aparticular pseudonym or persona for a long time, it becomespart of the user’s identity. In fact, the possibility of linking apseudonym to the real identity only once (with some reasonableprobability) is sufficient for the association to remain. So, privacyrequires that users migrate between personae; the migrationfrequency depends on the degree of privacy users desire.

On the other hand, the learning agent’s performance andthe customization process’s usefulness depend on the use of

relatively long-lived personae. To balance these requirements,users may obtain descriptors that label their shopping behavior,allowing them to submit these along with new personae. Suchdescriptors, however, must not be detailed enough to allowstrong cross-pseudonym correlations. Furthermore, multiplepseudonym updates should be performed at the same time,preferably by a large portion of the user population each time.

For more information on shopping-agent privacy, see thepaper on IntelliShopper.2

References

1. R. Arlein et al., “Privacy-Preserving Global Customization,” Proc.2nd ACM Conf. Electronic Commerce (EC 2000), ACM Press, NewYork, 2000, pp. 176–184.

2. F. Menczer et al., “IntelliShopper: A Proactive, Personal, PrivateShopping Assistant,” Proc. 1st ACM Int’l. Joint Conf. AutonomousAgents and MultiAgent Systems (AAMAS 2002), ACM Press, NewYork, 2002, pp. 1001–1008.

Privacy

Page 4: Adaptive Assistants for Customized E-Shopping

a particular user’s mode of use. Its publicdescriptors are independent of the owner’sidentity, location, and so on. The personabecomes the “public user” that the Intelli-Shopper system components see and couldbe disclosed to merchants without compro-mising the user’s identity. IntelliShopperindexes its history-based preference databaseby persona descriptors rather than by usernames, IP addresses, cookies, or other iden-tifying information that current commercialnotification and brokering systems use. Thepersona has two explicit purposes. First, itprotects the user’s privacy—the IntelliShop-per database never stores any identifying per-sonal information about the user. Second, itallows for customization of multiple hetero-geneous user profiles so that the user canadopt different personae for different shop-ping needs (for instance, “gadget geek” ver-sus “loving spouse”). IntelliShopper canlearn different shopping preferences for eachpersona. Figure 2a shows the interface foradding a new persona.

When a user logs in, IntelliShopper dis-plays the profiles it learned (see Figure 2aand 2b) on the basis of the current persona’sshopping history. IntelliShopper displays theshopper’s history, with live links to out-standing queries for which the monitor agenthas found new hits.

Additionally, the user can submit a newshopping request via the query interface (seeFigure 3) rather than learning each vendorsite’s format. For example, one auction sitemight report the absence of bids as “0” andanother as “—.” Auction sites also use manydifferent formats to display the time remain-ing in an auction; the format sometimesvaries even within a single site. A site mightindicate that an auction ends “at 6:30PM” atone time and “in 10 minutes” at a later timefor the same item. IntelliShopper converts allthese formats to common data domainsbefore it stores each feature’s value in thedatabase. (The time format shown in theinterface is taken directly from the sites; theagent stores a normalized time remaining foreach of the vendor results.) Once Intelli-Shopper has received the results from the var-ious vendors and collated, parsed, and storedthem in the database, the learning agent ranksthem according to the persona’s profile andpresents them to the user (see Figure 3b).

Vendor plug-ins let IntelliShopper inter-face with online stores and auctions. FromIntelliShopper’s perspective, interfacing witha vendor has two aspects: submitting queries

and parsing results. Submitting queries issimpler; it consists of identifying an appro-priate form, submission protocol, and inputsyntax on each vendor site. Parsing results ismore difficult because it consists of identi-fying items and extracting feature values forall desired features (product description,price, and so on). Vendors could readily sim-plify this task (by using XML-based output,for instance). However, many vendors areuninterested in price competition, so they usecomplex, changing HTML markup to make

it difficult for shopping bots to extract infor-mation from their sites. Some vendors evenexclude bots.

Research is ongoing in the development ofintelligent wrappers that could automate sub-mitting queries and parsing results. In fact,there is an “arms race” between the intelli-gent wrappers that shopping bots employ andthe growing complexity of HTML interfaces.Rather than trying to build automatic wrap-pers, we simplified the task of hand-codingwrappers by designing a language for speci-

NOVEMBER/DECEMBER 2002 computer.org/intelligent 15

Figure 2. Handling multiple personae: (a) IntelliShopper’s interface for adding a newpersona; (b) summaries of shopping profiles for a user’s two personae.

(a)

(b)

(c)

Page 5: Adaptive Assistants for Customized E-Shopping

fying vendor-dependent logic. This way, newvendor plug-ins can be written in minutes.IntelliShopper can integrate a new vendor any

time a new plug-in appears in the appropri-ate directory. The current prototype has plug-ins for eBay, Yahoo, and Amazon auctions.

Figure 4 exemplifies the plug-in language,which is based on XML and is inspired byApple’s Sherlock engine. For querying, thereare tags with fields that specify the form’sURL, the submission protocol (GET/POST),and the necessary input parameters. For pars-ing, there is a tag with fields that specify fea-ture names and Perl regular expressions thatextract the corresponding feature values. Therepresentation makes updating plug-ins easy.However, because vendor site design changesrapidly, this approach would be significantlymore robust if vendors were to use an openinterface. An open interface would allow suchchanges to take place automatically ratherthan manually.

IntelliShopper stores data about its shop-per personae and their profiles, queries, prod-uct hits, and features in a relational database.Figure 5 is an entity-relationship diagramthat outlines the database design. The Prefer-ence and Keyword entities store each persona’sprofile, which IntelliShopper learns by ob-serving the persona’s shopping behavior anduses to customize the information it presentsto the user. We denormalized the databaseschema for improved efficiency; we mergedinto a single table the Item and Feature entitiesthat store information about hits and userfeedback.

CustomizationIntelliShopper adapts to user preferences

to better rank hits with continued use. Ourapproach is based on gathering maximuminformation while requiring minimum userfeedback. Information-filtering and Internet-recommendation systems have widely em-ployed the idea of learning user behaviors by“looking over the user’s shoulder.”5,6 Intelli-Shopper presents information to the user ina way that lets the learning process easilyincorporate the user’s actions. The systemincreases the rankings of hits similar to thosethat previously interested the user and re-duces the rankings of hits similar to itemsthat the user has ignored or actively disliked.

Our adaptation scheme, as is typical ininductive machine learning, is based on a col-lection of features extracted from the hits.IntelliShopper chooses features that mightbe relevant to the user’s evaluation of theitem. Features can be either numerical or tex-tual. For instance, the current IntelliShopperprototype uses these numerical features forauction sites: price, number of bids, and timeremaining in the auction. Textual features arekeywords that appear in product descriptions.

16 computer.org/intelligent IEEE INTELLIGENT SYSTEMS

I n f o r m a t i o n C u s t o m i z a t i o n

Figure 3. IntelliShopper queries: (a) the query interface; (b) query results based on thecurrent persona’s shopping profile.

(a)

(b)

Figure 4. A simplified example of a vendor plug-in, which has logic for submittingqueries (the top half) and interpreting the results (the bottom half).

Page 6: Adaptive Assistants for Customized E-Shopping

For each numerical feature x, we maintaina distribution of temperatures across the rangeof possible values. A feature–value pair’s tem-perature should correspond with the user’sdesire for an item with that characteristic;high temperature signifies a desirable value,low temperature an undesirable one. Wemaintain temperatures for each possible valueof discrete features; for example, a “color”feature might have a low temperature for thevalue “pink.” Continuous variables are dis-cretized; the “price” feature might have a hightemperature for the value “very low.” Cut-offpoints for the discretization are based on themean µ and standard deviation σ of featurevalues observed among hits:

• Very low (x < µ − (3/2)σ)• Medium low (µ − (3/2)σ ≤ x < µ − (1/2)σ)• Average (µ − (1/2)σ ≤ x < µ + (1/2)σ)• Medium high (µ + (1/2)σ ≤ x < µ + (3/2)σ)• Very high (µ + (3/2)σ ≤ x)

For textual features, we maintain a vectorof keywords associated with each personaprofile. The agent extracts keywords fromproduct descriptions. (It removes very com-mon word endings and “noise” words suchas “the,” and conflates the remaining termswith a standard stemming technique used ininformation retrieval.)7

IntelliShopper updates temperatures forfeature values and keywords after any useraction related to a given hit. The temperatureassociated with a hit’s feature values anddescription keywords follows a simpleupdate rule: T(t + 1) = (1 − α)T(t) + α∆T,where the learning rate α (0 ≤ α ≤ 1) deter-mines how quickly a profile forgets old pref-erences and tracks new ones. (We set α =0.25 in the current prototype.)

Any hit has five possible actions (or inac-tions), each with its own effect on ∆T for thecorresponding keywords and feature values:

• Buy: Clicking on the Buy option is strongpositive feedback; it results in a tempera-ture increase ∆T = +2 for all of that item’sfeature values.

• Browse: Clicking on the item descriptionis weak positive feedback; the temperatureincrease is ∆T = +1.

• Ignore: If a user does not get far enoughdown the list to assume that he or shelooked at an item, no inference is made(∆T = 0).

• Skip: Bypassing an item (that is, clickingon one farther down the hits list) is weak

negative feedback: ∆T = −1.• Remove: Actively deleting an item is

strong negative feedback: ∆T = −2.

There are certain precedence rules inassigning feedback. For example, if a user firstbrowses and then buys or removes an item, weapply the stronger feedback (∆T = ±2). Intelli-Shopper assigns the Skip action only if itreceives no other feedback for an item.

Figure 6 illustrates the profile update algo-rithm. The learning agent adjusts the personaprofile after each user action. IntelliShopperuses the profile to customize the informationit presents the user by ranking the hits accord-ing to a simple sum of the temperatures fortheir feature values and their description key-words. User interactions during a shoppingsession cause IntelliShopper to re-rank thehits on the basis of the updated profile.

In the case in Figure 6, the user clicks tobuy the second item. From this action, thelearning agent infers a strong interest forhigh-priced items and a mild disinterest foraverage-priced items (because the userskipped the first hit). The learning agentupdates the corresponding price ranges’temperatures accordingly. Similarly, whenfocusing on keywords, the learning agentinfers a strong interest for the terms “illi,”“caff,” “import,” and “itali” (the stemming

algorithm changes “italy” to “itali”) and amild disinterest for the terms “lavazza,”“oro,” “vacuum,” and “pack.” Once thelearning agent updates the temperatures(weights) of these terms, it crops the key-word vector to retain only the 32 terms withhighest and lowest T. For legibility, this fig-ure denotes only three possible values fornumerical features and only three terms inthe keyword vector.

EvaluationEvaluating an agent such as IntelliShopper

is difficult because performance measures aresubjective. Ideally, we should compare usersatisfaction between shoppers using Intelli-Shopper and shoppers using other shoppingagents, which is problematic for a number ofreasons (different functionalities, survey bias,cost, and so on). Fortunately, evaluation is rel-atively straightforward if we limit it to the sys-tem’s performance in customizing shoppinginformation on the basis of learned personaprofiles.

The goal is an evaluation measure that isquantitative, objective, and based on datafrom real users. So, we asked eight volun-teers to use IntelliShopper during actualshopping sessions. During each session asubject could take on any persona, submitrequests, examine new hits for previous

NOVEMBER/DECEMBER 2002 computer.org/intelligent 17

Query

Start time Duration

Frequency

Submits

Hits

Persona PreferredvendorActs as Shops at

Preference

Temperature

HasKeyword Reacts to

Sells

Feature

Item

Has

User

Stem

Weight

Feature

Range

Feedback

Range

Value

Figure 5. A simplified entity-relationship model of the IntelliShopper database.

Page 7: Adaptive Assistants for Customized E-Shopping

requests, and interact with the learning agentthrough the IntelliShopper user interface. Werecorded all user requests, hits, and feedback,along with two rankings of all the hits in eachsession. The system used the first ranking todisplay hits based on learned user profiles. Itcomputed the second ranking on the basis ofthe feedback it inferred from user actionsduring each session. For the hit set corre-sponding to each (persona, session, query) tuple,we measured the Spearman’s rank correla-tion coefficient between these two rankings.The formula is as follows:

,

where rIS is the rank based on IntelliShop-per’s learned profile, ru is the rank based onuser feedback, and n is the number of hits.

If the shopping assistant is effective, thecorrelation between the ranks the systemlearned and the ranks it inferred from userfeedback should be positive. Furthermore, ifa persona has a consistent shopping behavior,the learning agent should be able to inter-nalize this behavior, so the correlation shouldincrease over multiple sessions.

Figure 7 plots the mean Spearman’s rankcorrelation coefficient against the number ofshopping sessions. In this case, the subjectssubmitted 42 queries as 15 distinct personae.The experiment involved 4,759 distinct hits.For every query in each session for each per-sona, we computed a correlation coefficientacross hits; then we averaged these coeffi-cients across personae and queries for eachsession. We plot the resulting mean rank cor-relation for sessions in which at least 10 (per-sona, query) measurements are available. For aset of hits whose feedback-based ranks aretied, we can break the tie optimistically(according to IntelliShopper’s ranks). Weused this method to evaluate an early proto-type in which neither multiple personae peruser nor keyword-based profiles were yetimplemented; that data4 is based on a largernumber of subjects (51) and queries (97) thanin the current example, but fewer sessionsand hits. We obtained lower (but still posi-tive) correlation values without breaking tiesin ranking.

The positive correlation in Figure 7 showsthat the shopping assistant effectively cus-tomizes product information to show users,even when users have not seen the products

ρ = −

−( )

−( )=∑

1 61

2

12

r i r i

n n

IS ui

n

( ) ( )

18 computer.org/intelligent IEEE INTELLIGENT SYSTEMS

I n f o r m a t i o n C u s t o m i z a t i o n

|

|

|

Feature low avg highPrice 1.50 1.00 1.00Bids ... ... ...Time ... ... ......

Before user click

Feature low avg highPrice 1.50 0.50 1.25Bids ... ... ...Time ... ... ......

After user click

0.75 × 1.00 +0.25 × (–1)0.75 × 1.00

+0.25 × (+2)

Term Weightcaff 1.25illi 0.50folger -1.00

After sort and cropTerm Weightcaff 1.00vacuum 0.50folger -1.00

Before user clickTerm Weightcaff 1.25vacuum 0.13folger -1.00lavazza -0.25oro -0.25pack -0.25illi 0.50import 0.50itali 0.50

After user click

0.75 × 0.50

+0.25 × (+2)

+0.25 × (–1)

Figure 6. How the learning agent changes a profile following a user action. When theuser clicks on the second item, the learning agent updates the temperatures of theprice ranges and keywords. IntelliShopper crops the keyword vector so that only themost discriminating terms are retained.

–1.0

–0.8

–0.6

–0.4

–0.2

0

0.2

0.4

0.6

0.8

1.0

1 2 3 4 5 6

Mea

n ra

nk c

orre

latio

n

Shopping session

IntelliShopper prototypeSingle persona per user, no keyword profileNo breaking of user rank ties

Figure 7. The Spearman correlation between IntelliShopper’s ranking and ranksinferred from user feedback.

Page 8: Adaptive Assistants for Customized E-Shopping

before. IntelliShopper requires a few sessionsto learn persona profiles that are sufficientlygeneral. The initial dip in performance isbecause a profile learned from feedback on asingle query does not appropriately predictuser preferences for different queries. Thepresence of keyword information in personaprofiles exacerbates this “learning curve.” Thekeyword features that effectively rank hits fora single query are often too specific to cap-ture a persona’s general preferences. Afterthree sessions, the keywords in the profileeffectively predict user behavior, and afterfour to five sessions IntelliShopper’s learningagent reaches a stable tracking regime.

The customization advantages of agentssuch as IntelliShopper stem from a

business model in which vendors may bene-fit economically from becoming friendly toshopping agents that put the customer at thecenter of the business relationship. Intelli-Shopper is based not only on price competi-tion but also on several other factors. Webelieve this is a better business model thanprice-only bots and comparison-shoppingagents that are biased by vendor member-ships. The first generation of user-centeredshopping bots did not survive the transitionto the commercial realm; the sophisticationof future online shoppers will decide the fateof the new generation of shopping assistants.

We plan to implement a few extensions andimprovements to the system before Intelli-Shopper is ready for prime time. We will addmore simple features (such as brand name),subject to our ability to consistently extractthem from product hits. We can make the tem-perature-update procedure adaptive so that, forinstance, the price feature will weigh moreheavily in ranking hits for a user that oftenmakes decisions based on price. We can alsotune the learning rate adaptively to trackdynamic profiles efficiently. The user interfacewill be improved as well. For example, we planto allow users to choose multiple items toremove simultaneously from the hits list. Suchan action will reduce the number of databasetransactions and will render feedback to thelearning agent more consistent. We intend tostudy the opportunities for collaborative filter-ing that stem from centralized shopping assis-tants such as IntelliShopper. Given the estab-lished effectiveness of collaborative filtering,we may extend hit sets at the user’s option byclustering personae with similar profiles.

AcknowledgmentsWe are very grateful to Markus Jakobsson for

many helpful suggestions and discussions on theprivacy aspects of shopping agents. NarayanVishwakarma contributed to the early prototypeimplementation. Thanks to the Center for Dis-crete Mathematics and Theoretical Computer Sci-ence (DIMACS) for support and to the volunteerswho helped with the evaluation. The server host-ing the IntelliShopper prototype was made avail-able by a University of Iowa instructional im-provement award.

References1. M. Jakobsson and M. Yung, “On Assurance

Structures for WWW Commerce,” Proc. 2ndInt’l Conf. Financial Cryptography, LectureNotes in Computer Science, no. 1465,Springer-Verlag, Heidelberg, 1998, pp.141–157.

2. J.O. Kephart and A.R. Greenwald, “ShopbotEconomics,” Autonomous Agents and Multi-Agent Systems, vol. 5, no. 3, September 2002,pp. 255–287.

3. A.R. Greenwald and J.O. Kephart, “Shopbotsand Pricebots,” Proc. 16th Intl. Joint Conf.Artificial Intelligence (IJCAI 99), MorganKaufmann, San Francisco, 1999, pp. 506–511.

4. F. Menczer et al., “IntelliShopper: A Proac-tive, Personal, Private Shopping Assistant,”Proc. 1st ACM Int’l. Joint Conf. AutonomousAgents and MultiAgent Systems (AAMAS2002), ACM Press, New York, 2002, pp.1001–1008.

5. T. Joachims, D. Freitag, and T. Mitchell,“WebWatcher: A Tour Guide for the WorldWide Web,” Proc. Int’l. Joint Conf. on Artifi-cial Intelligence (IJCAI 97), Morgan Kauf-mann, San Francisco, 1997, pp. 770–777.

6. H. Lieberman, “Autonomous InterfaceAgents,” Proc. ACM Conf. Human Factorsand Computing Systems (CHI 97), ACMPress, New York, 1997, pp. 67–74.

7. Martin F. Porter, “An Algorithm for SuffixStripping,” Program, vol. 14, no. 3, July 1980,pp. 130–137.

NOVEMBER/DECEMBER 2002 computer.org/intelligent 19

T h e A u t h o r sFilippo Menczer is an assistant professor in the University of Iowa’s Depart-ment of Management Sciences and a faculty member of the university’s Pro-gram in Applied Math and Computational Sciences. His interdisciplinaryresearch interests include Web, text, and data mining; Web intelligence; dis-tributed information systems; adaptive intelligent agents; evolutionary com-putation; machine learning; neural networks; complex systems; artificial life;and agent-based computational economics. He received his Laurea in physicsfrom the University of Rome and a dual PhD in computer science and cog-nitive science from the University of California at San Diego. He has received

a National Science Foundation CAREER award as well as Fulbright, Rotary Foundation, and NATOfellowships, and is a Santa Fe Institute fellow at large. Contact him at S320 Pappajohn Business Bldg.,Univ. of Iowa, Iowa City, IA 52242; [email protected].

Alvaro E. Monge is an associate professor in the Department of ComputerEngineering and Computer Science at California State University, LongBeach. His research interests include information retrieval, knowledge dis-covery, database system integration, software agents, data warehousing, andcomputer science education. He earned his BS in computer science from theUniversity of California at Riverside and his MS and PhD in computer sci-ence from the University of California at San Diego. He is a member of theACM, ACM SIGMOD, ACM SIGCSE, and ACM SIGAPP. Contact him atCalifornia State Univ. Long Beach, CECS Dept, 1250 Bellflower Blvd., Long

Beach, CA 90840-8302; [email protected].

W. Nick Street is an associate professor in the University of Iowa’s Man-agement Sciences Department. His research interests are in machine learn-ing and data mining—particularly the use of mathematical optimization ininductive learning techniques. His recent work has focused on dimensional-ity reduction (feature selection) in high-dimensional data for classification andclustering; ensemble prediction methods for massive and streaming data sets;and learning shapes for image segmentation, classification, and retrieval. Hereceived his PhD in computer sciences from the University of Wisconsin. Hehas received a National Science Foundation CAREER award and a National

Institute of Health Individual National Research Service Award postdoctoral fellowship. He is a mem-ber of the IEEE, the ACM, the AAAI, and the Institute for Operations Research and the ManagementSciences. Contact him at S232 Pappajohn Business Bldg., Univ. of Iowa, Iowa City, IA 52242; [email protected].