Collaborative filtering utilizing a belief network
First Claim
1. A method in a computer system having a collaborative filtering system for predicting a desired preference of a user based on attributes of the user, comprising the steps of:
- receiving into the collaborative filtering system a belief network containing attribute nodes and preference nodes, the attribute nodes reflecting the attributes of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating the likelihood that the available preference is the desired preference of the user given the values of the attribute nodes;
receiving into the collaborative filtering system a request to determine an available preference having a greatest likelihood of being the desired preference, the request coutaining values for the attribute nodes;
determining by the collaborative tiltering system the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the values of the attribute nodes; and
indicating by the collaborative filtering system the available preference having the greatest likelihood of being the desired preference to the user.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosed system provides an improved collaborative filtering system by utilizing a belief network, which is sometimes known as a Bayesian network. The disclosed system learns a belief network using both prior knowledge obtained from an expert in a given field of decision making and a database containing empirical data obtained from many people. The empirical data contains attributes of users as well as their preferences in the field of decision making. After initially learning the belief network, the belief network is relearned at various intervals when additional attributes are identified as having a causal effect on the preferences and data for these additional attributes can be gathered. This relearning allows the belief network to improve its accuracy at predicting preferences of a user. Upon each iteration of relearning, a cluster model is automatically generated that best predicts the data in the database. After relearning the belief network a number of times, the belief network is used to predict the preferences of a user using probabilistic inference. In performing probabilistic inference, the known attributes of a user are received and the belief network is accessed to determine the probability of the unknown preferences of the user given the known attributes. Based on these probabilities, the preference most likely to be desired by the user can be predicted.
-
Citations
43 Claims
-
1. A method in a computer system having a collaborative filtering system for predicting a desired preference of a user based on attributes of the user, comprising the steps of:
-
receiving into the collaborative filtering system a belief network containing attribute nodes and preference nodes, the attribute nodes reflecting the attributes of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating the likelihood that the available preference is the desired preference of the user given the values of the attribute nodes; receiving into the collaborative filtering system a request to determine an available preference having a greatest likelihood of being the desired preference, the request coutaining values for the attribute nodes; determining by the collaborative tiltering system the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the values of the attribute nodes; and indicating by the collaborative filtering system the available preference having the greatest likelihood of being the desired preference to the user. - View Dependent Claims (2)
-
-
3. A method in a computer system having a collaborative filtering system for predicting a desired preference of a user based on an attribute of the user, comprising the computer-implemented steps of:
-
creating a belief network containing an attribute node and preference nodes, the attribute node reflecting an attribute of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating a likelihood that the available preference is the desired preference of the user given the value of the attribute node; providing the created belief network to the collaborative filtering system; receiving a request by the collaborative filtering system to determine an available preference having a greatest likelihood of being the desired preference, the request containing a value for the attribute node; determining the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the value of the attribute node; and indicating the available preference having the greatest likelihood of being the desired preference to the user. - View Dependent Claims (4, 5)
-
-
6. A method in a collaborative filtering system for predicting a desired preference of a user, comprising the computer-implemented steps of:
-
receiving a belief network into the collaborative filtering system, the belief network containing a hidden attribute node and preference nodes, the hidden attribute node reflecting an unobserved attribute of the user that causally influences the desired preference, the preference nodes reflecting available preferences of the user, each preference node having a value and having a probability indicating a likelihood that the available preference is the desired preference of the user given the values of the preference nodes; receiving data containing values for the preference nodes; receiving a plurality of a number of states for the hidden attribute node; for each number of states for the hidden attribute node, generating a belief network having the preference nodes and the hidden attribute node, wherein the hidden attribute node has the number of states; and scoring the generated belief network for goodness in predicting the desired preference based on the data; selecting a generated belief network having a best goodness in predicting the desired preference based on the data; receiving a request to determine an available preference having a greatest likelihood of being the desired preference, the request containing a value for at least one of the preference nodes; determining an available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes in the selected belief network given the value for the at least one preference node; and indicating the available preference having the greatest likelihood of being the desired preference to the user.
-
-
7. A method in a computer system for generating a belief network containing caused variables and unbidden causal variables, the computer system having a decision support system, the belief network for providing decision support in a given field of expertise, the caused variables reflecting a decision to be rendered by the decision support system and the causal variables reflecting factors that causally effect the decision, comprising the computer-implemented steps of:
-
receiving expert data from an expert in the given field comprising a belief network containing a hidden causal variable and caused variables and wherein the expert data includes a plurality of a number of states for the hidden causal variable, the hidden causal variable being an unknown factor that causally influences the caused variables; receiving data comprising sets of values for the caused variables after receiving the expert data; determining groups of sets in the received data having similar values; receiving an indication of a causal factor in the determined groups to account for the similarity of the values in each group; receiving observations for the identified causal factor and adding the observations to the data; adding the causal factor to the belief network as an unbidden causal variable after receiving the observations; receiving a new plurality of a number of states for the hidden causal variable after adding the causal factor; and repeatedly performing the steps of determining groups, receiving an indication, receiving observations, adding the causal factor and receiving a new plurality of a number of states until either a causal factor cannot be identified to account for the similarity of the values in each group or observations for the causal factor cannot be obtained.
-
-
8. A collaborative filtering system for predicting a desired preference of a user based on attributes of the user, comprising:
-
a belief network containing attribute nodes and preference nodes, the attribute nodes reflecting the attributes of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating a likelihood that the available preference is the desired preference of the user given the values of the attribute nodes; a receive component for receiving a request to determine an available preference having a greatest likelihood of being the desired preference, the request containing values for the attribute nodes; a determination component for determining the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the values of the attribute nodes; and an output component for indicating the available preference having the greatest likelihood of being the desired preference. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer-readable memory device containing:
-
a data structure representing a belief network that comprises nodes, the belief network for use in a collaborative filtering system for predicting a desired preference of a user based on attributes of the user, the nodes further comprising; attribute nodes reflecting the attributes of the user, wherein each attribute node has a value; and preference nodes reflecting available preferences of the user, each preference node having a probability indicating a likelihood that the available preference is the desired preference of the user given the values of the attribute nodes, wherein the collaborative filtering system receives a request for determining a desired preference of a user among the available preferences, wherein the request contains values for the attribute nodes and in response to receiving the request, the collaborative filtering system evaluates the probabilities of the preference nodes to determine the available preference that is most likely to be the desired preference given the values for the attribute nodes in the request.
-
-
14. A computer-readable media that causes a collaborative filtering system in a computer system to predict a desired preference of a user based on attributes of the user, by performing the steps of:
-
receiving a belief network into the collaborative filtering system, the belief network containing attribute nodes and preference nodes, the attribute nodes reflecting the attributes of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating the likelihood that the available preference is the desired preference of the user given the values of the attribute nodes; receiving a request to determine an available preference having a greatest likelihood of being the desired preference, the request containing values for the attribute nodes; determining the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the values of the attribute nodes; and indicating the available preference having the greatest likelihood of being the desired preference to the user.
-
-
15. A computer-readable media that causes a collaborative filtering system in a computer system to predict a desired preference of a user based on an attribute of the user, by performing the steps of:
-
creating a belief network containing an attribute node and preference nodes, the attribute node reflecting an attribute of the user and having a value, the preference nodes reflecting available preferences of the user, each preference node having a probability indicating a likelihood that the available preference is the desired preference of the user given the value of the attribute node; providing the created belief network to the collaborative filtering system; receiving a request by the collaborative filtering system to determine an available preference having a greatest likelihood of being the desired preference, the request containing a value for the attribute node; determining the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the value of the attribute node; and indicating the available preference having the greatest likelihood of being the desired preference to the user.
-
-
16. A computer-readable media that causes a collaborative filtering system in a computer system to predict a desired preference of a user, by performing the steps of:
-
receiving a belief network into the collaborative filtering system, the belief network containing a hidden attribute node and preference nodes, the hidden attribute node reflecting an unobserved attribute of the user that causally influence the desired preference, the preference nodes reflecting available preferences of the user, each preference node having a value and having a probability indicating a likelihood that the available preference is the desired preference of the user given the values of the preference nodes; receiving data containing values for the preference nodes; receiving a range of a number of states for the hidden attribute node; for each number of states for the hidden attribute node, generating a belief network having the preference nodes and the hidden attribute node, wherein the hidden attribute node has the number of states; and scoring the generated belief network for goodness in predicting the desired preference based on the data; selecting a generated belief network having a best goodness in predicting the desired preference based on the data; receiving a request to determine an available preference having a greatest likelihood of being the desired preference, the request containing a value for at least one of the preference nodes; determining an available preference having the greatest likelihood of being the desired preference by accessing the generated belief network having the best goodness and evaluating the probabilities of the preference nodes given the value for the at least one preference node; and indicating the available preference having the greatest likelihood of being the desired preference to the user.
-
-
17. A computer-readable media that causes a computer system to generate a belief network containing caused variables and unbidden causal variables, the computer system having a decision support system, the belief network for providing decision support in a given field of expertise, the caused variables reflecting a decision to be rendered by the decision support system and the causal variables reflecting factors that causally effect the decision, by performing the steps of:
-
receiving expert data from an expert in the given field comprising a belief network containing a hidden causal variable and caused variables and wherein the expert data includes a plurality of a number of states for the hidden causal variable, the hidden causal variable being an unknown factor that causally influences the caused variables; receiving data comprising sets of values for the caused variables after receiving the expert data; determining groups of sets in the received data having similar values; receiving an indication of a causal factor in the determined groups to account for the similarity of the values in each group; receiving observations for the identified causal factor and adding the observations to the data after identifying a causal factor; adding the causal factor to the belief network as an unhidden causal variable after receiving the observations; receiving a new plurality of a number of states for the hidden causal variable after adding the causal factor; and repeatedly performing the steps of determining groups, receiving an indication, receiving observations, adding the causal factor and receiving a new range of a number of states until either a causal factor cannot be identified to account for the similarity of the values in each group or observations for the causal factor cannot be obtained.
-
-
18. A method in a collaborative filtering system for predicting a desired preference of a user based on a characteristic of the user, comprising the computer-implemented steps of:
-
receiving a belief network into the collaborative filtering system, the belief network containing preference nodes reflecting available preferences of the user, each preference node having a probability indicating the likelihood that the available preference is the desired preference of the user given a value for the characteristic of the user; receiving a request to determine an available preference having a greatest likelihood of being the desired preference, the request containing a value for the characteristic of the user; determining the available preference having the greatest likelihood of being the desired preference by evaluating the probabilities of the preference nodes given the value of the characteristics; and indicating the available preference having the greatest likelihood of being the desired preference to the user. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification