Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR RECOMMENDING INFORMATION USING HYBRID ALGORITHM
Document Type and Number:
WIPO Patent Application WO/2009/014300
Kind Code:
A1
Abstract:
A method and apparatus for recommending information is provided. When a client accesses a server and requests necessary information, the server determines whether the client is included in a meaningful set (MS) and generates first preference information of the client based on an access history of the client or based on additional information directly input by the client. Then, the server selects M number of neighborhood groups including clients having preferences similar to a preference of the client, and generates and transmits first item information on N number of items preferred by the clients of the neighborhood group to the client. The client extracts second item information to be recommended for a user by filtering the first item information based on second preference information, again. Information is filtered respectively by the server and the client by using different algorithms. Accordingly, it is possible to improve accuracy and a speed of recommending information.

Inventors:
IM SUNG-BIN (KR)
HONG SE-RIN (KR)
Application Number:
PCT/KR2008/002080
Publication Date:
January 29, 2009
Filing Date:
April 14, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SAMSUNG ELECTRONICS CO LTD (KR)
IM SUNG-BIN (KR)
HONG SE-RIN (KR)
International Classes:
G06Q99/00
Foreign References:
US6330610B12001-12-11
US5867799A1999-02-02
US6408288B12002-06-18
Other References:
See also references of EP 2181430A4
None
Attorney, Agent or Firm:
Y.P.LEE, MOCK & PARTNERS (1575-1Seocho-dong, Seocho-gu, Seoul 137-875, KR)
Download PDF:
Claims:

Claims

[1] L A method of recommending information by a server, the method comprising: receiving a request for recommending information on at least one item among items of the server from a client; generating first preference information by analyzing an item preference of the client; selecting a neighborhood group including clients having preferences similar to a preference of the client based on the first preference information; and transmitting first item information on at least one item preferred by the clients of the neighborhood group among the items of the server to the client, wherein the client receives the first item information and extracts second item information to be recommended for a user by filtering the first item information again based on second preference information for representing an item preference of the client.

[2] 2. The method of claim 1, wherein the first item information includes preference scores of items generated based on at least one of the number of accesses to the items of the server by the clients of the neighborhood group and evaluation scores allocated to the items of the server.

[3] 3. The method of claim 2, wherein the generating of the first preference information includes: determining whether the number of past accesses to the items of the server by the client is equal to or greater than a predetermined number; requesting the client to provide additional information for generating the first preference information when it is determined that the number of the past accesses is less than the predetermined number and receiving the additional information transmitted from the client in response to the request; and generating the first preference information with reference to the received additional information.

[4] 4. The method of claim 2, wherein the generating of the first preference information includes: determining whether the number of past accesses to the items of the server by the client is equal to or greater than a predetermined number; and generating the first preference information based on the number of accesses to the items of the server or the evaluation scores allocated to the items of the server, when it is determined that the number of the past accesses is equal to or greater than the predetermined number.

[5] 5. The method of claim 1, wherein the items relate to at least one of books,

music, movies, and documents.

[6] 6. A method of receiving a recommendation of information by a client, the method comprising: requesting a server to recommend information on at least one item among items of the server; receiving first item information on items preferred by clients of a neighborhood group selected based on first preference information for representing an item preference of the client from the server; and generating second item information on items to be recommended for a user by filtering the received first item information based on second preference information for representing an item preference of the client, wherein the neighborhood group is a group of clients having preferences similar to a preference corresponding to the first preference information.

[7] 7. The method of claim 6, wherein the second preference information is information on a preference of categories of items included in the first item information that is generated based on a result of accessing the items of the server by the client in the past.

[8] 8. The method of claim 7, wherein the generating of the second item information includes generating second item information to be recommended for the user by calculating preference scores of items included in the first item information and preference scores corresponding to preferences of categories by applying weights.

