Friday, November 23, 2007
MAS course + article library
Product Comparison Agents (PCA)
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:
http://www.bizrate.com/
Consumer Preference Identification PCA:
http://www.epinions.com/
Derivative PCA:
www.bestbuyfinder.com
http://dealtime.com/
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
http://www.pronto.com/
Refine as you type comparison shopping agents:
http://www.smarter.com/
http://www.become.com/
Sunday, November 18, 2007
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
- Information architecture: The information management will provide metadata so the information can be discovered.
- 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
- 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
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?
-----
Comments?
-Gary
Wednesday, November 14, 2007
The impact of form-factor
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.
Comments?
Sunday, November 11, 2007
Utilize available customer analytics software
Thoughts?
- Wolf
Tuesday, October 9, 2007
What are Advocate Agents?
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.