Abstract:
Systems and methods are disclosed for factorizing high-dimensional data by simultaneously capturing factors for all data dimensions and their correlations in a factor model, wherein the factor model provides a parsimonious description of the data; and generating a corresponding loss function to evaluate the factor model.

Description:
The present application claims priority to Provisional Application Ser. No. 61/056,594 filed May 28, 2008, the content of which is incorporated by reference. 
    
    
     The present invention relates to processing high-dimensional data. 
     BACKGROUND 
     In many applications, data are of high dimension. How to analyze all the dimensions simultaneously for various applications such as personalized recommendation and summarization is a challenging issue. 
     Pairwise relationship exists in many applications and dyadic data analysis has been studied extensively by various researchers. For example, the well known Latent Semantic Indexing (LSI) focuses on dyadic data consisting of term-document pairs. However, in many applications, data are polyadic, i.e., they are of higher dimensions. Networked data are such an example: in a research paper corpus such as CiteSeer, an author, in an article on a specific topic, cites a reference. In this example, a data record is an author-topic-reference triple, i.e., with dimension of three. 
     Collaboratively tagging data is another example: in collaborating tagging systems such as Del.icio.us, a user assigns a set of tags to a given url (which corresponds to a Web page). Here data records are user-tag-url triples. Combining all aspects of the data into data analysis is a challenging issue and various approaches have been proposed for fusing information into a single framework. Most existing research work only analyzes pairwise relationship among different dimensions, and then combines the analysis results afterwards. Such an approach loses the higher order (higher than pairwise) dependency among various dimensions of data. 
     Some studies have used a set of concepts to capture all the pairwise relationship simultaneously. Because these approaches use the same concepts to represent all the pairwise relationship among various dimensions, they offer better performance than those approaches that consider the pairwise relationships independently. This second approach often gives better performance because it describes the real data using a more accurate model. However, this approach usually uses a linear combination to fuse all pairwise relationships. Such a linear combination is somewhat ad hoc—it is difficult to find a good intuition behind the coefficients as well as principled ways to set the values of the coefficients. 
     SUMMARY 
     In one aspect, systems and methods are disclosed for factorizing high-dimensional data by simultaneously capturing factors for all data dimensions and their correlations in a factor model; and generating a corresponding loss function to evaluate the factor model. 
     In another aspect, systems and methods are disclosed for factorizing high-dimensional data by simultaneously capturing factors for all data dimensions and their correlations in a factor model, wherein the factor model provides a parsimonious description of the data; and generating a corresponding loss function to evaluate the factor model. 
     In the preferred embodiment, the factor model simultaneously determines factors and their correlation to provide a more parsimonious description of the data and to provide insights about the data. Minimizing the associated loss can derive the parameter of the model which implies the factorization results accordingly. 
     Advantages of the preferred embodiment may include one or more of the following. This system can produce factors with higher quality than those produced by considering only pairwise relationship. These factors together with their correlation can be used for personalized recommendation, clustering, summarization, among others. Potential applications to the factor model include: extracting and monitoring coherent groups of people and topics, ranking and recommending important people and documents, or summarizing and visualizing data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The system will be readily discerned from the following detailed description of an exemplary embodiments thereof especially when read in conjunction with the accompanying drawing in which like parts bear like numerals throughout the several views. 
         FIG. 1  shows an exemplary process to factorize high-dimensional data into factors in each dimension as well as the correlation among factors in different dimensions. 
         FIG. 2  shows an exemplary process to factorize the data tensor. 
     
    
    
     DESCRIPTION 
       FIG. 1  shows an exemplary process to factorize high-dimensional data into factors in each dimension as well as the correlation among factors in different dimensions. The process solves the problem by factorizing all the dimensions simultaneously. As a result, the higher-order correlations among different dimensions are kept. In addition, the correlation among factors in different dimensions is explicitly captured. This method uses a generative model to generate the data and translates the generative model into the problem of non-negative tensor factorization, where the objective is to minimize a certain loss between the observed data and the data predicted by the generative model. Such a loss includes Kullback-Leibler divergence and Frobenius tensor norm. We provide solution for both loss metrics. The minimization process results a set of matrices which represent the factors in different dimensions of the data. The minimization process also results a tensor that represents the correlations among the factors in different dimensions of data. 
     Turning now to  FIG. 1 , the input of this method is high-dimensional data ( 101 ). The system then constructs the data tensor from the input data ( 102 ). The data tensor is denoted by A, where each mode of A corresponds to a dimension of the input data. An index for a dimension can be either unordered, e.g., when the dimension corresponds to terms in a document, or ordered, e.g., when the dimension corresponds to the generation time of a document. Each entry of A represents the number of occurrences of a certain datum in the input data with a fixed set of indices in the dimensions. The system applies the factorization algorithms to the data tensor ( 103 ). This procedure is detailed in  FIG. 2 . 
     Next, the factors in different dimensions of the data and the correlation among the factors ( 104 ). These are the output obtained by using the factorization algorithms ( 103 ). The factors can be interpreted as the probabilistic distribution for a given concept for a given dimension. The correlation captures the relationship among different concepts in all the dimensions. The system can apply recommendation algorithms that take advantage of the factors and their correlation ( 105 ). The result of the recommendation can be generated ( 108 ). Clustering algorithms that take advantage of the factors and their correlation can also be applied ( 106 ) and clustering results are generated ( 109 ). The system also can execute summarization algorithms that take advantage of the factors and their correlation ( 107 ) and generates summarization results ( 110 ). 
     Referring now to  FIG. 2 , a process to factorize the data tensor is shown. The input of this process is the data tensor A from  102 , and the number of factors the user wants, the loss function and smoothing function that the user chooses ( 201 ). The process formulates a model Cx 1 X 1 x 2 X 2  . . . x N X N  where X 1 , . . . , X N  are the factors in the first, the second, . . . , and the N-th dimensions, C is the core tensor to capture the correlation among the factors X 1 , . . . , X N  ( 202 ). The entries of X 1 , . . . , X N  are nonnegative. The sum of each column of X 1 , . . . , X N  is one. The size of X i  depends on the size of the i-th dimension of A as well as the number of factors that the user wants in the i-th dimension. The entries of C are also nonnegative. The size of C depends on the number of factors that the user wants in all the dimensions. The loss between A and Cx 1 X 1 x 2 X 2  . . . x N X N  can be Kullback-Leibler divergence, or Frobenius tensor norm. Next, the process updates C to reduce the loss ( 203 ). More detail on the update formula is discussed below. The process then updates X 1 , . . . , X N  to reduce the loss, as discussed in more details below ( 204 ). Next, in  205 , the process repeat  203  and  204  until the loss converges. The process returns the core tensor C and the factors X 1 , . . . , X N  as the output of this procedure ( 206 ). 
     In one implementation, a simple factor model for analyzing polyadic data is used to capture the factors in all the dimensions simultaneously. In addition, the relationships among the factors in different dimensions are also captured. The model is an extension of the factor model proposed by Hofmann to higher-dimensional cases. In addition, when the KL-divergence is used, the proposed factor model is equivalent to the non-negative version of the Tucker model in tensor factorization. An EM-style iterative algorithm can be used for solving the non-negative tensor factorization (NTF) problem. Based on the probabilistic interpretation of the factor model, a discriminative version and a version that contains regularization on the sparseness of the results are described. Based on the NTF interpretation of the factor model, a version that uses Frobenius norm instead of the KL-divergence is used to measure the error. Efficient implementations of the algorithms take advantage of the sparseness of data and have provable time complexity linear (per iteration) in the number of data records in a dataset. 
     Potential applications to the factor model include:
         Extracting and monitoring coherent groups of people and topics   Ranking and recommending important people and documents   Summarizing and visualizing data       

     The factor model has been applied to the problem of personalized recommendation. The model is applied to collaborative tagging dataset (Delicious) and a paper citation dataset (CiteSeer) to demonstrate its effectiveness. For easy discussion, 3-dimensional data is used, although the proposed models apply to data of arbitrary dimensions. 
     In the CiteSeer data, each data record is an author-topic-reference triple. In total there are I authors, J topics, and K references in the dataset. There are L latent groups (factors) of authors. That is, an author belongs to these L groups with different probabilities. A random variable C′ to represent the L latent groups of authors. Similarly, there are M latent factors of topics and N latent factors of references, and random variables C″ and C′″ are used to represent them. It is worth noting that the cardinalities of C′, C″, and C′″ do not have to be identical. In the following discussion, i, j, and k represent the indices for author, topic, and reference, respectively. And l, m and n represent the indices for the factors of the author, topic, and reference, respectively. With these factors defined, each data record, i.e., each author-topic-reference triple a ijk , is generated in the following way: a factor c′ l  for author, a factor c″ m  for topic, and a factor c′″ n  for reference, with probability P(c′ l ,c″ m ,c′″ n ); an author i with probability P(i|c′ l ), a topic j with probability P(j|c″ m ), and a reference k with probability P(k|c′″ n ). To further simplify the notation, P(c′ l ,c″ m ,c′″ n ) is written as P(c lmn ) and P(i|c′ l ), P(j|c″ m ) and P(k|c′″ n ) as P(i|l), P(j|m), and P(k|n) respectively. 
     Then according to the generative model, the likelihood for an observed data record a ijk  is 
               ∑     l   ,   m   ,   n       ⁢       P   ⁡     (     c   lmn     )       ⁢     P   ⁡     (     i   |   l     )       ⁢     P   ⁡     (     j   |   m     )       ⁢       P   ⁡     (     k   |   n     )       .             
To obtain the final model, the maximum likelihood estimation is determined for the parameters P(c lmn ), P(i|l), P(j|m), and P(k|n). P(i|l) can be written as an I×L matrix X, P(j|m) as a J×M matrix Y, and P(k|n) as a K×N matrix Z. Also if P(c lmn ) is written as C lmn , then under the multinomial model the MLE problem becomes
 
     
       
         
           
             
               
                 
                   
                     
                       arg 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       max 
                     
                     
                       X 
                       , 
                       Y 
                       , 
                       Z 
                       , 
                       C 
                     
                   
                   ⁢ 
                   
                     
                       ∏ 
                       
                         i 
                         , 
                         j 
                         , 
                         k 
                       
                     
                     ⁢ 
                     
                       
                         
                           [ 
                           
                             
                               ∑ 
                               
                                 l 
                                 , 
                                 m 
                                 , 
                                 n 
                               
                             
                             ⁢ 
                             
                               
                                 C 
                                 lmn 
                               
                               ⁢ 
                               
                                 X 
                                 il 
                               
                               ⁢ 
                               
                                 Y 
                                 jm 
                               
                               ⁢ 
                               
                                 Z 
                                 kn 
                               
                             
                           
                           ] 
                         
                         
                           a 
                           ijk 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     The probabilistic generative model in the previous section is then connected with the non-negative version of the Tucker tensor factorization. For this purpose, the generative model is interpreted in a slightly different way. Assume that each author i is encoded with an L-dimensional vector {right arrow over (x)} i εR +   L , where R +  represents all non-negative real numbers, each topic j is encoded by {right arrow over (y)} j εR +   M  and each reference k by {right arrow over (z)} k εR +   N . In addition, a ijk  is approximated by a function of ƒ({right arrow over (x)} i {circle around (x)}{right arrow over (y)} j {circle around (x)}{right arrow over (z)} k ) that belongs to a family of functions F. The best encoding, in terms of {right arrow over (x)} i , {right arrow over (y)} j , {right arrow over (z)} k  and ƒ, is determined that minimizes the following error: 
             error   =       ∑     i   ,   j   ,   k       ⁢       dist   ⁡     (       a   ijk     ,     f   ⁡     (         x   →     i     ⊗       y   →     j     ⊗       z   →     k       )         )       .             
