A Fuzzy Linguistic Multi-agent Model for Information Gathering on the Web Based on Collaborative Filtering Techniques

. Information gathering in Internet is a complex activity. A solution consists in to assist Internet users in their information gathering processes by means of distributed intelligent agents in order to ﬁnd the ﬁttest information to their information needs. In this paper we describe a fuzzy linguistic multi-agent model that incorporates information ﬁltering techniques in its structure, i.e., a collaborative ﬁltering agent. In such a way, the information ﬁltering possibilities of multi-agent system on the Web are increased and its retrieval results are improved.


Introduction
The exponential increase in Web sites and Web documents is contributing to that Internet users not being able to find the information they seek in a simple and timely manner. Users are in need of tools to help them cope with the large amount of information available on the Web [15,16]. Therefore, techniques for searching and mining the Web are becoming increasing vital. Two important techniques that have been addressed in improving the information access on the Web are related to intelligent agents and information filtering.
Intelligent agents applied on the Web deal with the information gathering process assisting Internet users to find the fittest information to their needs [3,9,14,26]. Usually, several intelligent agents (e.g. interface agent, information discovery agent) organized in distributed architectures take part in the information gathering activity [3,8,9,14,19]. The problem is the design of appropriate communication protocols among the agents. The great variety of representations and evaluations of the information in the Internet is the main obstacle to this communication, and the problem becomes more noticeable when users take part in the process. This reveals the need of more flexibility in the communication among agents and between agents and users [6,25,26,27]. To solve this problem we presented in [6,7,11] different distributed intelligent agent models based on fuzzy linguistic information [12,13].
Another promising direction to improve the information access on the Web is related with the filtering techniques. Information filtering is a name used to describe a variety of processes involving the delivery of information to people who need it. Operating in textual domains, filtering systems or recommender systems evaluate and filter the great amount of information available on the Web (usually, stored in HTML or XML documents) to assist people in their search processes [21]. Traditionally, these systems have fallen into two main categories [20]. Content-based filtering systems filter and recommend the information by matching user query terms with the index terms used in the representation of documents, ignoring data from other users. These recommender systems tend to fail when little is known about user information needs, e.g. as happens when the query language is poor. Collaborative filtering systems use explicit or implicit preferences from many users to filter and recommend documents to a given user, ignoring the representation of documents. These recommender systems tend to fail when little is known about a user, or when he/she has uncommon interests [20]. Several researchers are exploring hybrid content-based and collaborative recommender systems to smooth out the disadvantages of each one of them [1,4,10,20]. Recommender systems employing information filtering techniques often do so through the use of information filtering agents [23]. For example, Amalthaea [19] is a multi-agent system for recommending Web sites.
In this paper, we present a new fuzzy linguistic multi-agent model for information gathering on the Web that use collaborative information filtering techniques to improve retrieval issues. We design it by using a 2-tuple fuzzy linguistic approach [12] as a way to endow the retrieval process with a higher flexibility, uniformity and precision. As we did in [7], the communication of the evaluation of the retrieved information among the agents is carried out by using linguistic information represented by the 2-tuple fuzzy linguistic representation. Users represent their information needs by means of linguistic weighted queries [13] and providing an information need category (medicine, decision making, economy). The weighted queries are composed of terms which are weighted by means of linguistic relative importance weights. To exploit user preferences the multi-agent model incorporates in its architecture a collaborative filtering agent that filters and recommends documents related to information need category according to the evaluation judgements previously expressed by other users.
In this paper Section 2 reviews the considered fuzzy linguistic representation. Section 3 presents the new fuzzy linguistic multi-agent model based on collaborative information filtering techniques. Section 4 presents an example for illustrating our proposal. Finally, some concluding remarks are pointed out.

The Fuzzy Linguistic Approach
For modelling qualitative information we consider a 2-tuple fuzzy linguistic approach. The 2-tuple fuzzy linguistic approach was introduced in [12] to overcome the problems of loss of information of other fuzzy linguistic approaches [13]. Its main advantage is that the linguistic computational model based on linguistic 2-tuples can carry out processes of computing with words easier and without loss of information.
Let S = {s 0 , ..., s g } be a linguistic term set with odd cardinality (g+1 is the cardinality of S and usually is equal to 7 or 9), where the mid term represents an assessment of approximately 0.5 and with the rest of the terms being placed symmetrically around it. We assume that the semantics of labels is given by means of triangular membership functions represented by a 3-tuple (a, b, c) and consider all terms distributed on a scale on which a total order is defined s i ≤ s j ⇐⇒ i ≤ j. An example may be the following set of seven terms: On the other hand, it is obvious that the conversion of a linguistic term into a linguistic 2-tuple consists of adding a symbolic translation value of 0: The 2-tuple linguistic computational model is defined by presenting a negation operator, the comparison of 2-tuples and aggregation operators of 2-tuples: Comparison of 2-tuples. The comparison of linguistic information represented by 2-tuples is carried out according to an ordinary lexicographic order. Let (s k , α 1 ) and (s l , α 2 ) be two 2-tuples, with each one representing a counting of information: 3. Aggregation operators of 2-tuples. The aggregation of information consists of obtaining a value that summarizes a set of values, therefore, the result of the aggregation of a set of 2-tuples must be a 2-tuple. Using functions ∆ and ∆ −1 that transform without loss of information numerical values into linguistic 2-tuples and viceversa, any of the existing aggregation operator can be easily extended for dealing with linguistic 2-tuples. Some examples are: α 1 ), . . . , (r n , α n )} be a set of linguistic 2-tuples, the 2-tuple arithmetic mean x e is computed as,  α 1 ), . . . , (r n , α n )} be a set of linguistic 2-tuples and W = {(w 1 , α w 1 ), ..., (w n , α w n )} be their linguistic 2-tuple associated weights. The 2-tuple linguistic weighted average x w l is:

