Tuesday, November 27, 2007

CfP TADA 2008

Call for Papers for the 2008 Trading Agent Design and Analysis workshop. Note that the 14 July date is not yet completely certain - it may be one day earlier on 13 July, but we hope to nail that down very soon. Watch the website for updates: http://tac.cs.umn.edu/tada08

We hope to see you in Chicago next year!

Wolf Ketter, RSM Erasmus University

Alex Rogers, Southampton University

Norman Sadeh, Carnegie Mellon University

William Walsh, CombineNet

Friday, November 23, 2007

MAS course + article library

I'll be teaching a multi-agent systems research workshop at RSM on January 21-23 and on March 10-11. A tentative schedule is available now. This can also serve as a categorized agent library for our project. Enjoy the articles! Wolf

Product Comparison Agents (PCA)

After reading the following article:

Wan Y., Menon S. & Ramaprasad A. , A classification of product comparison agents. Communications of the ACM, August 2007. A review of this article can be at LARGE

I list below different types of PCA and their real life realization:

Production Differentitation PCA:
http://pricescan.com/ -- often biased to one brand in one particular category

Product Evaluation PCA:

Consumer Preference Identification PCA:

Derivative PCA:

http://www.shopping.com -- (rebranded from dealtime.com) close-coupled agent design that integrates different PCAs into its architecture -- while you start searching it gives you product suggestions, an advocate agent would give you products related to your preferences since it got to know you over time

An aggregate of the 3 main PCAs with social tagging and customer reviews

Refine as you type comparison shopping agents:


Sunday, November 18, 2007

Web Services and Information management

Arun and Gary, I agree with you in connection between Web Services and Information management.

I strongly believe that information is the key to the commerce world. For agents to be provide useful capabilities, they need to be information-aware. To make them information aware, we need
  1. Information architecture: The information management will provide metadata so the information can be discovered.
  2. Semantic web: The Semantic web will extend the traditional metadata to the next level to make sure that agents can find the most relevant information
  3. SOA for Data: This covers using web services to decouple agents from information sources. I prefer using REST, when possible, because it is simple and is based on WWW standards.

In addition to above areas, I believe that research in agents can also benefit from work in data mining.

What do you think?

Thursday, November 15, 2007

Information Retrieval and Collaboration Tools

A *wonderful* mini-essay, Arun! I especially like a couple of terms you use, which we perhaps should carry forward in our evolving discussion vocabulary. AgentWorlds/ServiceLands. I suspect that we will have more so say about this interaction space as we move forward with our visioning, reference architectures and implementations.

I have been mulling a few other thoughts and issues that are not fully formed yet, but should enter into our mix of discussion...

- I am becoming increasingly convinced that a large number of high-powered, supporting technologies in areas of Information Retrieval (IR), meta-information creation and manipulation/management and semantic web support will be essential to our vision and reference development directions.

I am now moving onto a new project in which I will be responsible for portions of UI and infrastructure to support a "showcase" for current and evolving technologies that our department is proficient in and working on. A growing number of these technologies are (and will continue to be) related to information retrieval (IR) and knowledge engineering/inference from data and meta-data made available by IR and subsequent text analytic tasks. My early research into available tools to support these technologies indicates that there are many now, and the number is growing rapidly (see LingPipe and its very nice summary page of this product's perceived "competition" at: http://www.alias-i.com/lingpipe/web/competition.html).

*** Advocate agents will absolutely need to work in this problem space as part of their (likely) insatiable need for dynamically/continuously updated (meta-)data/information/knowledge to support their behaviors.

Current directions and tools in support of the Semantic Web nicely dovetail with these technologies, and will also form an essential part of a reasonable "advocate agent technology stack". See the current MIT work on the SIMILE projects (http://simile.mit.edu/) for (what I consider to be) exciting "teases" of the necessary directions in which we must go to realize a powerful vision of human assistance by advocate agents. As Wolf has intimated, these directions will most likely need to address (as easy as possible) "mashup-ability" of features, content and meta-information.

We need to include and pragmatically limit these considerations in our vision and directions.

- Focusing a bit more on the "pragmatics" I mention above ... It would be extremely easy to create a grand vision that would be highly desirable, but impossible to meet in a realistic manner in any reasonable timeframe. I suggest that we a) articulate and maintain an evolving/living grand vision statement, but, to make our efforts see continuing value, b) set realistic time-boxed goals that incrementally move the effort forward in meaningful ways.