Next, the system determines which family of function F to choose from and what the distance function is. For the first question, the family of linear functions, i.e., ƒ {right arrow over (c)} ({right arrow over (x)} i {circle around (x)}{right arrow over (y)} j {circle around (x)}{right arrow over (z)} k )=           {circle around (x)}{right arrow over (c)},{right arrow over (x)} i {circle around (x)}{right arrow over (y)} j {circle around (x)}{right arrow over (z)} k           , where          •,•          represents the vector inner product, is used. For the second question, the KL-divergence between a ijk  and ƒ({right arrow over (x)} i {circle around (x)}{right arrow over (y)} j {circle around (x)}{right arrow over (z)} k ) is used, where

     
       
         
           
             
               
                 
                   
                     KL 
                     ⁡ 
                     
                       ( 
                       
                         
                           p 
                           → 
                         
                         || 
                         
                           q 
                           → 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∑ 
                         i 
                       
                       ⁢ 
                       
                         
                           p 
                           i 
                         
                         ⁢ 
                         log 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             p 
                             i 
                           
                           
                             q 
                             i 
                           
                         
                       
                     
                     - 
                     
                       
                         ∑ 
                         i 
                       
                       ⁢ 
                       
                         p 
                         i 
                       
                     
                     + 
                     
                       
                         ∑ 
                         i 
                       
                       ⁢ 
                       
                         
                           q 
                           i 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     The above formula is rewritten in the terminology of tensors. Data is placed into a data tensor AεR +   I×J×K  where (A) ijk =a ijk . The vectors {right arrow over (x)} i &#39;s are concatenated to a matrix XεR +   I×L  where each row of X is the transpose of {right arrow over (x)} i . Similarly {right arrow over (y)} j &#39;s and {right arrow over (z)} k &#39;s are concatenated into matrices YεR +   J×M  and ZεR +   K×N . Furthermore, {right arrow over (c)} is folded into a tensor CεR +   L×M×N  with (C) lmn ={right arrow over (c)} (l-1)MN+(m-1)N+n , with C being the core tensor. After the concatenation and the folding, ƒ {right arrow over (c)} ({right arrow over (x)} i {circle around (x)}{right arrow over (y)} j {circle around (x)}{right arrow over (z)} k )=(Cx 1 Xx 2 Yx 3 Z) ijk . Then the problem of best encoding becomes finding the best approximation, in terms of X, Y, Z, and C, that minimizes the following error
 
error KL   =KL ( A∥Cx   1   Xx   2   Yx   3   Z )  (3)
 
where x 1 , x 2 , and x 3  are the mode-1, mode-2, and mode-3 multiplication of the tensor C by the matrices X, Y, and Z, respectively. Please refer [?] for details.
 
     Because Cx 1 Xx 2 Yx 3 Z=(Cx 1 Q X x 2 Q Y x 3 Q Z )x 1 (XQ X   T )x 2 (YQ Y   T )x 3 (ZQ Z   T ) for arbitrary orthogonal matrices Q X , Q Y , and Q Z , to make the problem well posed, additional constraints are added that each column of X, Y, and Z must sums to one. Under these constraints, the problem of minimizing the error in Equation (3) is equivalent to the problem of MLE described by Equation (1). This can be seen by rewriting the MLE problem in Equation (1) as the problem maximizing the log likelihood, 
     
       
         
           
             
               
                 
                   
                     
                       arg 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       max 
                     
                     
                       X 
                       , 
                       Y 
                       , 
                       Z 
                       , 
                       C 
                     
                   
                   ⁢ 
                   
                     
                       ∑ 
                       
                         i 
                         , 
                         j 
                         , 
                         k 
                       
                     
                     ⁢ 
                     
                       
                         a 
                         ijk 
                       
                       ⁢ 
                       
                         
                           log 
                           [ 
                           
                             
                               ∑ 
                               
                                 l 
                                 , 
                                 m 
                                 , 
                                 n 
                               
                             
                             ⁢ 
                             
                               
                                 C 
                                 lmn 
                               
                               ⁢ 
                               
                                 X 
                                 il 
                               
                               ⁢ 
                               
                                 Y 
                                 jm 
                               
                               ⁢ 
                               
                                 Z 
                                 kn 
                               
                             
                           
                           ] 
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     Next, the KL-divergence in Equation (3) is expanded. To avoid notation clutters, D=Cx 1 Xx 2 Yx 3 Z to arrive at: 
     
       
         
           
             
               
                 
                   
                     error 
                     KL 
                   
                   = 
                     
                   ⁢ 
                   
                     KL 
                     ⁡ 
                     
                       ( 
                       
                         A 
                         || 
                         
                           C 
                           ⁢ 
                           
                             × 
                             1 
                           
                           ⁢ 
                           X 
                           ⁢ 
                           
                             × 
                             2 
                           
                           ⁢ 
                           Y 
                           ⁢ 
                           
                             × 
                             3 
                           
                           ⁢ 
                           Z 
                         
                       
                       ) 
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     
                       
                         ∑ 
                         
                           i 
                           , 
                           j 
                           , 
                           k 
                         
                       
                       ⁢ 
                       
                         
                           a 
                           ijk 
                         
                         ⁢ 
                         log 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           a 
                           ijk 
                         
                       
                     
                     - 
                     
                       
                         a 
                         ijk 
                       
                       ⁢ 
                       log 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         d 
                         ijk 
                       
                     
                     - 
                     
                       
                         ∑ 
                         
                           i 
                           , 
                           j 
                           , 
                           k 
                         
                       
                       ⁢ 
                       
                         a 
                         ijk 
                       
                     
                     + 
                     
                       
                         ∑ 
                         
                           i 
                           , 
                           j 
                           , 
                           k 
                         
                       
                       ⁢ 
                       
                         
                           d 
                           ijk 
                         
                         . 
                       
                     
                   
                 
               
             
           
         
       
     
     Several observations can be obtained from the above equation. A necessary condition for a solution D to minimize error KL  is that 
                 ∑     i   ,   j   ,   k       ⁢     a   ijk       =       ∑     i   ,   j   ,   k       ⁢       d   ijk     .             
This also implies that a necessary condition for an optimal solution is that
 
                   ∑     i   ,   j   ,   k       ⁢     a   ijk       =       ∑     l   ,   m   ,   n       ⁢     c   lmn         ,         
because of the constraints on X, Y, and Z. Second, A can be scaled so that
 
                 ∑     i   ,   j   ,   k       ⁢     a   ijk       =   1         
without changing the optimization problem. Similarly, because Equation (4) can be multiplied by a constant without affecting the MLE problem, without loss of generality,
 
                 ∑     i   ,   j   ,   k       ⁢     a   ijk       =   1.         
As a result, minimizing error KL  is equivalent to maximizing
 
     
       
         
           
             
               ∑ 
               
                 i 
                 , 
                 j 
                 , 
                 k 
               
             
             ⁢ 
             
               
                 a 
                 ijk 
               
               ⁢ 
               log 
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   d 
                   ijk 
                 
                 . 
               
             
           
         
       
     
     Due to the equivalence between the MLE problem and the NTF problem, the NTF problem can be solved in order to obtain a solution to the MLE problem. An iterative update algorithm can be used for solving the NTF problem. The problems is defined as the following. For a given tensor AεR +   I×J×K , Cx 1 Xx 2 Yx 3 Z is used to approximate A where CεR +   L×M×N , XεR +   I×L , YεR +   J×M , and ZεR +   K×N , and the columns of X, Y and Z all sum to ones, so that the error defined in Equation (3) is minimized. 
     For a given AεR +   I×J×K , another tensor B is defined as
 
 B   ijk   =A   ijk /( Cx   1   Xx   2   Yx   3   Z ) ijk   (5)
 
Then the following update rules are guaranteed to converge to an optimal solutions to the objective function defined in Eq. (3).
 
 C   lmn   ←C   lmn ( Bx   1   X   T   x   2   Y   T   x   3   Z   T ) lmn   (6)
 
 X   il   ←X   il ( B   (1) ( Y{circle around (x)}Z ) C   (1)   T ) il   (7)
 
 Y   jm   ←Y   jm ( B   (2) ( Z{circle around (x)}X ) C   (2)   T ) jm   (8)
 
 Z   kn   ←Z   kn ( B   (3) ( X{circle around (x)}Y ) C   (3)   T ) kn   (9)
 
     and normalize s.t. columns of X, Y, Z sum to ones. 
     Many applications need to address certain conditional probabilities. For example, the task of reference recommendation needs to address the conditional probability for a reference to be recommended given that the author and the topic are known. A discriminative model can be built for the conditional probability to be captured. That is, the MLE problem is given by 
     
       
         
           
             
               
                 
                   
                     
                       arg 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       max 
                     
                     
                       X 
                       , 
                       Y 
                       , 
                       Z 
                       , 
                       C 
                     
                   
                   ⁢ 
                   
                     
                       ∏ 
                       
                         i 
                         , 
                         j 
                         , 
                         k 
                       
                     
                     ⁢ 
                     
                       
                         
                           [ 
                           
                             
                               
                                 a 
                                 ~ 
                               
                               jk 
                             
                             ⁢ 
                             
                               
                                 ∑ 
                                 
                                   l 
                                   , 
                                   m 
                                   , 
                                   n 
                                 
                               
                               ⁢ 
                               
                                 
                                   P 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       
                                         l 
                                         | 
                                         m 
                                       
                                       , 
                                       n 
                                     
                                     ) 
                                   
                                 
                                 ⁢ 
                                 
                                   P 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       i 
                                       | 
                                       l 
                                     
                                     ) 
                                   
                                 
                                 ⁢ 
                                 
                                   P 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       m 
                                       | 
                                       j 
                                     
                                     ) 
                                   
                                 
                                 ⁢ 
                                 
                                   P 
                                   ⁡ 
                                   
                                     ( 
                                     
                                       n 
                                       | 
                                       k 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           ] 
                         
                         
                           a 
                           ijk 
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
     where ã jk  is the empirical marginal distribution and is not related to the parameters to be estimated. It can be shown that such a discriminative framework can be solve by using the original algorithm with some minor revision:
 
 B   ijk   =A   ijk /( Cx   1   Xx   2   Yx   3   Z ) ijk   (11)
 
 C   lmn   ←C   lmn ( Bx   1   X   T   x   2   Y   T   x   3   Z   T ) lmn   (12)
 
 X   il   ←X   il   B   (1) ( Y{circle around (x)}Z ) C   (1)   T ) il   (13)
 
 Y   jm   ←Y   jm ( B   (2) ( Z{circle around (x)}X ) C   (2)   T ) jm   (14)
 
 Z   kn   ←Z   kn ( B   (3) ( X{circle around (x)}Y ) C   (3)   T ) kn   (15)
 
     and normalize s.t. rows of X sum to ones and columns of Y, Z sum to ones. 
     In another embodiment, the system considers the maximum a posteriori (MAP) estimation for the basic probabilistic model. For example, the Dirichlet distribution can be used as the prior distribution of the parameters. 
     The prior of each row of X is a Dirichlet distribution with hyper-parameter α X &gt;0 for all event. The logarithm of prior probability is 
                 ln   ⁢           ⁢     P   ⁡     (   X   )         =         (       α   X     -   1     )     ⁢       ∑   il     ⁢     ln   ⁢           ⁢     X   il           +     c   X         ,         
where c X  is a value irrelevant to X.
 
     Similarly, the prior for Y, Z and C is assume to be Dirichlet distribution with hyper-parameters α Y , α Z  and α C  respectively. The logarithm of prior probabilities are 
     
       
         
           
             
               
                 ln 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     Y 
                     ) 
                   
                 
               
               = 
               
                 
                   
                     ( 
                     
                       
                         α 
                         Y 
                       
                       - 
                       1 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       ∑ 
                       jm 
                     
                     ⁢ 
                     
                       ln 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         Y 
                         jm 
                       
                     
                   
                 
                 + 
                 
                   c 
                   Y 
                 
               
             
             , 
             
               
 
             
             ⁢ 
             
               
                 ln 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     Z 
                     ) 
                   
                 
               
               = 
               
                 
                   
                     ( 
                     
                       
                         α 
                         Z 
                       
                       - 
                       1 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       ∑ 
                       kn 
                     
                     ⁢ 
                     
                       ln 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         Z 
                         kn 
                       
                     
                   
                 
                 + 
                 
                   c 
                   Z 
                 
               
             
             , 
             
               
 
             
             ⁢ 
             
               
                 ln 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     C 
                     ) 
                   
                 
               
               = 
               
                 
                   
                     ( 
                     
                       
                         α 
                         C 
                       
                       - 
                       1 
                     
                     ) 
                   
                   ⁢ 
                   
                     
                       ∑ 
                       lmn 
                     
                     ⁢ 
                     
                       ln 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         C 
                         lmn 
                       
                     
                   
                 
                 + 
                 
                   
                     c 
                     Z 
                   
                   . 
                 
               
             
           
         
       
     
     The logarithm loss of the MAP estimation is that of MLE plus the logarithm of prior probabilities. Therefore,
 
