WO2000028427A1 - System and method for matching users with items in a network - Google Patents

System and method for matching users with items in a network Download PDF

Info

Publication number
WO2000028427A1
WO2000028427A1 PCT/US1999/026783 US9926783W WO0028427A1 WO 2000028427 A1 WO2000028427 A1 WO 2000028427A1 US 9926783 W US9926783 W US 9926783W WO 0028427 A1 WO0028427 A1 WO 0028427A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
item
psychographic
parameter values
computer system
Prior art date
Application number
PCT/US1999/026783
Other languages
French (fr)
Inventor
Matthew Rabinowitz
Ilya Abezgauz Druzhnikov
Andrei Stoica
Stanley Hyungjung Kim
Craig Rungaldier Hughes
Original Assignee
Panopticon, 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 Panopticon, Inc. filed Critical Panopticon, Inc.
Priority to AU18180/00A priority Critical patent/AU1818000A/en
Publication of WO2000028427A1 publication Critical patent/WO2000028427A1/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 to the field of systems and methods for matching users and items.
  • the invention relates to approaches to matching users and items using parameters describing users and items to distribute feedback information and allow for improved matches.
  • Description of the Related Art Two particular prior techniques have been used to provide matching of users with items in online environments. The first is collaborative filtering. The second is text sensitive interest vectors. Each will be considered, followed by a summary of other approaches.
  • Collaborative filtering is perhaps the most widely used prior technique for matching users and items.
  • web advertising companies such as Firefly and DoubleClick use variations of collaborative filtering to select advertising for users.
  • services such as Movie Critic, ⁇ http://www.moviecritic.com >, use products such as Likeminds, from Andromedia, San Francisco, California, ⁇ http://www.andromedia.com/>, to perform collaborative filtering.
  • collaborative filtering The basic operation of collaborative filtering is simple: users provide feedback about items, e.g. banner ads, books, movies, etc., either explicitly (Movie Critic ratings) or implicitly (click on ad). For each user, a set, or cluster, of likeminded users for that user is identified.
  • take Movie Critic new users of the web site are asked to rate a number of movies explicitly before recommendations are provided.
  • the movies the user, John Doe, is asked to rate are selected from the movies other users have already rated.
  • commonly watched movies may be presented initially, e.g. "Star Wars", rather than less watched movies.
  • the user's ratings for that initial list of movies are collected. Once a sufficient number of ratings have been provided, the system then attempts to suggest other movies the user may find interesting.
  • LikemindsTM a software package that identifies a set of likeminded users of the service.
  • John who may have rated a number of science fiction movies highly will be placed in a set of likeminded users who have made similar selections.
  • the weighting given to the opinions of each user in the set of likeminded users is adjusted based on the degree of correspondence to John's ratings.
  • a likeminded user whose ratings match John's exactly will be weighted most heavily.
  • a likeminded user with less overlap to John's ratings will be weighted less heavily.
  • the recommendations stem from other movies rated by these likeminded users. Thus, unless a particular movie has been rated by a likeminded user, a recommendation cannot be provided.
  • the profile for the user is entirely non-transferable to other environments as it is solely the set of likeminded users. For example, a user's Movie Critic profile cannot be used at another site.
  • collaborative filtering is not easily applied to non-homogenous collections of items. Within homogenous collections of items such as books or music, the reasons people tend to like, or dislike, items tend to be relatively uniform. However, as the diversity of items increases, the assumption becomes increasingly incapable of describing the reasons users are interested, or disinterested, in certain items.
  • bin #1 might be for words relating to love, e.g. "love”, “like", “approve”, etc.
  • the user's "interest” is the string of words provided to the software, e.g. an electronic mail message, a search query, etc. For example, if the string included the sentence: "I wanted to tell you how much I really like your web browser. Really would love to have a T-shirt”. Then, the text sensitive interest vector would have a value of "2" in the first position because two words from bin #1 appear. The string of words is slotted into the bins. Similarly, documents or descriptions of items are slotted into the bins, typically ahead of time.
  • the user's interest is then matched against the items by comparison of the vectors.
  • the most similar matching items will have similar text sensitive interest vectors.
  • the approach is limited in many respects. For example, it is only capable of working with textual descriptions of interests and items. Thus, it is not useful when the user's interest is not expressed as a string of words. Further, the approach does not afford for the identification of a profile of the user and item.
  • the user's interests are merely a transitory expression of the user's query rather than a description of the user's long term, or permanent, traits, preferences, etc.
  • Fig. 1 illustrates a system including one embodiment of the invention for matching users to items.
  • Fig. 2 illustrates processes for selecting and displaying matching items for users.
  • Fig. 3 illustrates configuration and initialization settings used according to one embodiment of the invention.
  • Fig. 4 illustrates one embodiment of a process for incrementally updating user and item profiles with the filtering engine.
  • Fig. 5 illustrates a web page supporting explicit feedback with the feedback bar and ratings for elements hidden.
  • Fig. 6 illustrates a web page supporting explicit feedback with the feedback bar hidden and the rating for an element visible.
  • Fig. 7 illustrates a web page supporting explicit feedback with the feedback bar visible and the ratings elements hidden.
  • Fig. 8 illustrates a feedback or rating bar according to one embodiment of the invention.
  • Fig. 9 illustrates a feedback or rating bar according to one embodiment of the invention.
  • the problem can be stated: how can a particular user be presented at least one item by a web site that the user is likely to find interesting. More specifically, the goal is to select at least one item, from the set of available items, with a preference profile similar in nature to that of the user. Thus, users whose user profile indicates they are "extravagant", as opposed to “cost conscious”, should be shown items having item profiles that indicate that "extravagant” users are interested in those items.
  • a system and method of determining and using psychographic information to help better match user's interests with products and services is described.
  • Psychographic information can be associated with an item to indicate what personality traits are more common among people who are, or are not, more likely to be interested in that item.
  • the system supports two types of profiles: user profiles and item profiles.
  • a user profile contains the psychographic information showing correspondence, or lack thereof, between a user and various personality traits.
  • an item profile describes the personality traits of users who are interested, or are not interested, in that item.
  • These profiles can be associated with confidence levels to show which traits are better known in the profiles.
  • the system can be initialized with predefined profiles, confidence levels, and a set of predefined relationships between the psychographic parameters.
  • the set of predefined relationships define how pairs of the psychographic parameters correlate.
  • An example of a predefined profile may be helpful: an item such as an advertisement for women's shoes might be initialized with a value of "-3" for the "female vs. male” trait, indicating the item is generally interesting to women.
  • the degree of confidence in that initialized value might be set moderately high.
  • users' interactions with the system can be tracked and incorporated back into the user and item profiles.
  • the system can independently access a user's profile to select an item representing a best match between a specific user's interests, as expressed through his/her personality traits.
  • the system can be used in electronic commerce to provide users with banner advertisements, initiate electronic commercial transactions, and provide suggestions of items that are more interesting to the users.
  • the system can also be used to match items to users. This may be desirable to allow a company to identify users who would be interested in a new product for marketing, research, and/or other purposes. For example, this could be used to send targeted electronic mail messages to users likely to purchase, or be interested in, particular items.
  • the term "item” refers to a piece of information that can be accessed over a network such as the Internet, a local area network (LAN), an intranet, an extranet, and/or some other type of network.
  • a network such as the Internet, a local area network (LAN), an intranet, an extranet, and/or some other type of network.
  • the item may be distinct from the physical object(s)/service(s) the item may correspond to.
  • a bookstore might sell a particular book on computer programming.
  • the book is the physical object, but the item can be a banner ad for the book, a link to a description of book, a uniform resource indicator (URI) where more information about the book can be found, etc.
  • URI uniform resource indicator
  • the physical object might be a digital item, e.g. a web page, a database entry, an online book, a multimedia content, and/or some other type of digital object.
  • the physical object might be an MP3 track, but the item could be the link to the MP3 track, a banner ad for the MP3 track, a link to a sample of the MP3 track, a link to complete a purchase of the MP3 track, and/or some other piece of information that can be accessed over a network.
  • the term "user” refers to an individual, or other entity acting on behalf of another.
  • a user might correspond to a person, John Doe, sitting at his personal computer accessing an online bookstore.
  • the user might correspond to an automated agent acting on John's behalf.
  • John's user profile refers to information about John, not John himself.
  • the user's profile means the corresponding profile for a user.
  • a "user” may refer to a collection of individual users being treated as a common entity. For example, in some embodiments of the invention, all of the individual users in a single department, or other logical group, might be treated as a single user for matching purposes. c. Preference Profile
  • a "preference profile” contains psychographic information indicating a degree of correspondence, or lack thereof, between a user and various personality traits.
  • the personality traits are descriptive phrases that can be used in psychography to systemically evaluate a individuals personality, e.g. behaviors, tendencies, tastes, interests, etc.
  • Personality traits are distinct from demographic characteristics in that they do not necessarily correspond to factual information about an individual. For example, a user may be thirty years old, a demographic characteristic; however, his behaviors may indicate that he is more like an 18 to 22 year-old, a personality trait.
  • the personality trait "cost conscious vs. obsolete” could be one of the parameters stored in a preference profile. Numbers from “-3” to “3” could be used to indicate correspondence, or lack thereof, between the user and that trait. For example, a "3” might indicate the user is obsolete, while “-3” might indicate the user is highly cost conscious. Intermediate values, e.g. "1.1” would indicate a lesser degree of extravagance than a "3".
  • preference profiles can have a confidence value associated with each profile parameter. These confidence values can be adjusted as more information is learned about users and items.
  • the preference profile parameters are stored together with a covariance matrix describing the degree of confidence in the parameters of the preference profile. A small covariance indicates a high degree of confidence in the value of a parameter and a large covariance indicates a low degree of confidence in the value of a parameter.
  • a user profile is a preference profile for a user comprised of one or more parameter values for personality traits. Thus, if one of the parameters in the user profile is "cost conscious vs. obsolete", then the value of that parameter would describe how cost conscious or obsolete the user is. Various embodiments of the invention may use different personality traits in the preference profile.
  • An item profile is a preference profile describing the personality traits of users that like the particular item.
  • the data structures used to store item profiles can be the same as those used for user profiles.
  • the difference between user profiles and item profiles therefore lies in the meaning of the personality trait parameter values.
  • program refers to any sequence of instructions designed for execution on a computer system.
  • a program may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, and/or some other sequence of instructions designed for execution on a computer system.
  • interaction refers to any affirmative action by a user that is used to define a personality trait.
  • an interaction may comprise a user's request of a URI corresponding to an item, e.g. "Add 'Fodor's Hawaii 2000' to your shopping cart”.
  • a user's request of a URI corresponding to an item e.g. "Add 'Fodor's Hawaii 2000' to your shopping cart”.
  • requesting that the Fodor's Hawaii 2000 item be added to the user's shopping cart both the user's profile and the item's profile can be updated.
  • Conditioning refers to the insensitivity of an estimation process to imperfect information and/or noisy data.
  • a well-conditioned estimation process will not produce bad estimates, even when there is a relatively large amount of noisy data.
  • the estimation of the user profile parameters, or item profile parameters needs to be well-conditioned so as not to be unduly affected by the noisy data, e.g. the unmodeled factors.
  • the data sources used by some embodiments of the invention include initialized values and settings, described below, and multiple, noisy measurements, representing interactions between items and users.
  • the problem can be stated: how can a particular user be presented with at least one item by a web site that the user is likely to find interesting. More specifically, the goal is to select at least one item, from the set of available items, with a preference profile similar in nature to that of the user. Thus, users whose user profile indicates they are "extravagant", as opposed to “cost conscious”, should be shown items having item profiles that indicate that "extravagant” users are interested in those items.
  • a system and method of determining and using psychographic information to help better match user's interests with products and services is described.
  • Psychographic information can be associated with an item to indicate what personality traits are more common among people who are, or are not, more likely to be interested in that item.
  • the system supports two types of profiles: user profiles and item profiles.
  • a user profile contains the psychographic information showing correspondence, or lack thereof, between a user and various personality traits.
  • an item profile describes the personality traits of users who are interested, or are not interested, in that item. These profiles can be associated with confidence levels to show which traits are better known in the profiles.
  • the system can be initialized with predefined profiles, confidence levels, and a set of predefined relationships between the psychographic parameters.
  • the set of predefined relationships define how pairs of the psychographic parameters correlate.
  • an item such as an advertisement for women's shoes might be initialized with a value of "-3" for the "female vs. male” trait, indicating the item is generally interesting to women.
  • the degree of confidence in that initialized value might be set moderately high.
  • users' interactions with the system can be tracked and incorporated back into the user and item profiles.
  • the system can independently access a user's profile to select an item representing a best match between a specific user's interests, as expressed through his/her personality traits.
  • the system can be used in electronic commerce to provide users with banner advertisements, initiate electronic commercial transactions, and provide suggestions of items that are more interesting to the users.
  • the description of the invention is described in terms of finding matching items for a given user, the system can also be used to match items to users. This may be desirable to allow a company to identify users who would be interested in a new product for marketing, research, and/or other purposes. For example, this could be used to send targeted electronic mail messages to users likely to purchase, or be interested in, particular items.
  • the preference profile is independent of the particular set of items, or users. This characteristic is called transportability. An example may be helpful in understanding this. Consider our user John Doe discussed above.
  • the preference profile for John at a first web site e.g. ⁇ http://www.examplel.com/>
  • a second web site e.g. ⁇ http://www.example2.com/>.
  • a travel site for example, more luxurious travel experiences such as a "Luxury Hawaiian Cruise” could be recommended using the transported user profile from the first web site.
  • the adaptation of the user, and item, profiles can occur quickly because information about the correlation between parameters is used to adjust the user, and item, profile in response to interactions. For example, consider if two of the parameters that make up the preference profile are "age (infant)" and
  • values for items can be seeded to further assist the process. This can be done by identifying one or more sets of similar objects, e.g. vacations, clothing, women's clothing, etc. Items within a set can be provided default values for certain profile parameters based on settings for the set. For example, it may be known that items in the set of women's clothing are mostly interesting to user's whose user profile indicates that they have expressed a high degree of female-ness, e.g. "-2.7" in "female vs. male” personality trait. Thus new women's clothing items can easily be initialized using the set default profile value for the "female vs. male” attribute.
  • the sets are formalized by using one or more categorization systems for products and services.
  • Another advantage of embodiments of the invention is that information about how well the system knows various types of information is also maintained.
  • the confidence bounds could initially be configured to be low, allowing for rapid adjustment of the preference profile of the item in response to feedback.
  • the confidence in the preference profile will typically become higher.
  • the confidence bounds enable more efficient transfer of information from the user profile to the item profile, or vice-versa, as a result of interactions.
  • the preference profile used by embodiments of the invention offers an advantage in that the same profile can be used to describe items and users. More specifically, the parameters associated with users and items are typically identical. In some instances the user profile may include more parameters than the item profile, such as when a user profile from one web site is used at another web site using fewer preference profile parameters to describe items. In this case, a mapping is performed between the parameters of the user profile from the first web site onto the parameters used by the second web site.
  • Figure 1 illustrates a system including one embodiment of the invention for matching users to items.
  • the system can support the matching of users with items according the method described above.
  • This environment could be used by an electronic commerce vendor to provide product suggestions, banner ad selection, category suggestions, and/or suggestion or selection of other items for users.
  • the following paragraph describes the elements of Figure 1 and their interconnections.
  • Figure 1 includes a web browser 100, a network 102, a server environment 104, and a profiling and matching environment 112.
  • the server environment 104 includes a web server 106, a web site files 108, and an item database 110.
  • the profiling and matching environment 112 includes a filtering engine 114, a matching engine 116, a profile database 118, and a settings 120.
  • the web browser 100, the server environment 104, and the profiling and matching environment 112 are coupled in communication with the network 102.
  • the web browser 100 can include any computer, or other similar web enabled device.
  • the web browser 100 could comprise a handheld - or other - wireless communication device accessing the server environment 104 over a wireless network.
  • embodiments of the invention could be used with a PCS telephone to display advertisements, products for sale, shops of interest, locations of interest, or other items of interest, on the telephone display, or by voice, based on the user profile associated with the PCS telephone.
  • a voice activated response (VAR) system could employ embodiments of the invention.
  • the web browser 100 comprises a telephone providing speech and/or dual-tone multi-frequency (DTMF) inputs to the VAR.
  • DTMF dual-tone multi-frequency
  • the VAR - - or human operator could recommend items to the calling user based on the user profile and the matching process.
  • the network 102 is a network such as a packet switched network, a wireless network, the Internet, an intranet, an extranet, a virtual private network, and/or some other communication medium for coupling the web browser 100, the server environment 104, and the profiling and matching environment 112 in communication.
  • the profiling and matching environment 112 is coupled to the server environment 104 by a second network other than the network 102, e.g. an internal network, a direct connection, and/or some other communication channel.
  • the server environment 104 and the profiling and matching environment is a network such as a packet switched network, a wireless network, the Internet, an intranet, an extranet, a virtual private network, and/or some other communication medium for coupling the web browser 100, the server environment 104, and the profiling and matching environment 112 in communication.
  • the profiling and matching environment 112 is coupled to the server environment 104 by a second network other than the network 102, e.g. an internal network, a direct connection, and/or some other communication
  • the profiling and matching environment 112 can be located at the same site, or separately located.
  • the profiling and matching environment 112 might be operated by a company that works with a number of different web sites, including the one corresponding to the server environment 104.
  • the server environment 104 includes one or more computer systems operating the web server 106.
  • the web server 106 can provide access to the web site files 108 using a hypertext transfer protocol (HTTP), as well as other protocols, e.g. file transfer protocol (FTP), electronic mail (standard mail transport protocol/SMTP), and/or database queries (standard query language/SQL, open database connectivity standard/ODBC, JavaTM database connectivity standard/JDBC, etc.).
  • HTTP hypertext transfer protocol
  • FTP file transfer protocol
  • SMTP electronic mail
  • database queries standard query language/SQL, open database connectivity standard/ODBC, JavaTM database connectivity standard/JDBC, etc.
  • the contents of the item database 110 may be similarly accessed.
  • the item database is located within the server environment 104 in
  • the one or more computer systems supporting the server environment 104 are typically server computers operating with the WindowsTM NT operating system and/or a UNIXTM-style operating system; although, any type of computer system supporting appropriate access protocols for the web browser 100 over the network 102 can be used.
  • the web site files 108 are the basic content of the web site provided by the server environment 104. This may include applets, servlets, common gateway interface (CGI) programs, logos, artwork, hypertext markup language (HTML) files, and/or other content.
  • the item database 110 includes the changing content, e.g. descriptions of physical objects for sale, services for sale, banner ads, multimedia files for browsing and/or purchase, database records, etc. Thus, the difference between the web site files 108 and the items in the item database 110 is that no item profile is associated with the web site files 108.
  • the item database 110 cannot, for obvious reasons, store the actual Hawaiian vacation item or the physical object of a hardcover book on computer programming. For these types of items, descriptions and/or appropriate purchase links are provided.
  • the item database 110 may contain the digital good, or a reference to it.
  • the server environment 104 may also include a user database.
  • the user database could contain specific information about users, e.g. their registration information, their site specific information, their customized start page, etc.
  • the user database might be located in the filtering and matching environment 112.
  • the settings 120 are used to configure the other elements of the profiling and matching environment 112. A greater discussion of the settings 120 is described below.
  • the profile database 118 can be a database, or other storage repository, for user profiles and item profiles. In some embodiments, the profile database 118 may be comprised of separate databases for user profiles and item profiles. Some embodiments of the invention may include caching of user and item profiles in the profile database 118. Additionally, the profile database 118 and/or the settings 120 can be located within the server environment 104.
  • the filtering engine 114 receives interaction information from the server environment 104, or the web browser 100 when appropriate, to adjust user profiles and item profiles based on the interactions.
  • the interaction data is stored within the server environment 104. This interaction data can then be periodically accessed by the profiling and matching environment 112 to perform incremental profile updates and to perform global profile updates.
  • the matching engine 116 responds to requests from the server environment 104 to select one or more items for a user.
  • the matching engine 116 accesses the profile database 118 to obtain the appropriate user profile and select a matching item that is likely to interest the user based on the item profiles.
  • the filtering engine 114 and the matching engine 116 can operate independently. As such, interactions can continuously be used to adjust user profiles and item profiles independently of the process of providing matching items.
  • the matching engine 116 and the filtering engine 114 can be supported on one or more computer systems.
  • the matching engine 116 and the filtering engine 114 can be one or more programs executing on one or more computer systems.
  • One use for embodiments of the invention is the selection of banner, or other, advertisements for display in conjunction with the content from the web site files 108.
  • a single profiling and matching environment with the banner advertisements can be used to support multiple server environments 104 operated by the same, or different, site operators.
  • the item database 110 would contain the banner advertisements, or references to them.
  • the banner advertisements may be stored within the profiling and matching environment 112 instead of the server environment 104.
  • the web server 106 could query the profiling and matching environment 112 to request the advertisement.
  • an appropriate URI can be included in the file sent to the web browser 100 to cause the web browser 100 to request a matching advertisement.
  • the banner advertisement configuration can co-exist with the use of embodiments of the invention described below.
  • an electronic commerce vendor could use an embodiment of the invention to recommend books while at the same time the company that provides the bookstore's advertisements could use an embodiment of the invention to select advertising.
  • a common user profile can be used across the different sites when desirable.
  • One extremely valuable use for embodiments of the invention is the recommendation, or suggestion, of items that the user may be interested in purchasing. This may take the form of displaying one or more suggestions to the user of the electronic commerce vendor's web site, the adjustment of the order of listing of items within a category at the web site, and/or other activities.
  • the items shown — as well as the advertisements ⁇ may be selected using the user's profile to select those items with profiles that most closely match the user.
  • users whose profile indicates that they are cost conscious will be shown items that have profiles indicating the item appeals to cost conscious users.
  • this procedure uses the matching technique to provide items of interest to fill in a template describing the layout of information in a web page.
  • a vendor's template may indicate the placement of paid advertising in various locations, featured items in other locations, a "other categories of interest" list in another location, and one or more items in still another location.
  • Each of those template components may, when appropriate, be selected by using embodiments of the invention to select items of interest.
  • the featured items might be selected based on the user profile, while a list of items might be the search results.
  • Another use is to arrange the order of items within a list.
  • the list might be generated in response to a search query.
  • the list might be generated by a request for items within a particular site-based category. For example, items the user is likely to have a stronger psychographic affinity for can be placed earlier in the list.
  • the site navigation categories could be arranged to match the user's psychographic profile and the corresponding item profile for the category.
  • some embodiments of the invention can customize the content, ordering, and/or presentation of items within the category. For example, within a category of news headlines, an embodiment of the invention could rank and select the headlines likely to be of most interest according to the user's profile.
  • Some embodiments of the invention may reorganize the presentation of a site based on the user's profile, such as selecting a predetermined number of site-based categories to display as part of the initial page. For example, consider a user whose psychographic profile indicates that her/his strongest interests lie in outdoor sports.
  • the automatically customized initial page may include the "Outdoor Sports" category for display to the user. Consequently, the user would not have to browse through the standard site hierarchy, e.g. "Recreation”, then "Sports”, then “Outdoors”, to reach her/his category of interest. This process can be repeated within given categories as well as at the main customized page for the user. This allows for a tremendous amount of customization of the portal site without the need for explicit configuration of the page for the user. Further, as the user performs manual customizations, the user and item profiles could be further updated.
  • a user could access a server environment (e.g. the server environment 104) that provides recommendations for a particular topic or topics using a profiling and matching environment (e.g. the profiling and matching environment 114).
  • a server environment e.g. the server environment 104
  • a profiling and matching environment e.g. the profiling and matching environment 114.
  • the system can perform an initial selection set of items based on objective criteria, e.g. driving distance, location, etc., and then use profiles to select the best match within the remaining items. The result: the user is provided with items most likely to match her/his interests.
  • the set of items considered for matching can be limited to an appropriate scope, e.g. nearby, within the greater Los Angeles area, in stock at the particular brick-and-mortar store, etc.
  • an appropriate scope e.g. nearby, within the greater Los Angeles area, in stock at the particular brick-and-mortar store, etc.
  • the site could employ embodiments of the invention to select travel sites, e.g. items, most likely to interest the user based on the profiles for the travel sites and the user profile. For example, in Los Angeles, a trendy and investment user might be recommended to Rodeo Drive.
  • the particular set of travel sites is determined by the contents of the item database as selected by the server environment.
  • embodiments of the invention can be used as an intelligent yellow pages. From her/his handheld computer and/or telephone, either wireless or landline, the user could request a restaurant. Rather than selecting the closest restaurant, or selecting restaurants based on categories, the restaurant can be chosen by using the user profile and restaurant, item, profiles.
  • Another, "on the street” embodiment is in assisting customers in a brick-and-mortar store.
  • a user may user her/his wireless computer and/or telephone to provide feedback about particular merchandise. This allows on-the-fly cross-selling of related items as well as suggestions of other items the user may find interesting.
  • Figure 2 illustrates processes for selecting and displaying matching items for users. These processes can be used by the filtering engine 114 and the matching engine 1 16 to update user and item profiles and select a matching item. Notably, the processes 230 and 232 can operate independently allowing updates and the selection and display of matching items to operate concurrently.
  • the process 230 is used to update user and item profiles in response to interactions. This process is typically performed by the filtering engine 114.
  • a record of interactions is received. This can be in the form of a web server access log, or other recorded record of user interactions.
  • the interaction information is provided directly to the profiling and matching environment 112 as interactions occur either from the server environment 104 or the web browser 100.
  • the user profile and the item profile is updated and stored within the item profiles 214 or the user profiles 216 of the profile database 118.
  • the update process is described in greater detail below.
  • the process continues at step 200 and can repeated as needed to adjust for additional interactions. For example, if the user John Doe clicked on an item, corresponding to a computer programming book, to get more detail, that interaction might be used to adjust both the user profile for John and the item profile for the book item.
  • the interactions can be provided asynchronously to the system.
  • purchase history information can be provided as interactions to the system.
  • club card information about purchases can be input into the system. The purchase interactions would be applied to updating the corresponding user and item profiles.
  • the process 232 is used to select and display matching items to the user. This process is typically performed by the matching engine 116.
  • a request for an item is received.
  • the request may originate from the server environment 104 or the web browser 100. If necessary, the user is identified at this step. Typically, the request will include an identifier for the user.
  • cookies stored with the web browser 100 and/or parameters in the uniform resource indicator (URI) requesting the item may be used to identify the user. If necessary, a new profile can be created or the user can be prompted to identify him/herself.
  • the corresponding user profile is accessed from the user profiles 216 in the profile database 118. That user profile is then matched against each of the item profiles in the item profiles 214 to identify the item having an item profile suggesting the user is likely to be interested in the item. Matching the item to the user is based upon the proximity of the item profile parameters to the user profile parameters.
  • the matching procedure can also take into account the confidences in the user profile parameters and item profile parameters. Accordingly, parameters that are known with a lesser degree of confidence will be weighted less in computing the proximity between the item profile parameters and the user profile parameters. In other instances, when taking confidence levels into account, the parameters are adjusted pessimistically - for both users and items — based on the level of confidence in those parameters. The pessimistic approximations of the parameters are then used in determining the proximity of the user profile parameters and item profile parameters.
  • step 224 With the presentation of the item to the user, e.g. in a page shown by the web browser 100.
  • Figure 3 illustrates configuration and initialization settings used according to one embodiment of the invention. Each of the configuration and initialization settings shown in Figure 3 can be included in the settings 120. Each of the different settings will be considered and discussed in turn.
  • the list of parameters 302 is the list of personality traits used in the preference profiles.
  • the specific list of parameters 302 can be customized on a per site basis.
  • a web site aimed at sports fans might include additional parameters for personality traits that are useful in further distinguishing different types of sports fans.
  • Some general criteria for selecting parameters for use in embodiments of the invention may be helpful.
  • the first criterion is that the list of parameters 302 should be capable of meaningfully distinguishing items within a set of similar items. Thus, parameters that are duplicative of existing parameters are not helpful.
  • the list of parameters 302 should be capable of meaningfully distinguishing items within a set of similar items.
  • parameters that are duplicative of existing parameters are not helpful.
  • the new trait is not any more useful than the existing "active vs. couch-potato" trait (as well as the others), the new trait should not be added. But, if the new personality trait would increase the ability to distinguish between similar items within sets of similar items like vacations, adding the new personality trait to the list of parameters may make sense.
  • a second criterion for selecting personality traits for inclusion in the preference profiles is that, for at least some of the traits, it is possible to seed items with initialized values. For example, many items have a strong association with one gender trait, as such, gender makes a good parameter because initial values can be filled in for many large classes of items. It is not necessary for every personality trait to be susceptible to initial seeding; however, a wide range of easily assigned personality traits makes it easy to provide quick estimations for new items.
  • Another criterion is that the selected parameters should be relevant to purchasing practices.
  • the list of those parameters can be statistically determined.
  • accepted, or widely, used personality traits that are considered relevant to purchasing decisions can be used.
  • demographic information can be used to seed some parameter types and values, e.g., the physical fact of being male generally has a strong correlation with the male personality trait.
  • personality traits in the list of parameters be human understandable. This may be necessary to comply with certain privacy initiatives such as the P3P privacy standard
  • P3P Plate for Privacy Preferences Project
  • P3P Planar for Privacy Preferences Project
  • the actual profile for a user may have to be presentable in human understandable terms. For this reason, some embodiments use a scale from "-3" to "3" to describe a user's personality traits within the user profile.
  • the confidence information may also be displayed if appropriate, or necessary, in human understandable terms, e.g. "very confident", “low confidence”, etc., describing a particular parameter value within in the user profile.
  • profiles created in with one list of parameters 302 can be converted, or translated, into a profile using a different list of parameters by describing a mapping between the two lists of parameters. For example, three personality traits in the list of parameters could be mapped by a formula, e.g. a weighted average, to a single personality trait in another list of parameters. 2. Parameter Meanings
  • the parameter meanings 304 is a set of descriptions describing what is meant by each personality trait included in the list of parameters 302. This is important primarily to permit for editorial consistency in seeding values for new items. For example, if there is no agreement as to what the "family vs. single" personality trait parameter means, then it will not be possible to consistently assign new items appropriate values for that parameter.
  • the parameter meanings may also be useful, or necessary, to comply with privacy standards to allow users to be able to understand their own profile in simple language.
  • the parameter meanings are not used by the filtering engine 114 or the matching engine 116. As such, commonly accepted, or dictionary definitions, of those terms may be used. For example, the parameter meaning for "sports vs. no sports" might be: "A high value indicates a personality trait corresponding to users who watch sports, while a low value indicates users who do not watch sports.”
  • the user information 306 includes information that is used to initialize a user profile. For example, the registration form for a portal web site may have asked a number of demographic questions of the user. That information can be used to seed the user profile and be stored in the user profiles 216. Thus, for example a twenty-six year old male might be given a high value in the "Gender” parameter and a high value in the "Age (young professional)" parameter. Similarly, low values could be provided for the other age parameters. The confidence associated with those initial settings could be made low to allow the system to adjust the values towards a more accurate setting derived from interactions.
  • Other sources of the user information 306 may include credit card purchases, e.g. combine the item profiles for several recently purchased items to initialize the user profile. Also, psychographic data from other sources may be integrated into the user profile as well. In both instances, the confidence values can be appropriately set to allow the user profile to be adjusted based on interactions.
  • the addition of users with user information 306 is ongoing as new users are added to the system or initialized based on data.
  • items may be grouped into logical sets of similar items for the purpose of assigning initial values.
  • a set of items relating to women's clothing might be created with initial values for the item profile of items falling into that set.
  • Some embodiments of the invention use a taxonomy 308 to assist in this process.
  • the hierarchical United Nations Standard Products and Service Codes (UN/SPSC) may provide a convenient, standard taxonomy. A description of the UN/SPSC can be found at ⁇ http://www.un-spsc.org/>.
  • Using a standard taxonomy offers the advantage that many items may be pre-categorized, eliminating the need for manual categorization or grouping of items into appropriate sets. This reduces the configuration and initialization hurdles to providing seeded item profiles 310 for categories within the taxonomy 308.
  • the seeded profiles can be constructed on a per category basis, creating one seeded profile for one or more categories within the taxonomy 308.
  • a subcategory within a hierarchical taxonomy 308 can automatically use the seeded profile of its parent category when no seeded profile has been provided for the subcategory.
  • a large percentage of items may be pre-categorized, e.g. have an assigned and known category within the taxonomy 308. In other instances, it may be necessary to manually categorize items for placement within the taxonomy. Once placed, each item can adopt the seeded profile of its category, or ancestor categories. The placement of items within the taxonomy may be ongoing as new items are added.
  • the UN/SPSC is adopted as the taxonomy 308.
  • An example category in the UN/SPSC is: Live Plant and Animal Material , Accessories and Supplies
  • an interaction might include any click — or other input — from a user received by the server environment 104 and/or the profiling and matching environment 112.
  • embodiments of the invention use a subset of the entire range of interactions to adjust the profile. These interactions can be divided into the categories of profile events 316.
  • a buy event is an interaction where a user purchases an item.
  • a detail event is an interaction where a user requests more information about an item.
  • a customization event is an interaction where a user customizes a personalized page.
  • a "stock watch” customization would be an interaction where a user adds, or removes, a stock to/from her/his stock watch list.
  • a list of customization events used by one embodiment of the invention appears in Table 2.
  • the customization event category can be removed from the categories of profile events 316. Further, the specific events in the customization event category can be adjusted based on the customizations supported by the particular server environment 104.
  • a navigation event is an interaction where a user navigates within the server environment 104, e.g. a request for any web page.
  • a user navigates within the server environment 104, e.g. a request for any web page.
  • a navigation event for each of the primary categories, e.g. the first n levels of the site hierarchy.
  • an electronic commerce vendor might have a navigation event defined for each "department" at the virtual store. For example, if a vendor sold books, music, and computer software, each of those three broad navigation categories of the web site could be a navigation event.
  • the filtering engine 114 only updates user profiles and/or item profiles in response to interactions that are within the categories of profile events 318. Events in the buy and detail categories can be used to update both the user profile and the respective item profile.
  • customization and navigation events may be associated with their own preference profile which is updated in response to interactions from users. These preference profiles are used to update the user in the same manner as an item profile is used to update the user in response to an interaction.
  • demographically supplied information e.g. the user information 306, can be used as an event in updating the user profiles. 6. Measurements for Profile Events
  • Each of the events within the various categories of profile events 316 may be associated with a different confidence that is used to control adjustment of the user profile and item profile in response to the different types of interactions. This allows for differentiation between different types of events, for example a details event may be assigned a stronger confidence than a location event.
  • the numerical confidence information is stored in box 320.
  • the confidences used by one embodiment of the invention are that buy category events have a confidence of 1.0; details category events have a confidence of 0.50; customization category events have a confidence of 4.0; and navigation category events have a confidence of 1.0.
  • the personality traits within the preference profiles may be interrelated.
  • these relations describe how parameters are correlated.
  • the relations are used to enforce known consistencies between the psychographic parameters of a user's, or item's, profile. For example, a baby is unlikely to have a high income, as such, there will be a negative correlation between "age (baby)” and "income (high vs. low)". This consistency between the psychographic parameters is used to more rapidly acquire a good estimate of the user's profile. It can be used to similar effect for items and their corresponding item profiles. As a result, in contrast to systems that do not use relations, a system using relations can provide better matches with fewer interactions.
  • the relations between parameters 322 can be constructed by assumptions about the parameters, or through statistical analysis of data sets, to determine correlations among the parameters. For example, analysis of the seeding values for all item profiles can be used to establish the relations between parameters 322. The remainder of this discussion will focus on a non-statistical approach to constructing the same.
  • the relations between parameters can be defined as a matrix R as seen in Equation 1.
  • u is a particular user profile, or an item profile. More specifically R can initially be composed as described in Equation 2.
  • Each r[ t component observes the property that r t u « 0. Further, all the elements of the vector r , are 0 except for those at position k and /. The values in those two positions are as follows. If parameters k and / are likely to correspond closely, then positions k and / will be of opposite sign, and of a magnitude dependent on the strength of the correspondence. If the parameters are mutually exclusive, e.g. likely not to correspond, then positions k and / will be of the same sign and have a magnitude dependent on the extent of the exclusivity.
  • R for an embodiment with only two parameters: age (baby), education (high vs. low), and income (high vs. low).
  • the row r a ⁇ e(baby)] education (high vs , ow) Let us assume that people with a strong personality trait of age (baby), parameter value "3", tend to be relatively uneducated, e.g. education parameter is low, "-3". Thus, we can provide the row as follows [3 3 O] . This row demonstrates the negative correlation between age (baby) and education (low). For less strongly de-correlated parameters, the magnitude of the non-zero entries would be smaller.
  • the matrix R can be reduced in size by using singular value decomposition to produce a square matrix R relating each of the q parameters to the others.
  • R is q - n tall by n wide and observes Equation 1.
  • R is used as the relations between the parameters 322 and it will simply be referred to as R.
  • a weighting vector may be used to assign relative weights to the parameters and stored as the parameter weights 324.
  • One such vector is shown in Equation 3 below with the weights listed in the order the parameters are presented in Table 1.
  • w ⁇ 1 1806, 0 7232, 01010, 04340, 03290, 04479, 0 5138, 03316, 0 2708, 03927,
  • the weighting vector may be represented as a diagonal matrix Ww zeroes for off-diagonal elements and the vector w in the diagonal elements.
  • multiple vectors, w, for different categories within the taxonomy may be used. This may be useful if, within specific categories of the taxonomy, different weightings produce better matches. For example, when selecting among items within a category, e.g. women's clothing, it may be desirous to weight more heavily factors other than gender to allow better matches.
  • One approach to determining w is to look at a collection of interaction data for users and items. For example, among n users and m items, there may have already been a number of interactions. By selecting an initial weighting vector, w, e.g. equal to all ones, parameter values for users and items can be determined in response to that w. Then, by computing the match of each user with all items, a rank-ordered list of all m items can be produced for each of the n users. The matches of users to items used to generate the rank-ordered list for each user are generated using the matching formula, as described below. Then for each rank ordered list, the positions of the items that the user / has interacted with can be summed to produce a cost for that user with the weighting vector w.
  • w initial weighting vector
  • the cost for the user 1 would be 900 + 543, or 1443.
  • Such sums can be added across all n users to produce a total cost for the weighting w.
  • the weighting will be better as it will produce matches that place the items of greatest interest to users at the top of their respective lists.
  • the matching formula 326 describes how to compare a user profile u) and an item profile (p).
  • Embodiments of the invention may use any, all, or some, of the formulas given in Equations 4A-D.
  • w is the weighting vector and k iterates across the parameters in the preference profile.
  • Equations 4A-D The different uses of the matching formulas in Equations 4A-D will now be explained; however, it is possible to use other formulas to compare user and item profiles.
  • equation 4A this is a simple weighted proximity comparison of the parameters of the user profile with those of the item profile.
  • the best item for a given user can be selected.
  • the best user for a given item can be selected.
  • Equation 4B normalizes the user profiles and item profiles to unit vectors to compensate for differing magnitudes of items, or user, profile vectors.
  • Equation 4C makes pessimistic adjustments to the profile vectors to factor in the confidences in the user, and item, profiles as expressed in the covariance matrices, C user and C" em .
  • Equation 4D puts less weight on parameters that are less well know, e.g. low confidence/high covariance, while not excessively weighting well known parameters, e.g. high confidence/low covariance.
  • This process can be used by the filtering engine 114 according to the process 230. This will be done by first reviewing in detail some conceptual underpinnings of the approach. Then, a global solution will be discussed. Finally, an approach supporting incremental updates, as used by some embodiments of the invention, will be discussed.
  • interactions falling into the categories of profile events — are used to adjust user profiles and/or item profiles.
  • the interaction could comprise an explicit feedback to a particular item, e.g. rating the item, typically, the interactions will take the form of implicit feedback, e.g. click for more detail, click to buy, click to navigate, etc.
  • implicit feedback e.g. click for more detail, click to buy, click to navigate, etc.
  • the global solution should be designed so as to have a single unique solution.
  • the user profiles and/or item profiles need to converge towards a single value that makes the best sense of the interaction data.
  • some embodiments of the invention select a convex cost function to describe the global solution. As such, even as user profiles and/or item profiles are updated in response to interactions, the profiles will approach the global minimum of the cost function.
  • filtering approaches allow for the best estimation of user profiles and item profiles given the uncertainty associated with measu ⁇ ng these parameters through interactions. Filtering better enables the incremental update approach that best matches the global solution to the problem.
  • cost functions can be used, the most preferable cost functions are convex with a global minimum.
  • One such preferred cost function is described below.
  • the global cost function Cost describes the formulation of the problem.
  • the component summands of the Cost function will be described in turn and then an equation for the cost function will be provided.
  • Minimizing the summand in equation 5 determines the user and item profiles to take into account interactions that have occurred.
  • the set Q ⁇ (i, j) : user i has clicked on item j) .
  • the set Q would contain the element (10, 30).
  • conf t ⁇ is a measurement for that type of interaction. For example, given the confidences in different categories of events described in the Configurations and Initialization section above, if the interaction was a detail event, the confidence would be 0.50. In some embodiments of the invention, multiple interactions between the same user and the same item are accounted for. Minimizing the summands in equations 6 and 7 decreases the extent to which user profile and item profile parameters violate the relations between parameters 322 as encoded in matrix R.
  • Minimizing equations 8 and 9 decreases the extent to which user profile and item profile parameters deviate from the assumed, e.g. seeded, values for the respective users/items.
  • refers to the seeded profile for the item y, for example as determined by its placement in the taxonomy 308 and the profile for that category of the taxonomy.
  • ? refers to the seeded profile for the user i as determined by the user information 306, if available.
  • the matrices C" and C p correspond to covariance matrices expressing the confidence in the seeded values, e.g. the covariance matrix for the seeded profile.
  • Minimizing this function determines the optimal estimates for the user and item profile parameters for the given set of interactions.
  • cost functions may be used when negative interactions are being tracked as well, e.g. "User did not click on item /", “User indicated they dislike item /”, etc. Such cost functions should be designed so as to be convex and produce a unique global solution.
  • Figure 4 illustrates one embodiment of a process for incrementally updating user and item profiles using the filtering engine 114, this could be used as the process 230.
  • the respective user profile 400 and item profile 402 for the user and item involved in a given interaction can be retrieved from the profile database 118.
  • the case of interactions falling into the customization and navigation event profile categories is handled similarly to those for detail and buy event profile categories.
  • the preference profile for that customization and/or navigation event may be updated in the same fashion as an item profile.
  • Figure 4 will be explained with respect to updating a user profile.
  • the process for updating an item profile is identical in nature as seen in the bottom half of Figure 4.
  • the first step in the process is to describe the interaction in terms of a measurement.
  • the measurement is based upon both the user profile, u in , and the item profile, p ln , prior to the interaction and the interaction.
  • the Kalman filter is used, as described below, the development of the measurement corresponds to equations 11-14.
  • the next step in the process, step 410 (and 412 for items) is the estimation of the new user profile, e.g. u out . This new estimation can be generated through use of the measurement from the previous step.
  • the estimation of the new user profile corresponds to equations 15-18.
  • the filtering process used at step 412 can be the Kalman filter, or other suitable filters. More generally, any optimal recursive data processing algorithm may be used. Though the term optimal may have a number of meanings depending on the criteria chosen to evaluate performance, the Kalman filter has been shown to be optimal under a reasonable set of criteria for linear systems problems. See, Peter S. Maybeck, Stochastic Models. Estimation, and Control. (Academic Press 1979) Vol. 1, at 4, (available at ⁇ http://www.cs.unc.edu/ ⁇ welch/kalman/maybeck.html>) (hereinafter Maybeck).
  • the Kalman filter can process all available measurements, regardless of their precision, and produce an estimate of the current value of the variables of interest. Maybeck, at 4.
  • interactions can be used to estimate the user profile and/or item profile.
  • the estimate is produced using prior (1) knowledge about the system and the errors inherent in the measurements; (2) a statistical description of the system noises, measurement errors, and uncertainty of the model; and (3) all available information about initial conditions for the variables of interest. Maybeck, at 4.
  • the components necessary for (l)-(3) above stem from information established in the initialization and configuration, see “Initialization and Configuration” above, and/or from updates to that information arising from interactions.
  • the term "optimal estimate” as used in filtering refers to a filter minimizing errors in some respect.
  • Maybeck at 5.
  • the Kalman filter performs this propagation for problems in which the system can be described with a linear model, provided that certain additional assumptions are made about the system and measurement noises.
  • the optimal estimate for the Kalman filter may be any of the mean, "center of probability” estimate; the mode, value of the variables with highest probability or the peak of the density; or the median, the value of the variables such that equal amounts of the probability weights lie on either side.
  • the Kalman filter is suitable for application to the instant problem and is used by embodiments of the invention to update and estimate the user profile and/or item profile in response to feedback, measurements.
  • the matrix H relates measurement vector z with the user profile parameters being measured. H is defined in terms of earlier configuration and initialization values.
  • the composition of H can be derived from the global cost function that the filtering approach is attempting to minimize in an iterative form.
  • the matrix N is the assumed measurement noise that conceptually describes the imprecision of the assumed measurement. Nis a mathematical construct not computed by embodiments of the invention.
  • R u the expected covariance of N, can be estimated according to the approximation provided in equation 13.
  • R u E N T N), where E(x) is the expectation value for the random variable x. Note, that the computation of R u includes the conf r . that differentiates between the relative weights of different categories of interactions. Additionally, R u includes the effects of the uncertainty in the item parameters used to update the user parameters.
  • the measurement vector z is comprised as shown in equation 14.
  • the three components of z correspond to the weighted item parameters used to update the user parameters, the interrelation between the parameters, assumed to result in a zero measurement per equation 1, and the seeded profile parameters for the item.
  • One optimization that can be used is to further sub-divide the update process. This allows the user profile and item profile to be run through the Kalman filter with some blocks within equations 11-14 omitted. Thus, for example, within equation 12 for H, the blocks for the relation matrix and the identity matrix could be omitted. The corresponding blocks would then be omitted in equations 13-14 and the Kalman filter applied. Later, an update using the previously omitted blocks can be performed.
  • Equations 15-18 the equations of the Kalman filter as used by embodiments of the invention will be set forth in Equations 15-18, then a description of the filtering process and the equations follows.
  • Equation 15 computes the interim value, K.
  • the interim value is a matrix of linear feedback terms that are used to update the user profile parameters based on the measurement and confidences.
  • the interim value is stored in the covariance matrix C" t er .
  • updated user profile parameters are computed according to equation 17 and stored in u out .
  • u out is an improved estimate of the user's psychographic profile.
  • the memory of the Kalman filter can be preserved according to equation 18.
  • Q represents uncertainty in the model used and prevents the filter from assuming too high a degree of certainty in the user parameters, by increasing the covariances.
  • the interaction data can be "smoothed" in an offline process that applies the filter to the sequence of interactions of users with items forwards and backwards. For example, if the first interaction was with item #78, and the last interaction was with item #10, the filter could be re-applied to the interactions first in the order they occurred, first interaction (#10) to last interaction (#78). Then, the filter can be re-applied to the interaction in reverse order, e.g. last interaction (#78) to first interaction (#10).
  • the matching engine 116 can use a matching formula and select the items with the lowest result for a given user. In other instances, the best n items may be shown to the user. In other instances, a list of items may be presented in sorted order from best match to worst match.
  • embodiments of the invention can do the reverse, match items with users.
  • a new item can be targeted to users that are likely to be interested for marketing, research, and/or other purposes easily.
  • the best n matching users for a new product could be sent an advertisement.
  • FIG. 5 illustrates an exemplary web page supporting the explicit rating features.
  • the web page 500 as seen on the web browser 100, is shown.
  • the web page 500 includes two elements, the element 502 and the element 504. Additionally, the cursor 506 is shown.
  • the elements 502 and 504 may be any portion of the web page 500, but most typically, the elements 502 and 504 are links on the web page 500. It may be the case that the elements on the web page 500 have been rank ordered according to the match between the corresponding item profiles for the elements and the user profile.
  • Three separate functionalities are supported through the use of the feedback or rating bar: (1) the collection of explicit rating interactions on the currently displayed web page (e.g. the web page 500); (2) providing efficient links to new items (e.g. other web pages); and (3) the display to the user of the strength of the match between the user and the linked items.
  • a predicted rating 600 may be displayed when the cursor 506 is positioned over an element 502.
  • the predicted rating 600 may be a graphical, textual, auditory, and/or other output of the strength of the match between the user profile and the item profile of the linked item.
  • the predicted rating 600 is displayed with a pop-up visual indicator.
  • the visual indicator may be present next to, or within the display of, the element 502. For example, adjacent to the element 502, the confidence in the strength of the match for the user with that item could be displayed at all times.
  • the confidence in the predicted rating between a user is expressed relative to best and worst matching items for the user, e.g. the items with minimum and maximum match values according to the match formula 326.
  • the type of control shown in Figure 9 would typically be used to show the predicted rating 600.
  • a control e.g. the control in Figure 9
  • its value typically cannot be adjusted.
  • a pop-up visual input control may be provided to allow the user to express her/his preferences towards the page she/he is currently on.
  • she/he gets to explicitly rate her/his opinions about that page.
  • the rating is accomplished by movement of the cursor to the left or right, while the mouse button remains held down, causes an update to an indicator within the control showing the current setting. Releasing the mouse button causes the indicated setting to be adopted as the user's explicit rating interaction. Additionally, the delivery of the appropriate linked web page can then commence.
  • Figures 8 and 9 show possible feedback and rating controls for use with these embodiments of the invention. If negative feedback is permitted, the control of Figure 8 may be used to indicate a negative reaction (to the left of center) or a positive reaction (to the right of center), the distance from the center indicates the magnitude of the reaction (further is stronger). When only positive feedback is being used, a control such as the one in Figure 9 can be used and the magnitude of the feedback is determined by the distance from the left edge (minimum level of positive feedback).
  • control indicator may be adjusted and set with the mouse button up, immediately after a click on the element 504.
  • a second mouse click would set the rating and trigger the delivery of the appropriate linked web page.
  • Embodiments of the invention are capable of supporting a number of privacy platform requirements.
  • the profile of psychographic traits for the user can be presented in human understandable terms.
  • the system can allow a user to adjust her/his own profile, e.g. explicitly set/change one or more parameter values. Once set, the modified parameter values may continue to be adjusted normally. 4. Item Adjustments
  • a feature offered by some embodiments of the invention is that a site operator can adjust the profile associated with one or more items. This may be useful in a number of embodiments. For example, a vendor, or manufacturer, may wish to re-target an item. For example, the producer of an item that has been considered a luxury good might wish to re-target the item to a more cost-conscious audience in conjunction with new pricing, advertising, branding, etc. As such, the item profile can be adjusted in the same fashion that user profiles can be adjusted as described above.
  • filtering engine 114 and the matching engine 116 can be hardware based, software based, or a combination of the two.
  • filtering programs and matching programs are included in one or more computer usable media such as CD-ROMs, floppy disks, or other media.
  • equations for use in filtering programs and matching programs are included in one or more computer usable media.
  • the electromagnetic waveform comprises information such as filtering programs, matching programs, and equations for use in filtering programs.
  • the electromagnetic waveform may include the filtering programs and/or matching programs accessed over a network.
  • the electromagnetic waveform can comprise information such as preference profiles; relations amongst parameters, e.g. R; seeded profiles for categories within a taxonomy, matching formulas; weightings for the parameters, e.g. w, a global cost function, e.g. Cost; and/or other settings, initialized values, and/or formulae used by embodiments of the invention accessed over a network.