[9] 9. A server device for recommending information, the server device comprising: a request receiving unit receiving a request for recommending information on at least one item among items of the server from a client; a preference generation unit generating first preference information by analyzing an item preference of the client; a group selection unit selecting a neighborhood group including clients having preferences similar to a preference of the client based on the first preference information; and an information generation unit transmitting first item information on at least one item preferred by the clients of the neighborhood group among the items of the server to the client, wherein the client receives the first item information and extracts second item information to be recommended for a user by filtering the first item information again based on second preference information for representing an item preference of the client.

[10] 10. The server device of claim 9, wherein the first item information includes

preference scores of items generated based on at least one of the number of accesses to the items of the server by the clients of the neighborhood group and evaluation scores allocated to the items of the server.

[11] 11. The server device of claim 10, wherein the preference generation unit determines whether the number of past accesses to the items of the server by the client is equal to or greater than a predetermined number, requests the client to provide additional information for generating the first preference information when it is determined that the number of the past accesses is less than the predetermined number, and generates the first preference information with reference to the additional information received in response to the request.

[12] 12. The server device of claim 10, wherein the preference generation unit determines whether the number of past accesses to the items of the server by the client is equal to or greater than a predetermined number and generates the first preference information based on the number of accesses to the items of the server or the evaluation scores allocated to the items of the server, when it is determined that the number of the past accesses is equal to or greater than the predetermined number.

[13] 13. The server device of claim 9, wherein the items relate to at least one of books, music, movies, and documents.

[14] 14. A client device for receiving a recommendation of information, the client device comprising: a request transmission unit requesting a server to recommend information on at least one item among items of the server; an information receiving unit receiving first item information on items preferred by clients of a neighborhood group selected based on first preference information for representing an item preference of the client from the server; a preference generation unit generating second preference information for representing an item preference of the client; and an information generation unit generating second item information on items to be recommended for a user by filtering the received first item information based on the second preference information, wherein the neighborhood group is a group of clients having preferences similar to a preference corresponding to the first preference information.

[15] 15. The client device of claim 14, wherein the second preference information is information on a preference on categories of items included in the first item information that is generated based on a result of accessing the items of the server by the client in the past.

[16] 16. The client device of claim 15, wherein the information generation unit

generates second item information to be recommended for the user by calculating preference scores of items included in the first item information and preference scores corresponding to preferences of categories by applying weights.

[17] 17. A method of recommending information, the method comprising: generating first recommendation information by allowing a server to filter information by using a first information filtering algorithm; and generating second recommendation information by allowing a client to filter the first recommendation information by using a second information filtering algorithm.

[18] 18. The method of claim 17 , wherein the first information filtering algorithm is a CC (collaborative filtering) algorithm, and wherein the second information filtering algorithm is an AA (attribute-aware) algorithm.

[19] 19. A computer-readable recording medium having embodied thereon a computer program for executing the method of claim 1.

[20] 20. A computer-readable recording medium having embodied thereon a computer program for executing the method of claim 6.

[21 ] 21. A computer-readable recording medium having embodied thereon a computer program for executing the method of claim 17.

Description:

Description

METHOD AND APPARATUS FOR RECOMMENDING INFORMATION USING HYBRID ALGORITHM

Technical Field

[1] The present invention relates to a method and apparatus for recommending information, and more particularly, to a method and apparatus for recommending information by using a hybrid algorithm capable of accurately and speedily recommending information by reflecting a category preference of a user. Background Art

[2] As it is possible to search for tremendous amount of information due to development of internet techniques, a method of speedily extracting information suitable for a user from the searchable tremendous amount of information through the Internet is needed. An attribute- aware (AA) algorithm and a collaborative filtering (CF) algorithm are used to search for information as a typical algorithm of methods of filtering information suitable for the user. In a case where a user searches for items such as books, music, movies, and the like through the Internet, the aforementioned algorithm is used so as to provide a search result suitable for the user.

[3] The AA algorithm indicates a method of filtering item information by analyzing an attribute of the user and attributes of items. Search results of users having attributes similar to the attribute of the user are analyzed. Items selected by many users having similar attributes or highly evaluated items are searched for. Information on the items is provided to the user.

[4] The CF algorithm indicates a widely used method of analyzing a preference of a user based on a past search result of items of the user and searching for an item selected by users of a group having a preference similar to the preference of the user. An item selected by many users belonging to the group or item to which high evaluation score is allocated is selected, and information on the item is provided to the user.

[5] Since the CF algorithm uses the past search result of items of the user, it is difficult to accurately recommend information for an initial user having no data on the past search result of items by using this method (first-user problem). In addition, in a case where the number of items is much greater than the number of users, data for distinguishing groups with similar preferences is deficient, and filtering accuracy is decreased (spars ity problem).

[6] Accordingly, although a hybrid algorithm obtained by combining the two algorithms have been suggested, most methods of filtering information by using the hybrid algorithm have an disadvantage that a filtering speed is very slow, and it is difficult to

implement the hybrid method. If attribute data for applying the AA algorithm to data for examining the preference of the user so as to apply the CF algorithm, the amount of data is too large, and the filtering speed is decreased. Accordingly, a method and apparatus for recommending information is required. Disclosure of Invention Technical Solution

[7] The present invention provides a method and apparatus for recommending information by using a hybrid algorithm capable of filtering information by reflecting a personal preference of a user while not deteriorating a speed of filtering information and a computer-readable recording medium having embodied thereon a computer program for executing the method of recommending information. Advantageous Effects

[8] Accordingly, since a server and a client performs a filtering process by using different algorithms for filtering information, the speed of filtering information is increased. Since the filtering process is performed by reflecting personal preference of a user in two filtering processes, it is possible to recommend accurate information for the user. Description of Drawings

[9] The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:

[10] FIG. 1 is a flowchart of a method of recommending information by using a server according to an embodiment of the present invention;

[11] FIG. 2 is a flowchart of a method of generating first preference information according to an embodiment of the present invention;

[12] FIG. 3 is a flowchart of a method of recommending information by using a client according to an embodiment of the present invention;

[13] FIG. 4 illustrates item preference scores, category preference scores, and weighted scores; and

[14] FIGS. 5 A and 5B illustrate a server and a client for recommending information according to an embodiment of the present invention. Best Mode

[15] According to an aspect of the present invention, there is provided a method of recommending information by a server, the method including the operations of receiving a request for recommending information on at least one item among items of the server from a client; generating first preference information by analyzing an item preference of the client; selecting a neighborhood group including clients having preferences

similar to a preference of the client based on the first preference information; and transmitting first item information on at least one item preferred by the clients of the neighborhood group among the items of the server to the client, wherein the client receives the first item information and extracts second item information to be recommended for a user by filtering the first item information again based on second preference information for representing an item preference of the client.

[16] According to another aspect of the present invention, there is provided a method of receiving a recommendation of information by a client, the method including the operations of requesting a server to recommend information on at least one item among items of the server; receiving first item information on items preferred by clients of a neighborhood group selected based on first preference information for representing an item preference of the client from the server; and generating second item information on items to be recommended for a user by filtering the received first item information based on second preference information for representing an item preference of the client, wherein the neighborhood group is a group of clients having preferences similar to a preference corresponding to the first preference information.

[17] The second preference information may be information on a preference of categories of items included in the first item information that is generated based on a result of accessing the items of the server by the client in the past.

[18] According to another aspect of the present invention, there is provided a server device for recommending information, the server device including a request receiving unit receiving a request for recommending information on at least one item among items of the server from a client; a preference generation unit generating first preference information by analyzing an item preference of the client; a group selection unit selecting a neighborhood group including clients having preferences similar to a preference of the client based on the first preference information; and an information generation unit transmitting first item information on at least one item preferred by the clients of the neighborhood group among the items of the server to the client, wherein the client receives the first item information and extracts second item information to be recommended for a user by filtering the first item information again based on second preference information for representing an item preference of the client.