I strongly suggest that these time-boxes be no longer than 6 months in length, with both demonstration and documentary deliverables at the end of each of these cycles. I suspect that there would typically be several agile development iterations within each of these larger goal-cycles.

Some suggested process to guide our efforts:

The above approach would give our project efforts some structure. Our first "goal cycle" would include a) development and publication of a first version of our (living) "big picture" vision, b) development and publication of a set of goals for the next (first) 6-month project iteration.

We could then flesh this out with a (very) few agile, all-hands planning sessions to determine the a) prioritized "vision" backlog of tasks, b) prioritized backlog of stories and tasks for the NEXT goal-cycle (including work assignments to specific persons). The stories, tasks and priorities will be updated during regular meetings, and specifically during start-of-iteration planning meetings. We should hold retrospectives on the process at least every goal-cycle. Goal cycles will end with demonstrations of substantive results and publication of supporting documentation and related scholarly papers, internally and to relevant conferences.

If there are no objections, I suggest we apply a variant of Scrum to do this and guide our process steps and process improvement. We may or may not want to use a tool such as the freely available ScrumWorks Basic (http://danube.com/scrumworks/basic) to help us keep track of our "burndown" or "burnup" and productivity "velocity" statistics.

We will need group collaboration tools. I am open to suggestions here, but I think that perhaps Skype (to support free international telecon) plus a collaborative meeting/appSharing tool will be needed. NetMeeting will most likely work. More than a handful of others are certainly available. (Any recommendations? - don't forget to explain why!)

We have an opportunity to use the Qwaq forum product (www.qwaq.com) to good advantage here, if we are willing and able to spend ~$50 per person per month for persistent cyberspace access to one or more virtual planning and meeting "rooms" devoted to advocate agent projects (perhaps running in parallel). This service provides VOIP + collaboration support in virtual world settings, so we might be able to do without Skype if we go this route. What do others think?




Wednesday, November 14, 2007

The impact of form-factor

I have an interesting observation that most folks who are interested in web services (HTTP transports and XML payloads) are also interested in Agents (the converse seems also true, though to a lesser extent). Needless to say, I am one of those folks.

When I visualize the trends of both Agents and Web-services, I see convergence happening. I also see the rate of convergence increasing. There must be a very strong feedback loop that is making this happen.

Of many things that are catalyzing this convergence, I would like to point-out a rather obscure but in my mind a relevant trend that is precipitating this confluence - which is the miniaturization of form-factor.

I would like to describe the form-factor as the magnitude of footprint or weight of a widget/agent/service/component . To take an example, the form-factors of a silicon transistor has decreased many times over since they were interested. That has resulted in packing more and more power in the same amount of space, which means we have full-blown computers in your hand - like the iPod.

Similarly, I have noticed the trend of Agents is loosened up a bit. Lighter weight frameworks are springing up. In the past (I go back to 2000, when working with Wolf), you always looked for Agent platforms - which were more or less proprietary - and the vision I get is big,heavy,inertia . Overtime, as the memes spread, innovations happened, we have reached a stage - take this blog as an example, where we are not afraid to talk about agents running on the most ubiquitous platform - the browser. Yes, the browser now is the platform.

From a web-services front, what started as SOAP, as our understanding of what is practical and what is needed, the form of the web-services has changed significantly to take the current form of REST-based services. Where as SOAP was "opaque", REST was transparent. As things become more transparent, they become more useful and innovations spring forth. REST being a style and not an API or framework, the non-programmers started innovating. Services have sprung all over, even SOAP is adopting REST. i.e. Web services have become commoditized.

With commoditization comes ubiquity, very low barrier to entry and smaller and smaller foot-prints, weight - collectively what I refer to as the form-factor. In a very small footprint I can consume and expose web-services, mash them up in Java, Ruby, Python, javascript, digest them and spit them out again to be consumed by something else - like Yahoo Pipes.

Now with so much power and so much access to information, the land has been tilled and fertilized for the next level of innovations to grow.

Agents folks, in AgentWorld, suddenly have the limitless access to search services, encyclopaedia services (wikipedia etc.), product cataloges, consumer trends - that are a result of massive, internet-scale intelligence - all in just a few lines of code(very small form-factor). With a few learning algorithms, they could get wiser. Agents meet Web services.

In the other-world, say ServiceLand. Service developers have all this power in their hands, expressed in again very few lines of code. With the world-knowledge in their hands and in essence ability to collaborate with any number of other services, it is but obvious that with a little bit more infusion of autonomy, proactivity, learning the value of their service suddenly becomes much more valuable. Web services meet Agents.

A welcome convergence of AgentWorlds with ServiceLands - in no small part due to the miniaturizations of their form-factors.


Sunday, November 11, 2007

Utilize available customer analytics software

Ravi Bapna made me aware of the following customer analytics software:

  1. AC Nielsen
  2. comScore
I see an opportunity to leverage these tools in our project as an analysis of a customer on a particular website. An Advocate Agent would need to combine different sources and make its overall judgment. The caveat is that these tools are usually attached to a particular vendor and so again not on the client side. Maybe we can learn from the type of services they are offering, and get inspiration for our development.


- Wolf

Tuesday, October 9, 2007

What are Advocate Agents?

The goal of our Advocate Agents project is to research, develop, and use highly personalized agents to complement the cogitative limitations of the human mind to facilitate the decision making process (including the gathering of information and recommendation of actions). These agents shall work in a collaborative manner with a user to accomplish his or her goals. To work effectively and efficiently with a human user they have to learn their interests, habits, and preferences (as well as those of his or her communities) (Maes1994b). In an online shopping scenario advocate agents will be able to generate recommendations as to what to buy (product-brokering) and from whom to buy (merchant-brokering) based on customer criteria.

There has been much research published on personalization and recommendation agents regarding customer preference modeling (Schafer, Konstan et al. 2001) as they have become more prevalent in the Internet. Currently there are three main streams of research dependent on how customer preferences are modeled: vector similarity (collaborative and content-based filtering), probability (Bayesian), and association (correlation between user and item). The shortcomings of these researches are that they have agents for clusters of people, i.e. recommendations to a specific user based on the preferences of many different users (such as Movielens.umn.edu and Amazon.com), rather than tailor to the needs of an individual user. So far, the agent has always been on the server side (e.g. an online store) rather on the client side. As a consequence, these agents are not always acting for the better good of the customer. The retail agents are trying to convince the customers to buy more products than might be necessary for him. Furthermore, these agents have little insight on your real preferences, since they can only observe actions on their site related to their competence. We envision advocate agents, residing on the client side, which always supports and promotes the best interests of its master.

These advocate agents shall not just "simply" facilitate product or merchant search, they "get to know their master," meaning the human decision maker through initial profiling (sex, age, nationality, preferences, etc) and by observing the behavior of the decision maker while visiting an online retail site (time spent, links clicked, dates visited, website visited before, etc). Based on this information agents should recommend actions (buy this product, buy from this merchant, read this article, etc), and execute autonomously some of the decisions the consumer delegated to it (make a dentist appointment, buy airline ticket, bid on eBay.com, etc). In addition to reducing information overload customers that use software recommendation agents reduce effort, and improve the effectiveness and efficiency of their decision making (Haeubl and Trifts 2000). These agents will represent the preferences of the consumer as his or her highly tailored "software copy" in the Internet. An integral part of the advocate agents is the learning component which allows them to improve their performance from experience over time. The user's reaction of an advocate agent suggestion is recorded for long term behavioral analysis and fed back in real time to the agents as well.

We hypothesize that over time a human decision maker will delegate more and more decisions to an advocate agent. There is a switching point for the adaptation of new technologies by the individual users, and it is usually based on how smoothly the new technology integrates in daily life and how useful it is. In the first phase of this project we envision a non-intrusive proactive agent which will work according to the user preferences and gives suggestions even if it has no immediate assignment. Examples of pro-activeness include looking for new trends, latest news, informing about interesting ongoing auctions, such as eBay.com, good deals, etc.

Thursday, September 27, 2007

Welcome to the Advocate Agents Blog

The Advocate Agents blog is a place where our team of agent developers can discuss all aspects of the agent strategy and architecture.

For more information see the following links:

Our GoogleCode home:

Our Wiki:

Our source code:

Please let us know if you have any questions,

- Arun, Dan, Gary and Wolf