A Fuzzy Linguistic Multi-agent Model Based on Collaborative Filtering Techniques
In this Section we present a new fuzzy linguistic multi-agent model which is developed from the multi-agent model defined in [7]. Basically, we propose to improve the performance of that by incorporating in its architecture collaborative filtering techniques.

Architecture of Fuzzy Linguistic Multi-agent Model
In [24] a distributed multi-agent model for the information gathering is defined. This model develops the retrieval activity by considering five action levels: internet users, interface agents, task agents, information agents and information sources. Using this model, in [7] we defined a fuzzy linguistic distributed multiagent model that uses linguistic 2-tuples to carry out the communication processes among the agents. In such a way, we incorporate in the retrieval process a higher degree of flexibility to carry out the information interchange, but in a precise way.
As it is known, a promising direction to improve the effectiveness of search engines concerns the way in which it is possible to "filter" the great amount of information available across the Internet. As it was said at the beginning, the so-called recommender systems are useful tools to carry out the evaluation and filtering activities on the Web [21]. The combined use of recommender systems together with search multi-agent systems has given very good results on the Web [2,18,19,23].
Then, our proposal consists of applying the use of recommender systems in the multi-agent model presented in [7] to improve its performance. The incorporation of recommender systems in its architecture increases its information filtering possibilities on the Web. To do so, we present a new fuzzy linguistic multi-agent model that integrates in its activity collaborative filtering techniques [20,21], i.e., a new activity level, the level of a collaborative filtering agent. Furthermore, the users' expression possibilities are increased. Users specify their information needs by means of both a linguistic weighted query and an information need category. Each term of a user query can be weighted by a relative importance weight. By associating relative importance weights to terms in a query, the user is asking to see all documents whose content represents the concept that is more associated with the most important terms rather than with the least important ones. The relative importance weights are used by the task agent to determinate the number of documents to be retrieved from each information agent. The information need category represents the interest topic of the user's information need, e.g.,"information retrieval", "medicine", "decision making",... Previously, a list of information categories available to users must be established. The information need category is used by the collaborative filtering agent to carry out a filtering on documents that are finally retrieved and shown to the users.
This new multi-agent model presents a hierarchical architecture that contains six activity levels (see Fig. 1 in the case of a single user): 1. Level 1: Internet user, which expresses his/her information needs by means of a linguistic weighted query {(t 1 , p 1 ), (t 2 , p 2 ) ..., (t m , p m )}, p i ∈ S and an information need category A i ∈ {A 1 , ..., A l }. He also provides his/her identity ID (e.g. e-mail address).

Level 2:
Interface agent (one for user), that communicates the user query, the information need category and the user identity to the collaborative filtering agent, filters the retrieved documents from collaborative filtering agent to give to the user those that satisfy better his/her needs, and finally, informs the collaborative filtering agent on set of documents used by user to satisfy his/her information needs DU .

Level 3:
Collaborative filtering agent (one for interface agent), that communicates the user query to the task agent, receives the more relevant documents chosen by the task agent, retrieves the recommendations on such documents from a collaborative recommendation system using the information need category expressed by the user RC Ai = {RC Ai 1 , ..., RC Ai v } RC Ai j ∈ Sx[−0.5, 0.5), filters the documents by recalculating their relevance using these recommendations, and communicates these documents together with their new relevance degrees to the interface agent. Later, it carries out the tasks to update in the collaborative recommendation system the recommendations on the documents used by the user, i.e., it invites user to provide a recommendation rc y on each chosen document d U y ∈ DU and this recommendation is stored in the collaborative recommendation system together with the recommendations provided by other users that used d U y . Task agent (one for collaborative filtering agent), that communicates the terms of user query to the information filtering agents, and filters documents provided by information agents by getting those documents from every information agent that fulfill better the weighted query, fusing them and resolving the possible conflicts among the information agents.