error MAP :=error KL −ln  P ( X )−ln  P ( Z )−ln  P ( C ).
 
     The following update rules are guaranteed to converge to an optimal solutions to the objective function.
 
 C   lmn   ←[C   lmn ( Bx   1   X   T   x   2   Y   T   x   3   Z   T ) lmn +(α C −1)] + ,
 
 X   il   ←└X   il ( B   (1) ( Y{circle around (x)}Z ) C   (1)   T ) il +(α X −1)┘ + ,
 
 Y   jm   ←└Y   jm ( B   (2) ( Z{circle around (x)}X ) C   (2)   T ) jm +(α T −1)┘ + ,
 
 Z   kn   ←└Z   kn ( B   (3) ( X{circle around (x)}Y ) C   (3)   T ) kn +(α Z −1)┘ + .
 
and normalize s.t. columns of X, Y, Z sum to ones.
 
     When α is greater than one, the corresponding variables tends to be non-zeros, and when α is less than one, the corresponding variables tends to be sparse. 
     In some cases, certain prior knowledge is available and the factors can be a convex combination of the prior knowledge (the vectors that encode this prior knowledge is called the base vectors). For example, if a dimension represents the timeline and the temporal factors need to be smooth, then one way to incorporate such prior knowledge is to restrict the temporal factors to be a convex combination of some smooth splines. Assuming X B εR +   I×L′ , Y B εR +   J×M′ , and Z B εR +   K×N′  being the base vectors, where each column of these base vectors sums to 1. Then the problem becomes to minimize
 
error KL   =KL ( A∥Cx   1 ( X   B   X ) x   2 ( Y   B   Y ) x   3 ( Z   B   Z ))  (16)
 
where CεR +   L×M×N , XεR +   L′×L , YεR +   M′×M , and ZεR +   N′×N . It can be shown that the following update algorithm solves this problem.
 
 B   ijk   ←A   ijk /( Cx   1 ( X   B   X ) x   2 ( Y   B   Y ) x   3 ( Z   B   Z )) ijk   (17)
 
 C   lmn   ←C   lmn ( Bx   1 ( X   B   X ) T   x   2 ( Y   B   Y ) T   x   3 ( Z   B   Z ) T ) lmn   (18)
 
 X   il   ←X   il ( X   B   T   B   (1) (( Y   B   Y ){circle around (x)}( Z   B   Z )) C   (1)   T ) il   (19)
 
 Y   jm   ←Y   jm ( Y   B   T   B   (2) (( Z   B   Z ){circle around (x)}( X   B   X )) C   (2)   T ) jm   (20)
 
 Z   kn   ←Z   kn ( Z   B   T   B   (3) (( X   B   X ){circle around (x)}( Y   B   Y )) C   (3)   T ) kn   (21)
 
     and normalize s.t. columns of X, Y, Z sum to ones. 
     From the NTF interpretation of the model, a matrix (tensor) norm can be used instead of the KL-divergence for measuring the error. For example, if the Frobenius norm is used, then the problems is defined as the following. For a given tensor AεR +   I×J×K , Cx 1 Xx 2 Yx 3 Z to approximate A where CεR +   L×M×N , XεR +   I×L , YεR +   J×M , and ZεR +   K×N , and the columns of X, Y and Z all sum to ones, so that the following error is minimized:
 
error F   =∥A−Cx   1   Xx   2   Yx   3   Z∥   F   2   (22)
 
