文檔主題的并行生成的制作方法
【專利摘要】用于增強的并行隱含狄利克雷分布(PLDA+)的方法、系統和設備,包括被編碼在計算機存儲介質上的計算機程序。PLDA+系統是多個處理器的系統,該多個處理器被配置成生成多個文檔的主題。多個處理器被指定為兩種類型:文檔處理器和矩陣處理器。在文檔處理器之間分配文檔。在矩陣處理器之間分配所生成的主題。在文檔處理器和矩陣處理器上執行的任務被分成兩種類型的任務:計算綁定任務和通信綁定任務。計算綁定任務是CPU密集型任務;通信綁定任務是網絡密集型任務。采用數據布置和流水線策略,使得計算綁定任務和通信綁定任務以均衡方式被分發給各處理器,并且被并行執行。
【專利說明】文檔主題的并行生成
【技術領域】
[0001]本說明書涉及文檔處理。
【背景技術】
[0002]電子文檔可以具有一個或更多個主題。計算機可以使用一種被稱為主題模型的統計模型從電子文檔中自動提取一個或更多個主題。示例主題模型為隱含狄利克雷分布(LDA)0根據LDA,主題是詞的概率分布。例如,具有與詞斑貓(tabby)、貓叫(purr)和小貓(kitten)相關聯的指定的概率分布的主題可以是關于“貓”的主題。計算機可以分析電子文檔,包括例如計算如文檔中包括的詞斑貓、貓叫和小貓中的每個詞的概率分布。所計算的概率分布可以指示該電子文檔與主題“貓”相關聯的可能性。主題是抽象的。詞“貓”是抽象的主題的任意標簽。
[0003]在LDA中,每個文檔被建模為K個主題的混合,其中,每個主題k是關于W個詞的詞匯表的多項分布Φ,。對于任意文檔4,其主題矩陣Θ ^是使用參數α從狄利克雷先驗(Dirichlet prior)中得到的概率分布。對于d」中的每個第i個詞Xij,從Θ」中得到主題Zij = k,并且從Φ,中得到詞Xij。因此,由下式給出LDA的生成操作:
[0004]Θ j ~Dir ( α ), Φ k ~Dir ( β ), Zij = k ~Θ」,Xij ~Φ k, (I)
[0005]其中,Dir(*)表示狄利克雷分布;α和β各自是狄利克雷先驗。
【發明內容】
[0006]描述了增強的并行隱含狄利克雷分布(PLDA+)系統和方法。PLDA+系統是多個處理器的系統,多個處理器被配置成生成多`個文檔的主題。多個處理器被指定為兩種類型:文檔處理器和矩陣處理器。在該上下文中,術語“處理器”指代被配置成執行下面所描述的視情況而定由文檔處理器或矩陣處理器執行的動作的計算機。計算機可以被配置成借助使軟件、固件、硬件或其組合安裝在計算機上來執行這些動作,該軟件、固件、硬件或其組合在工作中使得系統執行這些動作。類似地,一個或更多個計算機程序可以被配置成借助包括指令來執行特定動作,在由一個或更多個計算機執行這些指令時使得計算機執行這些動作。
[0007]文檔在文檔處理器之間分配。生成的主題在矩陣處理器之間分配。在文檔處理器和矩陣處理器上執行的任務被分成兩種類型的任務:計算綁定任務和通信綁定任務。計算綁定任務是CPU密集型任務;通信綁定任務是網絡密集型任務。使用數據布置(dataplacement)和流水線策略(pipeline strategy),使得計算綁定任務和通信綁定任務以均衡方式被分發給處理器并且被并行執行。
[0008]一般地,本說明書中所描述的主題的一個方面可以用以下操作來實施,這些操作包括使用一個或更多個文檔處理器和多個矩陣處理器從一個或更多個文檔的集合提取詞-主題矩陣。詞-主題矩陣包括一個或更多個文檔的集合的多個主題。至少部分地由詞集中的一個或更多個詞來定義主題中的每個主題。一個或更多個詞中的每個詞與概率相關聯。根據一個或更多個文檔的集合的詞索引來創建詞集。至少部分地由與一個或更多個主題相對應的第一維度以及與詞集相對應的第二維度來定義詞-主題矩陣。
[0009]矩陣處理器包括至少第一矩陣處理器和第二矩陣處理器。第一矩陣處理器被配置成存儲和處理與詞集的第一子集相對應的詞-主題矩陣的第一部分。第二矩陣處理器被配置成存儲和處理與詞集的第二子集相對應的詞-主題矩陣的第二部分。
[0010]一個或更多個文檔處理器中的每個被配置成執行主題提取操作和矩陣交換操作。主題提取操作包括使用存儲在第一矩陣處理器處的詞-主題矩陣的第一部分來針對一個或更多個第一主題對一個或更多個文檔的集合進行采樣。第一主題可以包括一個或更多個文檔的集合的多個主題的至少一部分。矩陣交換操作包括獲取操作(fetching operation)或更新操作中的至少之一。獲取操作包括從第二矩陣處理器獲取待在針對一個或更多個第二主題對一個或更多個文檔的集合進行采樣時使用的詞-主題矩陣的第二部分。第二主題可以包括一個或更多個文檔的集合的多個主題的至少一部分,并且可以與第一主題相同或不同。更新操作包括:當提取到至少一個第二主題時,請求第二矩陣處理器使用所提取的第二主題來更新詞-主題矩陣的第二部分,其中所提取的第二主題對應于第二子集中的詞。[0011 ] 可選地,這些實施方式和其他實施方式可以包括下面的特征中的一個或更多個。這些操作還包括將詞集中的詞組織為循環隊列。一個或更多個文檔處理器包括多個處理器。操作還包括將多個文檔處理器中的第一文檔處理器配置成使用隊列的第一位置處的詞來開始執行主題提取操作;以及將多個文檔處理器中的第二文檔處理器配置成使用隊列的第二位置處的詞來開始執行主題提取操作,其中,第一位置不同于第二位置。
[0012]操作還可以包括根據加權輪詢調度(round robin schedule)將詞集中的詞分配給多個矩陣處理器。根據加權輪詢調度來對詞進行分配可以包括:確定詞集中的每個詞的權重;確定多個矩陣處理器中的每個處理器的負荷;根據詞的權重對詞集中的詞進行排序;以及迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。確定詞集中的每個詞的權重可以包括確定駐留有詞的文檔處理器的數量。確定多個矩陣處理器中的每個矩陣處理器的負荷可以包括確定該矩陣處理器上詞的權重之和。
[0013]操作還可以包括將一個或更多個文檔處理器中的每個文檔處理器配置成基于第一詞束(word bundle)和第二詞束執行主題提取操作。第一詞束可以對應于詞集的第一子集。第二詞束可以對應于詞集的第二子集。針對一個或更多個第一主題對一個或更多個文檔的集合進行采樣包括:對一個或更多個文檔的集合執行吉布斯采樣。
[0014]本說明書中所描述的主題的另一方面可以用以下操作來實施,這些操作包括將詞-主題矩陣的第一部分分配給第一矩陣處理器。詞-主題矩陣包括一個或更多個文檔的集合的多個主題。每個主題包括詞集中的一個或更多個詞。一個或更多個詞中的每個詞與相應概率相關聯。詞集包括來自一個或更多個文檔的集合的詞索引的詞。操作包括將詞-主題矩陣的第二部分分配給第二矩陣處理器。詞-主題矩陣的第二部分不同于詞-主題矩陣的第一部分。操作包括在文檔處理器上執行主題提取操作。文檔提取操作包括使用存儲在第一矩陣處理器處的詞-主題矩陣的第一部分來針對一個或更多個第一主題對一個或更多個文檔的集合進行采樣。操作包括在文檔處理器上并且與執行主題提取操作并行地執行矩陣交換操作。矩陣操作包括獲取操作或更新操作中的至少一個。獲取操作包括從第二矩陣處理器獲取要在針對一個或更多個第二主題對一個或更多個文檔的集合進行采樣時使用的詞-主題矩陣的第二部分。更新操作包括,當提取到至少一個第二主題時,請求第二矩陣處理器使用所提取的第二主題更新詞-主題矩陣中的第二部分,其中所提取的第二主題對應于第二子集中的詞。
[0015]本說明書中所描述的技術能夠減少常規并行隱含狄利克雷分布(PLDA)的通信瓶頸。更具體地,并行執行計算綁定任務和通信綁定任務以提高PLDA的性能。在并行處理中,計算綁定任務屏蔽(mask)通信綁定任務,使得通信綁定任務的處理時間并不對主題生成的總處理時間做出顯著貢獻。另外,本說明書中所描述的技術使得能夠在多個處理器之間實現靈活的負荷均衡,進一步增強了性能。另外,常規的主題提取方法,包括PLDA,經常將全部詞-主題計數保存在每個處理器的存儲器中。本說明書中所描述的技術將詞-主題矩陣分發給多個矩陣處理器,降低了每個處理器處的存儲器需求。
[0016]在附圖和下面的描述中對本說明書中所描述的主題的實施方式的細節進行闡述。該主題的其他特征、方面和優點將根據描述、附圖和權利要求而變得明顯。
【專利附圖】
【附圖說明】
[0017]圖1A是示出用于使用PLDA技術從文檔中提取主題的示例處理器的框圖。
[0018]圖1B是示出示例PLDA+系統的框圖。
[0019]圖2是示出數據布置技術的示例主題分布模式的框圖。
[0020]圖3A和圖3B是示出處理流水線技術的示例事件序列的圖。
[0021]圖4是示出PLDA+系統中的示例詞捆綁(word bundling)技術的圖。
[0022]圖5A和圖5B是示出PLDA+系統中的各個處理器處的數據布置的框圖。
[0023]圖6是示出示例PLDA+過程的流程圖。
[0024]圖7是示出用于執行基于流水線的吉布斯采樣的示例過程的流程圖。
[0025]圖8是示出PLDA+的通信方案的框圖。
[0026]圖9是示出在PLDA+系統中將處理器指定為文檔處理器或矩陣處理器的技術的框圖。
[0027]各個圖中的相似的附圖標記和命名指示相似的元件。
【具體實施方式】
[0028]圖1A是示出用于使用PLDA+技術從文檔中提取主題的示例處理器的框圖。在PLDA+中,利用多個處理器從文檔中提取主題。處理器102是多個處理器中的代表處理器。
[0029]在主題提取操作中,主題被表示為一個或更多個詞-主題矩陣。當利用多個處理器從文檔中提取主題時,傳統的PLDA技術通常具有兩個特征。每個處理器保存整個詞-主題矩陣。每個處理器向其他處理器發送整個詞-主題矩陣并且從其他處理器處接收整個詞-主題矩陣。相比之下,在PLDA+中,文檔和詞-主題矩陣分布在多個處理器處。在矩陣交換操作中,所分布的矩陣在處理器之間同步。PLDA+中的主題提取操作和矩陣交換操作并行執行,從而相比于這些操作串行執行的常規PLDA技術,提高了計算和通信效率。
[0030]處理器102被配置成從D個文檔中提取主題,其中D表示任意數字。D個文檔在P個處理器之間分配。作為P個處理器之一的處理器102保存大約D/P個文檔。D個文檔對應于文檔中的詞的詞匯表。詞匯表包括W個詞。處理器102存儲矩陣104,矩陣104表示D/P個文檔與W個詞之間的對應關系。矩陣104是(D/P) XW矩陣。[0031]處理器102也存儲詞-主題矩陣106。詞-主題矩陣106是表示K個主題與W個詞的詞匯表之間的對應關系的矩陣。詞-主題矩陣106是KXW矩陣,其中主題作為一個維度,詞作為另一維度。詞-主題矩陣106中的每個元素可以表示相應主題中的詞的計數。可以通過對于D/P個文檔的吉布斯采樣的多次迭代來構造詞-主題矩陣106。
[0032]在吉布斯采樣的每次迭代之后,本地詞-主題矩陣被全局同步。本地詞-主題矩陣包括在處理器102處本地存儲的詞-主題矩陣106。當詞-主題矩陣106與存儲在其他處理器上的矩陣同步時,詞-主題矩陣106被全局同步。
[0033]圖1B是示出示例PLDA+系統110的框圖。在PLDA+系統110中,利用數據布置和處理流水線技術相比于傳統的PLDA增強了分布式處理的性能。
[0034]從高等級來看,PLDA+系統110分部分地保存被分發給各個處理器的多個矩陣,以用于從文檔中提取主題。多個矩陣包括詞-主題矩陣和文檔-主題矩陣。詞-主題矩陣(也稱為詞-主題計數矩陣)被表示為CWOTd。詞-主題矩陣是具有如下多個元素的數據結構:其中,每個元素Cwk是被分配給主題k的詞W的數量。文檔-主題矩陣(也稱為文檔-主題計數矩陣)被表示為Cd'文檔-主題矩陣是如下具有多個元素的數據結構:其中,每個元素Ckj是被分配給文檔4的主題k的數量。另外,PLDA+系統110保存主題計數向量Ctt)pi%在向量Ctopie中,每個元素Ck是文檔集合(collection)中的主題k分配的數量。給定除了一個變量Zu之外的所有變量的當前狀態,其中Zij表示詞Xu的主題分配(xu是文檔4中的第i個詞),則2〃的條件概率為:
【權利要求】
1.一種方法,包括: 使用一個或更多個文檔處理器以及多個矩陣處理器從一個或更多個文檔的集合提取詞-主題矩陣,所述詞-主題矩陣包括所述一個或更多個文檔的集合的多個主題,其中:至少部分地由詞集中的一個或更多個詞來定義所述主題中的每個主題,所述一個或更多個詞中的每個詞與相應概率相關聯,所述詞集包括來自所述一個或更多個文檔的集合的詞索引的詞; 至少部分地由與所述一個或更多個主題相對應的第一維度以及與所述詞集相對應的第二維度來定義所述詞-主題矩陣; 所述矩陣處理器包括: 第一矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第一子集相對應的第一部分;以及 第二矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第二子集相對應的第二部分,所述詞集的所述第二子集不同于所述第一子集;并且 所述一個或更多個文檔處理器中的每個文檔處理器被編程成與矩陣交換操作并行地執行主題提取操作,其中: 所述主題提取操作包括使用所述詞-主題矩陣的被存儲在所述第一矩陣處理器處的所述第一部分來針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣;并且 所述矩陣交換操作包括以下操作中的至少之一: 從所述第二矩陣處理器獲取要在針對一個或更多個第二主題對所述一個或更多個文檔的集合進行采樣時使用的所述詞-主題矩陣的所述第二部分;或者 當提取到至少一個第二主題時,請求所述第二矩陣處理器使用所提取的第二主題更新所述詞-主題矩陣的所述第二部分,其中所提取的第二主題對應于所述第二子集中的詞。
2.根據權利要求1所述的方法,其中, 所述一個或更多個文檔處理器包括多個處理器;并且 所述方法還包括: 將所述詞集中的詞組織為循環隊列; 將所述多個文檔處理器中的第一文檔處理器配置成使用所述循環隊列的第一位置處的詞開始執行主題提取操作;以及 將所述多個文檔處理器中的第二文檔處理器配置成使用所述循環隊列的第二位置處的詞開始執行主題提取操作,其中所述第一位置不同于所述第二位置。
3.根據權利要求1所述的方法,還包括: 根據加權輪詢調度將所述詞集中的詞分配給所述多個矩陣處理器。
4.根據權利要求3所述的方法,其中,根據所述加權輪詢調度分配所述詞包括: 確定所述詞集中的每個詞的權重; 確定所述多個矩陣處理器中的每個矩陣處理器的負荷; 根據所述詞的權重對所述詞集中的所述詞進行排序;以及 迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。
5.根據權利要求4所述的方法,其中,確定所述詞集中的每個詞的權重包括確定駐留有所述詞的文檔處理器的數量。
6.根據權利要求5所述的方法,其中,確定所述多個矩陣處理器中的所述每個矩陣處理器的負荷包括確定所述矩陣處理器上詞的權重之和。
7.根據權利要求1所述的方法,還包括: 將所述一個或更多個文檔處理器中的每個文檔處理器配置成基于第一詞束和第二詞束執行主題提取操作,所述第一詞束對應于所述詞集的所述第一子集,所述第二詞束對應于所述詞集的所述第二子集。
8.根據權利要求1所述的方法,其中,針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣包括對所述一個或更多個文檔的集合執行吉布斯采樣。
9.一種系統,包括: 一個或更多個文檔處理器以及多個矩陣處理器,所述系統被配置成執行包括以下操作的操作: 使用所述一個或更多個文檔處理器以及所述多個矩陣處理器從一個或更多個文檔的集合提取詞-主題矩陣,所述詞-主題矩陣包括所述一個或更多個文檔的集合的多個主題,其中: 至少部分地由詞集中的一個或更多個詞來定義所述主題中的每個主題,所述一個或更多個詞中的每個 詞與概率相關聯,所述詞集包括來自所述一個或更多個文檔的集合的詞索引的詞; 至少部分地由與所述一個或更多個主題相對應的第一維度以及與所述詞集相對應的第二維度來定義所述詞-主題矩陣; 所述矩陣處理器包括: 第一矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第一子集相對應的第一部分;以及 第二矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第二子集相對應的第二部分;并且 所述一個或更多個文檔處理器中的每個文檔處理器被編程成執行主題提取操作和矩陣交換操作,所述主題提取操作與所述矩陣交換操作并行執行,其中: 所述主題提取操作包括使用所述詞-主題矩陣的被存儲在所述第一矩陣處理器處的所述第一部分來針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣;并且 所述矩陣交換操作包括以下操作中的至少之一: 從所述第二矩陣處理器獲取要在針對一個或更多個第二主題對所述一個或更多個文檔的集合進行采樣時使用的所述詞-主題矩陣的所述第二部分;或者 當提取到至少一個第二主題時,請求所述第二矩陣處理器使用所提取的第二主題更新所述詞-主題矩陣的所述第二部分,其中所提取的第二主題對應于所述第二子集中的詞。
10.根據權利要求9所述的系統,其中, 所述一個或更多個文檔處理器包括多個處理器;并且 所述方法還包括: 將所述詞集中的詞組織為循環隊列;將所述多個文檔處理器中的第一文檔處理器配置成使用所述循環隊列的第一位置處的詞開始執行主題提取操作;以及 將所述多個文檔處理器中的第二文檔處理器配置成使用所述循環隊列的第二位置處的詞開始執行主題提取操作,其中所述第一位置不同于所述第二位置。
11.根據權利要求9所述的系統,所述方法還包括根據加權輪詢調度將所述詞集中的詞分配給所述多個矩陣處理器。
12.根據權利要求11所述的系統,其中根據所述加權輪詢調度分配所述詞包括: 確定所述詞集中的每個詞的權重; 確定所述多個矩陣處理器中的每個矩陣處理器的負荷; 根據所述詞的權重對所述詞集中的所述詞進行排序;以及 迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。
13.根據權利要求12所述的系統,其中,確定所述詞集中的每個詞的權重包括確定駐留有所述詞的文檔處理器的數量。
14.根據權利要求13所述的系統,其中,確定所述多個矩陣處理器中的每個矩陣處理器的負荷包括確定所述矩陣處理器上詞的權重之和。
15.一種計算機程序產品,其被編碼在計算機可讀存儲裝置上,并且可操作以使得一個或更多個文檔處理器以及多個矩陣處理器執行包括以下操作的操作: 從一個或更多個文檔的集合提取詞-主題矩陣,所述詞-主題矩陣包括所述一個或更多個文檔的集合的多個主題,其中:` 至少部分地由詞集中的一個或更多個詞來定義所述主題中的每個主題,所述一個或更多個詞中的每個詞與概率相關聯,所述詞集是根據所述一個或更多個文檔的集合的詞索引來創建的; 至少部分地由與所述一個或更多個主題相對應的第一維度以及與所述詞集相對應的第二維度來定義所述詞-主題矩陣; 所述矩陣處理器包括: 第一矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第一子集相對應的第一部分;以及 第二矩陣處理器,被編程成存儲和處理所述詞-主題矩陣的與所述詞集的第二子集相對應的第二部分;并且 所述一個或更多個文檔處理器中的每個文檔處理器被編程成執行主題提取操作和矩陣交換操作,所述主題提取操作與所述矩陣交換操作并行執行,其中: 所述主題提取操作包括使用所述詞-主題矩陣的被存儲在所述第一矩陣處理器處的所述第一部分來針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣;并且 所述矩陣交換操作包括以下操作中的至少之一: 從所述第二矩陣處理器獲取要在針對一個或更多個第二主題對所述一個或更多個文檔的集合進行采樣時使用的所述詞-主題矩陣的所述第二部分;或者 當提取到至少一個第二主題時,請求所述第二矩陣處理器使用所提取的第二主題更新所述詞-主題矩陣的所述第二部分,其中所提取的第二主題對應于所述第二子集中的詞。
16.根據權利要求15所述的產品,其中, 所述一個或更多個文檔處理器包括多個處理器;并且 所述方法還包括: 將所述詞集中的詞組織為循環隊列; 將所述多個文檔處理器中的第一文檔處理器配置成使用所述循環隊列的第一位置處的詞開始執行主題提取操作;以及 將所述多個文檔處理器中的第二文檔處理器配置成使用所述循環隊列的第二位置處的詞開始執行主題提取操作,其中所述第一位置不同于所述第二位置。
17.根據權利要求15所述的產品,所述操作還包括根據加權輪詢調度將所述詞集中的詞分配給所述多個矩陣處理器。
18.根據權利要求17所述的產品,其中,根據所述加權輪詢調度分配所述詞包括: 確定所述詞集中的每個詞的權重; 確定所述多個矩陣處理器中的每個矩陣處理器的負荷; 根據所述詞的權重對所述詞集中的所述詞進行排序;以及 迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。
19.根據權利要求18所述的產品,其中,確定所述詞集中的每個詞的權重包括確定駐留有所述詞的文檔處理器的數量。
20.根據權利要求19所述的產品,其中,確定所述多個矩陣處理器中的每個矩陣處理器的負荷包括確定所述矩 陣處理器上詞的權重之和。
21.根據權利要求15所述的產品,所述操作還包括將所述一個或更多個文檔處理器中的每個文檔處理器配置成基于第一詞束和第二詞束執行主題提取操作,所述第一詞束對應于所述詞集的所述第一子集,所述第二詞束對應于所述詞集的所述第二子集。
22.根據權利要求15所述的產品,其中,針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣包括對所述一個或更多個文檔的集合執行吉布斯采樣。
23.一種由一個或更多個計算機執行的方法,包括: 將詞-主題矩陣的第一部分分配給第一矩陣處理器,所述詞-主題矩陣包括一個或更多個文檔的集合的多個主題,每個主題包括詞集中的一個或更多個詞,所述一個或更多個詞中的每個詞與相應概率相關聯,所述詞集包括來自所述一個或更多個文檔的集合的詞索引的詞; 將所述詞-主題矩陣的第二部分分配給第二矩陣處理器,所述詞-主題矩陣的所述第二部分不同于所述詞-主題矩陣的所述第一部分; 在文檔處理器上執行主題提取操作,所述文檔提取操作包括使用所述詞-主題矩陣的被存儲在所述第一矩陣處理器處的所述第一部分來針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣;以及 在所述文檔處理器上與執行所述主題提取操作并行地執行矩陣交換操作,所述矩陣交換操作包括以下操作中的至少之一: 從所述第二矩陣處理器獲取要在針對一個或更多個第二主題對所述一個或更多個文檔的集合進行采樣時使用的所述詞-主題矩陣的所述第二部分;或者 當提取到至少一個第二主題時,請求所述第二矩陣處理器使用所提取的第二主題更新所述詞-主題矩陣的所述第二部分,其中所提取的第二主題對應于所述第二子集中的詞。
24.根據權利要求23所述的方法,還包括: 根據加權輪詢調度將所述詞集中的詞分配給所述多個矩陣處理器。
25.根據權利要求24所述的方法,其中,根據所述加權輪詢調度分配所述詞包括: 確定所述詞集中的每個詞的權重; 確定所述第一矩陣處理器的負荷以及所述第二矩陣處理器的負荷; 根據所述詞的權重對所述詞集中的所述詞進行排序;以及 迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。
26.根據權利要求25所述的方法,其中,確定所述詞集中的每個詞的權重包括確定駐留有所述詞的文檔處理器的數量。
27.根據權利要求23所述的方法,還包括: 在所述文檔處理器處基于 第一詞束和第二詞束執行主題提取操作,所述第一詞束對應于所述詞集的所述第一子集,所述第二詞束對應于所述詞集的所述第二子集。
28.根據權利要求23所述的方法,其中,針對一個或更多個第一主題對所述一個或更多個文檔的集合進行采樣包括對所述一個或更多個文檔的集合執行吉布斯采樣。
29.一種計算機程序產品,其被存儲在非暫態計算機可讀存儲裝置上,并且可操作以使得一個或更多個計算機執行包括以下操作的操作: 將詞-主題矩陣的第一部分分配給第一矩陣處理器,所述詞-主題矩陣包括一個或更多個文檔的集合的多個主題,每個主題包括詞集中的一個或更多個詞,所述一個或更多個詞中的每個詞與相應概率相關聯,所述詞集包括來自所述一個或更多個文檔的集合的詞索引的詞; 將所述詞-主題矩陣的第二部分分配給第二矩陣處理器,所述詞-主題矩陣的所述第二部分不同于所述詞-主題矩陣的所述第一部分; 在文檔處理器上執行主題提取操作,所述文檔提取操作包括使用所述詞-主題矩陣的被存儲在所述第一矩陣處理器處的所述第一部分來針對一個或更多個第一主題對一個或更多個文檔的集合進行采樣;以及 在所述文檔處理器上并且與執行所述主題提取操作并行地執行矩陣交換操作,所述矩陣交換操作包括以下操作中的至少之一: 從所述第二矩陣處理器獲取要在針對一個或更多個第二主題對所述一個或更多個文檔的集合進行采樣時使用的所述詞-主題矩陣的所述第二部分;或者當提取到至少一個第二主題時,請求所述第二矩陣處理器使用所提取的第二主題更新所述詞-主題矩陣的所述第二部分,其中所提取的第二主題對應于所述第二子集中的詞。
30.根據權利要求29所述的產品,所述操作還包括: 根據加權輪詢調度將所述詞集中的詞分配給所述多個矩陣處理器。
31.根據權利要求30所述的產品,其中,根據所述加權輪詢調度分配所述詞包括: 確定所述詞集中的每個詞的權重; 確定所述第一矩陣處理器的負荷以及所述第二矩陣處理器的負荷; 根據所述詞的權重對所述詞集中的所述詞進行排序;以及 迭代地將具有最大權重的詞分配給具有最小負荷的矩陣處理器。
32.根據權利要求31所述的產品,其中,確定所述詞集中的每個詞的權重包括確定駐留有所述詞的文檔處理器的數量。
33.根據權利要求29所述的產品,還包括: 在所述文檔處理器處基于第一詞束和第二詞束執行主題提取操作,所述第一詞束對應于所述詞集的所述第一子集,所述第二詞束`對應于所述詞集的所述第二子集。
【文檔編號】G06F17/30GK103765415SQ201180071588
【公開日】2014年4月30日 申請日期:2011年5月11日 優先權日:2011年5月11日
【發明者】劉志遠, 張宇宙, 愛德華·Y·常 申請人:谷歌公司