[19] According to another aspect of the present invention, there is provided a client device for receiving a recommendation of information, the client device including a request transmission unit requesting a server to recommend information on at least one item among items of the server; an information receiving unit receiving first item information on items preferred by clients of a neighborhood group selected based on first preference information for representing an item preference of the client from the server; a preference generation unit generating second reference information for rep-

resenting an item preference of the client; and an information generation unit generating second item information on items to be recommended for a user by filtering the received first item information based on the second preference information, wherein the neighborhood group is a group of clients having preferences similar to a preference corresponding to the first preference information.

[20] According to another aspect of the present invention, there is provided a method of recommending information, the method including the operations of generating first recommendation information by allowing a server to filter information by using a first information filtering algorithm; and generating second recommendation information by allowing a client to filter the first recommendation information by using a second information filtering algorithm.

[21] The first information filtering algorithm may be a collaborative filtering (CC) algorithm, and the second information filtering algorithm may be an attribute- aware (AA) algorithm.

[22] According to another aspect of the present invention, there is provided a computer readable recording medium having recorded thereon a program for executing the method of filtering the information. Mode for Invention

[23] Hereinafter, the present invention will be described in detail by explaining exemplary embodiments of the invention with reference to the attached drawings.

[24] FIG. 1 is a flowchart of a method of recommending information by using a server according to an embodiment of the present invention. As described above with reference to a conventional technique, a disadvantage of a hybrid algorithm obtained by combining an attribute- aware (AA) algorithm with a collaborative filtering (CF) algorithm is a low speed of filtering information. Accordingly, in the method of recommending information according to the embodiment, the server firstly filters information to be recommended for a user by using a first information filtering algorithm, preferably, the CF algorithm. A client secondly filters the firstly recommended information obtained from the filtering result by using a second information filtering algorithm, preferably, the AA algorithm so as to generate finally recommended information.

[25] FIG. 1 is a flowchart of the first filtering method that is performed by the server between two filtering processes. In the method of recommending information shown in FIG. 1, information is filtered based on the CF algorithm. However, information is filtered by using a meaningful set (MS) so as to solve a problem (first-user problem) that the user who initially accesses information cannot use the CF algorithm and a problem (sparsity problem) that filtering accuracy deteriorates due to deficiency of data for distinguishing groups with similar preferences from one another in a case

where the number of items is considerably greater than that of users.

[26] In operation 110, the server according to the embodiment is requested to recommend information on at least one item among items of the server. The server receives a message for requesting a recommendation of a specific type of item from a client or receives a message for requesting any type of item from a client. The client request the server to recommend information on at least one item among items included in the server by logging in the server by using an ID allocated to a user of the client.

[27] Here, items of the server may be directly included in the server or included in another server capable of providing items searched for by the server to the client. The items of the server may be content items such as books, music, movies, and documents. Here, the documents may be electronic documents or web documents.

[28] In operation 120, the server according to the embodiment generates first preference information by analyzing an item preference of the client. The item preference of the client is analyzed based on a past access result of the client or additional information generated and transmitted by the client. As the result of analysis, the first preference information is generated. This is described in detail with reference to FIG. 2.

[29] FIG. 2 is a flowchart of a method of generating first preference information according to an embodiment of the present invention.

[30] Referring to FIG. 2, in operation 210, the server determines whether a client which requests a recommendation of information is included in a meaningful set. As described above, the method of recommending information according to the embodiment uses the meaningful set (MS) so as to solve the first-user problem and the sparsity problem. The MS indicates a set of clients having the number of accesses to the items of the server, which is equal to or greater than a predetermined number. The past access result of the client having the number of accesses to the items of the server, which is less than the predetermined number, is not used to filter information. Specifically, when a client which requests a recommendation of information in operation 110 has the number of accesses to the items of the server which is less than the predetermined number, the past access result of the client is not used to filter information. Accordingly, the server generates the first preference information using different methods by determining whether the client which requests a recommendation of information in operation 210 is included in the MS.

[31] In operation 220, when it is determined that a client is not included in the MS in operation 210, that is, when the number of accesses to the items of the server is less than a predetermined number, the server requests the client to transmit additional information needed for generating the first preference information of the client and receives the additional information that is a response to the request.

[32] The additional information includes information on an attribute of a user of the client

and information on an attribute of a preferred item. The attribute of the user may include information on an age, an occupation, and the like. The attribute of the item may include information on a general attribute on types of items such as books, movies, music and the like. These attributes are different from attributes of items that are basis for generating second preference information to be used for the method of recommending information by using the client. These attributes will be described in detail with reference to FIG. 3. The additional information may include information on a preference that is directly input by the user and information on a history of searches and purchases of items of the server by using the client, up to now. The additional information is temporary fake data for analyzing the first preference information of the client having the number of accesses to the items of the server which is less than the predetermined number.

[33] In operation 230, the server generates the first preference information of the client.

When the client having the number of past accesses to the items of the server which is equal to or greater than the predetermined number is included in the MS, the first preference information is generated based on the result of accessing the items of the server by using the client, in the past. Types of items, the number of accesses to the items with the types, and the like are generated as the first preference information.

[34] In a case where the client having the number of accesses to the items is not included in the MS, the first preference information is generated based on the additional information received from the client in operation 220.

[35] Returning to FIG. 1, when the first preference information is generated in operation

120, the server selects a neighborhood group including other clients having preferences similar to a preference corresponding to the generated first preference information in operation 130. A group of clients having preferences similar to the preference corresponding to the first preference information of the client which requests a recommendation of information in operation 110 is selected by comparing the first preference information with preference information of other clients which access the items of the server. A neighborhood group including M number of clients having preferences similar to the preference of the client is selected. In operation 140, the server generates first item information on at least one item preferred by the clients of the neighborhood group generated in operation 130 and transmits the first item information to the client which requests recommendation of information in operation 110.

[36] The server generates preference scores of the items of the server by analyzing information on the number of accesses of the server by the clients of the neighborhood group and information on scores evaluated by the clients of the neighborhood group when accessing the items of the server. The preference score is a value obtained by

converting the preference of the item into a number by clients of the neighborhood group. In a case where the number of accesses of the clients of the neighborhood group is large or in a case where scores evaluated when accessing the items are high, the preference score is high. Otherwise, the preference score is low.

[37] When the preference scores on the items of the server are calculated, the server gathers information on N number of items having high preferences so as to generate first item information. The generated first item information is transmitted to the client which requests recommendation of information in operation 110. In the method of recommending information according to the embodiment, the information recommended by the server is not used as it is but filtered again by reflecting a personal preference of the user. Accordingly, the first item information generated in operation 140 is only firstly recommended information.

[38] FIG. 3 is a flowchart of a method of recommending information by using a client according to an embodiment of the present invention.

[39] FIG. 3 is a flowchart of a secondary filtering method performed by the client between two filtering processes performed in the method of recommending information according to the embodiment. The method of recommending information of the client shown in FIG. 3, information is filtered based on the AA algorithm. When the server generates the first item information corresponding to the preference of the neighborhood group by filtering information by using the CF algorithm, the client filters information by using the AA algorithm and generates second item information by reflecting a personal preference of the user of the client. First, the information is filtered through the CF algorithm so as to generate the first item information. Since the generated first item information is filtered through the AA algorithm, a problem in that a data amount is increased according to a conventional technique is solved. Since information is filtered respectively by the server and the client, it is possible to minimize a load of the server. Accordingly, it is possible to improve a speed of filtering information.

[40] In operation 310, the client requests the server to recommend information on at least one item among items of the server. Operation 310 corresponds to operation 110 shown in FIG. 1. The client logs in the server by using an ID allocated to the user of the client and requests the server to recommend information on the at least one item among the items of the server.

