An Agent-based Online Shopping System in E-commerce

The paper presents an agent-based shopping system. First, the system can acquire the customer’s current needs from system-customer interactions. Then the system integrates built-in expert knowledge and the customer’s current needs, and recommends optimal products based on multi-attribute decision method. In order to maintain a semantic conversation with sellers, the commodity ontology is also utilized to support sharable information format and representation. Finally, an experimental prototype based on JADE is developed.


Introduction
The Internet and World Wide Web are becoming an important channel for retail commerce as well as for business to business transactions.It is undeniable that daily life has become convenient with online shopping.People do not drive to a store, do not travel to oversea, they can purchase the commodities and get the services they want.Forrester research, International Data Corp., and Nielsen Media Research have reported that the number of people buying, selling and performing transactions on the Web is increasing at a phenomenal pace.At present, however, the potential of the Internet for transforming commerce is largely unrealized.Electronic purchases are still largely non-automated.So the exponentially increasing information along with the rapid expansion of the business websites causes the problem of information overload.This of courses spends customers too much time on visiting flooding of retail shops on websites to know about the commodities and to survey the relevant commodity information for further comparison.
One way to solve the above problem is to develop intelligent shopping systems to provide personalized information services.The system can interact with customers and capture what they needs, so it provides decision support for them to buy on the Web.Depending on the types of commodities, different kinds of shopping systems should be developed to automate shopping process by assisting customers to have commodity information retrieval and comparison in the massive information environment of the Internet.For the type of commodities that customers buy often, such as food, clothes and books, the shopping system can be developed to acquire a customer's personal preferences by analysing his/her profile information and purchasing records(Lee, J. Lee,J., Podlaseck, M., Schonberg, E., & Hoch, R. 2001).For the commodities such as computers that a customer does not buy often, it is difficult to reason about his/her previous preferences because there is not enough information available about his/her past purchasing record.In addition, the customer may have his/her specific requirements for each single shopping and have inadequate knowledge to evaluate the commodities.In order to automate shopping process of this kind of commodities, the shopping system in this paper is presented, which can provide consultation services and decision support via iterative interaction with customers.Therefore, the system can acquire and analyse a customer's current needs or preferences, then evaluates the candidate commodities within the database to recommend the optimal commodity for him/her.The paper is organized as follows.In section 2, the shopping process is described.In section 3, the intelligent shopping system is implemented based on the multi-attribute decision making method and consumer-based collaborative approach.Besides, the commodity ontology is established in order to maintain a semantic conversation between the system and seller websites.Finally, the conclusions are drawn in section 4.

The analyse of the Intelligent Shopping system
Based on the agent technology, the shopping system integrates knowledge-based decision-making method and consumer-based collaborative filtering approach to provide decision support for automatic shopping.The shopping process is list as followers and its workflow is shown.
(1) First, the shopping system performs multiple sellers searching task.The commodities can be collected from the sellers by a search engine and stored in the internal commodity database.
(2) After the system gets all the commodities information, it asks the customer answer some qualitative questions to collect his/her needs about the commodities.
(3) After gathering the customer's qualitative needs, the system can obtain the built-in expert knowledge to calculate the optimality of each commodity using multi-attribute decision making method.
(4) Once the currently available commodities have been ranked, the commodity with the top rank will be recommended to the customer as the candidate.
(5) To speed up the shopping process, a consumer-based collaborative filtering approach is used.The approach is based on the similar customer's purchasing record to provide more candidate commodities for the current customer.

System framework
The overall goal here is to analyse a customer's current requirements and to find the most suitable commodity for him/her.To achieve the goal, the system consists of five types of agents that can interact with each other: interface agent, buyer agent, expert agent, evaluation agent and collaboration agent.These agents collaborate with each other by the message delivery mechanism and make the whole system works together.The structure of the system is shown in Figure 1.The detailed functions of each agent in the shopping system are described as follows.