Abstract

A system and method of determining and using psychographic information to help better match user's interests with products and services. Psychographic information is information about an individual's personality. This information can be associated with an item to indicate what personality traits are more common among people who are, or are not, more likely to be interested in that item. The system supports two types of profiles: user profiles (216) and item profiles (214). A user profile (216) contains the psychographic information showing correspondence, or lack thereof, between a user and various personality traits. Similarly, an item profile (214) describes the personality traits of users who are interested, or are not interested, in that item. These profiles can be associated with confidence levels to show which traits are better known in the profiles.

Description

SYSTEM AND METHOD FOR MATCHING USERS WITH ITEMS IN A NETWORK
BACKGROUND OF THE INVENTION
Field of Invention This invention relates to the field of systems and methods for matching users and items. In particular, the invention relates to approaches to matching users and items using parameters describing users and items to distribute feedback information and allow for improved matches. Description of the Related Art Two particular prior techniques have been used to provide matching of users with items in online environments. The first is collaborative filtering. The second is text sensitive interest vectors. Each will be considered, followed by a summary of other approaches.
A. Collaborative Filtering
Collaborative filtering is perhaps the most widely used prior technique for matching users and items. For example, several web advertising companies such as Firefly and DoubleClick use variations of collaborative filtering to select advertising for users. Similarly, services such as Movie Critic, <http://www.moviecritic.com >, use products such as Likeminds, from Andromedia, San Francisco, California, <http://www.andromedia.com/>, to perform collaborative filtering.
The basic operation of collaborative filtering is simple: users provide feedback about items, e.g. banner ads, books, movies, etc., either explicitly (Movie Critic ratings) or implicitly (click on ad). For each user, a set, or cluster, of likeminded users for that user is identified.
As an example, take Movie Critic, new users of the web site are asked to rate a number of movies explicitly before recommendations are provided. The movies the user, John Doe, is asked to rate are selected from the movies other users have already rated. Thus, commonly watched movies may be presented initially, e.g. "Star Wars", rather than less watched movies. The user's ratings for that initial list of movies are collected. Once a sufficient number of ratings have been provided, the system then attempts to suggest other movies the user may find interesting.
This is accomplished using Likeminds™, a software package that identifies a set of likeminded users of the service. Thus, John, who may have rated a number of science fiction movies highly will be placed in a set of likeminded users who have made similar selections. The weighting given to the opinions of each user in the set of likeminded users is adjusted based on the degree of correspondence to John's ratings. Thus, for example a likeminded user whose ratings match John's exactly will be weighted most heavily. In contrast, a likeminded user with less overlap to John's ratings will be weighted less heavily. The recommendations stem from other movies rated by these likeminded users. Thus, unless a particular movie has been rated by a likeminded user, a recommendation cannot be provided.
As a result, as the number of users and items increase, the ability of collaborative filtering approaches to make matches diminishes rapidly, even with large amounts of feedback. Further, these approaches present particular difficulties for newly added items. For example, the system cannot provide recommendations to go see "Star Wars: The Phantom Menace" to John until several likeminded users who rate movies similarly to John rate the movie favorably. These limitations also impact the ability to effectively use collaborative filtering for advertisement presentation as well as implicit site customization. Another limitation arises from the one directional nature of the process, e.g. given a new item it is not possible to determine which users would be interested in the item.
Yet another limitation is that the profile for the user is entirely non-transferable to other environments as it is solely the set of likeminded users. For example, a user's Movie Critic profile cannot be used at another site. Another limitation is that collaborative filtering is not easily applied to non-homogenous collections of items. Within homogenous collections of items such as books or music, the reasons people tend to like, or dislike, items tend to be relatively uniform. However, as the diversity of items increases, the assumption becomes increasingly incapable of describing the reasons users are interested, or disinterested, in certain items.
B. Text Sensitive Interest Vectors
Another approach that is occasionally used to match users and items is a text sensitive interest vector. Such an approach is used in part by SelectResponse™ from HNC Software, Inc., San Diego, California, an automated electronic mail response agent.
The basic idea behind text sensitive interest vectors is that words are slotted into bins. For example, bin #1 might be for words relating to love, e.g. "love", "like", "approve", etc. The user's "interest" is the string of words provided to the software, e.g. an electronic mail message, a search query, etc. For example, if the string included the sentence: "I wanted to tell you how much I really like your web browser. Really would love to have a T-shirt". Then, the text sensitive interest vector would have a value of "2" in the first position because two words from bin #1 appear. The string of words is slotted into the bins. Similarly, documents or descriptions of items are slotted into the bins, typically ahead of time. The user's interest is then matched against the items by comparison of the vectors. The most similar matching items will have similar text sensitive interest vectors. The approach is limited in many respects. For example, it is only capable of working with textual descriptions of interests and items. Thus, it is not useful when the user's interest is not expressed as a string of words. Further, the approach does not afford for the identification of a profile of the user and item. Thus, the user's interests are merely a transitory expression of the user's query rather than a description of the user's long term, or permanent, traits, preferences, etc. BRIEF DESCRIPTION OF THE FIGURES
Fig. 1 illustrates a system including one embodiment of the invention for matching users to items. Fig. 2 illustrates processes for selecting and displaying matching items for users.
Fig. 3 illustrates configuration and initialization settings used according to one embodiment of the invention.
Fig. 4 illustrates one embodiment of a process for incrementally updating user and item profiles with the filtering engine.
Fig. 5 illustrates a web page supporting explicit feedback with the feedback bar and ratings for elements hidden.
Fig. 6 illustrates a web page supporting explicit feedback with the feedback bar hidden and the rating for an element visible. Fig. 7 illustrates a web page supporting explicit feedback with the feedback bar visible and the ratings elements hidden.
Fig. 8 illustrates a feedback or rating bar according to one embodiment of the invention.
Fig. 9 illustrates a feedback or rating bar according to one embodiment of the invention.
SUMMARY OF THE INVENTION
The problem can be stated: how can a particular user be presented at least one item by a web site that the user is likely to find interesting. More specifically, the goal is to select at least one item, from the set of available items, with a preference profile similar in nature to that of the user. Thus, users whose user profile indicates they are "extravagant", as opposed to "cost conscious", should be shown items having item profiles that indicate that "extravagant" users are interested in those items.
A system and method of determining and using psychographic information to help better match user's interests with products and services is described. Psychographic information can be associated with an item to indicate what personality traits are more common among people who are, or are not, more likely to be interested in that item.
The system supports two types of profiles: user profiles and item profiles. A user profile contains the psychographic information showing correspondence, or lack thereof, between a user and various personality traits. Similarly, an item profile describes the personality traits of users who are interested, or are not interested, in that item. These profiles can be associated with confidence levels to show which traits are better known in the profiles. To help provide better initial matches, the system can be initialized with predefined profiles, confidence levels, and a set of predefined relationships between the psychographic parameters. The set of predefined relationships define how pairs of the psychographic parameters correlate. An example of a predefined profile may be helpful: an item such as an advertisement for women's shoes might be initialized with a value of "-3" for the "female vs. male" trait, indicating the item is generally interesting to women. Further, the degree of confidence in that initialized value might be set moderately high. To improve the accuracy of the profiles, users' interactions with the system can be tracked and incorporated back into the user and item profiles. As needed, the system can independently access a user's profile to select an item representing a best match between a specific user's interests, as expressed through his/her personality traits. The system can be used in electronic commerce to provide users with banner advertisements, initiate electronic commercial transactions, and provide suggestions of items that are more interesting to the users.
Although the description of the invention is described in terms of finding matching items for a given user, the system can also be used to match items to users. This may be desirable to allow a company to identify users who would be interested in a new product for marketing, research, and/or other purposes. For example, this could be used to send targeted electronic mail messages to users likely to purchase, or be interested in, particular items.
DETAILED DESCRIPTION
Table of Contents
SYSTEM AND METHOD FOR MATCHING USERS WITH ITEMS IN A
NETWORK 1 BACKGROUND OF THE INVENTION 1
A. Collaborative Filtering 1
B. Text Sensitive Interest Vectors 3
BRIEF DESCRIPTION OF THE FIGURES 4
SUMMARY OF THE INVENTION 5 DETAILED DESCRIPTION 7
A. Introduction 9
B. Description of the Problem 9
1. Terminology 9 a. Item 9 b. User 10 c. Preference Profile 11 d. User Profile 11 e. Item Profile 12 f. Program 12 g. Interactions 12 h. Well-conditioned 13
2. Statement of the Problem and Solution 13
3. Estimation with Limited Data 15
4. Independence of Profiles 15 5. Rapid Adaptation of System 16
6. Use of Confidence Bounds In Embodiments of the Invention 17
7. Ability of Preference Profile to Describe Items and Users 17
C. System Overview 17
1. Banner Advertisement 21 2. Merchandising for Electronic Commerce Vendor 22 3. Web Portal 23
4. On the Street Personalization 24
D. Process Overviews 25
1. Updating User and Item Profiles 25 2. Selecting and Displaying Matching Items 26
E. Configuration and Initialization 27
1. List of Parameters 27
2. Parameter Meanings 30
3. User Information 30 4. Seeding Item Information 31
5. Categories of Profile Events 32
6. Measurements for Profile Events 34
7. Relations between Parameters 34
8. Parameter Weights for Matching Engine 36 9. Matching Formula 38
F. Process Details 39
1. Filtering 39 a. Concepts 39 b. Global Solution 40 c. Incremental Updates with Filtering 42 i. Kalman Filter Principles 43 ii. Kalman Filter Application 44
2. Matching 47
G. Alternative Embodiments 48 1. Users and Items Interchangeable in the Methods 48
2. Guiding Users to Interesting Items of their Choice with Explicit Interactions 48
3. Privacy Aspects 50
4. Item Adjustments 51 5. Additional Embodiments 51
H. Conclusion 52 CLAIMS 53
ABSTRACT 72
A. Introduction
First, the problem to be solved, the terminology being used, and advantages of embodiments of the invention will be described. Then, an environment including an embodiment of the invention will be considered. Next the process for matching users and items will be discussed. Then the detailed implementation used by some embodiments of the system and method will be discussed in greater detail. Finally, additional embodiments of the invention will be considered.
B. Description of the Problem
There are a number of situations where it is desirable to help match users with items. For example, electronic commerce vendors want to show users the items they are most likely to be interested in so that the user is likely to complete a purchase. Similarly, many web sites want to increase the click-through rate on advertising by presenting advertising that the user will find most interesting. In each of these situations, it is desirable to select items that the user is likely to find interesting.
1. Terminology
Some terminology will be helpful in understanding the basic statement of the problem.
a. Item
The term "item" refers to a piece of information that can be accessed over a network such as the Internet, a local area network (LAN), an intranet, an extranet, and/or some other type of network.
The item may be distinct from the physical object(s)/service(s) the item may correspond to. For example, a bookstore might sell a particular book on computer programming. The book is the physical object, but the item can be a banner ad for the book, a link to a description of book, a uniform resource indicator (URI) where more information about the book can be found, etc.
In another example, consider an advertisement for a Hawaiian vacation. The item in this case might be the banner ad, the web page listing details of the vacation, etc. The corresponding service to this item would be the actual Hawaiian vacation.
A third example is that the physical object might be a digital item, e.g. a web page, a database entry, an online book, a multimedia content, and/or some other type of digital object. The physical object might be an MP3 track, but the item could be the link to the MP3 track, a banner ad for the MP3 track, a link to a sample of the MP3 track, a link to complete a purchase of the MP3 track, and/or some other piece of information that can be accessed over a network.
In the interest of clarity of description, items will sometimes be referred to by the physical object(s)/service(s) they correspond to. Thus, the phrase "Hawaiian vacation item" should be understood to correspond to the item, not the Hawaiian vacation itself.
b. User
The term "user" refers to an individual, or other entity acting on behalf of another. For example, a user might correspond to a person, John Doe, sitting at his personal computer accessing an online bookstore. Alternatively, the user might correspond to an automated agent acting on John's behalf.
In the interest of clarity of description, users will sometimes be referred to by the person(s)/agent(s) they correspond to. Thus, the phrase "John's user profile" refers to information about John, not John himself. Similarly, "the user's profile" means the corresponding profile for a user.
Also, in some instances, a "user" may refer to a collection of individual users being treated as a common entity. For example, in some embodiments of the invention, all of the individual users in a single department, or other logical group, might be treated as a single user for matching purposes. c. Preference Profile
A "preference profile" contains psychographic information indicating a degree of correspondence, or lack thereof, between a user and various personality traits. The personality traits are descriptive phrases that can be used in psychography to systemically evaluate a individuals personality, e.g. behaviors, tendencies, tastes, interests, etc. Personality traits are distinct from demographic characteristics in that they do not necessarily correspond to factual information about an individual. For example, a user may be thirty years old, a demographic characteristic; however, his behaviors may indicate that he is more like an 18 to 22 year-old, a personality trait.
Particular personality traits can be described within a preference profile, according to some embodiments of the invention, using a number. For example, the personality trait "cost conscious vs. extravagant" could be one of the parameters stored in a preference profile. Numbers from "-3" to "3" could be used to indicate correspondence, or lack thereof, between the user and that trait. For example, a "3" might indicate the user is extravagant, while "-3" might indicate the user is highly cost conscious. Intermediate values, e.g. "1.1" would indicate a lesser degree of extravagance than a "3".
Additionally, preference profiles can have a confidence value associated with each profile parameter. These confidence values can be adjusted as more information is learned about users and items. In some embodiments, the preference profile parameters are stored together with a covariance matrix describing the degree of confidence in the parameters of the preference profile. A small covariance indicates a high degree of confidence in the value of a parameter and a large covariance indicates a low degree of confidence in the value of a parameter.
d. User Profile
A user profile is a preference profile for a user comprised of one or more parameter values for personality traits. Thus, if one of the parameters in the user profile is "cost conscious vs. extravagant", then the value of that parameter would describe how cost conscious or extravagant the user is. Various embodiments of the invention may use different personality traits in the preference profile.
e. Item Profile
An item profile is a preference profile describing the personality traits of users that like the particular item. As such, the data structures used to store item profiles can be the same as those used for user profiles. The difference between user profiles and item profiles therefore lies in the meaning of the personality trait parameter values. Consider an item corresponding to an expensive fountain pen. The item profile parameter values describe the personality traits of users who are interested in the item. Since the fountain pen item is an expensive, luxury item, one would expect that it would be most interesting to extravagant rather than cost conscious users. Thus, a "1.7" value for the "cost conscious vs. extravagant" parameter in the item profile would indicate that users who have extravagant personality traits would be interested in the item.
f. Program
The terms "program", or "computer program", as used in this application, refers to any sequence of instructions designed for execution on a computer system. A program may include a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, and/or some other sequence of instructions designed for execution on a computer system.
g. Interactions
The term "interaction" refers to any affirmative action by a user that is used to define a personality trait. For example, an interaction may comprise a user's request of a URI corresponding to an item, e.g. "Add 'Fodor's Hawaii 2000' to your shopping cart". As a result of this interaction, requesting that the Fodor's Hawaii 2000 item be added to the user's shopping cart, both the user's profile and the item's profile can be updated. A full description of the interactions used by some embodiments of the invention is discussed below in connection with "Categories of Profile Events".
h. Well-conditioned
Conditioning refers to the insensitivity of an estimation process to imperfect information and/or noisy data. Thus, a well-conditioned estimation process will not produce bad estimates, even when there is a relatively large amount of noisy data. Since a user's interaction with an item can be influenced by many unmodeled factors, the estimation of the user profile parameters, or item profile parameters, needs to be well-conditioned so as not to be unduly affected by the noisy data, e.g. the unmodeled factors. The larger the number of data sources used to estimate parameters, the more well-conditioned the estimate. The data sources used by some embodiments of the invention include initialized values and settings, described below, and multiple, noisy measurements, representing interactions between items and users.
2. Statement of the Problem and Solution
Having defined the terminology, the problem can be stated: how can a particular user be presented with at least one item by a web site that the user is likely to find interesting. More specifically, the goal is to select at least one item, from the set of available items, with a preference profile similar in nature to that of the user. Thus, users whose user profile indicates they are "extravagant", as opposed to "cost conscious", should be shown items having item profiles that indicate that "extravagant" users are interested in those items. A system and method of determining and using psychographic information to help better match user's interests with products and services is described. Psychographic information can be associated with an item to indicate what personality traits are more common among people who are, or are not, more likely to be interested in that item. The system supports two types of profiles: user profiles and item profiles. A user profile contains the psychographic information showing correspondence, or lack thereof, between a user and various personality traits. Similarly, an item profile describes the personality traits of users who are interested, or are not interested, in that item. These profiles can be associated with confidence levels to show which traits are better known in the profiles.
To help provide better initial matches, the system can be initialized with predefined profiles, confidence levels, and a set of predefined relationships between the psychographic parameters. The set of predefined relationships define how pairs of the psychographic parameters correlate. As an example of a predefined profile, an item such as an advertisement for women's shoes might be initialized with a value of "-3" for the "female vs. male" trait, indicating the item is generally interesting to women. Further, the degree of confidence in that initialized value might be set moderately high. To improve the accuracy of the profiles, users' interactions with the system can be tracked and incorporated back into the user and item profiles. As needed, the system can independently access a user's profile to select an item representing a best match between a specific user's interests, as expressed through his/her personality traits. The system can be used in electronic commerce to provide users with banner advertisements, initiate electronic commercial transactions, and provide suggestions of items that are more interesting to the users.
Also, although the description of the invention is described in terms of finding matching items for a given user, the system can also be used to match items to users. This may be desirable to allow a company to identify users who would be interested in a new product for marketing, research, and/or other purposes. For example, this could be used to send targeted electronic mail messages to users likely to purchase, or be interested in, particular items. Several advantages of embodiments of the invention will now be described. Then, an environment including an embodiment of the invention will be described. 3. Estimation with Limited Data
In most environments where the matching system will be used, the number of items will be vast. For example, an online bookstore might have tens of thousands of books for sale. Similarly, a portal web site might have millions of items, e.g. banner ads and links, that could be shown to the user. One advantage of embodiments of the invention is that a well conditioned estimate of desirable matches can be produced with extremely limited data. This allows newly added items to quickly be matched to users without the need for extensive sampling. It also allows sites to quickly suggest items to newer users without the need for an extensive training period.
4. Independence of Profiles
Another advantage of embodiments of the invention is that the preference profile is independent of the particular set of items, or users. This characteristic is called transportability. An example may be helpful in understanding this. Consider our user John Doe discussed above. The preference profile for John at a first web site, e.g. <http://www.examplel.com/>, can be used at a second web site, e.g. <http://www.example2.com/>.
For example, on the first site, he purchases a book titled "Seeing Hawaii in Style". His profile is then updated by the first site. When, the user visits the second web site, a travel site for example, more luxurious travel experiences such as a "Luxury Hawaiian Cruise" could be recommended using the transported user profile from the first web site.
This transportability of item, and user, preference profiles, even across sites, increases the flexibility of the system and allows for greater cross-site collaboration. 5. Rapid Adaptation of System
The ability of the system and method to quickly hone in on the user's, or item's, profile also offers an advantage: it eliminates the need for explicit training of the system. As discussed above, embodiments of the invention can make well-conditioned estimates of what items a user will find interesting even with relatively little profile information for either the user or the item.
The adaptation of the user, and item, profiles can occur quickly because information about the correlation between parameters is used to adjust the user, and item, profile in response to interactions. For example, consider if two of the parameters that make up the preference profile are "age (infant)" and
"uneducated vs. educated". It may be known, or determined statistically, that those two parameters are inversely correlated, e.g. users who have a strong rating in the infant trait, "3", tend to be relatively uneducated, "-3". Thus, information about a user, or item, in one profile parameter can be used to enforce consistency in the values of other profile parameters.
Further, values for items can be seeded to further assist the process. This can be done by identifying one or more sets of similar objects, e.g. vacations, clothing, women's clothing, etc. Items within a set can be provided default values for certain profile parameters based on settings for the set. For example, it may be known that items in the set of women's clothing are mostly interesting to user's whose user profile indicates that they have expressed a high degree of female-ness, e.g. "-2.7" in "female vs. male" personality trait. Thus new women's clothing items can easily be initialized using the set default profile value for the "female vs. male" attribute. In some embodiments, the sets are formalized by using one or more categorization systems for products and services. In these embodiments, it may be possible to determine the appropriate category for items using standard references and/or information provided by vendors. This can reduce the overhead associated with the editorial process of identifying sets, and placing items into sets, manually. 6. Use of Confidence Bounds In Embodiments of the Invention
Another advantage of embodiments of the invention is that information about how well the system knows various types of information is also maintained. Returning to the example of the Hawaiian vacation item initialized based on values for a vacation category, the confidence bounds could initially be configured to be low, allowing for rapid adjustment of the preference profile of the item in response to feedback. In contrast, as more feedback is received about a particular item, or user, the confidence in the preference profile will typically become higher. The confidence bounds enable more efficient transfer of information from the user profile to the item profile, or vice-versa, as a result of interactions.
7. Ability of Preference Profile to Describe Items and Users
The preference profile used by embodiments of the invention offers an advantage in that the same profile can be used to describe items and users. More specifically, the parameters associated with users and items are typically identical. In some instances the user profile may include more parameters than the item profile, such as when a user profile from one web site is used at another web site using fewer preference profile parameters to describe items. In this case, a mapping is performed between the parameters of the user profile from the first web site onto the parameters used by the second web site.
C. System Overview
Figure 1 illustrates a system including one embodiment of the invention for matching users to items. The system can support the matching of users with items according the method described above. This environment could be used by an electronic commerce vendor to provide product suggestions, banner ad selection, category suggestions, and/or suggestion or selection of other items for users. The following paragraph describes the elements of Figure 1 and their interconnections. Figure 1 includes a web browser 100, a network 102, a server environment 104, and a profiling and matching environment 112. The server environment 104 includes a web server 106, a web site files 108, and an item database 110. The profiling and matching environment 112 includes a filtering engine 114, a matching engine 116, a profile database 118, and a settings 120. The web browser 100, the server environment 104, and the profiling and matching environment 112 are coupled in communication with the network 102. The web browser 100 can include any computer, or other similar web enabled device. Similarly, the web browser 100 could comprise a handheld - or other - wireless communication device accessing the server environment 104 over a wireless network. For example, embodiments of the invention could be used with a PCS telephone to display advertisements, products for sale, shops of interest, locations of interest, or other items of interest, on the telephone display, or by voice, based on the user profile associated with the PCS telephone. Additionally, a voice activated response (VAR) system could employ embodiments of the invention. In those embodiments, the web browser 100 comprises a telephone providing speech and/or dual-tone multi-frequency (DTMF) inputs to the VAR. In such an embodiment of the invention, the VAR - - or human operator — could recommend items to the calling user based on the user profile and the matching process.
Although the discussion will concentrate on embodiments of the invention that operate over the Internet using the World Wide Web, in fact, this system and method can be used in other environments where it is desirable to match users with items. For example, a database search system could use this approach to assist in finding records, e.g. items, most likely to be of interest to the user.
The network 102 is a network such as a packet switched network, a wireless network, the Internet, an intranet, an extranet, a virtual private network, and/or some other communication medium for coupling the web browser 100, the server environment 104, and the profiling and matching environment 112 in communication. In some embodiments of the invention, the profiling and matching environment 112 is coupled to the server environment 104 by a second network other than the network 102, e.g. an internal network, a direct connection, and/or some other communication channel. The server environment 104 and the profiling and matching environment
112 can be located at the same site, or separately located. For example, the profiling and matching environment 112 might be operated by a company that works with a number of different web sites, including the one corresponding to the server environment 104. The server environment 104 includes one or more computer systems operating the web server 106. The web server 106 can provide access to the web site files 108 using a hypertext transfer protocol (HTTP), as well as other protocols, e.g. file transfer protocol (FTP), electronic mail (standard mail transport protocol/SMTP), and/or database queries (standard query language/SQL, open database connectivity standard/ODBC, Java™ database connectivity standard/JDBC, etc.). Similarly, the contents of the item database 110 may be similarly accessed. The item database is located within the server environment 104 in this example, but it could also be located within the profiling and matching environment 112, or shared between the two environments.
The one or more computer systems supporting the server environment 104 are typically server computers operating with the Windows™ NT operating system and/or a UNIX™-style operating system; although, any type of computer system supporting appropriate access protocols for the web browser 100 over the network 102 can be used.
The web site files 108 are the basic content of the web site provided by the server environment 104. This may include applets, servlets, common gateway interface (CGI) programs, logos, artwork, hypertext markup language (HTML) files, and/or other content. The item database 110 includes the changing content, e.g. descriptions of physical objects for sale, services for sale, banner ads, multimedia files for browsing and/or purchase, database records, etc. Thus, the difference between the web site files 108 and the items in the item database 110 is that no item profile is associated with the web site files 108.
To be clear, the item database 110 cannot, for obvious reasons, store the actual Hawaiian vacation item or the physical object of a hardcover book on computer programming. For these types of items, descriptions and/or appropriate purchase links are provided. In contrast, for digital goods, e.g. multimedia files, database records, and the like, the item database 110 may contain the digital good, or a reference to it. In some embodiments, the server environment 104 may also include a user database. The user database could contain specific information about users, e.g. their registration information, their site specific information, their customized start page, etc. Like the item database 110, the user database might be located in the filtering and matching environment 112.
The settings 120 are used to configure the other elements of the profiling and matching environment 112. A greater discussion of the settings 120 is described below. The profile database 118 can be a database, or other storage repository, for user profiles and item profiles. In some embodiments, the profile database 118 may be comprised of separate databases for user profiles and item profiles. Some embodiments of the invention may include caching of user and item profiles in the profile database 118. Additionally, the profile database 118 and/or the settings 120 can be located within the server environment 104.
The filtering engine 114 receives interaction information from the server environment 104, or the web browser 100 when appropriate, to adjust user profiles and item profiles based on the interactions. In some embodiments of the invention, the interaction data is stored within the server environment 104. This interaction data can then be periodically accessed by the profiling and matching environment 112 to perform incremental profile updates and to perform global profile updates.
The matching engine 116 responds to requests from the server environment 104 to select one or more items for a user. The matching engine 116 accesses the profile database 118 to obtain the appropriate user profile and select a matching item that is likely to interest the user based on the item profiles.
Notably, the filtering engine 114 and the matching engine 116 can operate independently. As such, interactions can continuously be used to adjust user profiles and item profiles independently of the process of providing matching items.
The matching engine 116 and the filtering engine 114 can be supported on one or more computer systems. The matching engine 116 and the filtering engine 114 can be one or more programs executing on one or more computer systems.
Several applications of various embodiments of the invention will now be described with reference to Figure 1. Then, the filtering and matching processes used by the filtering engine 114 and the matching engine 116 will be described in greater detail.
1. Banner Advertisement
One use for embodiments of the invention is the selection of banner, or other, advertisements for display in conjunction with the content from the web site files 108. When appropriate, a single profiling and matching environment with the banner advertisements can be used to support multiple server environments 104 operated by the same, or different, site operators.
In this embodiment, the item database 110 would contain the banner advertisements, or references to them. In some embodiments, the banner advertisements may be stored within the profiling and matching environment 112 instead of the server environment 104. In some embodiments, the web server 106 could query the profiling and matching environment 112 to request the advertisement. Alternatively, an appropriate URI can be included in the file sent to the web browser 100 to cause the web browser 100 to request a matching advertisement. For example, the file sent to the browser might include: <IMG SRC="http://adserver.com/"> This embedded URI could cause the web browser 100 to access a web server to retrieve an advertisement. Cookies, additional values in the URI such as a user identifier, and/or other approaches, can be used to allow the profiling and matching environment 112 to identify the user and/or the originating server environment 104.
The banner advertisement configuration can co-exist with the use of embodiments of the invention described below. For example, an electronic commerce vendor could use an embodiment of the invention to recommend books while at the same time the company that provides the bookstore's advertisements could use an embodiment of the invention to select advertising. In these situations, a common user profile can be used across the different sites when desirable.
2. Merchandising for Electronic Commerce Vendor
One extremely valuable use for embodiments of the invention is the recommendation, or suggestion, of items that the user may be interested in purchasing. This may take the form of displaying one or more suggestions to the user of the electronic commerce vendor's web site, the adjustment of the order of listing of items within a category at the web site, and/or other activities. Consider a few practical uses of these embodiments of the invention. When a user goes to the vendor's home page, the items shown — as well as the advertisements ~ may be selected using the user's profile to select those items with profiles that most closely match the user. Thus, users whose profile indicates that they are cost conscious will be shown items that have profiles indicating the item appeals to cost conscious users. Typically this procedure uses the matching technique to provide items of interest to fill in a template describing the layout of information in a web page. For example, on a single page, a vendor's template may indicate the placement of paid advertising in various locations, featured items in other locations, a "other categories of interest" list in another location, and one or more items in still another location. Each of those template components may, when appropriate, be selected by using embodiments of the invention to select items of interest. Continuing the example, the featured items might be selected based on the user profile, while a list of items might be the search results.
Another use is to arrange the order of items within a list. For example, the list might be generated in response to a search query. In other situations, the list might be generated by a request for items within a particular site-based category. For example, items the user is likely to have a stronger psychographic affinity for can be placed earlier in the list.
Still other uses are possible. For example, the site navigation categories could be arranged to match the user's psychographic profile and the corresponding item profile for the category.
3. Web Portal
Another use of embodiments of the invention is in the automatic customization of portal — or other ~ sites. Two main types of automatic customizations will be considered in turn.
Within individual categories of a portal site, some embodiments of the invention can customize the content, ordering, and/or presentation of items within the category. For example, within a category of news headlines, an embodiment of the invention could rank and select the headlines likely to be of most interest according to the user's profile.
Some embodiments of the invention may reorganize the presentation of a site based on the user's profile, such as selecting a predetermined number of site-based categories to display as part of the initial page. For example, consider a user whose psychographic profile indicates that her/his strongest interests lie in outdoor sports. The automatically customized initial page may include the "Outdoor Sports" category for display to the user. Consequently, the user would not have to browse through the standard site hierarchy, e.g. "Recreation", then "Sports", then "Outdoors", to reach her/his category of interest. This process can be repeated within given categories as well as at the main customized page for the user. This allows for a tremendous amount of customization of the portal site without the need for explicit configuration of the page for the user. Further, as the user performs manual customizations, the user and item profiles could be further updated.
4. On the Street Personalization
Several embodiments of the invention support the use of wireless computers and/or telephones to provide access to customized information. The telephone may be either cellular, landline, and/or some other type of telephone. For example, using a wireless computer and/or telephone, a user could access a server environment (e.g. the server environment 104) that provides recommendations for a particular topic or topics using a profiling and matching environment (e.g. the profiling and matching environment 114). In each of the following examples, if desired, the system can perform an initial selection set of items based on objective criteria, e.g. driving distance, location, etc., and then use profiles to select the best match within the remaining items. The result: the user is provided with items most likely to match her/his interests. The set of items considered for matching can be limited to an appropriate scope, e.g. nearby, within the greater Los Angeles area, in stock at the particular brick-and-mortar store, etc. For example, while a user is traveling, she/he could query the system using her/his wireless computer and/or telephone to contact the server environment 104. Then, the site could employ embodiments of the invention to select travel sites, e.g. items, most likely to interest the user based on the profiles for the travel sites and the user profile. For example, in Los Angeles, a trendy and extravagant user might be recommended to Rodeo Drive. The particular set of travel sites is determined by the contents of the item database as selected by the server environment.
Similarly, embodiments of the invention can be used as an intelligent yellow pages. From her/his handheld computer and/or telephone, either wireless or landline, the user could request a restaurant. Rather than selecting the closest restaurant, or selecting restaurants based on categories, the restaurant can be chosen by using the user profile and restaurant, item, profiles.
Another, "on the street" embodiment is in assisting customers in a brick-and-mortar store. For example, a user may user her/his wireless computer and/or telephone to provide feedback about particular merchandise. This allows on-the-fly cross-selling of related items as well as suggestions of other items the user may find interesting.
Now the processes used by embodiments of the invention to show and select content will be described. Then, the configuration and initialization of embodiments of the invention will be described. Finally, a detailed explanation of the processes follows.
D. Process Overviews
Figure 2 illustrates processes for selecting and displaying matching items for users. These processes can be used by the filtering engine 114 and the matching engine 1 16 to update user and item profiles and select a matching item. Notably, the processes 230 and 232 can operate independently allowing updates and the selection and display of matching items to operate concurrently.
1. Updating User and Item Profiles
The process 230 is used to update user and item profiles in response to interactions. This process is typically performed by the filtering engine 114.
First, at step 200, a record of interactions is received. This can be in the form of a web server access log, or other recorded record of user interactions. In some embodiments, the interaction information is provided directly to the profiling and matching environment 112 as interactions occur either from the server environment 104 or the web browser 100. Next, at step 204, the user profile and the item profile is updated and stored within the item profiles 214 or the user profiles 216 of the profile database 118. The update process is described in greater detail below. The process continues at step 200 and can repeated as needed to adjust for additional interactions. For example, if the user John Doe clicked on an item, corresponding to a computer programming book, to get more detail, that interaction might be used to adjust both the user profile for John and the item profile for the book item.
Note, in some embodiments of the invention, the interactions can be provided asynchronously to the system. For example, purchase history information can be provided as interactions to the system. For example, club card information about purchases can be input into the system. The purchase interactions would be applied to updating the corresponding user and item profiles.
2. Selecting and Displaying Matching Items
The process 232 is used to select and display matching items to the user. This process is typically performed by the matching engine 116. First, at step 220, a request for an item is received. The request may originate from the server environment 104 or the web browser 100. If necessary, the user is identified at this step. Typically, the request will include an identifier for the user.
Alternatively, cookies stored with the web browser 100 and/or parameters in the uniform resource indicator (URI) requesting the item may be used to identify the user. If necessary, a new profile can be created or the user can be prompted to identify him/herself. Next, at step 222, the corresponding user profile is accessed from the user profiles 216 in the profile database 118. That user profile is then matched against each of the item profiles in the item profiles 214 to identify the item having an item profile suggesting the user is likely to be interested in the item. Matching the item to the user is based upon the proximity of the item profile parameters to the user profile parameters.
In some embodiments of the invention, the matching procedure can also take into account the confidences in the user profile parameters and item profile parameters. Accordingly, parameters that are known with a lesser degree of confidence will be weighted less in computing the proximity between the item profile parameters and the user profile parameters. In other instances, when taking confidence levels into account, the parameters are adjusted pessimistically - for both users and items — based on the level of confidence in those parameters. The pessimistic approximations of the parameters are then used in determining the proximity of the user profile parameters and item profile parameters.
The process continues at step 224 with the presentation of the item to the user, e.g. in a page shown by the web browser 100.
The configuration and initialization of embodiments of the invention will now be described. Then, a detailed description of the processes 230 and 232 will follow.
E. Configuration and Initialization
Figure 3 illustrates configuration and initialization settings used according to one embodiment of the invention. Each of the configuration and initialization settings shown in Figure 3 can be included in the settings 120. Each of the different settings will be considered and discussed in turn.
1. List of Parameters
The list of parameters 302 is the list of personality traits used in the preference profiles. A listing of twenty-six parameters used as the list of parameters 302, according to some embodiments of the invention, is shown in Table 1.
Figure imgf000030_0001
Table 1
The specific list of parameters 302 can be customized on a per site basis. Thus, for example, a web site aimed at sports fans might include additional parameters for personality traits that are useful in further distinguishing different types of sports fans. Some general criteria for selecting parameters for use in embodiments of the invention may be helpful. The first criterion is that the list of parameters 302 should be capable of meaningfully distinguishing items within a set of similar items. Thus, parameters that are duplicative of existing parameters are not helpful. Consider the following potential personality trait for inclusion in the list of parameters: "World Traveler vs. Homebody". If within a set of similar items, e.g. vacations, the new trait is not any more useful than the existing "active vs. couch-potato" trait (as well as the others), the new trait should not be added. But, if the new personality trait would increase the ability to distinguish between similar items within sets of similar items like vacations, adding the new personality trait to the list of parameters may make sense.
A second criterion for selecting personality traits for inclusion in the preference profiles is that, for at least some of the traits, it is possible to seed items with initialized values. For example, many items have a strong association with one gender trait, as such, gender makes a good parameter because initial values can be filled in for many large classes of items. It is not necessary for every personality trait to be susceptible to initial seeding; however, a wide range of easily assigned personality traits makes it easy to provide quick estimations for new items.
Another criterion is that the selected parameters should be relevant to purchasing practices. The list of those parameters can be statistically determined. Alternatively, accepted, or widely, used personality traits that are considered relevant to purchasing decisions can be used. In some instances, demographic information can be used to seed some parameter types and values, e.g., the physical fact of being male generally has a strong correlation with the male personality trait.
Yet another criterion, in some embodiments, is that the personality traits in the list of parameters be human understandable. This may be necessary to comply with certain privacy initiatives such as the P3P privacy standard
(Sponsored by the World Wide Web Consortium, P3P (Platform for Privacy Preferences Project) is a framework for products and practices that will let World Wide Web users control the amount of personal information they share with Web sites.). In other environments, this may not be a concern. Similarly, the actual profile for a user may have to be presentable in human understandable terms. For this reason, some embodiments use a scale from "-3" to "3" to describe a user's personality traits within the user profile. Additionally, the confidence information may also be displayed if appropriate, or necessary, in human understandable terms, e.g. "very confident", "low confidence", etc., describing a particular parameter value within in the user profile.
Different embodiments of the invention can use different parameters. As such, profiles created in with one list of parameters 302 can be converted, or translated, into a profile using a different list of parameters by describing a mapping between the two lists of parameters. For example, three personality traits in the list of parameters could be mapped by a formula, e.g. a weighted average, to a single personality trait in another list of parameters. 2. Parameter Meanings
The parameter meanings 304 is a set of descriptions describing what is meant by each personality trait included in the list of parameters 302. This is important primarily to permit for editorial consistency in seeding values for new items. For example, if there is no agreement as to what the "family vs. single" personality trait parameter means, then it will not be possible to consistently assign new items appropriate values for that parameter. The parameter meanings may also be useful, or necessary, to comply with privacy standards to allow users to be able to understand their own profile in simple language. The parameter meanings are not used by the filtering engine 114 or the matching engine 116. As such, commonly accepted, or dictionary definitions, of those terms may be used. For example, the parameter meaning for "sports vs. no sports" might be: "A high value indicates a personality trait corresponding to users who watch sports, while a low value indicates users who do not watch sports."
3. User Information
The user information 306 includes information that is used to initialize a user profile. For example, the registration form for a portal web site may have asked a number of demographic questions of the user. That information can be used to seed the user profile and be stored in the user profiles 216. Thus, for example a twenty-six year old male might be given a high value in the "Gender" parameter and a high value in the "Age (young professional)" parameter. Similarly, low values could be provided for the other age parameters. The confidence associated with those initial settings could be made low to allow the system to adjust the values towards a more accurate setting derived from interactions.
Other sources of the user information 306 may include credit card purchases, e.g. combine the item profiles for several recently purchased items to initialize the user profile. Also, psychographic data from other sources may be integrated into the user profile as well. In both instances, the confidence values can be appropriately set to allow the user profile to be adjusted based on interactions.
The addition of users with user information 306 is ongoing as new users are added to the system or initialized based on data.
4. Seeding Item Information
As noted above, items may be grouped into logical sets of similar items for the purpose of assigning initial values. Thus, a set of items relating to women's clothing might be created with initial values for the item profile of items falling into that set. Some embodiments of the invention use a taxonomy 308 to assist in this process. For example, the hierarchical United Nations Standard Products and Service Codes (UN/SPSC) may provide a convenient, standard taxonomy. A description of the UN/SPSC can be found at <http://www.un-spsc.org/>.
Using a standard taxonomy offers the advantage that many items may be pre-categorized, eliminating the need for manual categorization or grouping of items into appropriate sets. This reduces the configuration and initialization hurdles to providing seeded item profiles 310 for categories within the taxonomy 308. Thus, when a taxonomy is used, the seeded profiles can be constructed on a per category basis, creating one seeded profile for one or more categories within the taxonomy 308. A subcategory within a hierarchical taxonomy 308 can automatically use the seeded profile of its parent category when no seeded profile has been provided for the subcategory.
In many instances, a large percentage of items may be pre-categorized, e.g. have an assigned and known category within the taxonomy 308. In other instances, it may be necessary to manually categorize items for placement within the taxonomy. Once placed, each item can adopt the seeded profile of its category, or ancestor categories. The placement of items within the taxonomy may be ongoing as new items are added.
An example may be illustrative. In this example, the UN/SPSC is adopted as the taxonomy 308. An example category in the UN/SPSC is: Live Plant and Animal Material , Accessories and Supplies
Live animals
Livestock
Cattle
Because "cattle" is a subcategory of "live animals", if an item profile for the category of "live animals" is established it can be used for the "livestock" and "cattle" subcategories if no more specific seeded profiles are defined for those categories.
5. Categories of Profile Events
As noted above, many interactions occur with users interacting with the server environment 104, the items in the item database 110, and/or the profiling and matching environment. Most generally, an interaction might include any click — or other input — from a user received by the server environment 104 and/or the profiling and matching environment 112. However, embodiments of the invention use a subset of the entire range of interactions to adjust the profile. These interactions can be divided into the categories of profile events 316.
In one embodiment of the invention, four categories of profile events 316 are used: buy events, details events, customization events, and navigation events. A buy event is an interaction where a user purchases an item. A detail event is an interaction where a user requests more information about an item.
A customization event is an interaction where a user customizes a personalized page. For example, a "stock watch" customization would be an interaction where a user adds, or removes, a stock to/from her/his stock watch list. A list of customization events used by one embodiment of the invention appears in Table 2.
Figure imgf000034_0001
Figure imgf000035_0001
Table 2
When embodiments of the invention are used in environments that do not support customization, the customization event category can be removed from the categories of profile events 316. Further, the specific events in the customization event category can be adjusted based on the customizations supported by the particular server environment 104.
A navigation event is an interaction where a user navigates within the server environment 104, e.g. a request for any web page. For example, for a web portal site, using an embodiment of the invention, might have a navigation event for each of the primary categories, e.g. the first n levels of the site hierarchy. In another example, an electronic commerce vendor might have a navigation event defined for each "department" at the virtual store. For example, if a vendor sold books, music, and computer software, each of those three broad navigation categories of the web site could be a navigation event. The filtering engine 114 only updates user profiles and/or item profiles in response to interactions that are within the categories of profile events 318. Events in the buy and detail categories can be used to update both the user profile and the respective item profile. Typically, customization and navigation events may be associated with their own preference profile which is updated in response to interactions from users. These preference profiles are used to update the user in the same manner as an item profile is used to update the user in response to an interaction.
Additionally, demographically supplied information, e.g. the user information 306, can be used as an event in updating the user profiles. 6. Measurements for Profile Events
Each of the events within the various categories of profile events 316 may be associated with a different confidence that is used to control adjustment of the user profile and item profile in response to the different types of interactions. This allows for differentiation between different types of events, for example a details event may be assigned a stronger confidence than a location event. The numerical confidence information is stored in box 320.
The confidences used by one embodiment of the invention, are that buy category events have a confidence of 1.0; details category events have a confidence of 0.50; customization category events have a confidence of 4.0; and navigation category events have a confidence of 1.0.
7. Relations between Parameters
As noted, the personality traits within the preference profiles may be interrelated. As discussed above, in connection with "Rapid Adaptation of the System," these relations describe how parameters are correlated. The relations are used to enforce known consistencies between the psychographic parameters of a user's, or item's, profile. For example, a baby is unlikely to have a high income, as such, there will be a negative correlation between "age (baby)" and "income (high vs. low)". This consistency between the psychographic parameters is used to more rapidly acquire a good estimate of the user's profile. It can be used to similar effect for items and their corresponding item profiles. As a result, in contrast to systems that do not use relations, a system using relations can provide better matches with fewer interactions.
The relations between parameters 322 can be constructed by assumptions about the parameters, or through statistical analysis of data sets, to determine correlations among the parameters. For example, analysis of the seeding values for all item profiles can be used to establish the relations between parameters 322. The remainder of this discussion will focus on a non-statistical approach to constructing the same. The relations between parameters can be defined as a matrix R as seen in Equation 1.
Rw « [θ] (l) Where u is a particular user profile, or an item profile. More specifically R can initially be composed as described in Equation 2.
Figure imgf000037_0001
Where q is the number of profile parameters. With each component vector, rk τ l ,
that is stacked in the matrix R describing one of the —(g - l) possible relations
between pairs of parameters . For example for twenty-six parameters, there would be 325 components of R.
Each r[t component observes the property that r tu « 0. Further, all the elements of the vector r , are 0 except for those at position k and /. The values in those two positions are as follows. If parameters k and / are likely to correspond closely, then positions k and / will be of opposite sign, and of a magnitude dependent on the strength of the correspondence. If the parameters are mutually exclusive, e.g. likely not to correspond, then positions k and / will be of the same sign and have a magnitude dependent on the extent of the exclusivity.
For example, consider R for an embodiment with only two parameters: age (baby), education (high vs. low), and income (high vs. low). There will be three rows in matrix R. Consider the row ra^e(baby)] education (high vs ,ow) . Let us assume that people with a strong personality trait of age (baby), parameter value "3", tend to be relatively uneducated, e.g. education parameter is low, "-3". Thus, we can provide the row as follows [3 3 O] . This row demonstrates the negative correlation between age (baby) and education (low). For less strongly de-correlated parameters, the magnitude of the non-zero entries would be smaller.
The matrix R can be reduced in size by using singular value decomposition to produce a square matrix R relating each of the q parameters to the others.
To produce better estimates of user profiles and item profiles with fewer interactions, several rows of the matrix R can be removed by preserving only the q - n most significant eigenvalues of R . More specifically, if R is given
by the formula R = the reduced matrix, R , is defined as R = SV τ ,
Figure imgf000038_0001
where S is comprised of the q - n upper rows of S and V is comprised of the q - n leftmost rows of V. R is q - n tall by n wide and observes Equation 1. A notable feature of the matrix R is that it contains the relevant portions of R in a more compact form allowing for more rapid computation of user profiles and item profiles. For the remainder of this discussion, it will be assumed that the matrix
R is used as the relations between the parameters 322 and it will simply be referred to as R.
8. Parameter Weights for Matching Engine
It may be helpful to assign different weights to different parameters within the preference profile for use during matching and filtering. For example, it may generally be the case that gender is a more important factor than a user's personality trait "flashy vs. conservative" in purchasing decisions. As such, a weighting vector may be used to assign relative weights to the parameters and stored as the parameter weights 324. One such vector is shown in Equation 3 below with the weights listed in the order the parameters are presented in Table 1. w = {1 1806, 0 7232, 01010, 04340, 03290, 04479, 0 5138, 03316, 0 2708, 03927,
02669, 0 2156, 04498, 0 6488, 03454, 02153, 0 5754, 04663, 0 7146, 05799, (3)
04880, 09935, 08485, 05405, 0 7850, 04565}
It some instances, the weighting vector may be represented as a diagonal matrix Ww zeroes for off-diagonal elements and the vector w in the diagonal elements.
Additionally, multiple vectors, w, for different categories within the taxonomy may be used. This may be useful if, within specific categories of the taxonomy, different weightings produce better matches. For example, when selecting among items within a category, e.g. women's clothing, it may be desirous to weight more heavily factors other than gender to allow better matches.
One approach to determining w is to look at a collection of interaction data for users and items. For example, among n users and m items, there may have already been a number of interactions. By selecting an initial weighting vector, w, e.g. equal to all ones, parameter values for users and items can be determined in response to that w. Then, by computing the match of each user with all items, a rank-ordered list of all m items can be produced for each of the n users. The matches of users to items used to generate the rank-ordered list for each user are generated using the matching formula, as described below. Then for each rank ordered list, the positions of the items that the user / has interacted with can be summed to produce a cost for that user with the weighting vector w.
For example, if the itemy which the user 1 interacted with was in the 900th position in the rank ordered list and the only other itemy' that the user i interacted with was in the 543rd position, the cost for the user 1 would be 900 + 543, or 1443. Such sums can be added across all n users to produce a total cost for the weighting w.
Since the items that the user has interacted with already are items that are likely to interest the user, they should appear relatively earlier in the ranked lists of all items. Therefore, by adjusting the vector w so that it minimizes the cost over all users, the weighting will be better as it will produce matches that place the items of greatest interest to users at the top of their respective lists.
Different initial values for w can be assumed. Then profiles can be re-determined and new rank ordered lists generated to produce total costs associated with the different values of w. A curve fit can be applied to the total cost values for each of the different Vs. A new w is selected that minimizes this curve. As desired, the value for w can be re-determined using this process as more interaction data becomes available.
9. Matching Formula
The matching formula 326 describes how to compare a user profile u) and an item profile (p). Embodiments of the invention may use any, all, or some, of the formulas given in Equations 4A-D.
Figure imgf000040_0001
Where w is the weighting vector and k iterates across the parameters in the preference profile.
The different uses of the matching formulas in Equations 4A-D will now be explained; however, it is possible to use other formulas to compare user and item profiles. Turning first to equation 4A, this is a simple weighted proximity comparison of the parameters of the user profile with those of the item profile.
By minimizing the value of the match across different items, the best item for a given user can be selected. Similarly, by minimizing the value of the match across different users, the best user for a given item can be selected.
Equation 4B normalizes the user profiles and item profiles to unit vectors to compensate for differing magnitudes of items, or user, profile vectors. Equation 4C makes pessimistic adjustments to the profile vectors to factor in the confidences in the user, and item, profiles as expressed in the covariance matrices, Cuser and C"em .
Equation 4D puts less weight on parameters that are less well know, e.g. low confidence/high covariance, while not excessively weighting well known parameters, e.g. high confidence/low covariance.
Having described the configuration of the system, the operating environment, and the processes generally, the filtering and matching processes will now be described in greater detail.
F. Process Details
1. Filtering
The filtering process will now be described in greater detail. This process can be used by the filtering engine 114 according to the process 230. This will be done by first reviewing in detail some conceptual underpinnings of the approach. Then, a global solution will be discussed. Finally, an approach supporting incremental updates, as used by some embodiments of the invention, will be discussed.
a. Concepts
One concept is that interactions — falling into the categories of profile events — are used to adjust user profiles and/or item profiles. Although the interaction could comprise an explicit feedback to a particular item, e.g. rating the item, typically, the interactions will take the form of implicit feedback, e.g. click for more detail, click to buy, click to navigate, etc. Another concept is that the global solution should be designed so as to have a single unique solution. Put differently, as feedback is incorporated, the user profiles and/or item profiles need to converge towards a single value that makes the best sense of the interaction data. Thus, some embodiments of the invention select a convex cost function to describe the global solution. As such, even as user profiles and/or item profiles are updated in response to interactions, the profiles will approach the global minimum of the cost function.
Another underlying concept is that the robustness of the system can be used by applying filtering approaches to improve the results. More specifically, filtering approaches allow for the best estimation of user profiles and item profiles given the uncertainty associated with measuπng these parameters through interactions. Filtering better enables the incremental update approach that best matches the global solution to the problem.
b. Global Solution
A number of different cost functions can be used, the most preferable cost functions are convex with a global minimum. One such preferred cost function is described below.
The global cost function Cost describes the formulation of the problem. The component summands of the Cost function will be described in turn and then an equation for the cost function will be provided.
Minimizing the summand in equation 5 determines the user and item profiles to take into account interactions that have occurred.
Figure imgf000042_0001
Where Wis the diagonal matrix including the parameter weights 324. The set Q = {(i, j) : user i has clicked on item j) . Thus, if user #10, e.g. John Doe, has clicked on a given item #30, e.g. the Hawaiian vacation, the set Q would contain the element (10, 30). Where, conft } is a measurement for that type of interaction. For example, given the confidences in different categories of events described in the Configurations and Initialization section above, if the interaction was a detail event, the confidence would be 0.50. In some embodiments of the invention, multiple interactions between the same user and the same item are accounted for. Minimizing the summands in equations 6 and 7 decreases the extent to which user profile and item profile parameters violate the relations between parameters 322 as encoded in matrix R.
∑«,τRτC*-lRu, (6) Pj τRτC^RPj (7)
Where i andy iterate over the set of all users and items respectively. Where CR is the covariance matrix describing the degree of confidence in the assumed relations amongst the parameters. A small value for CR indicates that equation
(1) should be very close to zero. Also, any of the three various forms for the matrix R can be used.
Minimizing equations 8 and 9 decreases the extent to which user profile and item profile parameters deviate from the assumed, e.g. seeded, values for the respective users/items.
Figure imgf000043_0001
Where i andj iterate over the set of all users and items respectively. α refers to the seeded profile for the item y, for example as determined by its placement in the taxonomy 308 and the profile for that category of the taxonomy. Similarly, ?, refers to the seeded profile for the user i as determined by the user information 306, if available. The matrices C" and Cp correspond to covariance matrices expressing the confidence in the seeded values, e.g. the covariance matrix for the seeded profile. The global cost function is described by Equation 10. Cost = Eqn.5 + Eqn.6 + Eqn.l + Eqn.8 + Eqn.9 (lO)
Minimizing this function determines the optimal estimates for the user and item profile parameters for the given set of interactions.
Still other cost functions may be used when negative interactions are being tracked as well, e.g. "User did not click on item /", "User indicated they dislike item /", etc. Such cost functions should be designed so as to be convex and produce a unique global solution.
Generally, global cost functions are not practical to implement since they are computational intensive for current computers. Additionally, it is often valuable to provide incremental updates to item and user profiles as, or shortly after, each interaction occurs, rather than batch updates as would be typically provided when minimizing a global cost function. Accordingly, the approach described below, using the Kalman filter, may be used for incremental updates.
c. Incremental Updates with Filtering
Figure 4 illustrates one embodiment of a process for incrementally updating user and item profiles using the filtering engine 114, this could be used as the process 230. The respective user profile 400 and item profile 402 for the user and item involved in a given interaction can be retrieved from the profile database 118. The case of interactions falling into the customization and navigation event profile categories is handled similarly to those for detail and buy event profile categories. For customization and navigation events, the preference profile for that customization and/or navigation event may be updated in the same fashion as an item profile. Figure 4 will be explained with respect to updating a user profile. The process for updating an item profile is identical in nature as seen in the bottom half of Figure 4.
The first step in the process, step 406 (and 408 for items), is to describe the interaction in terms of a measurement. The measurement is based upon both the user profile, uin , and the item profile, pln , prior to the interaction and the interaction. In the specific case where the Kalman filter is used, as described below, the development of the measurement corresponds to equations 11-14. The next step in the process, step 410 (and 412 for items), is the estimation of the new user profile, e.g. uout . This new estimation can be generated through use of the measurement from the previous step. In the specific case where the Kalman filter is used, as described below, the estimation of the new user profile corresponds to equations 15-18.
Thus, other measurement and estimation approaches may be used aside from the Kalman filter approach described below.
i. Kalman Filter Principles The filtering process used at step 412 can be the Kalman filter, or other suitable filters. More generally, any optimal recursive data processing algorithm may be used. Though the term optimal may have a number of meanings depending on the criteria chosen to evaluate performance, the Kalman filter has been shown to be optimal under a reasonable set of criteria for linear systems problems. See, Peter S. Maybeck, Stochastic Models. Estimation, and Control. (Academic Press 1979) Vol. 1, at 4, (available at <http://www.cs.unc.edu/~welch/kalman/maybeck.html>) (hereinafter Maybeck).
Thus, the Kalman filter can process all available measurements, regardless of their precision, and produce an estimate of the current value of the variables of interest. Maybeck, at 4. Thus, turning to the use of the Kalman filter in embodiments of the invention, interactions, even if the corresponding measurement is not particularly precise, can be used to estimate the user profile and/or item profile.
The estimate is produced using prior (1) knowledge about the system and the errors inherent in the measurements; (2) a statistical description of the system noises, measurement errors, and uncertainty of the model; and (3) all available information about initial conditions for the variables of interest. Maybeck, at 4. Thus, turning again to the use of the Kalman filter by embodiments of the invention, the components necessary for (l)-(3) above stem from information established in the initialization and configuration, see "Initialization and Configuration" above, and/or from updates to that information arising from interactions.
Most generally, the term "optimal estimate" as used in filtering refers to a filter minimizing errors in some respect. Maybeck, at 5. Thus, from a Bayesian viewpoint, the filter should propagate the conditional probability density function. Maybeck, at 5. The Kalman filter performs this propagation for problems in which the system can be described with a linear model, provided that certain additional assumptions are made about the system and measurement noises. Maybeck, at 7. The optimal estimate for the Kalman filter may be any of the mean, "center of probability" estimate; the mode, value of the variables with highest probability or the peak of the density; or the median, the value of the variables such that equal amounts of the probability weights lie on either side. Because of the general nature of the assumptions about the noise, and the fact that the assumptions make the filtering problem computationally tractable, the Kalman filter is suitable for application to the instant problem and is used by embodiments of the invention to update and estimate the user profile and/or item profile in response to feedback, measurements.
Further information about the Kalman filter is described in G.F. Franklin, J.D. Powell, and M.L. Workman, Digital Control of Dynamic Systems. (2nd Ed., Addison- Wesley 1990) and D.P. Bertsekas, Nonlinear Programming. (2nd Ed., Athena Scientific 1995), Volume 1. The remainder of the discussion will assume that the Kalman filter is used.
ii. Kalman Filter Application In order to apply the Kalman filter, a measurement of the parameters is assumed from each interaction. This assumed measurement results in the measurement vector, z. The Equations 11-14 set forth the determination and form of z and will be described more fully below. ~Wτ
R„
Figure imgf000047_0001
The matrix H relates measurement vector z with the user profile parameters being measured. H is defined in terms of earlier configuration and initialization values. The composition of H can be derived from the global cost function that the filtering approach is attempting to minimize in an iterative form.
The matrix N is the assumed measurement noise that conceptually describes the imprecision of the assumed measurement. Nis a mathematical construct not computed by embodiments of the invention. Ru , the expected covariance of N, can be estimated according to the approximation provided in equation 13. In mathematical terms, Ru = E NTN), where E(x) is the expectation value for the random variable x. Note, that the computation of Ru includes the confr . that differentiates between the relative weights of different categories of interactions. Additionally, Ru includes the effects of the uncertainty in the item parameters used to update the user parameters. The measurement vector z is comprised as shown in equation 14. The three components of z correspond to the weighted item parameters used to update the user parameters, the interrelation between the parameters, assumed to result in a zero measurement per equation 1, and the seeded profile parameters for the item. One optimization that can be used is to further sub-divide the update process. This allows the user profile and item profile to be run through the Kalman filter with some blocks within equations 11-14 omitted. Thus, for example, within equation 12 for H, the blocks for the relation matrix and the identity matrix could be omitted. The corresponding blocks would then be omitted in equations 13-14 and the Kalman filter applied. Later, an update using the previously omitted blocks can be performed. Now, the equations of the Kalman filter as used by embodiments of the invention will be set forth in Equations 15-18, then a description of the filtering process and the equations follows.
K = C, r - Hr(HrC, H + R„r' (15)
Figure imgf000048_0001
Equation 15 computes the interim value, K. The interim value is a matrix of linear feedback terms that are used to update the user profile parameters based on the measurement and confidences. The matrix C er is the covariance matrix corresponding to the confidences in the user profile um . More specifically, for the assumptions described, C"*er = E(uιn -
Figure imgf000048_0002
- E(w,„)), where Ε(x) is the expectation value for the random variable x. Once the interim value K is computed, an intermediate update to the confidences in the user parameters can be computed according to equation 16.
The interim value is stored in the covariance matrix C"t er .
Also, updated user profile parameters are computed according to equation 17 and stored in uout . uout is an improved estimate of the user's psychographic profile.
Lastly, the memory of the Kalman filter can be preserved according to equation 18. Q represents uncertainty in the model used and prevents the filter from assuming too high a degree of certainty in the user parameters, by increasing the covariances. Although incremental updates with a filter such as the Kalman filter enables rapid updates after receiving feedback, it may be desirable to better estimate the user profile and item profile by re-applying the filter to a sequence of interactions.
Specifically, consider if the user first interacts with item #1, then item #2, then item #3. The process as shown in Figure 4, suggests that those updates would occur sequentially with, each interaction considered only once. In fact, the filter can be re-applied between the user and item #1 after the application of the filter to item #2 and/or item #3. This is sensible because after applying the filter to update the user profile and the profile for item #2, information about the user is known with a higher degree of confidence, resulting in smaller covariances.
Accordingly, in some embodiments of the invention, the interaction data can be "smoothed" in an offline process that applies the filter to the sequence of interactions of users with items forwards and backwards. For example, if the first interaction was with item #78, and the last interaction was with item #10, the filter could be re-applied to the interactions first in the order they occurred, first interaction (#10) to last interaction (#78). Then, the filter can be re-applied to the interaction in reverse order, e.g. last interaction (#78) to first interaction (#10).
2. Matching
As described above in conjunction with the matching formula 326, the matching engine 116 can use a matching formula and select the items with the lowest result for a given user. In other instances, the best n items may be shown to the user. In other instances, a list of items may be presented in sorted order from best match to worst match. Some alternative embodiments of the invention will now be described. G. Alternative Embodiments
1. Users and Items Interchangeable in the Methods
Although the invention has primarily been described in terms of embodiments for matching users with items, embodiments of the invention can do the reverse, match items with users. Thus, a new item can be targeted to users that are likely to be interested for marketing, research, and/or other purposes easily. For example, the best n matching users for a new product could be sent an advertisement.
2. Guiding Users to Interesting Items of their Choice with Explicit Interactions
The embodiments of the invention described to this point have primarily, or exclusively, relied on implicit interactions, e.g. the user clicked on something, as opposed to explicit ratings interactions, e.g. "I rate this 3 out of 3". Some embodiments of the invention may be used with systems that support types of explicit ratings interactions. These systems may be used to allow a user to more directly drive the selection of items of interest. One example of such a use in a server environment allows the user to guide the selection and identification of documents of interest. A more detailed description of these embodiments of the invention will be provided with reference to Figures 5-9
Figure 5 illustrates an exemplary web page supporting the explicit rating features. The web page 500, as seen on the web browser 100, is shown. The web page 500 includes two elements, the element 502 and the element 504. Additionally, the cursor 506 is shown. The elements 502 and 504 may be any portion of the web page 500, but most typically, the elements 502 and 504 are links on the web page 500. It may be the case that the elements on the web page 500 have been rank ordered according to the match between the corresponding item profiles for the elements and the user profile. Three separate functionalities are supported through the use of the feedback or rating bar: (1) the collection of explicit rating interactions on the currently displayed web page (e.g. the web page 500); (2) providing efficient links to new items (e.g. other web pages); and (3) the display to the user of the strength of the match between the user and the linked items.
Accordingly, as shown in Figure 6, a predicted rating 600 may be displayed when the cursor 506 is positioned over an element 502. The predicted rating 600 may be a graphical, textual, auditory, and/or other output of the strength of the match between the user profile and the item profile of the linked item. In this example, the predicted rating 600 is displayed with a pop-up visual indicator. In other embodiments, the visual indicator may be present next to, or within the display of, the element 502. For example, adjacent to the element 502, the confidence in the strength of the match for the user with that item could be displayed at all times.
Typically, the confidence in the predicted rating between a user is expressed relative to best and worst matching items for the user, e.g. the items with minimum and maximum match values according to the match formula 326. As such, the type of control shown in Figure 9 would typically be used to show the predicted rating 600. When a control (e.g. the control in Figure 9) is used to show the predicted rating 600, its value typically cannot be adjusted.
The ability to collect explicit rating interactions about the currently displayed web page is supported through the use of a feedback bar 700 as shown in Figure 7. When the user selects an element, e.g. the element 504, a pop-up visual input control may be provided to allow the user to express her/his preferences towards the page she/he is currently on. Thus as the user is departing the web page 500 by way of a click on the element 504, she/he gets to explicitly rate her/his opinions about that page. The rating is accomplished by movement of the cursor to the left or right, while the mouse button remains held down, causes an update to an indicator within the control showing the current setting. Releasing the mouse button causes the indicated setting to be adopted as the user's explicit rating interaction. Additionally, the delivery of the appropriate linked web page can then commence.
Figures 8 and 9 show possible feedback and rating controls for use with these embodiments of the invention. If negative feedback is permitted, the control of Figure 8 may be used to indicate a negative reaction (to the left of center) or a positive reaction (to the right of center), the distance from the center indicates the magnitude of the reaction (further is stronger). When only positive feedback is being used, a control such as the one in Figure 9 can be used and the magnitude of the feedback is determined by the distance from the left edge (minimum level of positive feedback).
Other embodiments of the invention may allow the control indicator to be adjusted and set with the mouse button up, immediately after a click on the element 504. In these embodiments, a second mouse click would set the rating and trigger the delivery of the appropriate linked web page. The specific global cost function and filtering equation described in "Process Details", above, do not handle negative feedback; although, the approaches described therein can be used to handle negative feedback to update the user and item profiles as described.
3. Privacy Aspects
Embodiments of the invention are capable of supporting a number of privacy platform requirements. For example, the profile of psychographic traits for the user can be presented in human understandable terms. Further, to the extent required by such privacy platforms, e.g. P3P, the system can allow a user to adjust her/his own profile, e.g. explicitly set/change one or more parameter values. Once set, the modified parameter values may continue to be adjusted normally. 4. Item Adjustments
A feature offered by some embodiments of the invention is that a site operator can adjust the profile associated with one or more items. This may be useful in a number of embodiments. For example, a vendor, or manufacturer, may wish to re-target an item. For example, the producer of an item that has been considered a luxury good might wish to re-target the item to a more cost-conscious audience in conjunction with new pricing, advertising, branding, etc. As such, the item profile can be adjusted in the same fashion that user profiles can be adjusted as described above.
5. Additional Embodiments
In some embodiments, filtering engine 114 and the matching engine 116 can be hardware based, software based, or a combination of the two. In some embodiments, filtering programs and matching programs are included in one or more computer usable media such as CD-ROMs, floppy disks, or other media. In some embodiments, equations for use in filtering programs and matching programs are included in one or more computer usable media.
Some embodiments of the invention are included in an electromagnetic wave form. The electromagnetic waveform comprises information such as filtering programs, matching programs, and equations for use in filtering programs. The electromagnetic waveform may include the filtering programs and/or matching programs accessed over a network. The electromagnetic waveform can comprise information such as preference profiles; relations amongst parameters, e.g. R; seeded profiles for categories within a taxonomy, matching formulas; weightings for the parameters, e.g. w, a global cost function, e.g. Cost; and/or other settings, initialized values, and/or formulae used by embodiments of the invention accessed over a network. H. Conclusion
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.

Claims

CLAIMSWhat is claimed is:
1. A method of matching a user with an item of interest using a computer system, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the user, updating the user specific psychographic parameter values and the set of item specific psychographic parameter values; and responsive to receiving the request to find an item, performing the following, accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, and selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values.
2. The method of claim 1 wherein the user specific psychographic parameter values and each of the item specific psychographic parameter values are associated with a corresponding set of confidence values, and wherein the selecting the item uses the confidence values to select a best match.
3. The method of claim 1 further comprising initializing the computer system including accessing a predefined set of psychographic parameters, wherein the set of psychographic parameters corresponds to at least the following personality types: sex (male or female), materialistic or non- materialistic, cost conscious or extravagant, socially liberal or socially conservative, libidinous or asexual, and technical or non-technical.
4. The method of claim 1 further comprising initializing the computer system including accessing a set of correlation values, the set of correlation values correlating between psychographic parameters, the set of correlation values being used in updating the user specific psychographic parameter values and the set of item specific psychographic parameter values.
5. The method of claim 1 further comprising initializing the computer system including accessing a set of parameter weight values, the set of parameter weight values used to determine the relative relevance of the user specific psychographic parameter values for any item.
6. The method of claim 1 wherein receiving interaction data includes receiving data about an event corresponding to a user's click on a banner advertisement.
7. The method of claim 1 wherein receiving interaction data includes receiving data about an event corresponding to a user's request for more information on an item.
8. The method of claim 1 wherein receiving interaction data includes receiving data about an event corresponding to a user's request to purchase an item.
9. The method of claim 1 wherein receiving interaction data includes receiving data about at least the following events: a user's request for more information, a user's request to purchase an item, a user's request to customize a system, and a user's request to navigate in a system.
10. The method of claim 1 wherein updating the user specific psychographic parameter values includes applying a Kalman filter to optimally update the user specific psychographic parameter values.
11. The method of claim 1 wherein the selecting comprises selecting the item producing the minimum value for a predetermined matching function computed on the user profile and the item profile as the item of interest to the user.
12. The method of claim 1 further comprising receiving explicit data about the psychographic traits of the user and incorporating the explicit data into the user specific psychographic parameter values.
13. A computer system to match a user with an item of interest, the computer system comprising: a memory storing a user specific psychographic parameter values indicating psychographic traits for the user, the memory further storing a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the memory storing first program code and second program code; a processor, coupled to the memory, the processor for executing the first program code responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the user, the first program further for updating the user specific psychographic parameter values and the set of item specific psychographic parameter values, the processor further for executing the second program code responsive to receiving the request to find an item, the second program code for accessing the user specific psychographic parameter values, and accessing the set of item specific psychographic parameter values, the second program code further for selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values.
14. A computer system for matching a user with an item of interest using a computer system, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the computer system comprising: means, responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the user, for updating the user specific psychographic parameter values and the set of item specific psychographic parameter values; and means, responsive to receiving the request to find an item, for performing the following, accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, and selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values.
15. A method of matching an item with a user likely to be interested in the item using a computer system, the computer system including an item specific psychographic parameter values indicating traits of users interested in the item, the computer system further including a set of user specific parameter values, each of the set of user specific parameter values corresponding to a user and indicating psychographic traits of the corresponding user, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the item, updating the item specific psychographic parameter values and the set of user specific psychographic parameter values; and responsive to receiving the request to identify a user, performing the following steps, accessing the item specific psychographic parameter values, accessing the set of user specific psychographic parameter values, and identifying the user interested in the item, the user being identified based upon the proximity of the corresponding user specific psychographic parameter values to the item specific psychographic parameter values.
16. The method of claim 15 wherein the item specific psychographic parameter values and each of the user specific psychographic parameter values are associated with a corresponding set of confidence values, and wherein the identifying the user uses the confidence values to select a best match.
17. The method of claim 15 further comprising initializing the computer system including accessing a predefined set of psychographic parameters, wherein the set of psychographic parameters corresponds to at least the following personality types: sex (male or female), materialistic or non- materialistic, cost conscious or extravagant, socially liberal or socially conservative, libidinous or asexual, and technical or non-technical.
18. The method of claim 15 further comprising initializing the computer system including accessing a set of correlation values, the set of correlation values correlating between psychographic parameters, the set of correlation values being used in updating the user specific psychographic parameter values and the set of item specific psychographic parameter values.
19. The method of claim 15 further comprising initializing the computer system including accessing a set of parameter weight values, the set of parameter weight values used to determine the relative relevance of the user specific psychographic parameter values for any item.
20. The method of claim 15 wherein receiving interaction data includes receiving data about an event corresponding to a user's click on a banner advertisement.
21. The method of claim 15 wherein receiving interaction data includes receiving data about an event corresponding to a user's request for more information on an item.
22. The method of claim 15 wherein receiving interaction data includes receiving data about an event corresponding to a user's request to purchase an item.
23. The method of claim 15 wherein receiving interaction data includes receiving data about at least the following events: a user's request for more information, a user's request to purchase an item, a user's request to customize a system, and a user's request to navigate in a system.
24. The method of claim 1 wherein updating the item specific psychographic parameter values includes applying a Kalman filter to optimally update the item specific psychographic parameter values.
25. The method of claim 1 wherein the selecting comprises selecting the user producing the minimum value for a predetermined matching function computed on the item profile and the user profile as the user of interest for the item.
26. The method of claim 1 further comprising receiving explicit data about the psychographic traits of users and incorporating the explicit data into the corresponding user specific psychographic parameter values.
27. A computer system to identify a user likely to be interested in an item, the computer system comprising: a memory storing an item specific psychographic parameter values indicating psychographic traits of users interested in the item, the memory further storing a set of user specific psychographic parameter values, each of the set of user specific psychographic parameter values corresponding to an user and indicating psychographic traits of the corresponding user, the memory storing first program code and second program code; a processor, coupled to the memory, the processor for executing the first program code responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the item, the first program further for updating the item specific psychographic parameter values and the set of user specific psychographic parameter values, the processor further for executing the second program code responsive to receiving the request to find a user, the second program code for accessing the item specific psychographic parameter values, and accessing the set of user specific psychographic parameter values, the second program code further for selecting the item of interest to the user, the user being selected based upon the proximity of the corresponding user specific psychographic parameter values to the item specific psychographic parameter values.
28. A method for matching an item with a user likely to be interested in the item and updating information about the user and the item using a computer system, the computer system including a web server, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: receiving a request at the web server, the request being formatted as an
Internet protocol request for a data; determining the source of the request to identify a corresponding user specific psychographic profile and accessing the corresponding user specific psychographic parameter values; the web server transmitting a response to the request, the response including item information, the item information being selected by accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values, and accessing the item information corresponding to the item of interest; the web server receiving an interaction event, the interaction event defining an interaction between the user and the item information; and using the interaction event to update the user specific psychographic parameter values and the set of item specific psychographic parameter values.
29. The method of claim 28 wherein the request includes a Hypertext Transfer Protocol (HTTP) request.
30. The method of claim 28 wherein the computer system includes a user identifier information, the user identifier information identifying the user, and wherein the computer system further includes a database of user profiles, wherein the corresponding user specific psychographic profile is included in the database and wherein determining the source of the request to identify the corresponding user specific psychographic profile includes searching the database using the user identifier information.
31. The method of claim 28 wherein determining the source of the requests includes transmitting a request for cookie information, the cookie information identifying the user.
32. The method of claim 28 wherein the item is associated with a banner advertisement and wherein transmitting the response includes transmitting the banner advertisement.
33. The method of claim 28 wherein the item is associated with a banner advertisement and wherein transmitting the response includes transmitting the banner advertisement, and wherein the web server receiving the interaction event corresponds to receiving a signal indicating that a user clicked on the banner advertisement.
34. The method of claim 28 wherein the item is associated with a sales information and wherein transmitting the response includes transmitting the sales information, and wherein the web server receiving the interaction event corresponds to receiving a signal indicating that a user purchased the item.
35. A method of initializing an user profile using a computer system, the computer system including a user specific psychographic parameter data structure indicating psychographic traits for the user, the psychographic parameter data structure defining a set of psychographic parameters, the method comprising: receiving user specified data; determining a correlation between the user specified data and the psychographic parameters; updating the values in the data structure using the information about the correlation between the user specified data and the psychographic parameters.
36. The method of claim 35 wherein the user specified data includes demographic information about the user and wherein the correlation between the user specified data and the psychographic parameters is determined by statistically correlating demographics with psychographics.
37. The method of claim 35 wherein the user specified data includes information about the user's gender, wherein the psychographic parameters includes a male vs. female trait, and wherein the updating the values in the data structure includes updating the values in the data structure corresponding to the male vs. female trait, using the gender information.
38. A method of initializing an item profile using a computer system, the computer system including a item specific psychographic parameter data structure indicating psychographic traits of users interested in the item, the psychographic parameter data structure defining a set of psychographic parameters, the method comprising: receiving categorization data, the categorization data indicates a category in which the item is classified; accessing a set of psychographic parameters values for items in the category; updating the values in the data structure using the set of values.
39. The method of claim 38 wherein the categorization data is associated with a taxonomy of categories, and wherein each category has an associated set of psychographic parameters, and wherein the item is associated with the category.
40. The method of claim 38 wherein the categorization data is associated with a taxonomy of categories, wherein each category has an associated set of psychographic parameters, and wherein the item is associated with the category, and wherein the taxonomy corresponds to a least a portion of the United Nations Standard Products and Service Codes (UN/SPSC) taxonomy.
41. A method of generating transportable psychographic profiles using a computer system, a transportable psychographic profile being a psychographic profile that can be used independently of the input events used to generate the profile, the method comprising: accessing a set of psychographic parameters, each parameter corresponding to a personality trait; responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained; creating psychographic profiles of the items and users corresponding to the interaction data; and updating the transportable psychographic profiles from the interaction data.
42. A method of converting a first set of psychographic profiles to a second set of psychographic profiles using a computer system, each set of psychographic profiles being defined according to a corresponding, but different, set of psychographic parameters, the method comprising: accessing a first set of psychographic parameters, each parameter corresponding to a personality trait; accessing a set of translation values, the set of translation values defining a relationship between each psychographic parameter in the first set and at least some psychographic parameters in the second set; and converting the first set to the second set using the translation values.
43. The method of claim 42 wherein the first set corresponds to a smaller set of psychographic parameters than the second set.
44. The method of claim 42 wherein the confidence values corresponding to the first set are also converted to the second set.
45. A method of conducting a commercial transaction using a computer system, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: receiving a request at the computer system for information about the item; determining the source of the request to identify a corresponding user specific psychographic profile and accessing the corresponding user specific psychographic parameter values; the computer system transmitting a response to the request, the response including item information, the item information being selected by accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values, and accessing the item information corresponding to the item of interest; the computer system receiving an interaction event, the interaction event indicating a purchase of the item by the user; and using the interaction event to update the user specific psychographic parameter values and the set of item specific psychographic parameter values.
46. A method of supporting a commercial transaction using a computer system, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: receiving a request at the computer system for information about the item; determining the source of the request to identify a corresponding user specific psychographic profile and accessing the corresponding user specific psychographic parameter values; and the computer system transmitting a response to the request, the response including item information, the item information being selected by accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, selecting the item of interest to the user, the item being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values, and accessing the item information corresponding to the item of interest, wherein the item information corresponds information about how to purchase the item.
47. A method of allowing a user to view and update a corresponding user profile using a computer system, the computer system including a user specific psychographic parameter data structure indicating psychographic traits for the user, the psychographic parameter data structure defining a set of psychographic parameters, the method comprising: receiving a request to view the data in the user data structure, the request identifying the source of the request; accessing the corresponding data structure; transmitting the data in the data structure; receiving a request to update the data in the data structure; and
48. A method of allowing a user to view and update a corresponding user profile using a computer system, the computer system including a web server and a database, the database including a user specific psychographic parameter data structure indicating psychographic traits for the user, the psychographic parameter data structure defining a set of psychographic parameters, the method comprising: receiving an Internet protocol formatted request to view the data in the user data structure, the request identifying the source of the request; accessing the corresponding data structure from the database; transmitting the data in the data structure as an Internet protocol formatted response; receiving an Internet protocol formatted request to update the data in the data structure; and modifying the data in the data structure responsive to the request.
49. The method of claim 48 wherein the response includes human readable names associated with the psychographic traits defined in the data structure.
50. The method of claim 48 wherein the response includes HTML code.
51. The method of claim 48 wherein at least some of the data in the response is formatted in XML code.
52. A method of matching an item with a group of users likely to be interested in the item using a computer system, the computer system including an item specific psychographic parameter values indicating traits of users interested in the item, the computer system further including a set of user specific parameter values, each of the set of user specific parameter values corresponding to a user and indicating psychographic traits of the corresponding user, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the item, updating the item specific psychographic parameter values and the set of user specific psychographic parameter values; and responsive to receiving the request to identify a user, performing the following steps, accessing the item specific psychographic parameter values, accessing the set of user specific psychographic parameter values, and identifying the group of users interested in the item, the group of users being identified based upon the proximity of the corresponding user specific psychographic parameter values to the item specific psychographic parameter values.
53. A method of contacting a group of users likely to be interested in an item using a computer system, the computer system including an item specific psychographic parameter values indicating traits of users interested in the item, the computer system further including a set of user specific parameter values, each of the set of user specific parameter values corresponding to a user and indicating psychographic traits of the corresponding user, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the item, updating the item specific psychographic parameter values and the set of user specific psychographic parameter values; responsive to receiving the request to identify a user, performing the following steps, accessing the item specific psychographic parameter values, accessing the set of user specific psychographic parameter values, and identifying the group of users interested in the item, the group of users being identified based upon the proximity of the corresponding user specific psychographic parameter values to the item specific psychographic parameter values; and transmitting information about the item to the group of users.
54. A method of emailing a group of users likely to be interested in an item using a computer system, the computer system including an item specific psychographic parameter values indicating traits of users interested in the item, the computer system further including a set of user specific parameter values, each of the set of user specific psychographic parameter values corresponding to a user and indicating psychographic traits of the corresponding user, the computer system being coupled to the Internet, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the item, updating the item specific psychographic parameter values and the set of user specific psychographic parameter values ; responsive to receiving the request to identify a user, performing the following steps, accessing the item specific psychographic parameter values, accessing the set of user specific psychographic parameter values, and identifying the group of users interested in the item, the group of users being identified based upon the proximity of the corresponding user specific psychographic parameter values to the item specific psychographic parameter values; determining the set of email addresses associated with the group of users; and transmitting a set of email messages to the group of users using the set of email addresses, the set of email messages including information about the item.
55. The method of claim 54 wherein at least some of the email messages are customized according to the personality traits indicated in the associated user specific psychographic parameter values.
56. A method of serving a banner advertisement from an internet site, the internet site being run on a computer system, the computer system being coupled to the internet, the method comprising: receiving a banner advertisement request, the banner advertisement request being associated with a user; accessing a user profile corresponding to the user, the user profile including first values, the first values being values of psychographic parameters, the psychographic parameters indicating personality traits, the first values indicating the personality traits of the user; accessing a set of banner advertisement profiles, each banner advertisement profile including second values, the second values being values of the psychographic parameters, the second values indicating personality traits of users likely to be interested in the corresponding banner advertisement; matching the user profile to the banner advertisement profiles to select the banner advertisement profile having the second values closest to the first values; and serving the banner advertisement corresponding to the matching banner profile.
57. The method of claim 56 wherein the psychographic parameters include fields corresponding to at least the following personality types: sex (male or female), materialistic or non-materialistic, cost conscious or extravagant, socially liberal or socially conservative, libidinous or asexual, and technical or non-technical.
58. The method of claim 56 wherein serving the banner advertisement includes transmitting the banner advertisement to the internet, to be sent to the initiator of the banner advertisement request.
59. A method of sorting a list of items according to a user's likely interest using a computer system, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values for the items in the list, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: responsive to receiving interaction data, the interaction data corresponding to events from which psychographic information can be obtained for the user, updating the user specific psychographic parameter values and the set of item specific psychographic parameter values; and responsive to receiving the request to find an item, performing the following, accessing the user specific psychographic parameter values, accessing the set of item specific psychographic parameter values, and sorting the list of items, the priority of the items being selected based upon the proximity of the corresponding item specific psychographic parameter values to the user specific psychographic parameter values.
60. A method of receiving explicit feedback from a user regarding the user's interest in an item, the computer system including a user specific psychographic parameter values indicating psychographic traits for the user, the computer system further including a set of item specific psychographic parameter values, each of the set of item specific psychographic parameter values corresponding to an item and indicating psychographic traits of users interested in the corresponding item, the method comprising: receiving data from a user specified interest indicator about the item, the user specified interest indicator allowing a user to gauge his/her interest in the item, the data being such that psychographic information can be obtained for the user; and updating the user specific psychographic parameter values and the set of item specific psychographic parameter values.
61. The method of claim 60 further comprising transmitting program code to the user, the program code to generate the user specified interest indicator.
62. The method of claim 60 further comprising transmitting program code to the user, the program code to generate the user specified interest indicator, wherein the user specified interest indicator corresponds to a sliding bar and wherein the data corresponds to a number set by the user using the slider.
63. The method of claim 60 further comprising transmitting item information and program code to the user, the item information corresponding to a banner advertisement, and the program code to generate the user specified interest indicator over the banner advertisement.
PCT/US1999/026783 1998-11-10 1999-11-10 System and method for matching users with items in a network WO2000028427A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU18180/00A AU1818000A (en) 1998-11-10 1999-11-10 System and method for matching users with items in a network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10774798P 1998-11-10 1998-11-10
US60/107,747 1998-11-10