where for a tensor A:
 
     
       
         
           
             
               
                  
                 A 
                  
               
               F 
               2 
             
             = 
             
               
                 〈 
                 
                   A 
                   , 
                   A 
                 
                 〉 
               
               = 
               
                 
                   ∑ 
                   
                     i 
                     , 
                     j 
                     , 
                     k 
                   
                 
                 ⁢ 
                 
                   
                     a 
                     ijk 
                     2 
                   
                   . 
                 
               
             
           
         
       
     
     For a given AεR +   I×J×K , then the following update rules are guaranteed to converge to an optimal solutions to the objective function defined in Eq. (22). 
     
       
         
           
             
               
                 
                   
                     
                       C 
                       lmn 
                     
                     ← 
                     
                       
                         C 
                         lmn 
                       
                       ⁢ 
                       
                         
                           
                             ( 
                             
                               A 
                               ⁢ 
                               
                                 × 
                                 1 
                               
                               ⁢ 
                               
                                 X 
                                 T 
                               
                               ⁢ 
                               
                                 × 
                                 2 
                               
                               ⁢ 
                               
                                 Y 
                                 T 
                               
                               ⁢ 
                               
                                 × 
                                 3 
                               
                               ⁢ 
                               
                                 Z 
                                 T 
                               
                             
                             ) 
                           
                           lmn 
                         
                         
                           
                             ( 
                             
                               C 
                               ⁢ 
                               
                                 × 
                                 1 
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     X 
                                     T 
                                   
                                   ⁢ 
                                   X 
                                 
                                 ) 
                               
                               ⁢ 
                               
                                 × 
                                 2 
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     Y 
                                     T 
                                   
                                   ⁢ 
                                   Y 
                                 
                                 ) 
                               
                               ⁢ 
                               
                                 × 
                                 3 
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   
                                     Z 
                                     T 
                                   
                                   ⁢ 
                                   Z 
                                 
                                 ) 
                               
                             
                             ) 
                           
                           lmn 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       X 
                       il 
                     
                     ← 
                     
                       
                         X 
                         il 
                       
                       ⁢ 
                       
                         
                           
                             ( 
                             
                               
                                 
                                   A 
                                   
                                     ( 
                                     1 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     Y 
                                     ⊗ 
                                     Z 
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   1 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           il 
                         
                         
                           
                             ( 
                             
                               
                                 
                                   XC 
                                   
                                     ( 
                                     1 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       ( 
                                       
                                         
                                           Y 
                                           T 
                                         
                                         ⁢ 
                                         Y 
                                       
                                       ) 
                                     
                                     ⊗ 
                                     
                                       ( 
                                       
                                         
                                           Z 
                                           T 
                                         
                                         ⁢ 
                                         Z 
                                       
                                       ) 
                                     
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   1 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           il 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   24 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       Y 
                       jm 
                     
                     ← 
                     
                       
                         Y 
                         jm 
                       
                       ⁢ 
                       
                         
                           
                             ( 
                             
                               
                                 
                                   A 
                                   
                                     ( 
                                     2 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     Z 
                                     ⊗ 
                                     X 
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   2 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           jm 
                         
                         
                           
                             ( 
                             
                               
                                 
                                   YC 
                                   
                                     ( 
                                     2 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       ( 
                                       
                                         
                                           Z 
                                           T 
                                         
                                         ⁢ 
                                         Z 
                                       
                                       ) 
                                     
                                     ⊗ 
                                     
                                       ( 
                                       
                                         
                                           X 
                                           T 
                                         
                                         ⁢ 
                                         X 
                                       
                                       ) 
                                     
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   2 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           jm 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       Z 
                       kn 
                     
                     ← 
                     
                       
                         Z 
                         kn 
                       
                       ⁢ 
                       
                         
                           
                             ( 
                             
                               
                                 
                                   A 
                                   
                                     ( 
                                     3 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     X 
                                     ⊗ 
                                     Y 
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   3 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           kn 
                         
                         
                           
                             ( 
                             
                               
                                 
                                   ZC 
                                   
                                     ( 
                                     3 
                                     ) 
                                   
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       ( 
                                       
                                         
                                           X 
                                           T 
                                         
                                         ⁢ 
                                         X 
                                       
                                       ) 
                                     
                                     ⊗ 
                                     
                                       ( 
                                       
                                         
                                           Y 
                                           T 
                                         
                                         ⁢ 
                                         Y 
                                       
                                       ) 
                                     
                                   
                                   ) 
                                 
                               
                               ⁢ 
                               
                                 C 
                                 
                                   ( 
                                   3 
                                   ) 
                                 
                                 T 
                               
                             
                             ) 
                           
                           kn 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   26 
                   ) 
                 
               
             
           
         
       
     
     and normalize s.t. columns of X, Y, Z sum to ones. 
     In the following discussion, without loss of generality, it is assumed that L≧M≧N and I≧J≧K. In addition, there are nz data records in the dataset, which implies that there are nz non-zero entries in the data tensor A. 
     A naive implementation of the update algorithms will expand Cx 1 Xx 2 Yx 3 Z, which turns out to be a dense tensor in R +   I×J×K . Because such a dense tensor contains IJK entries, it is impractical to make such an explicit expansion (e.g., consider a dataset with 10K authors, 10K keywords, and 10K references, where IJK=1 trillion). The implementation of  FIG. 1  takes advantage of the sparseness of the dataset and has a (per iteration) time complexity that is linear in nz, the number of non-zero entries in the raw data tensor A. Assuming the data is stored in the format of            key1,key2,key3,value         , where key1,key2 and key3 are the indices of the data record in the first, second, and third dimensions, respectively; value is the value of the data record, which can be, for example, the number of times that an author cite a reference on a topic. In the first step of the algorithm, the data is sorted according to key1 as the major key and then key2 and then key3 as the minor keys. This sorting takes time linear in nz because the keys are integers with known bound and therefore linear sorting, such as bucket sort, can be applied. In addition, to simplify the discussion, it is assumed that          key1,key2,key3          is a primary (unique) key for the data records.
     As an example, a process for computing B in Equation (5) is discussed next. Other computations can be conducted in a similar fashion. First, the implementation is a lazy one where only the absolute necessary computations are performed. In such a lazy fashion, the implementation takes advantage of the sparseness of the data. The second key idea of the implementation is that the computations are carefully ordered in a way such that repeated computations are minimized. 
                                         input: data records &lt;key1,key2,key3,value&gt;              output: B            i ← −1, j ← −1 ;            for each data record &lt;key1,key2,key3,value&gt; do            if i ≠ key1             i ← key1, j ← −1 ;             D ← fold(X row     i    · C (1) );            if j ≠ key2             j ← key2 ;               d  ← Y row     j    · D ;            b ijk  ← value/(d·Z row     k     T );            return B ;                    
In the algorithm, D is an M×N matrix and {right arrow over (d)} is a vector of length N. Note that fold(•) is a function for folding a vector into a matrix. It is not necessary and is used here only for illustration purpose. One additional good property of this implementation is that since data records are accessed sequentially, the algorithm can be easily parallelized.
 
     One of the applications of the factor model is to make personalized recommendation. However, one request for this application is fast recommendation, because very often recommendations are made in real time and where long time delay is unacceptable. 
     In one embodiment, Fagin&#39;s algorithm is adopted for fast recommendation by taking advantage of the skewness of the data. As A:Cx 1 Xx 2 Yx 3 Z and so for a keyword j, a given author k, the scores for the references are X·C (1) (Y row     j     T {circle around (x)}Z row     k     T ). The system does not need to compute all the elements of X·C (1) (Y row     j     T {circle around (x)}Z row     k     T ) in order to make correct top-K recommendations. 
     For a monotonic function, Fagin&#39;s algorithm can be used to compute top-K answers without computing all scores. A function ƒ(x,y,z, . . . ) monotonic if {x 1 ≧x 0 , y 1 ≧y 0 , z 1 ≧z 0 , . . . }           ƒ(x 1 ,y 1 ,z 1 , . . . )≧ƒ(x 0 ,y 0 ,z 0 , . . . ). In the case, ƒ(X row     i   )=X row     i   ·C (1) (Y row     j     T {circle around (x)}Z row     k     T ) is a monotonic function because everything is non-negative.
     With the instant technique that takes prior knowledge as the base for the factorization, the prior knowledge can be used as some candidates for the summarization. Then by selecting the candidates corresponding to the largest values in the core tensor, the system can obtain summarizations for all the dimensions simultaneously. 
     The factors obtained by using the factorization method can be directly used for data analysis. For example, in the Blogosphere, bloggers cite each others on various topics at different time. So a data record in a blog dataset can be “blog A links to blog B on topic C at time D”, i.e., a &lt;A,B,C,D&gt; quadrable. For such a dataset, a large value in the core tensor together with the corresponding factors in different dimensions can represent an event that “certain group of bloggers form a community with certain structure on certain topic at certain time”. 
     The factors obtained by using the factorization method can also be used for personalized recommendation. For example, if the dataset consists of author-topic-reference triples, then for a given author and a given topic, the system can recommend references that are related to both the topic and the author&#39;s preference. 
     The factors obtained by using the factorization method naturally form clusters. An advantage of the method is that in addition to the clusters in various dimensions, which are represented by the factors in the corresponding dimensions, the method also gives the correlation among the clusters, which is represented by the core tensor. As a result, in addition to the overall clustering, the system can efficiently drill down into the clusters specific to certain subgroups. For example, the system can obtain clusters specific to an author community or specific to a time period by selecting the corresponding subsets of core tensor. 
     For summarization applications, prior knowledge can be set a candidates for summarization. By selecting candidates corresponding to largest values in the core tensor, the system can obtain summarization for all dimensions simultaneously. 
     The invention may be implemented in hardware, firmware or software, or a combination of the three. Preferably the invention is implemented in a computer program executed on a programmable computer having a processor, a data storage system, volatile and non-volatile memory and/or storage elements, at least one input device and at least one output device. 
     By way of example, a block diagram of a computer to support the system is discussed next. The computer preferably includes a processor, random access memory (RAM), a program memory (preferably a writable read-only memory (ROM) such as a flash ROM) and an input/output (I/O) controller coupled by a CPU bus. The computer may optionally include a hard drive controller which is coupled to a hard disk and CPU bus. Hard disk may be used for storing application programs, such as the present invention, and data. Alternatively, application programs may be stored in RAM or ROM. I/O controller is coupled by means of an I/O bus to an I/O interface. I/O interface receives and transmits data in analog or digital form over communication links such as a serial link, local area network, wireless link, and parallel link. Optionally, a display, a keyboard and a pointing device (mouse) may also be connected to I/O bus. Alternatively, separate connections (separate buses) may be used for I/O interface, display, keyboard and pointing device. Programmable processing system may be preprogrammed or it may be programmed (and reprogrammed) by downloading a program from another source (e.g., a floppy disk, CD-ROM, or another computer). 
     Each computer program is tangibly stored in a machine-readable storage media or device (e.g., program memory or magnetic disk) readable by a general or special purpose programmable computer, for configuring and controlling operation of a computer when the storage media or device is read by the computer to perform the procedures described herein. The inventive system may also be considered to be embodied in a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein. 
     The invention has been described herein in considerable detail in order to comply with the patent Statutes and to provide those skilled in the art with the information needed to apply the novel principles and to construct and use such specialized components as are required. However, it is to be understood that the invention can be carried out by specifically different equipment and devices, and that various modifications, both as to the equipment details and operating procedures, can be accomplished without departing from the scope of the invention itself. 
     Although specific embodiments of the present invention have been illustrated in the accompanying drawings and described in the foregoing detailed description, it will be understood that the invention is not limited to the particular embodiments described herein, but is capable of numerous rearrangements, modifications, and substitutions without departing from the scope of the invention. The following claims are intended to encompass all such modifications.