1) Interface agent
The main work of the interface agent is bidirectional communication between the shopping system and customers.In order to collect and analyse the customer's current needs, the interface agent asks him/her some specially designed questions about the commodities.In the shopping system, assuming that the customer does not have enough domain knowledge to answer quantitative questions regarding the technical details about the commodity, the system has to inquire some qualitative ones instead.For example, the system will ask the customer to express his need on the display feature rather than the basic frequency of CPU.

2) Buyer agent
Buyer agent is a mobile agent, which can migrate to the electronic marketplace and search for the commodity information from multiple sellers.When it searches out one seller, it will ask for offers about the commodity from the respective seller.After the buyer agent gets all offers, it will return back and store the commodity information in the internal commodity database.In order to promote the efficiency of searching, it creates a group of child agents and dispatches each to search for the offers of the commodity from the respective seller.These child agents perform parallel searching, so buyer agent should supervise the running state of each child agent and coordinate task distribution among them.

3) Expert agent
As is indicated, an important issue in the design of the system is how to use the expertise to provide the knowledge-based decision support.The expert agent provides the communication interface with human experts, by which the experts can embed their personal knowledge into the system and give a score of a commodity in each qualitative need defined before.With the expert agent, the system can collects opinions from different experts to give more objective suggestions.Then the expert agent will convert them into a specially designed internal form for knowledge representation.However, human experts seldom reach exactly the same conclusions.They may give different scores of the same commodity in the same qualitative need since their preferences are different.In order to resolve this problem, the system synthesizes all the expert's opinions and assigns the same weights for them in the system implementation.In this way, the expert agent can transfer each commodity to a rank form and calculate its optimality accordingly.

