WO2001037162A2 - Interest based recommendation method and system - Google Patents

Interest based recommendation method and system Download PDF

Info

Publication number
WO2001037162A2
WO2001037162A2 PCT/US2000/028005 US0028005W WO0137162A2 WO 2001037162 A2 WO2001037162 A2 WO 2001037162A2 US 0028005 W US0028005 W US 0028005W WO 0137162 A2 WO0137162 A2 WO 0137162A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
data
affinity
interest
recommendation
Prior art date
Application number
PCT/US2000/028005
Other languages
French (fr)
Other versions
WO2001037162A8 (en
Inventor
Paul Bieganski
Robert W. Drillskill, Jr.
Daniel S. Frankowski
Original Assignee
Net Perceptions, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Net Perceptions, Inc. filed Critical Net Perceptions, Inc.
Priority to AU11954/01A priority Critical patent/AU1195401A/en
Publication of WO2001037162A2 publication Critical patent/WO2001037162A2/en
Publication of WO2001037162A8 publication Critical patent/WO2001037162A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • This invention relates generally to data processing systems, and more particularly, to recommendation systems.
  • Recommendation systems are becoming widely used in e-commerce business activities. Recommendation systems allow e-commerce operators to take advantage of customer databases to provide valuable personalized service to customers. For example, systems that make personalized recommendations are used as a marketing tool to turn "window shoppers" into buyers, increase cross-sells and up-sells, and deepen customer loyalty.
  • Unary data is a set of user-item pairs that indicate an event of interest to the user has occurred.
  • An example of unary data is purchase record data where a user-item pair indicates that the user has purchased a particular item.
  • Likert scale data indicates a user's preferences about an item. Typically, likert scales give the user options, such as: like very much "5"; like a little "4"; don't mind either way “3"; dislike a little “2”; and strongly dislike "1.”
  • Likert data based calculations use a form of correlation calculation that assumes negative information within the data. This negative data can be used to find users with similar or opposite interests.
  • Likert data based calculations do not account for data that is only positive. Instead, these calculations handle low positive data (e.g., a user rating an item a "1") as a negative connotation such as "strongly dislike.” Therefore, although existing recommendation systems provide recommendations based on unary data and likert scale data, these systems do not provide recommendations when the data contains only positive interest data. There exists a need to improve existing recommendation systems to provide recommendations based on other types of data, such as interest data.
  • Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user.
  • Interest data is a type of data that represents a measure of the level of interest someone has expressed in an entity.
  • methods and systems consistent with the present invention locate potential neighbors that have rated entities similar to those rated by the user. Once these neighbors are located, an affinity value is calculated between the user and potential neighbor to determine whether the potential neighbor's ratings are closely related to that of the user's ratings. If a user and a neighbor have an affinity greater than a predetermined threshold, that neighbor is considered close enough to the user to provide a recommendation for various entities.
  • a method provides a recommendation using resource allocation data.
  • the method obtains resource allocation data corresponding to a first user, determines an affinity between the first user and one of the other users based on the resource allocation data, and provides a recommendation to the user based on the affinity.
  • a method indicates strength of an interest of a user in a particular entity.
  • the method obtains click-stream data corresponding to the user, locates a plurality of neighbors with click-stream data similar to the user's click-stream data, determines an affinity between the user and one of the plurality of neighbors based on the resource allocation data, includes the one of the located neighbors meeting predetermined criteria on a neighbor list, and provides a recommendation to the user based on the neighbor list.
  • a method provides a user with an electronic coupon based on purchase data.
  • the method obtains purchase data corresponding to the user, generates interest data from the purchase data, determines an affinity between the first user and a neighbor based on the generated interest data, and provides the user with an electronic coupon based on the affinity.
  • a method provides a recommendation using resource allocation data that indicates a user's strength of an interest in a particular entity.
  • the method locates in a database that contains resource allocation data for a plurality of users, other users with a similar strength of an interest as the user, determines an affinity between the user and one of the other users based on the similar strength of an interest and provides a recommendation to the user based on a list that contains a set of other users meeting predetermined criteria.
  • Figure 1 depicts a data processing system suitable for practicing methods and systems consistent with the present invention
  • Figure 2 depicts a more detailed diagram of the client computer depicted in Fig. 1 ;
  • Figure 3 depicts a more detailed diagram of the recommendation server depicted in Fig. 1 ;
  • Figure 4 depicts a flow chart of the steps performed when providing a recommendation with interest data
  • Figure 5A depicts a first rating table for use with methods and systems consistent with the present invention
  • Figure 5B depicts a first normalized rating table for the first rating table of Fig. 5A
  • Figure 5C depicts a second rating table for use with methods and systems consistent with the present invention
  • Figure 5D depicts a second normalized rating table for the first rating table of Fig. 5C.
  • Figure 6 depicts an embodiment of an electronic commerce server for use with the invention.
  • Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user.
  • Interest data is a type of data that represents a measure of the level of interest someone has expressed in an entity.
  • methods and systems consistent with the present invention locate potential neighbors that have rated entities similar to those rated by the user. Once these neighbors are located, an affinity value is calculated between the user and potential neighbor to determine whether the potential neighbor's ratings are closely related to that of the user's ratings. If a user and a neighbor have an affinity greater than a predetermined threshold, that neighbor is considered close enough to the user to provide a recommendation for various entities.
  • a recommendation may be used as part of marketing campaigns that recommend entities to users who are interested in similar entities; as part of knowledge-management systems in large corporations that recommends reports and documents to employees based on the employees business or research interests; as part of call centers that provide recommendations for merchandise to consumers placing orders; and as part of an electronic coupon campaign that provides electronic coupons to users visiting various web sites.
  • Fig. 1 depicts a data processing system 100 suitable for practicing methods and systems consistent with the present invention.
  • Data processing system 100 comprises a client computer 112 connected to recommendation server 120 via a network 130, such as the Internet.
  • a user uses client computer 112 to provide various information to recommendation server 120.
  • client computer 1120 may contain many more client computers and additional client sites.
  • recommendation server 120 may be located at various places on network 130, including client computer 112.
  • Figure 2 depicts a more detailed diagram of client computer 112, which contains a memory 220, a secondary storage device 230, a central processing unit (CPU) 240, an input device 250, and a video display 260.
  • Memory 220 includes browser 222 that allows users to interact with recommendation server 120 by transmitting and receiving files, such as web pages.
  • a web page may include images or instructions to obtain recommendation requests from a user using hypertext markup language (HTML), Java or other techniques.
  • HTML hypertext markup language
  • Java Java
  • An example of a browser suitable for use with methods and systems consistent with the present invention is the Netscape Navigator browser, from Netscape.
  • recommendation server 120 includes a memory 310, a secondary storage device 320, a CPU 330, an input device 340, and a video display 350.
  • Memory 310 includes recommendation engine 312 and interest gatherer engine 314.
  • Recommendation engine 312 determines if an item should be recommended to the user. It may use many different techniques to generate recommendations based on user interest profiles.
  • One technique that may be used to generate recommendations is automated collaborative filtering as described in Resnick, lacovo, Susha, Bergstrom, and Riedl, "GroupLens: An Open Architecture For Collaborative Filtering Of Netnews," Proceedings of the 1994 Computer Supported Collaborative Work Conference (1994).
  • Other recommendation techniques are described in U.S. application serial no.
  • Recommender systems may also be based on well-known CF systems, logical rules derived from data, or on statistical or machine learning technology.
  • a recommender system may use well-known rule-induction learning, such as Cohen's Ripper, to learn a set of rules from a collection of data as described in Good, N., Schafer, J.B., Konstan, J., Borchers, A., Sarwar, B., Herlocker, J., and Riedl, J., "Combining Collaborative Filtering with Personal Agents for Better Recommendations," Proceedings of the 1999 Conference of the American Association of Artifical Intelligence (AAAI-99).
  • Recommender systems may also be based on well-known data mining techniques that include a variety of supervised and unsupervised learning strategies and produce "surprising" results expressed as associations or rules embedded in a data set.
  • Recommender systems may also contain rating functions (models) programmed by a system administrator.
  • the rating functions are either a formula or a table of ratings that determines business goals (e.g., the formula may specify a low rating for low-stock and out-of-stock items).
  • These mentioned systems also require user data as input to produce personalized recommendations for users.
  • recommendation engine 312 may use a web page, Application Program Interface (API), or other input interface.
  • API Application Program Interface
  • An API is a set of routines, protocols, or tools for communicating with software applications. APIs provide efficient access to the recommendation engine without the need for additional software to interface with the recommendation engine. Ratings may come in various forms. For example, a rating may be a user's interest in a particular entity, called interest data.
  • Interest data is a type of data that represents a measure of the level of interest a user has expressed an entity. Interest data is always a positive measure (e.g., it is assumed that a user cannot show an interest in an entity they dislike). Interest data may also be resource allocation data. Resource allocation data is a type of data where the user indicates, not only an entity of interest, but also how much interest the user has in the entities. For example, if a user has $1000 to spend on mutual funds, he may allocate his resource (money) to have $250 in mutual fund A, $750 in mutual fund B, and 0 in mutual fund C. The user has a higher interest in mutual fund B than in mutual fund A, and no interest in mutual fund C.
  • Interest data may also be based on user purchase data. That is, the interest data would include a list of entities recently purchased by the user. A user that purchases more of entity A that entity B would have a higher interest in A than B. For example, if a user recently purchases entity A and entity B, and afterwards purchases ten more of entity A, the user has a higher interest in entity A than B.
  • Interest gatherer engine 314 collects interest data from various users and stores the collected interest data in interest table 324.
  • Secondary storage device 320 includes a database 322 that stores various user's interests in interest data table 324.
  • Interest data table 324 obtains interest data by receiving ratings from users from places such as, web page logs, previous purchases or any application that can obtain user preferences.
  • a web page log is a written record of all activity on a particular web site. For example, a web page log may contain a user's time on a web page, and web pages viewed.
  • database 322 may contain other types of data, such as unary data and likert data.
  • Figure 4 depicts a flow chart of the steps performed when generating a recommendation with interest data.
  • the first step is to receive a request for a recommendation from a user (step 402).
  • the request may come in many forms.
  • a recommendation request may come from an e-commerce server that will display a list of entities to a user before "check-out.”
  • the request may also come from a particular web page viewed by a user, or by monitoring "click-stream" data.
  • Click- stream data is data obtained by monitoring users actions on particular web pages.
  • the request is submitted to recommendation engine 312 using an API.
  • the e-commerce server may query recommendation engine with a "predict" API at the time the user displays finalizes his shopping cart.
  • a request for a recommendation may also come form an entity, or a group of entities (e.g., entities that are within the same category).
  • recommendation engine 312 may recommend to the entity a list of users that may be interested in that entity.
  • recommendation engine 312 may extract interest data pertaining to the user from interest data table 324 (step 404). If no interest data is available for the user, recommendation engine 312 may provide a default list. A default list would contain a preprogrammed list of entities to recommend to the user. For example, if the user has never used recommendation engine 312 before, it may provide a top ten list of best selling entities to the user.
  • Recommendation engine 312 uses the extracted interest data to locate potential neighbors (step 406).
  • the term "neighbor" means users identified in interest data table 324 with similar interests as the first user. For example, if another user in interest data table 324 has rated similar entities as the first user, the other user may be considered a potential neighbor. At this point, the user is considered a potential neighbor since the affinity between the user and the entity would still need to be determined, as further described below. For example, an ideal neighbor for a user would be a neighbor that has rated all entities that the user has also rated. If no potential neighbors are found (step 408), recommendation engine 312 attempts to locate any neighbors to provide a recommendation (step 410).
  • recommendation engine 312 uses a default list instead of providing a recommendation, as described above (step 420). If, however, recommendation engine 312 locates neighbors (step 410), recommendation engine 312 uses the located neighbors to provide a recommendation (step 422).
  • recommendation engine 312 computes an affinity between the user and the potential neighbor using an appropriate affinity equation (step 412).
  • affinity equations provide an affinity value that indicates how much in common the two users are and how similar their preferences are.
  • the mutual normalized interest equation is one affinity equation that uses normalized interest information, such as normalized ratings, to return a common interest level between the user and the potential neighbor. To do so, the equation computes the sum of the minimum normalized coratings.
  • a corating is a pair of ratings for the users. For example, Fig 5A depicts a rating table 500 containing common ratings between a user and a potential neighbor. Fig. 5B depicts a normalized table 510 containing normalized data from rating table 500.
  • the value ".6" is an affinity value between the user and the potential neighbor. Fuzzy Evidence Set Similarity
  • the fuzzy evidence set similarity equation is another affinity equation that uses normalized interest information, such as normalized ratings, to return the amount of interest overlap between the user and the potential neighbor. More information regarding fuzzy evidence may be found in Zimmerman, H.J., "Fuzzy Set Theory - And Its Applications," Second Revised Edition, 1991 , hereby incorporated by reference.
  • Fig. 5C depicts a rating table 520 containing some common ratings between a user and a potential neighbor.
  • Fig. 5D depicts a normalized table 530 containing normalized data from rating table 520.
  • fuzzy evidence set similarity is computed using the following equation, where "noncoratingj” is the number of entities “R” has not rated, “noncorating_k” is the number of entities “r” has not rated, and “coratingsj” is the number of entities both users have not rated:
  • recommendation engine 312 determines if the affinity value is above a predetermined threshold value (step 414).
  • a predetermined threshold value may be a maximum value, minimum value, or a range of values. If the affinity value is above the threshold value, the potential neighbor is added to a neighbor list (step 416). Each neighbor on the neighbor list provides rating information to recommendation engine 312 that is used to compute a recommendation for the user. Otherwise, if the affinity value is below the threshold value, the potential neighbor is dropped and the next potential neighbor is located in interest data table 324 (step 406).
  • Recommendation engine 312 locates neighbors until enough neighbors have been located (step 418). For example, to provide a quick recommendation, recommendation engine 312 may require ten neighbors. However, to provide a more accurate recommendation, recommendation engine 312 may require fifty neighbors. Once the requisite number of neighbors has been located, recommendation engine 312 may provide a recommendation to the user using well-known recommendation techniques (step 424).
  • FIG. 6 illustrates a recommendation system integrated into a web-based electronic mutual fund site (e-commerce site).
  • the user at computer 602 connects using a network 604 to a web server 606.
  • Web server 606 presents this set of products for sale to the user.
  • a recommendation server 610 coupled to the web server 606 and commerce server 608 receives purchase information from commerce server 608.
  • the recommendation server 610 uses web server 606 and commerce server 608 to provide the user with specifically targeted content, such as recommendations to purchase specific entities, recommendations to view specific entities, or targeted advertisement.
  • Recommendation server 610 does so by maintaining records of previous purchases and quantity of purchases by the user and other users.
  • a user may purchase $1000 of mutual fund A, $500 of mutual fund B, and $2000 of mutual fund C.
  • the commerce server records the purchase and provides the recommendation server with the data.
  • the recommendation server may then compare user 602 portfolio to other user's portfolios maintained in the recommendation server using an interest affinity equation.
  • the users that have high affinities with user 602 are considered neighbors and are included on a neighbor list that is used to provide recommendations to user 602. For example, if another user has $1000 mutual fund A, $1000 mutual fund B, and $1000 in mutual fund D, recommendation server 610 may recommend that user 602 consider mutual fund D as a potential investment.
  • Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user.
  • the recommendation server contains software to provide interest data recommendations to the user.
  • the software may provide recommendations of users to an item, or groups of items.
  • the recommendation server applies an affinity equation to the set of interest data.

Abstract

Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user. Interest data is a type of data that represents a measure of the level of interest someone has expressed in an entity. In particular, methods and sytems consistent with the present invention locate potential neighbors that have rated entities similar to those rated by the user. Once these neighbors are located, an affinity value is calculated between the user and potential neighbor to determine whether the potential neighbor's ratings are closely related to that of the user's ratings. If a user and a neighbor have an affinity greater than a predetermined threshold, that neighbor is considered close enough to the user to provide a recommendation for various entities.

Description

INTEREST BASED RECOMMENDATION METHOD AND SYSTEM
BACKGROUND OF THE INVENTION
A. Field of the Invention
This invention relates generally to data processing systems, and more particularly, to recommendation systems.
B. Description of the Related Art
Recommendation systems are becoming widely used in e-commerce business activities. Recommendation systems allow e-commerce operators to take advantage of customer databases to provide valuable personalized service to customers. For example, systems that make personalized recommendations are used as a marketing tool to turn "window shoppers" into buyers, increase cross-sells and up-sells, and deepen customer loyalty.
Existing recommendation systems make recommendations to customer with unary data or data from a well-known Likert scale. Unary data is a set of user-item pairs that indicate an event of interest to the user has occurred. An example of unary data is purchase record data where a user-item pair indicates that the user has purchased a particular item. Likert scale data indicates a user's preferences about an item. Typically, likert scales give the user options, such as: like very much "5"; like a little "4"; don't mind either way "3"; dislike a little "2"; and strongly dislike "1." Likert data based calculations use a form of correlation calculation that assumes negative information within the data. This negative data can be used to find users with similar or opposite interests.
Likert data based calculations do not account for data that is only positive. Instead, these calculations handle low positive data (e.g., a user rating an item a "1") as a negative connotation such as "strongly dislike." Therefore, although existing recommendation systems provide recommendations based on unary data and likert scale data, these systems do not provide recommendations when the data contains only positive interest data. There exists a need to improve existing recommendation systems to provide recommendations based on other types of data, such as interest data. SUMMARY OF THE INVENTION
Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user. Interest data is a type of data that represents a measure of the level of interest someone has expressed in an entity. In particular, methods and systems consistent with the present invention locate potential neighbors that have rated entities similar to those rated by the user. Once these neighbors are located, an affinity value is calculated between the user and potential neighbor to determine whether the potential neighbor's ratings are closely related to that of the user's ratings. If a user and a neighbor have an affinity greater than a predetermined threshold, that neighbor is considered close enough to the user to provide a recommendation for various entities.
Consistent with the present invention a method provides a recommendation using resource allocation data. The method obtains resource allocation data corresponding to a first user, determines an affinity between the first user and one of the other users based on the resource allocation data, and provides a recommendation to the user based on the affinity.
Consistent with the present invention, a method indicates strength of an interest of a user in a particular entity is provided. The method obtains click-stream data corresponding to the user, locates a plurality of neighbors with click-stream data similar to the user's click-stream data, determines an affinity between the user and one of the plurality of neighbors based on the resource allocation data, includes the one of the located neighbors meeting predetermined criteria on a neighbor list, and provides a recommendation to the user based on the neighbor list.
Consistent with the present invention a method provides a user with an electronic coupon based on purchase data. The method obtains purchase data corresponding to the user, generates interest data from the purchase data, determines an affinity between the first user and a neighbor based on the generated interest data, and provides the user with an electronic coupon based on the affinity.
Consistent with the present invention a method provides a recommendation using resource allocation data that indicates a user's strength of an interest in a particular entity. The method locates in a database that contains resource allocation data for a plurality of users, other users with a similar strength of an interest as the user, determines an affinity between the user and one of the other users based on the similar strength of an interest and provides a recommendation to the user based on a list that contains a set of other users meeting predetermined criteria.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings,
Figure 1 depicts a data processing system suitable for practicing methods and systems consistent with the present invention;
Figure 2 depicts a more detailed diagram of the client computer depicted in Fig. 1 ;
Figure 3 depicts a more detailed diagram of the recommendation server depicted in Fig. 1 ;
Figure 4 depicts a flow chart of the steps performed when providing a recommendation with interest data;
Figure 5A depicts a first rating table for use with methods and systems consistent with the present invention;
Figure 5B depicts a first normalized rating table for the first rating table of Fig. 5A
Figure 5C depicts a second rating table for use with methods and systems consistent with the present invention;
Figure 5D depicts a second normalized rating table for the first rating table of Fig. 5C; and
Figure 6 depicts an embodiment of an electronic commerce server for use with the invention.
DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. Although the description includes exemplary implementations, other implementations are possible, and changes may be made to the implementations described without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. Wherever possible, the same reference numbers will 4 be used throughout the drawings and the following description to refer to the same or like parts.
Overview
Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user. Interest data is a type of data that represents a measure of the level of interest someone has expressed in an entity. In particular, methods and systems consistent with the present invention locate potential neighbors that have rated entities similar to those rated by the user. Once these neighbors are located, an affinity value is calculated between the user and potential neighbor to determine whether the potential neighbor's ratings are closely related to that of the user's ratings. If a user and a neighbor have an affinity greater than a predetermined threshold, that neighbor is considered close enough to the user to provide a recommendation for various entities.
Recommendations may be used in a variety of situations. For example, a recommendation may be used as part of marketing campaigns that recommend entities to users who are interested in similar entities; as part of knowledge-management systems in large corporations that recommends reports and documents to employees based on the employees business or research interests; as part of call centers that provide recommendations for merchandise to consumers placing orders; and as part of an electronic coupon campaign that provides electronic coupons to users visiting various web sites. System Components
Fig. 1 depicts a data processing system 100 suitable for practicing methods and systems consistent with the present invention. Data processing system 100 comprises a client computer 112 connected to recommendation server 120 via a network 130, such as the Internet. A user uses client computer 112 to provide various information to recommendation server 120.
Although only one client computer 1120 is depicted, one skilled in the art will appreciate that data processing system 100 may contain many more client computers and additional client sites. One skilled in the art will also appreciate that recommendation server 120 may be located at various places on network 130, including client computer 112. Figure 2 depicts a more detailed diagram of client computer 112, which contains a memory 220, a secondary storage device 230, a central processing unit (CPU) 240, an input device 250, and a video display 260. Memory 220 includes browser 222 that allows users to interact with recommendation server 120 by transmitting and receiving files, such as web pages. A web page may include images or instructions to obtain recommendation requests from a user using hypertext markup language (HTML), Java or other techniques. An example of a browser suitable for use with methods and systems consistent with the present invention is the Netscape Navigator browser, from Netscape.
As shown in Figure 3, recommendation server 120 includes a memory 310, a secondary storage device 320, a CPU 330, an input device 340, and a video display 350. Memory 310 includes recommendation engine 312 and interest gatherer engine 314. Recommendation engine 312 determines if an item should be recommended to the user. It may use many different techniques to generate recommendations based on user interest profiles. One technique that may be used to generate recommendations is automated collaborative filtering as described in Resnick, lacovo, Susha, Bergstrom, and Riedl, "GroupLens: An Open Architecture For Collaborative Filtering Of Netnews," Proceedings of the 1994 Computer Supported Collaborative Work Conference (1994). Other recommendation techniques are described in U.S. application serial no. 08/729,787, filed October 8, 1996, U.S. application serial no. 08/733,806, filed October 18, 1996, attorney docket no.7744-6000, filed September 23, 1999, and attorney docket no.7744-0009, filed September 24, 1999, all incorporated by reference. Recommender systems may also be based on well-known CF systems, logical rules derived from data, or on statistical or machine learning technology. For example, a recommender system may use well-known rule-induction learning, such as Cohen's Ripper, to learn a set of rules from a collection of data as described in Good, N., Schafer, J.B., Konstan, J., Borchers, A., Sarwar, B., Herlocker, J., and Riedl, J., "Combining Collaborative Filtering with Personal Agents for Better Recommendations," Proceedings of the 1999 Conference of the American Association of Artifical Intelligence (AAAI-99). Recommender systems may also be based on well-known data mining techniques that include a variety of supervised and unsupervised learning strategies and produce "surprising" results expressed as associations or rules embedded in a data set. Recommender systems may also contain rating functions (models) programmed by a system administrator. The rating functions are either a formula or a table of ratings that determines business goals (e.g., the formula may specify a low rating for low-stock and out-of-stock items). These mentioned systems also require user data as input to produce personalized recommendations for users.
To receive data, recommendation engine 312 may use a web page, Application Program Interface (API), or other input interface. An API is a set of routines, protocols, or tools for communicating with software applications. APIs provide efficient access to the recommendation engine without the need for additional software to interface with the recommendation engine. Ratings may come in various forms. For example, a rating may be a user's interest in a particular entity, called interest data.
Interest data is a type of data that represents a measure of the level of interest a user has expressed an entity. Interest data is always a positive measure (e.g., it is assumed that a user cannot show an interest in an entity they dislike). Interest data may also be resource allocation data. Resource allocation data is a type of data where the user indicates, not only an entity of interest, but also how much interest the user has in the entities. For example, if a user has $1000 to spend on mutual funds, he may allocate his resource (money) to have $250 in mutual fund A, $750 in mutual fund B, and 0 in mutual fund C. The user has a higher interest in mutual fund B than in mutual fund A, and no interest in mutual fund C.
Interest data may also be based on user purchase data. That is, the interest data would include a list of entities recently purchased by the user. A user that purchases more of entity A that entity B would have a higher interest in A than B. For example, if a user recently purchases entity A and entity B, and afterwards purchases ten more of entity A, the user has a higher interest in entity A than B.
Interest gatherer engine 314 collects interest data from various users and stores the collected interest data in interest table 324.
Secondary storage device 320 includes a database 322 that stores various user's interests in interest data table 324. Interest data table 324 obtains interest data by receiving ratings from users from places such as, web page logs, previous purchases or any application that can obtain user preferences. A web page log is a written record of all activity on a particular web site. For example, a web page log may contain a user's time on a web page, and web pages viewed. One skilled in the art will appreciate that database 322 may contain other types of data, such as unary data and likert data.
Although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects may be stored on or read from other computer-readable media, such as secondary storage devices, like hard disks, floppy disks, and CD-ROM; a carrier wave received from a network like the Internet; or other forms of ROM or RAM. Additionally, although specific components and programs of client computer 110 and recommendation server 120 have been described, one skilled in the art will appreciate that these may contain additional or different components or programs. Recommendation Process
Figure 4 depicts a flow chart of the steps performed when generating a recommendation with interest data. The first step is to receive a request for a recommendation from a user (step 402). The request may come in many forms. For example, a recommendation request may come from an e-commerce server that will display a list of entities to a user before "check-out." The request may also come from a particular web page viewed by a user, or by monitoring "click-stream" data. Click- stream data is data obtained by monitoring users actions on particular web pages. Either way, the request is submitted to recommendation engine 312 using an API. For example, the e-commerce server may query recommendation engine with a "predict" API at the time the user displays finalizes his shopping cart.
A request for a recommendation may also come form an entity, or a group of entities (e.g., entities that are within the same category). For example, recommendation engine 312 may recommend to the entity a list of users that may be interested in that entity.
Once recommendation engine 312 receives the request, recommendation engine 312 may extract interest data pertaining to the user from interest data table 324 (step 404). If no interest data is available for the user, recommendation engine 312 may provide a default list. A default list would contain a preprogrammed list of entities to recommend to the user. For example, if the user has never used recommendation engine 312 before, it may provide a top ten list of best selling entities to the user.
Recommendation engine 312 uses the extracted interest data to locate potential neighbors (step 406). The term "neighbor" means users identified in interest data table 324 with similar interests as the first user. For example, if another user in interest data table 324 has rated similar entities as the first user, the other user may be considered a potential neighbor. At this point, the user is considered a potential neighbor since the affinity between the user and the entity would still need to be determined, as further described below. For example, an ideal neighbor for a user would be a neighbor that has rated all entities that the user has also rated. If no potential neighbors are found (step 408), recommendation engine 312 attempts to locate any neighbors to provide a recommendation (step 410). If neighbors are not located, then recommendation engine 312 uses a default list instead of providing a recommendation, as described above (step 420). If, however, recommendation engine 312 locates neighbors (step 410), recommendation engine 312 uses the located neighbors to provide a recommendation (step 422).
If, however, a potential neighbor is found (step 408), recommendation engine 312 computes an affinity between the user and the potential neighbor using an appropriate affinity equation (step 412). Affinity equations provide an affinity value that indicates how much in common the two users are and how similar their preferences are. Mutual Normalized Interests
The mutual normalized interest equation is one affinity equation that uses normalized interest information, such as normalized ratings, to return a common interest level between the user and the potential neighbor. To do so, the equation computes the sum of the minimum normalized coratings. A corating is a pair of ratings for the users. For example, Fig 5A depicts a rating table 500 containing common ratings between a user and a potential neighbor. Fig. 5B depicts a normalized table 510 containing normalized data from rating table 500.
The mutual normalized interest is computed using the following equation; where "R" is the first user, "r" is the potential neighbor, and "coratingsj" is the number of items both users have rated: affinity = ∑ minCR ',., r',.) coratingsj
Using the normalized data in normalized table 510, methods and systems consistent with the present invention may provide an affinity value between the user and potential neighbor by computing the sum of the minimum of the coratings: .1 + .1 + .4 = .6. The value ".6" is an affinity value between the user and the potential neighbor. Fuzzy Evidence Set Similarity
The fuzzy evidence set similarity equation is another affinity equation that uses normalized interest information, such as normalized ratings, to return the amount of interest overlap between the user and the potential neighbor. More information regarding fuzzy evidence may be found in Zimmerman, H.J., "Fuzzy Set Theory - And Its Applications," Second Revised Edition, 1991 , hereby incorporated by reference. For example, Fig. 5C depicts a rating table 520 containing some common ratings between a user and a potential neighbor. Fig. 5D depicts a normalized table 530 containing normalized data from rating table 520.
The fuzzy evidence set similarity is computed using the following equation, where "noncoratingj" is the number of entities "R" has not rated, "noncorating_k" is the number of entities "r" has not rated, and "coratingsj" is the number of entities both users have not rated:
∑ minCR ,., r',) affinity = coratings_ i
noncoratingj. j noncoratingj k coratings_ i
The sum of the minimum of coratings is: (.05) + (.25)
The sum of the coratings not available to user "R" is: 0
The sum of the coratings not available to the potential neighbor "r" is (.2) + (.5)
The sum of the maximum of coratings is: (.5) + (.5)
Thus, the affinity measure between the user "R" and the potential neighbor "r" is: ".17".
Although two interest equations are explained above, one skilled in the art will appreciate that other interest equations may be used, such as a cosine similarity equation. The cosine equation is as follows:
Σ *W, affinity = coratings-i
Figure imgf000010_0001
More information on cosine similarity equations may be found in Salton, G., "The SMART Retrieval System: Experiments in Automatic Document Processing," Prentice Hall, Englewood Cliffs, NJ, 1971 , hereby incorporated by reference.
After each affinity value is computed for a user and a potential neighbor using an equation as described above, recommendation engine 312 determines if the affinity value is above a predetermined threshold value (step 414). One skilled in the art will appreciate that the threshold value may be a maximum value, minimum value, or a range of values. If the affinity value is above the threshold value, the potential neighbor is added to a neighbor list (step 416). Each neighbor on the neighbor list provides rating information to recommendation engine 312 that is used to compute a recommendation for the user. Otherwise, if the affinity value is below the threshold value, the potential neighbor is dropped and the next potential neighbor is located in interest data table 324 (step 406).
Recommendation engine 312 locates neighbors until enough neighbors have been located (step 418). For example, to provide a quick recommendation, recommendation engine 312 may require ten neighbors. However, to provide a more accurate recommendation, recommendation engine 312 may require fifty neighbors. Once the requisite number of neighbors has been located, recommendation engine 312 may provide a recommendation to the user using well-known recommendation techniques (step 424).
As an example of an application suitable for methods and systems consistent with the present invention are suitable for use with an augmented electronic mutual fund server on the Internet. Fig. 6 illustrates a recommendation system integrated into a web-based electronic mutual fund site (e-commerce site). The user at computer 602 connects using a network 604 to a web server 606. A commerce server 608, connected to web server 606, processes all financial transactions for the user and contains a database of various mutual funds for sale. Web server 606 presents this set of products for sale to the user.
A recommendation server 610 coupled to the web server 606 and commerce server 608 receives purchase information from commerce server 608. The recommendation server 610 uses web server 606 and commerce server 608 to provide the user with specifically targeted content, such as recommendations to purchase specific entities, recommendations to view specific entities, or targeted advertisement. Recommendation server 610 does so by maintaining records of previous purchases and quantity of purchases by the user and other users.
As a specific example of the recommendation system implemented as described above, a user may purchase $1000 of mutual fund A, $500 of mutual fund B, and $2000 of mutual fund C. Each time user 602 buys or sells a mutual fund, the commerce server records the purchase and provides the recommendation server with the data. The recommendation server may then compare user 602 portfolio to other user's portfolios maintained in the recommendation server using an interest affinity equation. The users that have high affinities with user 602 are considered neighbors and are included on a neighbor list that is used to provide recommendations to user 602. For example, if another user has $1000 mutual fund A, $1000 mutual fund B, and $1000 in mutual fund D, recommendation server 610 may recommend that user 602 consider mutual fund D as a potential investment. Conclusion
Methods and systems consistent with the present invention provide a recommendation server capable of using interest data to provide a recommendation to a user. The recommendation server contains software to provide interest data recommendations to the user. Alternatively, the software may provide recommendations of users to an item, or groups of items. To provide the recommendations, the recommendation server applies an affinity equation to the set of interest data.
The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are potential in light of the above teachings or may be acquired from practicing of the invention. For example, the described implementation includes software but the present invention may be implemented as a combination of hardware and software or in hardware alone.

Claims

WHAT IS CLAIMED IS:
1. A method for providing a recommendation using resource allocation data, executed in a data processing system, comprising the steps of: obtaining resource allocation data corresponding to a first user; determining an affinity between the first user and one of the other users based on the resource allocation data; and providing a recommendation to the user based on the affinity.
2. The method of claim 1 , wherein determining an affinity between the first user and one of the other users, further includes: locating other users with interest considered similar to the first user based on the resource allocation data; and including the one of the located users meeting predetermined criteria on a list.
3. The method of claim 1 , wherein determining an affinity further includes: using one of at least a mutual normalized interest equation, a fuzzy evidence equation, and a cosine similarity equation to compute the affinity.
4. The method of claim 1 , wherein determining an affinity further includes: appending the one of the located users to the list when the an affinity value exceeds a predetermined number.
5. The method of claim 1 , further comprising the step of: truncating the list when a predetermined number of the located users on the list has been met.
6. The method of claim 1 , wherein obtaining resource allocation data further includes extracting the resource allocation data from a database.
7. The method of claim 1 , wherein obtaining resource allocation data further includes measuring implicit ratings from the user.
8. The method of claim 1 , wherein obtaining resource allocation data further includes measuring a user's time on a web page.
9. The method of claim 1 , wherein obtaining resource allocation data further includes providing purchase data to indicate how much money the user spent.
10. The method of claim 1 , wherein providing a recommendation further includes providing the recommendation based solely on user purchase data.
11. A method for providing a recommendation using resource allocation data that indicates strength of a user's interest in a particular entity, executed in a data processing system, comprising the steps of: obtaining click-stream data corresponding to the user; locating a plurality of neighbors with click-stream data similar to the user's click- stream data; determining an affinity between the user and one of the plurality of neighbors based on the resource allocation data; including the one of the located neighbors meeting predetermined criteria on a neighbor list; and providing a recommendation to the user based on the neighbor list.
12. A method for providing a user with an electronic coupon based on purchase data, executed in a data processing system, comprising the steps of: obtaining purchase data corresponding to the user; generating interest data from the purchase data; determining an affinity between the first user and a neighbor based on the generated interest data; and providing the user with an electronic coupon based on the affinity.
13. The method of claim 12, wherein generating interest data further includes: favoring larger quantities of purchased entities over smaller quantities purchased.
14. The method of claim 13, wherein determining an affinity further includes: locating a plurality of neighbors similar purchase data to the user's purchase data; and appending the one of the located neighbors meeting predetermined criteria based on the affinity to a neighbor list.
15. The method of claim 12, wherein generating interest data further includes: obtaining purchase data from a database that contains user purchase data.
16. The method of claim 12, wherein generating interest data further includes: receiving purchase data from an e-commerce application.
17. A method for providing a recommendation using resource allocation data that indicates a user's strength of an interest in a particular entity, executed in a data processing system, comprising the steps of: locating, in a database that contains resource allocation data for a plurality of users, other users with a similar strength of an interest as the user; determining an affinity between the user and one of the other users based on the similar strength of an interest; and providing a recommendation to the user based on a list that contains a set of other users meeting predetermined criteria.
18. The method of claim 17, wherein determining an affinity further includes: using one of at least a mutual normalized interest equation, a fuzzy evidence equation, and a cosine similarity equation to compute the affinity.
19. The method of claim 17, wherein determining an affinity further includes: including one of the other users on the list when an affinity value exceeds a predetermined number.
20. The method of claim 19, further comprising the step of truncating the list when a predetermined number of the other users on the list has been met.
21. The method of claim 17, wherein the resource allocation data further includes implicit ratings from the user.
22. A system for providing a recommendation using resource allocation data for a user, comprising: an interest engine containing input means to obtain resource allocation data from the user, means for locating neighbors with a similar interest as the user, means for determining an affinity between a user and one of the located neighbors, and means for including the one of the located neighbors meeting predetermined criteria based on the affinity to a neighbor list; and a recommendation engine to provide a recommendation based on the neighbor list.
23. The system of claim 22, wherein means for determining an affinity further uses one of at least a mutual normalized interest equation, a fuzzy evidence equation, and a cosine similarity equation to compute the affinity.
24. The system of claim 22, wherein means for determining an affinity further appends the selected one of the located neighbors to the neighbor list when the affinity value exceeds a predetermined number.
25. The system of claim 22, further comprising: means for truncating the neighbor list when a predetermined number of the neighbors on the neighbor list has been met.
26. The system of claim 22, wherein the input means further extracts the data from a database to obtain resource allocation data.
27. The system of claim 22, wherein the input means further measures implicit ratings from the user to obtain resource data.
28. The system of claim 22, wherein the input means further measures a user's time on a web page to obtain resource data.
29. The system of claim 22, wherein the recommendation engine further includes means for providing the recommendation based solely on user purchase data.
30. The system of claim 22, wherein the interest engine and recommendation engine are integrated.
31. A system for providing a user with an electronic coupon based on purchase data, comprising: a processor containing a program that obtains purchase data corresponding to the user, that generates interest data from the purchase data, and that determines an affinity between the first user and a neighbor based on the generated interest data; an interface to provide the user with an electronic coupon; and a processor configured to run the program.
32. The system of claim 31 , wherein the processor generates interest data by favoring larger quantities of purchased entities over smaller quantities purchased.
33. The system of claim 31 , wherein the processor further locates a plurality of neighbors similar purchase data to the user's purchase data, and appends the one of the located neighbors meeting predetermined criteria based on the affinity to a neighbor list.
34. The system of claim 31 , wherein the processor obtains purchase data from a database located in the system.
35. The system of claim 31 , further comprising: a second interface to receiving purchase data from an e-commerce application.
PCT/US2000/028005 1999-11-12 2000-10-11 Interest based recommendation method and system WO2001037162A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU11954/01A AU1195401A (en) 1999-11-12 2000-10-11 Interest based recommendation method and system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43866499A 1999-11-12 1999-11-12
US09/438,664 1999-11-12