Publications (1)

Publication Number Publication Date
WO2000028427A1 true WO2000028427A1 (en) 2000-05-18

Family

ID=22318247

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/026783 WO2000028427A1 (en) 1998-11-10 1999-11-10 System and method for matching users with items in a network

Country Status (2)

Country Link
AU (1) AU1818000A (en)
WO (1) WO2000028427A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1255213A2 (en) * 2001-04-30 2002-11-06 Sony Computer Entertainment America, Inc. Method and system for providing evaluation of text-based products
WO2007051131A1 (en) * 2005-10-25 2007-05-03 Qualcomm Incorporated Dynamic resource matching system
US8688143B2 (en) 2004-08-24 2014-04-01 Qualcomm Incorporated Location based service (LBS) system and method for creating a social network
WO2016025449A1 (en) * 2014-08-11 2016-02-18 Interdigital Technology Corporation Dynamic adjustment of user profiles for bundled applications
US10984034B1 (en) 2016-10-05 2021-04-20 Cyrano.ai, Inc. Dialogue management system with hierarchical classification and progression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5922045A (en) * 1996-07-16 1999-07-13 At&T Corp. Method and apparatus for providing bookmarks when listening to previously recorded audio programs
US6009410A (en) * 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894554A (en) * 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5922045A (en) * 1996-07-16 1999-07-13 At&T Corp. Method and apparatus for providing bookmarks when listening to previously recorded audio programs
US6009410A (en) * 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1255213A2 (en) * 2001-04-30 2002-11-06 Sony Computer Entertainment America, Inc. Method and system for providing evaluation of text-based products
EP1255213A3 (en) * 2001-04-30 2004-01-14 Sony Computer Entertainment America, Inc. Method and system for providing evaluation of text-based products
US7149804B2 (en) 2001-04-30 2006-12-12 Sony Computer Entertainment America Inc. Method and system for providing evaluation of text-based products
US9402156B2 (en) 2004-08-24 2016-07-26 Qualcomm Incorporated Location based service (LBS) system and method for creating a social network
US8688143B2 (en) 2004-08-24 2014-04-01 Qualcomm Incorporated Location based service (LBS) system and method for creating a social network
KR100957477B1 (en) * 2005-10-25 2010-05-14 퀄컴 인코포레이티드 Dynamic resource matching system
CN101346974B (en) * 2005-10-25 2013-12-04 高通股份有限公司 Dynamic resource matching device, apparatus, method and processing unit
US8688148B2 (en) 2005-10-25 2014-04-01 Qualcomm Incorporated Dynamic resource matching system
WO2007051131A1 (en) * 2005-10-25 2007-05-03 Qualcomm Incorporated Dynamic resource matching system
US9443255B2 (en) 2005-10-25 2016-09-13 Qualcomm Incorporated Dynamic resource matching system
WO2016025449A1 (en) * 2014-08-11 2016-02-18 Interdigital Technology Corporation Dynamic adjustment of user profiles for bundled applications
US20180213058A1 (en) * 2014-08-11 2018-07-26 Interdigital Technology Corporation Dynamic adjustment of user profiles for bundled applications
US10984034B1 (en) 2016-10-05 2021-04-20 Cyrano.ai, Inc. Dialogue management system with hierarchical classification and progression
US11625425B2 (en) 2016-10-05 2023-04-11 Cyrano.ai, Inc. Dialogue management system with hierarchical classification and progression