4) Evaluation agent
The evaluation agent is an important component of the online shopping system.After receiving the offers of all commodities from the sellers, the evaluation agent will have comparison mechanism to evaluate each commodity in order to make the best possible selection of all the supplied commodities.Since shopping is not just searching for a lower price commodity.There is something else that should be taken into considerations like quality, reliability, brand, service, etc.In the system, the multi-attribute decision making method (Barbuceanu, M., Lo, W. 2000) (Keeney, R. L., Raiffa, H. 1993) is applied to evaluate commodities considering multi-attributes of the commodities.Based on the multi-attribute evaluation model, the evaluation agent calculates the utility value of each commodity and selects one that has maximal utility value as the recommended commodity.Its mathematical model can be described: as the vector of the commodities information that has been gathered on Internet, } ,..., , { 2 1 n a a a A = as the qualitative feature vector of the commodities, the utility value of the commodity , which represents the relative performance of the commodity j c in the qualitative feature i .Therefore, the decision matrix that consists of n m × ij f can be denoted as: In order to facilitate mutual reference between the multi-attributes easily, the decision matrix should be normalized, which can be followed by formula (2): After normalizing the decision matrix, the value of ' ij f is limited in [0,1].Then the evaluation agent can calculate the utility value of each commodity based on the formula (3).In the formula (3), is the utility value of the commodity , which means the customer's current requirement in this qualitative feature and ∑ = n j j 1 ω =1.After calculating the utility of all the commodities, the evaluation agent will select one that has maximal utility value as the recommended commodity.Finally, the evaluation agent submits the recommended commodity to the customer via interface agent.The whole computing process is performed by the evaluation agent automatically.

5) Collaboration agent
As indicated before, the user-system interaction is an important factor in achieving optimal recommendation.During the interaction, the consumer can give more feedback to the system by updating his/her current needs until the consumer is satisfied with the shopping result.However, the frequent user-system interactions inevitably take time.In the system, collaboration agent is designed to reduce the time of user-system interaction.The collaboration agent is based on the consumer-based collaboration approach(Zeng Chun, Xing Chun-Xiao et al. 2004), which first compares the need pattern of the current customer to the ones previously recorded and then system recommends the commodities selected by the similar consumers to the current customer.
The qualitative need pattern of a customer can be defined as a vector ) ,..., , ( means the preference score of customer's qualitative need in the feature dimension i , and n is the number of qualitative need feature.The collaboration can acquire the need pattern of previous customers easily by accessing the web log database of the system as shown in table 1.
The collaboration agent uses the correlation coefficient of Pearson , which compares the current customer's need pattern with the ones of the previous customers, and then calculate the similarities between the current customer and all the previous customers.Its mathematic model can be expressed as follows: Supposing the need pattern of a current customer a as the vector: ω represent the preference score of qualitative need feature j that the current customer a and previous customer b give respectively, while a ω and b ω represent the average score of all the features that the current customer a and previous customer b give respectively.
Through the similarity calculation of qualitative need features, the collaboration agent can search out the most similar need pattern for the current customer from the web log database.The system then predicts that what the current customer is targeting may be the commodities that most similar previous customer finally purchased.Hence, the system also recommends commodities derived form the collaborative filtering approach described above to the current customer, in addition to the optimal commodity provided by the evaluation agent.In this way, the system gives the customer more choice space and a customer can share experiences from previous customers.On the other hand, the number of iterations of user-system interaction can thus be reduced, and the system can work even more efficiently.

Commodity ontology
The shopping system should gather commodities information from multiple sellers, however, it is difficult to exchange information between the shopping system and the sellers because of the different commodity data format in database and representation.In order to maintain a semantic conversation between the shopping system and sellers, there should be a common language to support shared data format and representation about the commodities information.This is established by means of an ontology, which contains the main concepts owning to the domain we are dealing with.In addition to this information, the ontology also includes attributes, values, relations between concepts and axioms so that consistency checking and inferences are done (Yan H., Schreiber G., et al. 1997).Therefore, the main ontological entity in the prototype system developed in the work is the concept, but the use of other ontological entities such as attributes is also possible in the model in order to provide the system with powerful representation capabilities.
In this example, commodity ontology show how a computer is composed by several elements: monitor, keyboard, mouse, processor, etc, which can be described as follows using OWL languages (Deborah LM, Frank VH. 2004 In this case, in addition to the concepts taking part in the semantic relation under question, the relation will have a name with the relation type and eventually some other properties associated to that relation.

Web application
With the purpose of applying intelligent agents to the e-commerce system, JADE platform should be integrated into the Web application.
At first, the environment initialization is needed in order to start working with JADE.This process can be implemented by AgentLoader, which reads configuration files and creates the AMS and DF agents.Then AMS and DF agents provide white/yellow pages services respectively.On the one hand, DF provides a yellow pages service to the other agents in the system, which executes the tasks of agent registration and lookup.When the buyer or seller agent is created, it should be registered in AMS.On the other hand, DF is responsible for monitoring the life cycle of each agent and tracing the behaviour of it.In this way, all the agents in the system can be effectively managed and their inter-communication will be facilitated well.
The design of the system is based on the Apache Struts Web Application Framework and can be implemented with Java technology.

Conclusions
In this paper, I have indicated the need to automate shopping process on Internet and provide more personalized information services for customers.Therefore, developing intelligent shopping system is a promising way to achieve this goal.In the work, I present a multi-agent system to provide shopping service for the commodities that a consumer does not buy frequently.The system integrates built-in expert knowledge and the customer's current needs, and recommends optimal products based on multi-attribute decision making method.To reduce the effort of system-customer interactions, the system utilizes customer-based collaboration filtering approach to recommend the products.Besides, in order to maintain a semantic conversation with sellers, the commodity ontology is also utilized to support sharable information format and representation.A prototype of the system is implemented using the Java Agent Development Framework (JADE).The result shows that the system performs efficiently and can help customers save enormous time for Internet shopping.My future work will be focused on developing some security mechanisms to provide security services for the system.

Figure 1 .
Figure 1.The architecture of the shopping system