Publications (2)

Publication Number Publication Date
WO2001037162A2 true WO2001037162A2 (en) 2001-05-25
WO2001037162A8 WO2001037162A8 (en) 2002-06-13

Family

ID=23741515

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/028005 WO2001037162A2 (en) 1999-11-12 2000-10-11 Interest based recommendation method and system

Country Status (2)

Country Link
AU (1) AU1195401A (en)
WO (1) WO2001037162A2 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065532B2 (en) 2002-10-31 2006-06-20 International Business Machines Corporation System and method for evaluating information aggregates by visualizing associated categories
US7080082B2 (en) 2002-10-31 2006-07-18 International Business Machines Corporation System and method for finding the acceleration of an information aggregate
US7103609B2 (en) 2002-10-31 2006-09-05 International Business Machines Corporation System and method for analyzing usage patterns in information aggregates
US7130844B2 (en) 2002-10-31 2006-10-31 International Business Machines Corporation System and method for examining, calculating the age of an document collection as a measure of time since creation, visualizing, identifying selectively reference those document collections representing current activity
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7257569B2 (en) 2002-10-31 2007-08-14 International Business Machines Corporation System and method for determining community overlap
EP2047355A2 (en) * 2006-08-01 2009-04-15 Sony Corporation System and method for neighborhood optimization for content recommendation
US7756879B2 (en) 2004-07-23 2010-07-13 Jeffrey Parsons System and method for estimating user ratings from user behavior and providing recommendations
US7788123B1 (en) 2000-06-23 2010-08-31 Ekhaus Michael A Method and system for high performance model-based personalization
US7853594B2 (en) 2002-10-31 2010-12-14 International Business Machines Corporation System and method for determining founders of an information aggregate
US8175989B1 (en) 2007-01-04 2012-05-08 Choicestream, Inc. Music recommendation system using a personalized choice set
US8548987B2 (en) 1999-09-24 2013-10-01 Thalveg Data Flow Llc System and method for efficiently providing a recommendation
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10284454B2 (en) 2007-11-30 2019-05-07 Activision Publishing, Inc. Automatic increasing of capacity of a virtual space in a virtual world
US10286326B2 (en) 2014-07-03 2019-05-14 Activision Publishing, Inc. Soft reservation system and method for multiplayer video games
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10376793B2 (en) 2010-02-18 2019-08-13 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10627983B2 (en) 2007-12-24 2020-04-21 Activision Publishing, Inc. Generating data for managing encounters in a virtual world environment
US10765948B2 (en) 2017-12-22 2020-09-08 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548987B2 (en) 1999-09-24 2013-10-01 Thalveg Data Flow Llc System and method for efficiently providing a recommendation
US7788123B1 (en) 2000-06-23 2010-08-31 Ekhaus Michael A Method and system for high performance model-based personalization
US8155992B2 (en) 2000-06-23 2012-04-10 Thalveg Data Flow Llc Method and system for high performance model-based personalization
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7065532B2 (en) 2002-10-31 2006-06-20 International Business Machines Corporation System and method for evaluating information aggregates by visualizing associated categories
US7257569B2 (en) 2002-10-31 2007-08-14 International Business Machines Corporation System and method for determining community overlap
US7130844B2 (en) 2002-10-31 2006-10-31 International Business Machines Corporation System and method for examining, calculating the age of an document collection as a measure of time since creation, visualizing, identifying selectively reference those document collections representing current activity
US7853594B2 (en) 2002-10-31 2010-12-14 International Business Machines Corporation System and method for determining founders of an information aggregate
US7103609B2 (en) 2002-10-31 2006-09-05 International Business Machines Corporation System and method for analyzing usage patterns in information aggregates
US7080082B2 (en) 2002-10-31 2006-07-18 International Business Machines Corporation System and method for finding the acceleration of an information aggregate
US7756879B2 (en) 2004-07-23 2010-07-13 Jeffrey Parsons System and method for estimating user ratings from user behavior and providing recommendations
EP2047355A2 (en) * 2006-08-01 2009-04-15 Sony Corporation System and method for neighborhood optimization for content recommendation
EP2047355A4 (en) * 2006-08-01 2011-07-13 Sony Corp System and method for neighborhood optimization for content recommendation
US8175989B1 (en) 2007-01-04 2012-05-08 Choicestream, Inc. Music recommendation system using a personalized choice set
US10284454B2 (en) 2007-11-30 2019-05-07 Activision Publishing, Inc. Automatic increasing of capacity of a virtual space in a virtual world
US10627983B2 (en) 2007-12-24 2020-04-21 Activision Publishing, Inc. Generating data for managing encounters in a virtual world environment
US10376793B2 (en) 2010-02-18 2019-08-13 Activision Publishing, Inc. Videogame system and method that enables characters to earn virtual fans by completing secondary objectives
US10322351B2 (en) 2014-07-03 2019-06-18 Activision Publishing, Inc. Matchmaking system and method for multiplayer video games
US10376792B2 (en) 2014-07-03 2019-08-13 Activision Publishing, Inc. Group composition matchmaking system and method for multiplayer video games
US10286326B2 (en) 2014-07-03 2019-05-14 Activision Publishing, Inc. Soft reservation system and method for multiplayer video games
US10857468B2 (en) 2014-07-03 2020-12-08 Activision Publishing, Inc. Systems and methods for dynamically weighing match variables to better tune player matches
US10118099B2 (en) 2014-12-16 2018-11-06 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10668381B2 (en) 2014-12-16 2020-06-02 Activision Publishing, Inc. System and method for transparently styling non-player characters in a multiplayer video game
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US11896905B2 (en) 2015-05-14 2024-02-13 Activision Publishing, Inc. Methods and systems for continuing to execute a simulation after processing resources go offline
US11524237B2 (en) 2015-05-14 2022-12-13 Activision Publishing, Inc. Systems and methods for distributing the generation of nonplayer characters across networked end user devices for use in simulated NPC gameplay sessions
US10835818B2 (en) 2015-07-24 2020-11-17 Activision Publishing, Inc. Systems and methods for customizing weapons and sharing customized weapons via social networks
US10471348B2 (en) 2015-07-24 2019-11-12 Activision Publishing, Inc. System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks
US10500498B2 (en) 2016-11-29 2019-12-10 Activision Publishing, Inc. System and method for optimizing virtual games
US10987588B2 (en) 2016-11-29 2021-04-27 Activision Publishing, Inc. System and method for optimizing virtual games
US10561945B2 (en) 2017-09-27 2020-02-18 Activision Publishing, Inc. Methods and systems for incentivizing team cooperation in multiplayer gaming environments
US10974150B2 (en) 2017-09-27 2021-04-13 Activision Publishing, Inc. Methods and systems for improved content customization in multiplayer gaming environments
US11040286B2 (en) 2017-09-27 2021-06-22 Activision Publishing, Inc. Methods and systems for improved content generation in multiplayer gaming environments
US10864443B2 (en) 2017-12-22 2020-12-15 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11413536B2 (en) 2017-12-22 2022-08-16 Activision Publishing, Inc. Systems and methods for managing virtual items across multiple video game environments
US10765948B2 (en) 2017-12-22 2020-09-08 Activision Publishing, Inc. Video game content aggregation, normalization, and publication systems and methods
US11679330B2 (en) 2018-12-18 2023-06-20 Activision Publishing, Inc. Systems and methods for generating improved non-player characters
US11097193B2 (en) 2019-09-11 2021-08-24 Activision Publishing, Inc. Methods and systems for increasing player engagement in multiplayer gaming environments
US11712627B2 (en) 2019-11-08 2023-08-01 Activision Publishing, Inc. System and method for providing conditional access to virtual gaming items
US11351459B2 (en) 2020-08-18 2022-06-07 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values
US11524234B2 (en) 2020-08-18 2022-12-13 Activision Publishing, Inc. Multiplayer video games with virtual characters having dynamically modified fields of view

Also Published As

Publication number Publication date
AU1195401A (en) 2001-05-30
WO2001037162A8 (en) 2002-06-13

Similar Documents

Publication Publication Date Title
WO2001037162A2 (en) Interest based recommendation method and system
US8510178B2 (en) Computer-based analysis of seller performance
US8131594B1 (en) System and method for facilitating targeted advertising
US8543584B2 (en) Detection of behavior-based associations between search strings and items
US7716219B2 (en) Database search system and method of determining a value of a keyword in a search
US8626705B2 (en) Transaction aggregator for closed processing
US6611814B1 (en) System and method for using virtual wish lists for assisting shopping over computer networks
US8620746B2 (en) Scoring quality of traffic to network sites
US6879960B2 (en) Method and system for using customer preferences in real time to customize a commercial transaction
US8725562B2 (en) Keyword advertisement using ranking of advertisers
US20100299360A1 (en) Extrapolation of item attributes based on detected associations between the items
JP6861729B2 (en) Purchase transaction data retrieval system with unobtrusive side-channel data recovery
US20140164063A1 (en) System and method for determining affluence
US20240112210A1 (en) Self-learning valuation
JP6962839B2 (en) Information processing equipment, information processing methods, and programs
Goby Online purchases in an infocomm sophisticated society
US8676781B1 (en) Method and system for associating an advertisement with a web page
WO2001029726A2 (en) Shopping session application framework
KR20010111913A (en) Complex filtering apparatus and method for database marketing in electronic commerce
JP2021136033A (en) Information processing device, information processing method and program
EP1209588A2 (en) Information distribution system and method
WO2001053973A2 (en) Recommendation method and system based on rating space partitioned data
JP7458879B2 (en) Information processing device, information processing method, and information processing program
KR20230085129A (en) Identification and Management of Cannibalistic Advertising to Improve Internet Advertising Efficiency
Kundisch Market Efficiency in the Financial Services Industry: Buyer Search Behaviour on an Electronic Commodity Market

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP