COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR UPDATING USER INTEREST PROFILES
A computer-implemented system and method for updating user interest profiles is provided. An interest profile having a mapping of interest categories and interest scores for each interest category is obtained. User generated items are identified from online profiles and a portion of the user generated items are associated with a time stamp. A similarity mapping is performed by comparing each user generated item with each interest category. An interest index score is determined for each interest category based on one of the user generated items compared. A threshold is applied to the interest index scores for each category. The interest score associated with one such category in the mapping is replaced with the interest index score, when the interest index score for that category is above the threshold. The interest profile is adjusted by applying a decay to those interest index scores associated with time stamps determined for the categories.
Latest PALO ALTO RESEARCH CENTER INCORPORATED Patents:
- COMPUTER-IMPLEMENTED SYSTEM AND METHOD FOR PROVIDING CONTEXTUALLY RELEVANT TASK RECOMMENDATIONS TO QUALIFIED USERS
- Methods and systems for fault diagnosis
- Arylphosphine nanomaterial constructs for moisture-insensitive formaldehyde gas sensing
- SYSTEM AND METHOD FOR ROBUST ESTIMATION OF STATE PARAMETERS FROM INFERRED READINGS IN A SEQUENCE OF IMAGES
- METHOD AND SYSTEM FOR FACILITATING GENERATION OF BACKGROUND REPLACEMENT MASKS FOR IMPROVED LABELED IMAGE DATASET COLLECTION
This patent application is a continuation of U.S. patent application Ser. No. 17/688,614 filed on Mar. 7, 2022, which is a continuation of U.S. patent application Ser. No. 15/464,251 filed on Mar. 20, 2017, now U.S. Pat. No. 11,301,524, which is a continuation of U.S. patent application Ser. No. 14/251,460 filed on Apr. 11, 2014, now U.S. Pat. No. 9,600,561, the contents of all of which are incorporated herein in their entirety by reference.
FIELDThis application relates in general to profile modeling and, in particular, to a computer-implemented system and method for generating an interest profile for a user from user generated content on existing online profiles.
BACKGROUNDThe Internet allows easy access to a wide range of information from anywhere. Individuals can access Web pages including text, images, videos, and other information using a Web browser via the Internet to search for and obtain desired information. Generally, a search of the Internet can be conducted via search engines, such as Google, provided by Google Inc., Mountain View, Calif., and Internet Explorer, provided by Microsoft Corporation, Redmond, Wash. However, search engines often return large numbers of search results that are time consuming to review. Search queries are not usually sufficient to filter the search results and unable to provide narrowed search results based on interests of the user. On the other hand, many Web pages display online advertisement of a third party while an Internet user is accessing to the Web pages. Online advertisement is usually arranged to display suitable advertisement for the Internet user based on the past browsing histories of the user. Thus, to display optimized search results and suitable advertisement for each Internet user, personalizing information for each Internet user has become an important feature for search engines and online advertisers, such as narrowing the search results or only providing advertisement based on characteristics of the Internet user, such as user interests and preferences.
Traditionally, for identifying user interests, an interest profile is manually created from surveys or questionnaires completed by a user, as well as collected from the user's search activities. For instance, an interest profile for a user can be created from queries entered by the user via a search engine or results provided in response to the user's search activity. Alternatively, an interest profile for a user can be automatically generated via user modeling by extracting and inferring a user's preferences from the user's general behavior while interacting with the Internet. For instance, a method of generating user interest profiles by monitoring and analyzing a user's access to structured documents, such as Web pages, is disclosed in U.S. Pat. No. 6,385,619 to Eichstaedt, et al. Hierarchically structured parts of a document, such as a title, an abstract, and a detailed description are classified into categories in a known taxonomy based on types of content viewed by the user in the document. The types of content are determined based on the text within the documents or classification of the document. The taxonomy tree uses an interest score or a weight associated with each category to measure the importance of the particular category to the user. The weight of a category is derived from the user's clicks on the various parts of the document. The user profile is adjusted based on the user's changing interest by injecting randomly selected documents outside of the scope of the current interest into the categories in the taxonomy tree. However, the method of user interest modeling only creates a user interest profile for implicit user interests based on the user's search histories via search engines and browsing histories. Further, the method uses a textual analysis of the documents for classifying documents in the taxonomy tree; however, the taxonomy is not usually clearly defined by the textual analysis.
Accordingly, there is a need for generating an interest profile for a user based on an explicit information that clearly and explicitly describes interests of the user.
SUMMARYOne embodiment provides a computer-implemented system and method for updating user interest profiles. An interest profile having a mapping of interest categories and interest scores for each interest category is obtained. User generated items are identified from online profiles and a portion of the user generated items are associated with a time stamp. A similarity mapping is performed by comparing each user generated item with each interest category. An interest index score is determined for each interest category based on one of the user generated items compared. A threshold is applied to the interest index scores for each category. The interest score associated with one such category in the mapping is replaced with the interest index score, when the interest index score for that category is above the threshold. The interest profile is adjusted by applying a decay to those interest index scores associated with time stamps determined for the categories.
Still other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein are described embodiments by way of illustrating the best mode contemplated for carrying out the invention. As will be realized, the invention is capable of other and different embodiments and its several details are capable of modifications in various obvious respects, all without departing from the spirit and the scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
An interest profile for a user generated from an existing online profile of the user can reflect explicit interests or preferences of the user.
Third party Websites can include social media sites, online dating sites, and Websites of professional associations and organizations. Other third party Websites are possible. At a minimum, each Website should include information about a user. Social media sites provide a platform for expressing and sharing personal data including the user's interests and opinions, such as “Facebook,” provided by Facebook, Inc., Menlo Park, Calif., “Twitter,” provided by Twitter, Inc., San Francisco, Calif., “MySpace,” provided by Specific Media LLC, Beverly Hills, CA, “Google+,” provided by Google Inc., Mountain View, Calif., and “LinkedIn,” provided by LinkedIn Co., Mountain View, Calif. Other social media sites are possible. Online dating sites can include “eHarmony,” provided by eHarmony, Inc., Santa Monica, Calif., “Match.com,” provided by Match.com, LLC, Dallas, Tex., and “OkCupid,” provided by Humor Rainbow, Inc., New York, N.Y. Other online dating sites are possible. Websites of professional associations and organizations can include nonprofit organizations seeking to assist professionals and public interest. Professional associations and organizations can include academic associations, business and industrial organizations and associations, and bar associations. Other professional associations and organizations are possible.
The interest profile server 14 includes a categorizer or a category module 27, an item selector or user generated item selection module 28, a mapper or mapping module 29, an extractor or artifact extraction module 30, an artifact similarity scorer or artifact similarity score module 31, a user generated item similarity scorer or user generated item similarity score module 32, an interest index scorer or interest index module 33, and an interest profiler or user interest profile module 34. The categorizer 27 generates categories 35 for categorizing user interests based on existing third party classifications. The categories can include potential user interests and preferences. The item selector 28 processes the user profile data 26 and extracts user generated items 21 in the user profile data 26. Obtaining user generated items 21 is further discussed infra with reference to
Each computer 15-18 includes components conventionally found in general purpose programmable computing devices, such as essential processing unit, memory, input/output ports, network interfaces, and known-volatile storage, although other components are possible. Additionally, the computers 15-18 and the interest profile server 14 can each include one or more modules for carrying out the embodiments disclosed herein. The modules can be implemented as a computer program or procedure written as a source code in a conventional programming language and is presented for execution by the central processing unit as object or byte code or written as inter-credit source code in a conventional interpreted programming language inter-credit by a language interpreter itself executed by the central processing unit as object, byte, or inter-credit code. Alternatively, the modules could also be implemented in hardware, either as intergraded circuitry or burned into read-only memory components. The various implementation of the source code and object byte codes can be held on a computer-readable storage medium, such as a floppy disk, hard drive, digital video disk (DVD), random access memory (RAM), read-only memory (ROM), and similar storage mediums. Other types of modules and module functions are possible, as well as other physical hardware components.
Generating interest profiles for users from existing online user profiles allows consideration of explicitly defined user interests.
Next, user profile data is also obtained from the third party Websites including social media sites, online dating sites, and Web pages for professional associations and organizations as user generated items (step 42), as further described infra with reference to
For obtaining accurate interest profiles, user generated items are normalized and a weight is assigned to each user generated item (step 44). Each user generated item can be normalized within user generated items in the same or similar category. Usually, user generated items are considered to be similar when they appear in a same category predefined by a third party Website. For instance, all the notes appear on “Notes” on Facebook user profile data, those notes are considered to be similar. Similarly, all the albums appear on “Albums” on Facebook user profile data, those albums are considered to be similar. Other ways to determine similarity between user generated items are possible. A weight for each user generated item represents relative importance granted to the user generated item. For instance, if a user specifies many different genres of books as her favorite books on a third party Website, such as Romance, Sci-Fi, Adventure, Foreign, Documentary, and so on, a weight of her interest to each genre of books can be low due to the broad range of genres of interest to the books. On the other hand, if the user specifies only one genre, such as Romance as her favorite books, the user generated item within that genre can be assigned a higher weight. Other ways to perform normalization of user generated items are possible.
User generated items can be further categorized as static user generated items which rarely change or dynamic user generated items which are often updated. For dynamic user generated items, in addition to the normalization, the weights can be further associated with time stamps when the user generated item are created on a third party Website and then become timed weights. Timed weights can signify decaying levels of interest in a series of dynamic items over time. The decay is a function of the time that has passed as the dynamic item was updated. The obtained weight, including regular weight and timed weight, for each user generated item is later used for determining an interest index score for each interest category. Other types of timed weights are possible.
Once one user generated item is processed for similarity mapping with one interest category (step 45), the same user generated item is processed with other interest categories until all the interest categories are processed for the similarity mapping (step 46). Then, other user generated items are similarly processed as steps 43-47 until all the user generated items are separately processed (step 47). In this way, each user generated item is compared with each interest category for similarity and the similarity scores are assigned to each interest category. Then, the interest categories form an interest profile for a user with all the similarity data of each user generated item (step 48).
Interest categories provide a starting point for generating an interest profile for a user as each user generated item for the user can be compared with the interest categories to determine a user's interest in that category. By way of example, the user interest categories can include categories, such as entertainment, food, news, people and organizations, pets, places for recreation and sightseeing, recreational activities and sports, shopping, and so on. Interest categories can be derived from existing and defined categories offered by third parties, such as a category list used by Yelp, as described supra, and categories from Facebook. For example, the Yelp category list covers a wide range of categories which are fine-grained for identifying business and services listed on the Yelp Website. On the other hand, the Facebook categories are generic and coarse-grained categories, such as only six categories identifying an entity of Facebook. In one embodiment, interest categories can be generated as a combination of existing defined categories. For instance, interest categories can be a combination of the Yelp categories and Facebook categories. Other types of interest categories are possible.
The interest categories can include further subcategories for each interest category. In one embodiment, the interest categories and subcategories can be taxonomically organized as nodes in a hierarchy tree.
For each user, a plurality of user generated items are identified from user profile data on third party Websites, such as social media sites, online dating sites, Websites of professional associations and organizations.
The user generated items which are less likely to change or that are rarely updated by the user on a regular basis are categorized as static user generated items. In this specific example, identification information 71, networks 72, locations 73, likes 74, notes 75, and pictures 76 are static user generated items. By way of example, a user profile on Facebook includes static user generated items, such as identification information 71, a list of friends with whom the user is associated as a network 72, a list of places or “Check-Ins” that the user has visited as locations 73, Facebook pages the user likes, called “Liked Pages” as likes 74, notes and write-ups created by the user as notes 75, and pictures of the user or pictures the user has taken and uploaded onto the Facebook page as pictures 76. Other static user generated items can include a work history, education, relationship, family, places lived, sports, music, movies, TV shows, books, events, groups, fitness, health & wellness, and travel & experiences, as well as other static items.
On the other hand, the user generated items which are changed and updated by a user more frequently than static user generated items and represent the user's interest at a specific time are categorized as dynamic user generated items. In this example, timelines 77, which can reflect the user's activities are dynamic user generated items. By way of example, Facebook activity, such as status updates and posts along with comments and likes, posts on a user's Facebook page from other users, and other posts and links that the user has shared, each represents interests of the user at a specific time and thus is considered to be dynamic. Other dynamic user generated items are possible. User generated items including static user generated items and dynamic user generated items can be retrieved from the third party Websites as text data and stored in a text file for each user in a database. Other retrieval methods of user generated items are possible. In a further embodiment, to obtain user generated items, target third party Websites can be selected by performing search operations with queries, such as described in commonly-assigned U.S. Patent application, entitled, “Method And System For Building An Entity Profile From Email Address And Name Information,” Ser. No. 13/660,959, filed on Oct. 25, 2012, pending, the disclosure of which is incorporated by reference.
Further, each dynamic user generated item can be subjected to a sentiment analysis to determine the attitude or emotional state of a speaker or writer with respect to dynamic user generated items. Static user generated items are usually considered to be positive or neutral as user profile data tends to only include interests and preferences. Thus, the sentiment analysis is performed to remove negative user generated items obtained from user profile data on the third party Websites before each user generated item is processed for similarity mapping. Sentiment polarity of each user generated item can be determined as negative, neutral, or positive. The sentiment analysis can be performed via natural language processing techniques, such as provided by Alchemy API, Inc., Denver, Colo. In a further embodiment, sentiment analysis can be performed using a sentiment dictionary, such as described in commonly-assigned U.S. Patent application, entitled, “Method And System For Physiological Analysis By Fusing Multiple-View Predictions,” Ser. No. 13/663,747, filed on Oct. 30, 2012, pending, the disclosure of which is incorporated by reference. Then, dynamic user generated items that show neutral or positive sentiment are selected for user generated items.
Once the user generated items including static and dynamic user generated items are obtained, each user generated item is processed for similarity mapping with each of the interest categories.
-
- Entities (Type): Pride and Prejudice (Movie), Elizabeth Bennet (Person), United Kingdom (Country), Jane Austen (Person)
- Document Category: Education, Facebook Category: Book
- Social Tags: “Film,” “Literature,” “Pride and Prejudice,” “Jane”
Other artifact extraction methods are possible.
Once the artifacts are extracted, a similarity between each artifact and interest category is determined (step 83). Calculating an artifact similarity score between each artifact and interest category provides more fine-grained similarity analysis than only calculating an artifact similarity score between each user generated item and interest category as artifacts are elements of a user generated item. The artifact similarity score between the interest category and each of the obtained artifacts can be calculated based on semantic relatedness between each artifact and each interest category. Semantic relatedness is a metric for determining the similarity of two documents or phrases based on their semantic meanings. As semantic relatedness is cosine similarity measure, the similarity can be scaled between 0 and 1, where 0 signifies no relatedness and 1 signifies high relatedness. By way of example, Semantic Textual Similarity can be used to calculate the semantic similarity score. For instance, an artifact similarity score between an artifact “Literature” from a user generated item “Pride and Prejudice” and an interest category “Books” can be determined as 0.8 since “Literature” is a subcategory of books. Other methods of calculating artifact similarity scores between each artifact and interest category are possible. After obtaining the artifact similarity score for each artifact, a user generated item similarity score for the user generated item is calculated based on the artifact similarity score of the artifact (step 84). The user generated item similarity score for the user generated item can be calculated as an average of all the artifact similarity scores associated with a common user generated item. For instance, extracted artifacts for a user generated item “Pride and Prejudice” are “Jane Austen,” “Education,” and “Literature” and artifact similarity scores for each artifacts with an interest category “Books” are respectively 0.6, 0.3, and 0.8, then a user generated item similarity score for a user generated item “Pride and Prejudice” is calculated as 0.56 for “Books” category. However, when compared to a different category of Music, the user generated item similarity score becomes lower since there is less relatedness between “Music” and “Jane Austen,” “Education,” and “Literature” respectively. As another example, the semantic relatedness between “Money” as a user interest category and “Investment” as a user generated item is 0.6635. Thus, if the user has expressed an interest in a user generated item related “Money,” the user's interest in the interest category “Investment” would be likely high. Other methods of calculating user generated item similarity scores between each user generated item and interest category are possible.
To remove noise from the user generated item similarity score calculation, the user generated item similarity scores are compared to a certain threshold level. The user generated item similarity score for the user generated item is compared with a threshold level of a user generated item similarity score. A threshold is predefined and set as 0.293. Alternatively, the threshold can be set empirically based on performance. If the obtained user generated item similarity score for the user generated item is above the threshold level (step 85), the user generated item similarity score is maintained (step 86). If the obtained user generated item similarity score is below the threshold level, the user generated item similarity score is considered as a noise and replaced with 0.0 for that category (step 87). For instance, the similarity between the user generated item “Pride and Prejudice” and an interest category “Food” can be determined as 0.1 and as a threshold level of a user generated item similarity score is set as 0.293, the user generated item similarity score for the user generated item is replaced with 0.0. Other ways to remove noise from the user generated item similarity score calculation are possible.
Before assigning the obtained user generated item similarity score for the user generated item to the interest category, the user generated item similarity score for the user generated item is normalized based on a weight of the user generated item. The normalization of the user generated item similarity score for the user generated item is performed by multiplying the weight of the user generated item with the user generated item similarity score of the user generated item. The weight of the user generated item is described supra with reference to
Interest categories are initially assigned 0.0 as an initial interest index score before similarity mapping. If the interest index scores have been already assigned to each index category or initial interest index score 0.0 is assigned to the index category, the newly calculated interest index score for the interest category is compared with the initial or previous interest index score (step 89). If the current interest index is higher than the initial or previous score, the initial or previous interest index score for the interest category is replaced with the current interest index score (step 90). If the current interest index score is lower than the initial or previous interest index score, then the initial or previous interest index score is maintained for the interest category (step 91). In this way, the current interest index is always updated with any new user generated item of a user discovered in the third party Websites. Other ways to update an interest category score are possible. Once the similarity mapping for one interest category is performed, a process of the similarity mapping is repeated for other interest categories (steps 81-92).
If interest categories are taxonomically arranged as a hierarchy tree, as discussed supra with reference to
Finally, once all the interest index scores are determined, an interest profile for a user is generated. In this example, a user generated item “Ramen” (not shown) is mapped over to each interest category node, including Food 122, including Beverage 123, Cuisine 124, Indian 125, and Thai 126. The right corner branch of each interest category node 122-126 shows a current interest index score for the interest category node. If next user generated item is applied to the interest profile 120, then the similarity mapping with the next user generated item is performed. In this way, the interest profile 120 for the user 121 is always updated with interest index scores for new user generated items.
Dynamic user generated items are constantly changing as interests of a user transition over time. Thus, to understand the transition of the user interests and to accurately describe interests of the user in an interest profile for the user, an effective interest index score is calculated by applying a decay function.
The obtained effective interest index score for each interest category is mapped over to the interest profile of the user and a node score is assigned as a scale of 1-5 to the interest category (step 133). Other methods of calculating effective interest index scores are possible.
While the invention has been particularly shown and described as referenced to the embodiments thereof, those skilled in the art will understand that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope.
Claims
1. A computer-implemented system for updating user interest profiles, comprising:
- a database to store an interest profile for a user comprising a mapping of interest categories and interest scores for each interest category; and
- a server to access one or more third party servers to obtain preexisting online profiles for the user, wherein the server comprises a central processing unit, memory, input port to receive the interest profile from the database, and output port, the central processing unit configured to execute modules comprising: an identification module to identify user generated items from the online profiles, wherein a portion of the user generated items are associated with a time stamp; a similarity module to perform a similarity mapping comprising comparing each user generated item with each interest category in the mapping; a determination module to determine via the comparison an interest index score for each interest category based on one of the user generated items; a threshold module to apply a threshold to the interest index scores for each category; a replacement module to replace the interest score associated with one such category in the mapping with the interest index score when the interest index score for that category is above the threshold; and an adjustment module to adjust the interest profile by applying a decay to those interest index scores determined for the categories and associated with time stamps.
Type: Application
Filed: Apr 12, 2023
Publication Date: Aug 10, 2023
Applicant: PALO ALTO RESEARCH CENTER INCORPORATED (Palo Alto, CA)
Inventors: Preeti Bhargava (Hyattsville, MD), Oliver Brdiczka (Mountain View, CA)
Application Number: 18/133,899