數(shù)據(jù)處理的方法及計(jì)算設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例涉及信息處理領(lǐng)域,并且更具體地,涉及一種數(shù)據(jù)處理以進(jìn)行主題 挖掘的方法及計(jì)算設(shè)備。
【背景技術(shù)】
[0002] 從海量文檔集合中挖掘具有語義相關(guān)的單詞聚類(clustering)稱之為主題挖 掘。其中一種常用的模型是2003年由D.M.Blei等人提出的潛在狄利克雷分布(Latent DirichletAllocation,LDA)模型。LDA模型是將實(shí)際可觀測(cè)的"文檔-單詞"高維稀疏空 間,通過快速的學(xué)習(xí)算法降低到低維空間,從而實(shí)現(xiàn)對(duì)文檔的分類等。通常情況下,實(shí)際可 觀測(cè)的"文檔-單詞"文檔集合使用詞包矩陣的形式表示,并將詞包矩陣輸入到主題挖掘模 塊LDA中,通過自動(dòng)的推理方法,估計(jì)并輸出"文檔-主題"分布和"單詞-主題"分布兩個(gè) 矩陣。
[0003] 具體地,輸入的詞包矩陣為Xwxd,詞包矩陣的元素可表示為Xwid,其中行表示單詞 表索引I<w<W,列表示文檔索引I<d<D,每個(gè)非零元素值Xwid古0表示第w個(gè)單詞在 第d個(gè)文檔中出現(xiàn)的次數(shù)。輸出的文檔-主題矩陣為0KXD,文檔-主題矩陣的元素可表示 為ekid,其中行表示主題索引I<k<K,列表示文檔索引,每一列表示每個(gè)文檔在K個(gè)主題 上分別占有的比例。輸出的單詞-主題矩陣為(Pkxw,單詞-主題矩陣的元素可表示為印1^, 其中行代表主題索引,列表示單詞表索引,每一行表示每個(gè)主題中含有的單詞的概率。這 里,W為單詞表中的單詞數(shù),D為文檔數(shù),K為主題數(shù)。
[0004] 一般的主題挖掘的方法需要多次掃描,并多次計(jì)算整個(gè)詞包矩陣非零元素的主題 可能性直至收斂到穩(wěn)定狀態(tài)。對(duì)于海量文檔(例如PUBMED文檔集合含有820萬文檔和14 萬單詞表單詞,非零元素?cái)?shù)目高達(dá)5億之多),多次掃描并計(jì)算的時(shí)間成本高昂。同時(shí),傳 統(tǒng)主題挖掘方法需要將所有數(shù)據(jù)以及LDA的參數(shù)矩陣即文檔-主題矩陣和單詞-主題矩陣 放到內(nèi)存中計(jì)算,這對(duì)于內(nèi)存資源是非常巨大的消耗。在大規(guī)模的主題挖掘任務(wù)中,例如對(duì) PUBMED文檔集提取K= 10, 000個(gè)主題,需要消耗的內(nèi)存高達(dá)36TB。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理的方法,針對(duì)數(shù)據(jù)進(jìn)行主題挖掘的方法,能夠減 小在數(shù)據(jù)處理過程中對(duì)計(jì)算系統(tǒng)中內(nèi)存的需求。
[0006] 第一方面,提供了一種數(shù)據(jù)處理的方法,外部存儲(chǔ)器中的大規(guī)模詞包矩陣能夠分 割成A個(gè)詞包矩陣,所述A個(gè)詞包矩陣中的第s個(gè)詞包矩陣表示為XsWsXDs,A和s為正整數(shù),s =1,2,…,A,所述詞包矩陣的行表示單詞表索引,列表示文檔索引,所述方法包括:處理器 將所述外部存儲(chǔ)器中的第s= 1個(gè)詞包矩陣Xswsxds讀取至內(nèi)存;根據(jù)所述第s= 1個(gè)詞包矩 陣Xswsxds,隨機(jī)初始化第一消息矩陣;根據(jù)所述隨機(jī)初始化的第一消息矩陣,采用期望最大 化EM算法,確定第一單詞-主題矩陣;釋放所述內(nèi)存中由所述第s= 1個(gè)詞包矩陣XsWsXDs、 第一消息矩陣和EM算法產(chǎn)生的第一文檔-主題矩陣占用的空間,保留所述第一單詞-主題 矩陣并緩存在所述內(nèi)存中;依次地對(duì)S>1的第S個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主 題矩陣;其中,Ws為所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單詞數(shù),Ds為所述第s個(gè)詞 包矩陣的文檔數(shù)。
[0007] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述對(duì)s>l的第s個(gè)詞包 矩陣Xswsxds,更新所述第一單詞-主題矩陣,包括:將所述外部存儲(chǔ)器中的第s個(gè)詞包矩陣 Xswsxds讀取至所述內(nèi)存;基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取與所述 第s個(gè)詞包矩陣Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,所述第二單詞-主題矩陣中的單詞與 所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單詞一致;根據(jù)所述第s個(gè)詞包矩陣Xswsxds,隨 機(jī)初始化第二文檔-主題矩陣;根據(jù)所述隨機(jī)初始化的第二文檔-主題矩陣和所述第二單 詞-主題矩陣,采用EM算法,確定更新后的第一單詞-主題矩陣;釋放所述內(nèi)存中由所述第 s個(gè)詞包矩陣Xswsxds、第二文檔-主題矩陣和EM算法產(chǎn)生的第二消息矩陣占用的空間,保留 所述更新后的第一單詞-主題矩陣并緩存在所述內(nèi)存中。
[0008] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式 中,所述基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取與所述第s個(gè)詞包矩陣 Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,包括:根據(jù)所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單 詞的索引,從所述第s-1個(gè)詞包矩陣所確定的所述內(nèi)存中緩存的第一單詞-主題矩陣中,獲 取與所述單詞的索引對(duì)應(yīng)的所述第二單詞-主題矩陣。
[0009] 結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式 中,所述基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取與所述第s個(gè)詞包矩陣 Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,還包括:當(dāng)所述內(nèi)存中緩存的第一單詞_主題矩陣的單 詞表中不包括所述第s個(gè)詞包矩陣Xswsxds的單詞表中的第一單詞時(shí),從所述外部存儲(chǔ)器中 的單詞-主題矩陣Xkxw中,獲取與所述第一單詞的索引對(duì)應(yīng)的元素,并將所述與所述第一單 詞的索引對(duì)應(yīng)的元素作為所述第二單詞-主題矩陣中的對(duì)應(yīng)元素;其中,W為所述大規(guī)模詞 包矩陣的單詞表中的單詞數(shù),K為主題數(shù)。
[0010] 結(jié)合第一方面或者上述第一方面的任一種可能的實(shí)現(xiàn)方式,在第一方面的第四種 可能的實(shí)現(xiàn)方式中,在對(duì)s>l的第s個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主題矩陣之后, 當(dāng)所述內(nèi)存中緩存的第一單詞-主題矩陣的大小大于第一閾值時(shí),所述方法還包括:根據(jù) 所述內(nèi)存中緩存的第一單詞-主題矩陣,更新所述外部存儲(chǔ)器中的單詞-主題矩陣Xwxd ;刪 除所述內(nèi)存中緩存的第一單詞-主題矩陣中的部分單詞。
[0011] 結(jié)合第一方面或者上述第一方面的任一種可能的實(shí)現(xiàn)方式,在第一方面的第五種 可能的實(shí)現(xiàn)方式中,在對(duì)s>l的第s=P個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主題矩陣 之后,所述方法還包括:根據(jù)所述內(nèi)存中緩存的第一單詞-主題矩陣,更新所述外部存儲(chǔ)器 中的單詞-主題矩陣Xwxd;其中,P為第二閾值的整數(shù)倍或者P=A,所述第二閾值為預(yù)設(shè)置 的小于A的正整數(shù)。
[0012] 結(jié)合第一方面或者上述第一方面的任一種可能的實(shí)現(xiàn)方式,在第一方面的第六種 可能的實(shí)現(xiàn)方式中,所述對(duì)s>l的第s個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主題矩陣, 包括:以所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單詞的順序,更新所述第一單詞-主題矩 陣。
[0013] 第二方面,提供了一種計(jì)算設(shè)備,所述計(jì)算設(shè)備與外部存儲(chǔ)器通信,所述外部存儲(chǔ) 器中的大規(guī)模詞包矩陣能夠分割成A個(gè)詞包矩陣,所述A個(gè)詞包矩陣中的第s個(gè)詞包矩陣 表示為XsWsXDs,A和s為正整數(shù),s= 1,2,…,A,所述詞包矩陣的行表示單詞表索引,列表 示文檔索引,所述計(jì)算設(shè)備包括處理器和內(nèi)存,所述處理器,用于將所述外部存儲(chǔ)器中的第 s= 1個(gè)詞包矩陣Xswsxds讀取至內(nèi)存;根據(jù)所述第s= 1個(gè)詞包矩陣Xswsxds,隨機(jī)初始化第 一消息矩陣;根據(jù)所述隨機(jī)初始化的第一消息矩陣,采用期望最大化EM算法,確定第一單 詞-主題矩陣;釋放所述內(nèi)存中由所述第s= 1個(gè)詞包矩陣Xswsxds、第一消息矩陣和EM算 法產(chǎn)生的第一文檔-主題矩陣占用的空間,保留所述第一單詞-主題矩陣并緩存在所述內(nèi) 存中;依次地對(duì)s>l的第s個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主題矩陣;所述內(nèi)存,用 于緩存所述第一單詞-主題矩陣;其中,Ws為所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單 詞數(shù),Ds為所述第s個(gè)詞包矩陣的文檔數(shù)。
[0014] 結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器對(duì)s>l的第s 個(gè)詞包矩陣Xswsxds,更新所述第一單詞-主題矩陣,包括:將所述外部存儲(chǔ)器中的第s個(gè)詞 包矩陣Xswsxds讀取至所述內(nèi)存;基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取 與所述第s個(gè)詞包矩陣Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,所述第二單詞-主題矩陣中的單 詞與所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單詞一致;根據(jù)所述第s個(gè)詞包矩陣Xswsxds, 隨機(jī)初始化第二文檔-主題矩陣;根據(jù)所述隨機(jī)初始化的第二文檔-主題矩陣和所述第二 單詞-主題矩陣,采用EM算法,確定更新后的第一單詞-主題矩陣;釋放所述內(nèi)存中由所述 第s個(gè)詞包矩陣Xswsxds、第二文檔-主題矩陣和EM算法產(chǎn)生的第二消息矩陣占用的空間, 保留所述更新后的第一單詞-主題矩陣并緩存在所述內(nèi)存中。
[0015] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式 中,所述處理器基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取與所述第s個(gè)詞 包矩陣Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,包括:根據(jù)所述第s個(gè)詞包矩陣Xswsxds的單詞表 中的單詞的索引,從所述第s-1個(gè)詞包矩陣所確定的所述內(nèi)存中緩存的第一單詞-主題矩 陣中,獲取與所述單詞的索引對(duì)應(yīng)的所述第二單詞-主題矩陣。
[0016] 結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式 中,所述處理器基于第s-1個(gè)詞包矩陣所確定的第一單詞-主題矩陣,獲取與所述第s個(gè)詞 包矩陣Xswsxds對(duì)應(yīng)的第二單詞-主題矩陣,還包括:當(dāng)所述內(nèi)存中緩存的第一單詞_主題矩 陣的單詞表中不包括所述第s個(gè)詞包矩陣Xswsxds的單詞表中的第一單詞時(shí),從所述外部存 儲(chǔ)器中的單詞-主題矩陣Xkxw中,獲取與所述第一單詞的索引對(duì)應(yīng)的元素,并將所述與所述 第一單詞的索引對(duì)應(yīng)的元素作為所述第二單詞-主題矩陣中的對(duì)應(yīng)元素;其中,W為所述大 規(guī)模詞包矩陣的單詞表中的單詞數(shù),K為主題數(shù)。
[0017] 結(jié)合第二方面或者上述第二方面的任一種可能的實(shí)現(xiàn)方式,在第二方面的第四種 可能的實(shí)現(xiàn)方式中,所述處理器,還用于:在對(duì)s>l的第s個(gè)詞包矩陣Xswsxds,更新所述第一 單詞-主題矩陣之后,當(dāng)所述內(nèi)存中緩存的第一單詞-主題矩陣的大小大于第一閾值時(shí),根 據(jù)所述內(nèi)存中緩存的第一單詞-主題矩陣,更新所述外部存儲(chǔ)器中的單詞-主題矩陣Xwxd ; [0018] 刪除所述內(nèi)存中緩存的第一單詞-主題矩陣中的部分單詞。
[0019] 結(jié)合第二方面或者上述第二方面的任一種可能的實(shí)現(xiàn)方式,在第二方面的第五種 可能的實(shí)現(xiàn)方式中,所述處理器,還用于:在對(duì)s>l的第s=P個(gè)詞包矩陣Xswsxds,更新所述 第一單詞-主題矩陣之后,
[0020] 根據(jù)所述內(nèi)存中緩存的第一單詞-主題矩陣,更新所述外部存儲(chǔ)器中的單詞-主 題矩陣Xwxd;
[0021] 其中,P為第二閾值的整數(shù)倍或者P=A,所述第二閾值為預(yù)設(shè)置的小于A的正整 數(shù)。
[0022] 結(jié)合第二方面或者上述第二方面的任一種可能的實(shí)現(xiàn)方式,在第二方面的第六種 可能的實(shí)現(xiàn)方式中,所述處理器,以所述第s個(gè)詞包矩陣Xswsxds的單詞表中的單詞的順序, 更新所述第一單詞-主題矩陣。
[0023] 本發(fā)明實(shí)施例中,大規(guī)模詞包矩陣能夠分割成A個(gè)詞包矩陣,針對(duì)A個(gè)詞包矩陣中 的每一個(gè)詞包矩陣,采用EM算法,確定對(duì)應(yīng)的單詞-主題矩陣,并且及時(shí)釋放EM算法的參 數(shù)消息矩陣、文檔_主題矩陣所占用的內(nèi)存空間。這樣,在計(jì)算系統(tǒng)進(jìn)行主題挖掘的過程 中,對(duì)計(jì)算系統(tǒng)中內(nèi)存硬件的資源要求較低。
【附圖說明】
[0024] 為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí) 施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附 圖獲得其他的附圖。
當(dāng)前第1頁
1 
2 
3 
4 
5