Level 5:
Information agents, which receive the terms of user query from the task agent and look for the documents in the information sources. Then, task agent receives from each information agent h the set of relevant documents that it found through information sources D h and their relevance R h , where every document d h j has an associated degree of relevance r h j ∈ Sx[−0.5, 0.5) (j = 1, ..., #(D h )). It also receives a set of linguistic degrees of satisfaction .5) of this set of documents D h with regard to every term of the query t i . 6. Level 6: Information sources, consisting of all data sources within the Internet, such as databases and information repositories.

How Does This Multi-agent Model Work?
The activity of multi-agent model presented in the above Subsection is composed of two phases: 1. Retrieval phase: This first phase coincides with the information gathering process developed by the multi-agent model itself, i.e., this phase begins when a user specifies his/her query and finishes when he/she chooses his/her desired documents among the documents retrieved and provided by the system. 2. Feedback phase: This second phase coincides with the updating process of collaborative recommendations on desired documents existing in the collaborative recommender system, i.e., this phase begins when the interface agent informs the documents chosen by the user to the collaborative filtering agent and finishes when the recommender system recalculates and updates the recommendations of the desired documents.
The retrieval phase is carried out as follows: Step 1: An Internet user expresses his/her information needs by means of a linguistic weighted query {(t 1 , p 1 ), (t 2 , p 2 ), ..., (t m , p m )}, p i ∈ S and an information need category A i chosen from a list of information need categories {A 1 , ..., A l } provided by the system. The system also requires the user's identity ID. All this information is given by the user to the interface agent.
Step 2: The interface agent gives the query together with the information need category to the collaborative filtering agent.
Step 3: The collaborative filtering agent gives the query to the task agent.
Step 4: The task agent communicates the terms of the query {t 1 , t 2 , ..., t m } to all the information agents to which it is connected.
Step 5: All the information agents that have received the query, look for the information that better satisfies it in the information sources, and retrieve from them the documents. We assume that the documents are represented in the information sources using an index term based representation as in vector space model [13,22]. Then, there exists a finite set of index terms T= {t 1 , . . . , t l } used to represent the documents and each document d j is represented as a fuzzy subset, d j = {(t 1 , F (d j , t 1 )), . . . , (t l , F (d j , t l ))}, F(d j , t i ) ∈ [0, 1], where F is any numerical indexing function that weighs index terms according to their significance in describing the content of a document.
]. Then, the task agent selects the number of documents k(D h ) to be retrieved from each in- is the probability of selection of the documents from information agent h, and λ h ∈ Sx[−0.5, 0.5) is the satisfaction degree of information agent h which is computed through a 2-tuple linguistic weighted average operator, for example Step 7: The collaborative filtering agent receives from the task agent a list of Then, collaborative filtering agent filters the documents provided by the task agent using the recommendations on such documents provided by other users in previous similar searches which are stored in a collaborative recommender system. To do so, the collaborative recommender system sends collaborative filtering agent the set of recommendations existing on DV associated with the information need category A i expressed by the user, . Then, the collaborative filtering agent filters the documents by recalculating their relevance using such recommendations RC Ai . So, for each document d V j ∈ DV a new linguistic relevance degree r NV j is calculated from r V j and RC Ai j by means of the 2-tuple weighted operator x w as r NV j = x w (r V j , RC Ai j ), using for example the weighting vector W=[0.6,0.4].
Step 8: The interface agent receives from the collaborative filtering agent a list of documents DW = {d W 1 , ..., d W w } ordered with respect to their relevance RW , such that #(DW ) = w ≤ v = #(DV ). Then, the interface agent filters these documents in order to give to the user only those documents that fulfill better his/her needs, which we call Df . For example, it can select a fixed number of documents K and to show the K best documents.
On the other hand, the feedback phase is developed by the collaborative recommender system which obtains new recommendations that later can be reused to assist another people in their search processes. In our multi-agent model this feedback activity is developed in the following steps (in Fig. 1 the discontinuous lines symbolize this phase): Step 1: The interface agent gives the user's identity ID (usually his/her e-mail) together with the set of documents DU = {d U 1 , ..., d U u }, u ≤ #(Df ) used by the user to the collaborative filtering agent.
Step 2: The collaborative filtering agent asks user his/her opinion or evaluation judgements about DU , for example by means of an e-mail.
Step 4: The collaborative recommender system recalculates the linguistic recommendations of set of documents DU by aggregating again the opinions provided by other users together with those provided by the Internet user. This can be done using the 2-tuple aggregation operator x e . Then, given a chosen document d U y ∈ DU that receives a recommendation or evaluation judgement rc y from the Internet user, and supposing that in the collaborative recommender system there exists a set of stored linguistic recommendations {rc 1 , ..., rc M }, rc i ∈ S associated with d U y for the information need category A i , which were provided by M different users in previous searches, then a new value of recommendation of d U y is obtained as RC Ai y = x e [(rc 1 , 0), ..., (rc M , 0), (rc y , 0)].

Concluding Remarks
We have presented a fuzzy linguistic multi-agent model based on collaborative filtering techniques which improves the search processes on the Web and increases the users' satisfaction degrees.
In the future, we want to study proposals that allow users to express better both their information needs, for example, by using multi-weighted queries [13].