The present invention relates to a computerized item and peer recommendation system directed toward industry professionals. The system maintains the declared profile of professionals and a history of actions taken by professionals within a given field of expertise, and uses the combination of declared profile and history of actions to recommend items or peers to other professionals within the same or a similar field. The item recommendations can include, for example, documents to be reviewed, events to attend, search keywords that may be of interest, etc.
Various tools for maintaining documentation in various fields are known in the art. For example, U.S. Pat. No. 7,035,838 to Nelson et al. discloses methods and systems for organizing information stored within a computer network-based system. Documentation relating to a plurality of topics and a list of experts on a plurality of topics is stored in a centralized database. A user interface enables a user to search the database for a specific item of information by at least one of a work function, a functional category and a community.
Prior art systems such as those referred to above generally provide too many choices of information, which can be overwhelming. As a result, the most pertinent information may be overlooked or not viewed by the user. If the user is particularly diligent, he or she may try to sort through the many potential articles or other documents that are presented to attempt to find the most relevant ones. Such diligence can waste the user's time and may not result in the best match being found. Often, the user will settle for less relevant information instead of carefully considering each of the many potential matches presented.
It would be advantageous to provide improved apparatus and methods for obtaining relevant information that can assist a user in staying current in a profession and/or can assist in solving a business or technical problem. It would be further advantageous to provide such a system that presents highly relevant information to individual users without overwhelming the user with too much information.
The present invention provides an item and peer recommendation engine which uses a combination of cluster filtering, collaborative filtering and search algorithms that enjoys the aforementioned and other advantages.
In accordance with the invention, an item and peer recommendation engine is provided which is implemented on a digital computer network. A user interface enables user profile information to be entered and captured in a profile database. A log of user behavior enables the capturing of behavioral and item consumption patterns of users. Behavioral and item consumption patterns might include document consumption, events attended, search keywords used, and other items. The aforementioned recommendation engine uses a combination of declared profile information and user consumption patterns to recommend the best items and peers to a querying user (also referred to as a “requester”).
In a preferred embodiment, the item recommendation system is used to recommend documents to users. A search log is maintained in which the search behavior and document consumption behavior of all users is captured. A cluster filtering algorithm determines a cluster that a querying user belongs to. The cluster filtering algorithm:
A collaborative filtering algorithm locates other users having profiles in the database that are similar to the profile of the querying user. The collaborative filtering algorithm:
A search engine is provided for returning items based on the keyword provided by the querying user. A sorting algorithm is also provided for sorting the items returned by the cluster filtering algorithm, collaborative filtering algorithm and search engine. The sorting algorithm gives precedence to items returned by the cluster filtering and collaborative filtering algorithms over items returned by the search engine. Items returned by the cluster filtering and collaborative filtering algorithms that are not also returned by the search engine are not presented to the querying user for consideration.
In a preferred embodiment, a search log is maintained in which identifications of items used by users are captured and stored on a per user basis, for use in improving future recommendations of items to querying users.
A peer search algorithm can be provided for locating other users having expertise in the keyword provided by the querying user and/or whose user profile contains a match for the keyword provided by the querying user. In such an embodiment, the collaborative filtering algorithm returns peer matches based on step (c), above. A sorting algorithm is used to sort the peers located by the peer search algorithm and returned by the collaborative filtering algorithm. The sorting algorithm gives precedence to peers returned by the collaborative filtering algorithm over peers located by the peer search algorithm.
In one embodiment disclosed, peers returned by the collaborative filtering algorithm that are not also returned by the peer search algorithm are not presented to the querying user for consideration.
An item search engine can be provided for returning items based on the keyword provided by the querying user.
User profile information can be collected on a periodic basis to enable the system to learn about the behavior and profile of users.
Scores can be assigned to the users for particular keywords, providing an indication of the strength of the users with respect to the keywords.
The sorting algorithm can be advantageously designed to give precedence to peers that have connected with the querying user in the past.
It is also possible to assign peers to multiple clusters. In such an embodiment, the assignment of users to multiple clusters can enable item recommendations using fuzzy clustering techniques.
A method is provided for recommending items such as documents, events, search keywords and alert keywords to querying users. The method provides a search tog which captures search keywords entered and documents opened. A cluster that a querying user belongs to is determined based on his or her document readership patterns. Other users having profiles in the database who belong to the same cluster as the querying user are located. Items such as documents are located that are associated with a keyword provided by the querying user and have been used by the other users in the same cluster. The items located on the basis of other users in the same cluster are then returned (i.e., presented to) the querying user for consideration. Items other than or in addition to documents can also be returned, depending on the implementation. For example, events attended by other users could be presented to the querying user for consideration and possible attendance in the future.
Other users having profiles in the database that are similar to the profile of the querying user are also located The similarity among the profiles of the querying user and other users can be determined, for example, based on at least one of explicit and implicit profiles. Other relevant users can also be located based on those who have the most expertise for the keyword provided by the querying user. Scores of the other users located can be determined, which scores are indicative of how well the other users match the querying user. Based on these scores, items are located that have been used by a best matching subset of the other users located. The items located on the basis of the best matching subset of the other users are then returned for potential consideration by the querying user.
A search engine can be provided for returning items based on the keyword provided by the querying user. The items returned based on the cluster filtering algorithm, collaborative filtering algorithm, and search engine are then sorted. The sorting routine can give precedence to items returned based on the cluster and collaborative filtering algorithms over items returned by the search engine. In a preferred embodiment, items returned based on the cluster and collaborative filtering algorithms can be withheld from presentation to the querying user if the items are not also returned by the search engine.
A search log can be maintained in which identifications of items used by users are captured and stored on a per user basis. This log can be used to improve future recommendations of items to querying users.
Peer matches can be returned to the querying user based on other users whose user profiles indicate they have expertise in the keyword provided by the querying user and/or whose user profile contains a match for an expertise such as a subject expertise or vendor expertise or product expertise provided by the querying user.
Data can be maintained that is indicative of which other users a querying user has previously connected with as a peer. Data can also be maintained that is indicative of which other users were the basis for the recommendation of items a querying user has previously used. Precedence can then be given to items located based on the other users indicated by the maintained data.
Although the invention is described in connection with a preferred embodiment, it will be appreciated that numerous other embodiments and designs are possible as will be apparent to those skilled in the art.
The invention relates to a Peer & Item Bi-Model Recommendation Engine which can recommend both Items and Peers when provided a search keyword and/or a user identifier. Item recommendation includes documents, events, search keywords and alert keywords. The algorithm can be extended to include other kinds of item recommendations in the future.
A system to help users connect with the most appropriate peers (peer recommendation) is disclosed in commonly owned, co-pending U.S. patent application Ser. No. 12/592,799 filed on Dec. 2, 2009, entitled “Interactive Peer Directory” and incorporated herein by reference. The present invention works either independently or in conjunction with the aforementioned Interactive Peer Directory to get the most appropriate peer matches and/or documents for the task(s) that users are working on.
The Peer & Item Bi-Model Recommendation Engine of the present invention includes various new and novel features, including the following implementation techniques:
The recommendation engine 12 includes various algorithms. In the illustrated embodiment, user cluster filtering techniques 14 and collaborative filtering techniques 16 are provided, as well as Search algorithms. The algorithms act on information from one or both of a user profile database 18 and a user behavior database 20. A search engine 22 included as part of the recommendation engine 12 searches for items using an item search index 24 and searches for peers using a peer profile search index 26.
The Collaborative Filtering Algorithm finds peers in accordance with the following steps:
(1) At step 34, the algorithm finds users who are most similar to the requester by:
At step 46, the Peer Profile Search Index 26 is used to obtain potential peer matches based on the criteria entered by the requester 10 via step 30. The Peer Profile Search Index contains the declared profile of each system user. This step ensures that the peers returned to step 44 have the topic keywords or vendor names identified by the requester in their declared profile. A search engine is used in this step to query for users.
Step 44 receives information regarding the peers identified by the collaborative filtering algorithm from step 32 and the peers identified by the search engine from step 46. These peers are merged and sorted by giving a higher weight to peers returned from the collaborative filtering algorithm. Peer suggestions which are not in the peer set from step 46 (i.e., peers retrieved from the search engine) are discarded. This ensures that only peers who have the topic keyword or vendor name in their declared profile are recommended.
Another category of information that can be maintained for a user in the profiles database relates to products and services of interest to that user. For example, a user may be responsible for specifying, procuring and/or maintaining a business process management (BPM) suite and/or an enterprise search platform provided by a specific vendor, such as the Oracle Aqualogic suite or the Vivisimo Velocity search platform. This can be identified in the user's profile, together with pertinent information such as the vendor name, the user's involvement with the product, the primary operating system on which the suite is run and the user's recommendation for the product. Other categories of information can also be provided in the user's profile that will be useful in the search for a peer to assist the user in completing an assigned project.
A User Implicit Behavioral Profile is also maintained as indicated at 51 in
The profile and behavior data collected for each user is stored by the system as indicated at step 52. In step 54, keyword to peer scores are calculated. A score is assigned to a peer for a given keyword. This helps the algorithm to understand the strength of the peer for a given keyword. The keyword may be a topic name (virtualization, service oriented architecture, etc.), vendor name (Oracle, IBM, etc.) or any other word occurring in the peer's profile.
In step 56, peer to peer scores are calculated. This helps the algorithm figure out the relative strength or similarity between peers. All implicit and explicit profile data is compared to arrive at these scores. In a preferred embodiment, if a user has connected with particular peers in the past, those peers will be given an additional weight when calculating the peer to peer scores. Steps 52, 54 and 56 are used by the collaborative filtering algorithm to provide item or peer recommendations for a given keyword or a user identifier. These steps can be implemented in a periodic update process (e.g., daily) to calculate the keyword to peer scores and the peer to peer stores. The updated scores are maintained by the system for use in subsequent searches for peers and items that are made by users (requesters).
A runtime process makes use of the keyword to peer scores and the peer to peer scores as illustrated, e.g., in steps 58 and 60 of
The Cluster Filtering Algorithm determines which of a plurality of clusters the requester belongs to and returns the most frequently read (e.g., opened) documents by other users in the same cluster as the querying user. This algorithm brings in an element of personalization to the documents recommended to the requester by the system, since only documents opened by users in the same cluster as the querying user are recommended. The algorithm promotes documents which are determined to be helpful by other users for the same keyword. It executes steps 74, 76 and 78 to return the correct set of documents, as follows:
The Collaborative Filtering Algorithm recommends documents by finding other users who are very similar to the querying user and also have expertise in the keywords the user entered. The algorithm then finds the documents read by those users and recommends them. In a preferred embodiment, classic person based collaborative filtering techniques are implemented. The following steps are executed by the collaborative filtering algorithm, which begins at step 82, to recommend documents:
In step 96, the Search Engine searches the item (e.g., document) search index 98 to retrieve the appropriate documents based on standard search engine algorithms. This engine analyzes the keywords entered by the requester and ensures that documents returned are relevant to the search term.
In step 80, documents returned by the cluster filtering algorithm, collaborative filtering algorithm, and the search engine are sorted. Higher weights are given to documents returned by the Cluster Filtering and Collaborative Filtering Algorithms. The process also discards documents which are not in the same set as the documents returned by the search engine. This ensures that only relevant documents that contain or pertain to the keyword(s) are recommended to the requester. After the documents are sorted at step 80, they are presented to the requester as recommendations for the requester to read.
Once clusters are identified, users are assigned to the topic clusters based on their document readership history. This step is referred to as “User Cluster Strength Mapping” 102. Users can be assigned to multiple clusters to support fuzzy clustering capabilities. This can be done, for example, on a daily basis so that the algorithm is always learning the behavior of the user.
In step 102, as with step 100, inputs include documents read and document taxonomy. In addition, step 102 receives a “Cluster to Taxonomy” input that relates the clusters to document taxonomy. Output from the user cluster strength mapping includes an identification of the user(s), an identification of the relevant cluster(s) the user belongs to and the strength of the user for those cluster(s). In the example shown in
The user, cluster and cluster strength information is used by process 74, “Find Users Who Belong to the Same Cluster” as described above in connection with
Process 104 of
Output from step 104 includes keyword(s), document(s) opened and cluster(s). In the example shown in
In a particularly advantageous embodiment of the invention, item and peer recommendations reinforce each other over time. This is accomplished as follows:
It should now be appreciated that the present invention provides apparatus and methods for facilitating the connection of peers as well as the recommendation of items, such as documents, that may be of interest to users. Items and peers are recommended in response to a search keyword and/or a user identifier. A system in accordance with the invention allows users to connect with the most appropriate peers and to get the most appropriate documents and other resources for a task that the user is working on. Cluster filtering, collaborative filtering and search algorithms can be used to implement the system. As recommended items are consumed (e.g., as documents are opened, events are attended, etc.), the future peer suggestions become stronger. Similarly, as recommended peers are connected with, the item recommendations become stronger.
Unlike previously known systems, the system of the present invention can recommend both items and peers. A combination of cluster filtering/collaborative filtering and search algorithms provide concise, highly relevant results. Advantageously, both implicit and explicit profiles of users are relied on in making recommendations.
Moreover, the inventive system and methods allow peer and item recommendations to reinforce each other over time, further increasing the relevancy of the results.
Although the invention has been described in accordance with preferred embodiments, various other embodiments can be provided and are intended to be included within the scope of the claims.