Patent Document ID: 7743058
Application ID: 11621848
Patent Flag: 1

Claim One:
1. A computing system for co-clustering of objects of heterogeneous types that include objects of a first type, objects of a second type, and objects of a central type, comprising: a memory storing computer-executable instructions for a component that receives a first joint distribution for objects of the first type and objects of the central type and a second joint distribution for objects of the second type and objects of the central type, the first joint distribution indicating a joint probability of objects of the first type and objects of the central type as rows and columns of a first probability matrix, the second joint distribution indicating a joint probability of objects of the second type and objects of the central type as rows and columns of a second probability matrix; a component that co-clusters objects of the first type and objects of the central type into clusters of objects of the first type and clusters of objects of the central type to minimize a difference between the first joint distribution and a distribution based on the clusters of objects of the first type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the first type and objects of the central type and mutual information of object clusters of objects of the first type and objects of the central type; a component that co-clusters objects of the second type and objects of the central type into clusters of objects of the second type and clusters of objects of the central type to minimize a difference between the second joint distribution and a distribution based on the clusters of objects of the second type and clusters of objects of the central type, wherein the difference is based on loss of mutual information between objects of the second type and objects of the central type and mutual information of object clusters of objects of the second type and objects of the central type; and a component that clusters objects of the central type based on the clusters of the objects of the first type and clusters of the objects of the second type; and a processor that executes the computer-executable instructions stored in the memory.