Also Published As

Publication number Publication date
AU1818000A (en) 2000-05-29

Similar Documents

Publication Publication Date Title
US10878480B2 (en) System and method for collecting and targeting visitor behavior
US7457768B2 (en) Methods and apparatus for predicting and selectively collecting preferences based on personality diagnosis
US7680786B2 (en) Optimization of targeted advertisements based on user profile information
US7249058B2 (en) Method of promoting strategic documents by bias ranking of search results
US7272573B2 (en) Internet strategic brand weighting factor
US6049777A (en) Computer-implemented collaborative filtering based method for recommending an item to a user
CN102667768B (en) Dynamic search suggestion and category specific completion
Wei et al. A survey of recommendation systems in electronic commerce
US9846737B2 (en) System and method of delivering content based advertising within a blog
US6092049A (en) Method and apparatus for efficiently recommending items using automated collaborative filtering and feature-guided automated collaborative filtering
US8117072B2 (en) Promoting strategic documents by bias ranking of search results on a web browser
US20050027666A1 (en) Interactive online research system and method
US20010014868A1 (en) System for the automatic determination of customized prices and promotions
US20030030666A1 (en) Intelligent adaptive navigation optimization
US20100153187A1 (en) Determination of a profile of an entity based on product descriptions
Kazienko et al. Personalized Integration of Recommendation Methods for E-commerce.
IL178394A (en) Interactive hybrid recommender system
Menczer et al. Adaptive assistants for customized e-shopping
WO2001037193A1 (en) System, method, and article of manufacture for recommending items to users based on user preferences
WO2000028427A1 (en) System and method for matching users with items in a network
US20090006465A1 (en) Method and System For Matching Pre-Indexed Product Profiles to Consumers
Braynov Personalization and customization technologies
WO2008032037A1 (en) Method and system for filtering and searching data using word frequencies
WO2001098919A1 (en) Locating information in a network based on user&#39;s evaluation
Chen Mining progressive user behavior for e-commerce using virtual reality technique

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref country code: AU

Ref document number: 2000 18180

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09543812

Country of ref document: US

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW 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

WWE Wipo information: entry into national phase

Ref document number: 09582925

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase