Situation recognition for recommendation using merge-split approach
First Claim
1. A method for making recommendations to a user, the method comprising:
- storing data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used, wherein context includes a situation in which the user and device were operating when the items were used;
randomly initializing a set number of cluster centroids;
performing an initial clustering algorithm to cluster the data into input clusters of data points based upon the cluster centroids;
performing a merge-split clustering algorithm on the input clusters, wherein the merge-split clustering algorithm comprises;
determining if there are any input clusters that are similar to each other;
merging the similar clusters if there are any input clusters similar to each other;
dividing any non-merged input clusters into split clusters if the split clusters would not be similar to each other; and
repeating the determining, merging, and dividing using the merged, divided, and remaining unmerged and undivided clusters as input clusters.
2 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, data relating to usage patterns of the user is stored, wherein the data includes information as to items which were used and the context in which they were used. The data is then clustered into input clusters of data points. It is determined if there are any input clusters that are similar to each other. Similar clusters are merged if there are any input clusters similar to each other. Any non-merged input clusters are divided into split clusters if the split clusters would not be similar to each other. The determining, merging, and dividing are then repeated using the merged, divided, and remaining unmerged and undivided clusters as input clusters.
-
Citations
19 Claims
-
1. A method for making recommendations to a user, the method comprising:
-
storing data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used, wherein context includes a situation in which the user and device were operating when the items were used; randomly initializing a set number of cluster centroids; performing an initial clustering algorithm to cluster the data into input clusters of data points based upon the cluster centroids; performing a merge-split clustering algorithm on the input clusters, wherein the merge-split clustering algorithm comprises; determining if there are any input clusters that are similar to each other; merging the similar clusters if there are any input clusters similar to each other; dividing any non-merged input clusters into split clusters if the split clusters would not be similar to each other; and repeating the determining, merging, and dividing using the merged, divided, and remaining unmerged and undivided clusters as input clusters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
an interface; and one or more processors configured to; store data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used; randomly initialize a set number of cluster centroids; perform an initial clustering algorithm to cluster the data into input clusters of data points based upon the cluster centroids; perform a merge-split clustering algorithm on the input clusters, wherein the merge-split clustering algorithm comprises; determining if there are any input clusters that are similar to each other; merging the similar clusters if there are any input clusters similar to each other; dividing any non-merged input clusters into split clusters if the split clusters would not be similar to each other; and repeating the determining, merging, and dividing using the merged, divided, and remaining unmerged and undivided clusters as input clusters. - View Dependent Claims (13)
-
-
14. A system for making recommendations to a user, the system comprising:
-
means for storing data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used, wherein context includes a situation in which the user and device were operating when the items were used; means for randomly initializing a set number of cluster centroids; means for performing an initial clustering algorithm to cluster the data into input clusters of data points based upon the cluster centroids; means for performing a merge-split clustering algorithm on the input clusters, wherein the merge-split clustering algorithm comprises; determining if there are any input clusters that are similar to each other; merging the similar clusters if there are any input clusters similar to each other; dividing any non-merged input clusters into split clusters if the split clusters would not be similar to each other; and repeating the determining, merging, and dividing using the merged, divided, and remaining unmerged and undivided clusters as input clusters; a computer processor configured to interact with the means for storing, means for performing an initial clustering algorithm, and means for performing a merge-split algorithm and to perform calculations based on input therefrom, providing results. - View Dependent Claims (15, 16)
-
-
17. A non-transitory storage device readable by a machine tangibly embodying a program of instructions executable by the machine to perform a method for making recommendations to a user, the method comprising:
-
storing data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used, wherein context includes a situation in which the user and device were operating when the items were used; randomly initializing a set number of cluster centroids; performing an initial clustering algorithm to cluster clustering the data into input clusters of data points based upon the cluster centroids; performing a merge-split clustering algorithm on the input clusters, wherein the merge-split clustering algorithm comprises; determining if there are any input clusters that are similar to each other;
merging the similar clusters if there are any input clusters similar to each other;dividing any non-merged input clusters into split clusters if the split clusters would not be similar to each other; and repeating the determining, merging, and dividing using the merged, divided, and remaining unmerged and undivided clusters as input clusters. - View Dependent Claims (18, 19)
-
Specification