[41] In operation 320, the client receives the first item information from the server. The server receives the first item information that is information on N number of items which is generated by performing the first filtering of information by using the server by using the aforementioned method of recommending information shown in FIG. 1. The first item information includes preference scores on the items. When it is de-

termined that the client is not included in the MS, the first item information received from the server may be information to be finally recommended for the client as it is.

[42] In operation 330, the client generates second preference information. When it is determined that the client is included in the MS, the second preference information is generated based on the result of accessing the items of the server through the client, in the past. The second preference information is obtained by reflecting the preference of the user more accurately than the first preference information. Information on preference of a category including items included in the first item information is generated as the second preference information.

[43] The first preference information is used to select a neighborhood group. The first preference information is information generated based on upper level attributes such as types of items. On the other hand, the client generates the second preference information with reference to an attribute more concrete than an attribute that is the standard for generating the first preference information so as to filter information by sufficiently reflecting a personal preference of a user. For example, if the server generates the first preference information that is information on a preference for each item with reference to an upper level attribute such as a type of contents, that is, a book, a movie, and music, the client generates the second preference information that is information on a preference for each category by using a lower level attribute such as a genre, a author, a director, and a composer.

[44] That is, the server generates the first preference information with reference to a general attribute for setting a neighborhood group not by considering concrete attribute information such as genre or director. The client generates the second preference information with reference to a more concrete attribute such as a genre or director so as to generate the second item information by filtering the first item information by considering a preference for each genre or each director, again.

[45] In operation 340, the client generates the second item information based on the second preference information generated in operation 330. This operation will be described with reference to FIG. 4.

[46] FIG. 4 illustrates item preference scores, category preference scores, and weighted scores.

[47] Referring to FIG. 4, the first item information according to the embodiment includes a preference score for each item calculated based on the preference of theneighborhood group. On the other hand, the second item information includes the preference score of a category including items that are included in the first item information.

[48] Although a preference score of Item#l of the neighborhood group is 100, a preference score of Category#2 including Item#l is 90. On the other hand, although a preference score of Item#3 of the neighborhood group is 80, a preference score of

Category* 1 is 100.

[49] The client calculates a final weighted score by calculating preference scores of items generated by allowing the server to perform a first filtering process and preference scores of categories including the items by applying weights. If a weight of preference scores of items (1-lamda) included in the first item information is 0.4 and if a weight of preference scores of categories (lamda) is 0.6, a weighted score of Item#l is 94, and a weighted score of Item#3 is 92.

[50] The second item information provided to the user is selected with reference to the weighted score obtained by calculating an item preference score and a category preference score by applying weights. Some items having high weighted scores are selected among Item#l to Item#5 shown in FIG. 4. Information on the items is provided to the user.

[51] The client provides the second item information to the user. The user selects one from the second item information. The client accesses the selected item. The access result is stored in the client so as to be used for next recommendation of information. The number of accesses to the selected item is increased by one. When the user inputs an evaluation score, the evaluation score is stored. Next, the client may transmit the access result to the server so that the server can generate the first preference information for the next recommendation of information based on the access result. In a case where the number of accesses to the items is equal to or less than a predetermined number, only the client stores the access result. It is possible to reduce materials used to filter information in the server by transmitting the access result to the server, when the number of accesses is equal to or greater than the predetermined number.

[52] In the methods of recommending information shown in FIGS. 1 to 4, there are three parameters. The three parameters includes the number M of clients included in the neighborhood group, the number N of items firstly recommended by the server, and lambda used to calculate a weight for generating the second item information. According to the embodiment, it is possible to speedily and accurately recommend information by controlling three parameters.

[53] According to experiment results, if the lambda approaches 1, a result of recommending information performed in the server side is recommended for the user without any change. This is not preferable.

[54] In addition, since an increase of the number N of items firstly recommended by the server hardly influences recommendation accuracy, it is unnecessary that the number N is too large.

