Patent ID: 8898172

Claim:
A method, comprising: extracting a word-topic matrix from a set of one or more documents using one or more document processors and a plurality of matrix processors, the word-topic matrix including a plurality of topics of the set of one or more documents, wherein: each of the topics is defined at least in part by one or more words of a word set, each of the one or more words being associated with a respective probability, the word set comprising words from a word index of the set of one or more documents; the word-topic matrix is defined at least in part by a first dimension corresponding to the one or more topics and a second dimension corresponding to the word set; words in the word set are allocated to the plurality of matrix processors by: determining a weight of each word in the word set by determining a number of document processors on which the word resides, determining a load of each of the plurality of matrix processors, sorting the words in the word set according to weights of the words, and iteratively allocating a word having a largest weight to a matrix processor having a least load; the matrix processors include: a first matrix processor programmed to store and process a first portion of the word-topic matrix corresponding to a first subset of the word set; and a second matrix processor programmed to store and process a second portion of the word-topic matrix corresponding to a second subset of the word set, the second subset of the word set being different from the first subset; and each of the one or more document processors is programmed to perform topic extraction operations in parallel to matrix exchange operations, wherein: the topic extraction operations comprise sampling the set of one or more documents for one or more first topics using the first portion of the word-topic matrix stored at the first matrix processor; and the matrix exchange operations comprise at least one of: fetching, from the second matrix processor, the second portion of the word-topic matrix to be used in sampling the set of one or more documents for one or more second topics; or upon extraction of at least one second topic where the extracted second topic corresponds to a word in the second subset, requesting the second matrix processor to update the second portion of the word-topic matrix using the extracted second topic.