[55] When the number M of clients included in the neighborhood group is too large, a speed of recommending information is decreased. Accordingly, it is unnecessary that the number M is too large. The optimal number M is determined based on a type of re-

commended items, the number of items of the server, and the like.

[56] In the method of recommending information according to the embodiment, it is experimentally checked that the three parameters do not largely influence the speed of recommending information but influence accuracy of recommending information. The three parameters may be controlled so as to improve the accuracy of recommending information.

[57] Information is recommended many times by slightly adjusting the three parameters.

Whenever information is recommended, a speed and accuracy of recommending information are measured so as to search for optimal combination of values of the three parameters.

[58] FIGS. 5A and 5B illustrate a server and a client for recommending information according to an embodiment of the present invention.

[59] Referring to FIG. 5 A, a server device 510 according to the embodiment includes a request receiving unit 512, a preference generation unit 514, a group selection unit 516, and an information generation unit 518.

[60] The request receiving unit 512 is requested to recommend information on at least one item among items of the server 510 by a client 520. As described above, the items may be directly included in the server 510 or included in another server capable of providing items which are searched for by the server to the client.

[61] The preference generation unit 514 generates first preference information by analyzing an item preference of the client. The preference generation unit 514 determines whether the client is included in an MS in which the number of accesses is equal to or greater than a predetermined number. When it is determined that the client is included in the MS, the first preference information is generated based on the past access result.

[62] When it is determined that the client is not included in the MS, the preference generation unit 514 requests the client 520 to provide additional information for generating the first preference information and receives the additional information that is a response to the request. The first preference information is generated based on the received additional information. The additional information includes information on an attribute of the user of the client and information on an attribute of a preferred item. As described above, the user attribute may include information on an age, an occupation, and the like. The attribute of the item may include information on a general attribute on types of items such as books, movies, music and the like. The additional information may include information on a preference that is directly input by the user and information on a history of searches and purchases of items of the server in the past by the user as fake data.

[63] The group selection unit 516 selects the neighborhood group based on the first

preference information generated by the preference generation unit 514. A group of M numbers of clients having preferences similar to the preference corresponding to the first preference information is selected.

[64] The information generation unit 516 generates and transmits information on at least one item preferred by clients of the neighborhood group, that is, the first item information to the client. The preference scores of items preferred by the clients of the neighborhood group are calculated. Information on N number of items having high preference scores is generated and transmitted to the client.

[65] Referring to FIG. 5B, the client device 520 according to the embodiment includes a request transmission unit 522, an information receiving unit 524, a preference generation unit 526, and an information generation unit 528.

[66] The request transmission unit 522 requests the server to recommend information on at least one item among the items of the server 510.

[67] The information receiving unit 524 receives first item information generated by allowing the server 510 to perform a first information filtering process. The first item information is generated by allowing the server 510 to select a neighborhood group including M number of clients based on first preference information for representing an item preference of the client 520 and to extract information on N number of items preferred by the clients included in the neighborhood group.

[68] The preference generation unit 526 generates second preference information for representing an item preference of the client 520. The second preference information relates to categories of items which are generated by allowing the client 520 to access the items of the server 510 in the past. The second preference information is generated based on a more concrete attribute different from the first preference information used to allow the server 510 to select the neighborhood group.

[69] The information generation unit 528 filters the first item information by using the second preference information generated by the preference generation unit 526. Weighted scores are calculated by calculating preference scores of items included in the first item information and preference scores of item categories calculated based on the second preference information by applying weights. Second item information to be recommended for the user is generated based on the generated weighted scores.

[70] While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The exemplary embodiments should be considered in descriptive sense only and not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims, and all differences within the

scope will be construed as being included in the present invention. The system according to an embodiment of the invention can also be embodied as computer readable codes on a computer readable recording medium. The computer readable recording medium is any data storage device that can store data which can be thereafter read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (such as data transmission through the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.