欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法

文檔序號(hào):6612408閱讀:330來源:國知局
專利名稱:一種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法
技術(shù)領(lǐng)域
本發(fā)明涉及對(duì)海量互聯(lián)網(wǎng)微內(nèi)容進(jìn)行聚類處理相關(guān)的技術(shù),特別是涉及一 種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法。
背景技術(shù)
近年來,隨著計(jì)算機(jī)寬帶用戶的持續(xù)增加,各種互聯(lián)網(wǎng)應(yīng)用不斷涌現(xiàn),互
聯(lián)網(wǎng)快速進(jìn)入了 WEB2.0時(shí)代,博客、播客、威客等WEB2.0應(yīng)用迅速發(fā)展, 以博客應(yīng)用為例,據(jù)權(quán)威調(diào)研機(jī)構(gòu)預(yù)測(cè),今年全球博客數(shù)量將超過1億人,同 時(shí)還將不斷增長(zhǎng),隨著博客用戶數(shù)的不斷增長(zhǎng),用戶的評(píng)論、留言等微內(nèi)容也 在爆炸式地增加,其中有很多微內(nèi)容都是廣告、大量重復(fù)推薦等垃圾信息,它 們的存在嚴(yán)重影響了用戶的閱讀質(zhì)量,如何高效、快速地對(duì)這些海量微內(nèi)容進(jìn) 行聚類,從而識(shí)別出其中的垃圾微內(nèi)容已成為眾多博客服務(wù)提供商和廣大博客 用戶共同關(guān)心的問題之一;
目前已有許多面向互聯(lián)網(wǎng)微內(nèi)容的聚類方法,如比較成熟的貝葉斯、KNN、 SVM等,但貝葉斯方法需要有特定的語料庫支持,維護(hù)代價(jià)比較高,而且聚類 的效果跟語料庫規(guī)模、質(zhì)量有很大的關(guān)系,不是理想的聚類方法;另外兩種聚 類方法KNN和SVM都需要首先計(jì)算所有微內(nèi)容之間的相似度,當(dāng)微內(nèi)容的數(shù) 量級(jí)為海量級(jí)時(shí),比如千萬級(jí)o(108),那么計(jì)算所有微內(nèi)容之間的相似度所需要 的時(shí)間數(shù)量級(jí)為o(1016),這顯然是用戶所不能忍受的,因此也不是理想的聚類 方法;

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法。 本發(fā)明解決其技術(shù)問題采用的技術(shù)方案是,該方法的步驟如下
1) 主控機(jī)器首先對(duì)微內(nèi)容文件進(jìn)行切分操作,得到適合元聚類操作的多個(gè) 小微內(nèi)容文件,對(duì)輸入的微內(nèi)容文件,按照每個(gè)文件固定的記錄條數(shù)寫到多個(gè) 小文件中,在小文件中一行一條微內(nèi)容;
2) 多臺(tái)聚類機(jī)器對(duì)微內(nèi)容進(jìn)行分布式聚類操作
第一步,對(duì)于由主控機(jī)器切分操作生成的適合元聚類操作的各個(gè)小微內(nèi)容 文件,用腳本拷貝到相應(yīng)的聚類機(jī)器上;
第二步,多臺(tái)聚類機(jī)器并行進(jìn)行聚類操作,每臺(tái)聚類機(jī)器都執(zhí)行以下兩個(gè)
歩驟
a) 對(duì)分配到的各個(gè)小微內(nèi)容文件循環(huán)進(jìn)行元聚類操作,生成相應(yīng)的各個(gè)元 聚類結(jié)果文件;
b) 對(duì)上面生成的元聚類結(jié)果文件進(jìn)行合并操作,生成單機(jī)聚類合并文件, 其中合并操作的過程如下
(1)讀取各個(gè)元聚類結(jié)果文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代表 點(diǎn)對(duì)應(yīng)的微內(nèi)容寫到一個(gè)臨時(shí)微內(nèi)容文件中;
P)對(duì)生成的臨時(shí)微內(nèi)容文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一 個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到最后的單機(jī)聚類合 并文件;
第三步,每臺(tái)聚類機(jī)器生成完單機(jī)聚類合并文件后,通知主控機(jī)器,并把 聚類合并文件發(fā)送給主控機(jī)器,主控機(jī)器在接收到各臺(tái)聚類機(jī)器發(fā)送來的單機(jī) 聚類合并文件后,再次對(duì)這些文件進(jìn)行合并操作,生成系統(tǒng)總的聚類結(jié)果文件, 其中合并操作的過程如下
a) 讀取各個(gè)單機(jī)聚類合并文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代 表點(diǎn)對(duì)應(yīng)的微內(nèi)容寫到 一個(gè)臨時(shí)微內(nèi)容文件中;
b) 對(duì)生成的臨時(shí)微內(nèi)容文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一 個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到系統(tǒng)總的聚類結(jié)果 文件;
3)在上述2)中的對(duì)微內(nèi)容文件進(jìn)行元聚類操作的步驟如下
第一步,從微內(nèi)容數(shù)據(jù)文件中把各行微內(nèi)容讀出,然后放入隊(duì)列中,隊(duì)列 中的每個(gè)元素為一條微內(nèi)容,將隊(duì)列中個(gè)各條微內(nèi)容讀出,對(duì)它們進(jìn)行中文分
詞,去掉停用詞,生成相應(yīng)的關(guān)鍵詞序列;
第二步,對(duì)各個(gè)關(guān)鍵詞序列,創(chuàng)建按連續(xù)兩個(gè)關(guān)鍵詞組合在一起的關(guān)鍵詞 為鍵,包含該兩個(gè)詞組合的微內(nèi)容編號(hào)為值的倒排索引;
第三步,等倒排索引建完,掃描倒排索引,創(chuàng)建以微內(nèi)容編號(hào)作為矩陣行 列,微內(nèi)容兩兩之間相同單元的數(shù)目為值的相關(guān)矩陣,在掃描每行倒排項(xiàng)時(shí), 將兩兩微內(nèi)容編號(hào)對(duì)應(yīng)的矩陣元素的值加1;
第四步,等相關(guān)矩陣建完,掃描相關(guān)矩陣,計(jì)算微內(nèi)容之間的相似度,設(shè) 兩條微內(nèi)容A〈key,…,keyi,…,key^、 B〈keyh.,.,keyi,…,keym、其中keyi為微內(nèi) 容包含的關(guān)鍵詞,則定義A、 B之間的相似度sim(A, B)為 sim(A, B)= (AAB)/(A+B),其中a表示集合交集,+表示集合并集,(AAB)的值也就是A和B在
第二步生成的倒排索引中共同出現(xiàn)的次數(shù),可以從相關(guān)矩陣中取得,A+B為A、 B在第二步生成的倒排索引中各自出現(xiàn)次數(shù)之和減去A、B在第二步生成的倒排 索引中共同出現(xiàn)的次數(shù),A、 B各自出現(xiàn)的次數(shù)可以在掃描倒排索引時(shí)獲得,在 計(jì)算完A、 B之間的相似度sim(A, B)后,把在第三步生成的相關(guān)矩陣中A、 B 對(duì)應(yīng)的值由(A八B)更新為sim(A, B);
第五步,掃描更新完的相關(guān)矩陣,根據(jù)微內(nèi)容之間的相似度對(duì)微內(nèi)容進(jìn)行 聚類,由于相關(guān)矩陣是以JAVA中的HashMap為存儲(chǔ)結(jié)構(gòu),且相關(guān)矩陣自身的 稀疏特性,所以按照HashMap的自然存放順序來進(jìn)行聚類分析,取得HashMap 的第i個(gè)元素,得到微內(nèi)容k和l的相似度,如果小于設(shè)定的閾值,則忽略該元 素并繼續(xù)處理下個(gè)元素,否則進(jìn)行聚類處理如果k還沒有被聚類,并且l也沒 有被聚類,則創(chuàng)建以k為中心的聚類,并將l標(biāo)記為k為中心;否則,如果l被
聚類,但是它是該類的中心,則將l類別與k合并,并標(biāo)記l的類中心為k;否
則,找到l的聚類中心,如果該中心微內(nèi)容編號(hào)比k大,則將k歸為該類,并標(biāo)
記中心為此中心;否則將該類別與k合并,并修改中心為k;如果k已經(jīng)被聚類, l沒有被聚類,貝'jl歸類為k的類別,并標(biāo)記類中心;如果兩者都聚類,則找到 兩者的類中心,將類中心編號(hào)大的合并至另一個(gè),并修改聚類中心;然后迭代 取得下一個(gè)元素,直到取完HashMap中的所有元素。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是 (1)本發(fā)明是一種能夠高效地、分布式地實(shí)現(xiàn)對(duì)海量微內(nèi)容進(jìn)行聚類的全 新的方法,具有可擴(kuò)展性,優(yōu)于傳統(tǒng)的KNN、 SVM等方法。
(2)本發(fā)明不需要特定語料庫的支持,維護(hù)代價(jià)小,操作簡(jiǎn)單,有別于傳統(tǒng) 的貝葉斯聚類方法,應(yīng)用范圍廣,如可應(yīng)用于博客評(píng)論、博客留言、bbs留言、 貼吧留言等互聯(lián)網(wǎng)微內(nèi)容的垃圾聚類系統(tǒng)。
所以,本發(fā)明是一種適用于互聯(lián)網(wǎng)環(huán)境下的,用于高效、快速地對(duì)海量微 內(nèi)容進(jìn)行聚類的方法。


圖l是分布式聚類方法的總體結(jié)構(gòu)示意圖; 圖2是切分模塊的結(jié)構(gòu)示意圖; 圖3是元聚類處理的結(jié)構(gòu)示意圖4是對(duì)博客評(píng)論A("浙江是個(gè)好地方")和博客評(píng)論B("浙江是個(gè)非常好 的地方")建立的倒排索引示意圖5是對(duì)博客評(píng)論A("浙江是個(gè)好地方")和博客評(píng)論B("浙江是個(gè)非常好
的地方")建立的相關(guān)矩陣示意圖6是對(duì)博客評(píng)論A("浙江是個(gè)好地方")和博客評(píng)論B("浙江是個(gè)非常好 的地方")建立的更新評(píng)論相似度后的相關(guān)矩陣示意圖;
具體實(shí)施例方式
在面向互聯(lián)網(wǎng)微內(nèi)容的聚類應(yīng)用系統(tǒng)中,采用本發(fā)明所提供的分布式聚類 方法,可以實(shí)現(xiàn)對(duì)海量微內(nèi)容進(jìn)行快速、準(zhǔn)確地聚類,以博客評(píng)論垃圾聚類系 統(tǒng)為例,具體的實(shí)施步驟如下
1) 主控機(jī)器首先對(duì)博客評(píng)論源文件進(jìn)行切分操作,得到多個(gè)小源數(shù)據(jù)文件, 具體過程如下
對(duì)輸入的大的博客評(píng)論源文件,按照每個(gè)文件固定的記錄條數(shù)寫到多個(gè)小 文件中,在小文件中一行一條博客評(píng)論,其中固定的評(píng)論條數(shù)的確定由具體執(zhí) 行元聚類操作的聚類機(jī)器的配置決定,圖2給出了切分模塊的結(jié)構(gòu)示意圖,其 中圖2中的Split—1,Split—k,Split_n為切分后得到的各個(gè)小的博客評(píng)論文件;
2) 多臺(tái)聚類機(jī)器對(duì)博客評(píng)論進(jìn)行分布式聚類操作,圖1給出了多機(jī)分布式 聚類方法的總體結(jié)構(gòu)圖,具體過程如下
第一歩,對(duì)于由主控機(jī)器切分操作生成的各個(gè)小評(píng)論文件,用腳本拷貝到
相應(yīng)的聚類機(jī)器上;
第二歩,多臺(tái)聚類機(jī)器并行進(jìn)行聚類操作,每臺(tái)聚類機(jī)器都執(zhí)行以下兩個(gè) 步驟
a) 對(duì)分配到的各個(gè)小評(píng)論文件循環(huán)進(jìn)行元聚類操作,生成相應(yīng)的各個(gè)元聚 類結(jié)果文件;
b) 對(duì)上面生成的元聚類結(jié)果文件進(jìn)行合并操作,生成單機(jī)聚類合并文件, 其中合并操作的過程如下
(1) 讀取各個(gè)元聚類結(jié)果文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代表 點(diǎn)對(duì)應(yīng)的評(píng)論寫到一個(gè)臨時(shí)博客評(píng)論文件中;
(2) 對(duì)生成的臨時(shí)博客評(píng)論文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同 一個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到最后的單機(jī)聚類 合并文件;
例如在某臺(tái)聚類機(jī)器上,通過循環(huán)調(diào)用元聚類,生成了二個(gè)元聚類文件
filel和file2,其中filel中有兩個(gè)聚類項(xiàng)clusterl: (1, 2, 3), cluster2: (4, 5, 6), file2也有兩個(gè)聚類項(xiàng)clusterl: (7, 8), cluster2: (10, 11),(注括號(hào)中1, 2 等數(shù)字表示屬于某個(gè)cluster的博客評(píng)論編號(hào),如上面的例子中博客評(píng)論1、博客評(píng)論2、博客評(píng)論3同屬于filel的dusterl,博客評(píng)論7、博客評(píng)論8同屬于file2 的cluster2),抽取兩個(gè)聚類結(jié)果文件filel和file2中的聚類代表點(diǎn)評(píng)論,如(l, 4, 7, 10)(這里每個(gè)聚類項(xiàng)抽取一個(gè)代表點(diǎn)評(píng)論),生成一個(gè)臨時(shí)評(píng)論文件temp, 然后對(duì)temp文件進(jìn)行元聚類,假設(shè)生成了一個(gè)聚類項(xiàng)clusterl: (1, 10),則把 l對(duì)應(yīng)的filel中的clusterl: (1, 2, 3)和10對(duì)應(yīng)的file2中的cluster2: (10, 11) 合并,生成新的聚類項(xiàng)clusterl: (1, 2, 3, 10, 11),得到最后的單機(jī)聚類合并 文件file3,內(nèi)容為clusterl: (1, 2, 3, 10, 11), cluster2: (4, 5, 6), cluster3:
(7, 8);
第三步,每臺(tái)聚類機(jī)器生成完單機(jī)聚類合并文件后,通知主控機(jī)器,并把 聚類合并文件發(fā)送給主控機(jī)器,主控機(jī)器在接收到各臺(tái)聚類機(jī)器發(fā)送來的單機(jī) 聚類合并文件后,再次對(duì)這些文件進(jìn)行合并操作,生成系統(tǒng)總的聚類結(jié)果文件, 其中合并操作的過程如下-
a) 讀取各個(gè)單機(jī)聚類合并文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代 表點(diǎn)對(duì)應(yīng)的評(píng)論寫到一個(gè)臨時(shí)博客評(píng)論文件中;
b) 對(duì)生成的臨時(shí)博客評(píng)論文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同 一個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到系統(tǒng)總的聚類結(jié) 果文件;
3)對(duì)博客評(píng)論文件進(jìn)行元聚類操作,過程如圖3所示,具體過程如下
第一步,從小評(píng)論文件中把各行評(píng)論內(nèi)容讀出然后放入隊(duì)列中,隊(duì)列中的 每個(gè)元素為一條評(píng)論,將隊(duì)列中個(gè)各條評(píng)論讀出,對(duì)它們進(jìn)行中文分詞,去掉 停用詞(即那些高頻出現(xiàn)、沒有實(shí)際意義的詞如"的"、"是"、"了"等),生 成相應(yīng)的關(guān)鍵詞序列。例如,某個(gè)小評(píng)論文件中有兩條評(píng)論,評(píng)論A和評(píng)論B。 評(píng)論A為"浙江是個(gè)好地方",評(píng)論B為"浙江是個(gè)非常好的地方",則經(jīng)過 分詞模塊分解以后得到關(guān)鍵詞序列A為< "浙江","好","地方">,B為 < "浙江","非常","好","地方"〉,在上面的分詞過程中去掉了 "是", "個(gè)"、"的"等停用詞;
第二步,對(duì)各個(gè)關(guān)鍵詞序列,創(chuàng)建按連續(xù)兩個(gè)關(guān)鍵詞組合在一起的"詞 詞"為鍵,包含該兩個(gè)詞組合的評(píng)論編號(hào)為值的倒排索引,如假設(shè)第一步中的 評(píng)論A、 B對(duì)應(yīng)的編號(hào)分別為1和2,那么最后建立的倒排索引如圖4所示;
第三步,等倒排索引建完,掃描倒排索引,創(chuàng)建以評(píng)論編號(hào)作為矩陣行列, 評(píng)論兩兩之間相同單元(SP "詞詞")的數(shù)目為值的相關(guān)矩陣,在掃描每行倒排 項(xiàng)時(shí),將兩兩評(píng)論編號(hào)對(duì)應(yīng)的矩陣元素的值加1;
例如,掃描第二步生成的倒排矩陣,由于評(píng)論A(編號(hào)為l)和B(編號(hào)為2)
在相同單元("好地方")上共同出現(xiàn)了一次,則將評(píng)論A和評(píng)論B對(duì)應(yīng)的矩
陣元素的值加l,最后建立的評(píng)論A、 B的相關(guān)矩陣如圖5所示;
第四步,等相關(guān)矩陣建完,掃描相關(guān)矩陣,計(jì)算評(píng)論之間的相似度,設(shè)兩
條評(píng)論A〈keyi,…,keyi,…,keyn〉、 B〈key^...,keyi,.."keym>,其中key!為評(píng)論包含 的關(guān)鍵詞,則定義A、 B之間的相似度sim(A, B)為 sim(A, B) = (AAB)/(A+B), 其中八表示集合交集,+表示集合并集,(A八B)的值也就是A和B在第二步生成的 倒排索引中共同出現(xiàn)的次數(shù),可以從相關(guān)矩陣中取得,A+B為A、 B在第二步 生成的倒排索引中各自出現(xiàn)次數(shù)之和減去A、B在第二步生成的倒排索引中共同 出現(xiàn)的次數(shù),A、 B各自出現(xiàn)的次數(shù)可以在掃描倒排索引時(shí)獲得,在計(jì)算完A、 B之間的相似度sim(A, B)后,把在第三步生成的相關(guān)矩陣中A、 B對(duì)應(yīng)的值由 (A^B)更新為sim(A, B);
例如,對(duì)第一步中兩條的評(píng)論A(編號(hào)為1)、 B(編號(hào)為2),計(jì)算它們的相似 度sim(A, B),根據(jù)第四步中sim(A, B)的定義,需要計(jì)算(AAB)和(A+B)值,其 中(A八B)即評(píng)論A、 B共同出現(xiàn)的次數(shù),從第三步中生成的相關(guān)矩陣可以得到為 1,而(A+B)即評(píng)論A,B各自出現(xiàn)的次數(shù)的和減去A和B共同出現(xiàn)的次數(shù),從 第二步中生成的倒排索引可以得到A的出現(xiàn)次數(shù)為2,B的出現(xiàn)次數(shù)為3,則(A+B) =(2+3) - 1 二4,從而得到評(píng)論A和評(píng)論B的相似度sim(A,B) = (AAB)/(A+B) =1/4,然后更新評(píng)論A、 B的相關(guān)矩陣,把A、 B對(duì)應(yīng)的值由原來的1更新為 1/4,更新后評(píng)論A、 B的相關(guān)矩陣如圖6所示;
第五步,掃描更新完的相關(guān)矩陣,根據(jù)評(píng)論之間的相似度對(duì)評(píng)論進(jìn)行聚類, 由于相關(guān)矩陣是以HashMap為存儲(chǔ)結(jié)構(gòu),且相關(guān)矩陣自身的稀疏特性,所以按 照HashMap的自然存放順序來進(jìn)行聚類分析,取得HashMap的第i個(gè)元素,得 到評(píng)論k和l的相似度,如果小于設(shè)定的閾值,則忽略該元素并繼續(xù)處理下個(gè)元 素,否則進(jìn)行聚類處理如果k還沒有被聚類,并且l也沒有被聚類,則創(chuàng)建以 k為中心的聚類,并將l標(biāo)記為k為中心;否則,如果1被聚類,但是它是該類
的中心,則將l類別與k合并,并標(biāo)記l的類中心為k;否則,找到l的聚類中 心,如果該中心博客評(píng)論編號(hào)比k大,則將k歸為該類,并標(biāo)記中心為此中心; 否則將該類別與k合并,并修改中心為k;如果k已經(jīng)被聚類,l沒有被聚類, 則l歸類為k的類別,并標(biāo)記類中心;如果兩者都聚類,則找到兩者的類中心, 將類中心編號(hào)大的合并至另一個(gè),并修改聚類中心;然后迭代取得下一個(gè)元素, 直到取完HashMap中的所有元素;
例如,對(duì)第四步中生成的相關(guān)矩陣,取得其中的元素(<1,2>, 1/4),則當(dāng)用戶 設(shè)定的閾值為1/5 < 1/4時(shí),則編號(hào)值1對(duì)應(yīng)的評(píng)論A和編號(hào)值2對(duì)應(yīng)的評(píng)論B
自動(dòng)聚為一個(gè)類別,生成元聚類結(jié)果文件,它的內(nèi)容是Clusterl: (1, 2);
b)對(duì)上面生成的元聚類結(jié)果文件進(jìn)行合并操作,生成單機(jī)聚類合并文件,
其中合并操作的過程如下
(1) 讀取各個(gè)元聚類結(jié)果文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代表 點(diǎn)對(duì)應(yīng)的評(píng)論寫到一個(gè)臨時(shí)文件中;
(2) 對(duì)生成的臨時(shí)文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一個(gè)類的 各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到最后的單機(jī)聚類合并文件;
例如在某臺(tái)聚類機(jī)器上,通過循環(huán)調(diào)用元聚類,生成了二個(gè)元聚類文件 filel禾n file2,其中filel中有兩個(gè)聚類項(xiàng)clusterl: (1, 2, 3), cluster2: (4, 5, 6), file2也有兩個(gè)聚類項(xiàng)clusterh (7, 8), cluster2: (10, 11),抽取兩個(gè) 聚類結(jié)果文件filel和file2中的聚類代表點(diǎn)評(píng)論,如(1, 4, 7, 10)(這里每 個(gè)聚類項(xiàng)抽取一個(gè)代表點(diǎn)評(píng)論),生成一個(gè)臨時(shí)評(píng)論文件temp,然后對(duì)temp文 件進(jìn)行元聚類,假設(shè)生成了一個(gè)聚類項(xiàng)cluster 1: (1, 10),則把1對(duì)應(yīng)的filel 中的clusterl: (1, 2, 3)和10對(duì)應(yīng)的file2中的cluster2: (10, ll)合并,生成 新的聚類項(xiàng)clusterl: (1, 2, 3, 10, 11),得到最后的單機(jī)聚類合并文件file3, 內(nèi)容為clusterl: (1, 2, 3, 10, 11), cluster2: (4, 5, 6), cluster3: (7, 8);
第三步,每臺(tái)聚類機(jī)器生成完單機(jī)聚類合并文件后,通知主控機(jī)器,并把 聚類合并文件發(fā)送給主控機(jī)器,主控機(jī)器在接收到各臺(tái)聚類機(jī)器發(fā)送來的單機(jī) 聚類合并文件后,再次對(duì)這些文件進(jìn)行合并操作,生成系統(tǒng)總的聚類結(jié)果文件,
其中合并操作的過程如下
a) 讀取各個(gè)單機(jī)聚類合并文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代 表點(diǎn)對(duì)應(yīng)的評(píng)論寫到一個(gè)臨時(shí)文件中;
b) 對(duì)生成的臨時(shí)文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一個(gè)類的 各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到系統(tǒng)總的聚類結(jié)果文件。
權(quán)利要求
1.一種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法,其特征在于該方法的步驟如下1)主控機(jī)器首先對(duì)微內(nèi)容文件進(jìn)行切分操作,得到適合元聚類操作的多個(gè)小微內(nèi)容文件,對(duì)輸入的微內(nèi)容文件,按照每個(gè)文件固定的記錄條數(shù)寫到多個(gè)小文件中,在小文件中一行一條微內(nèi)容;2)多臺(tái)聚類機(jī)器對(duì)微內(nèi)容進(jìn)行分布式聚類操作第一步,對(duì)于由主控機(jī)器切分操作生成的適合元聚類操作的各個(gè)小微內(nèi)容文件,用腳本拷貝到相應(yīng)的聚類機(jī)器上;第二步,多臺(tái)聚類機(jī)器并行進(jìn)行聚類操作,每臺(tái)聚類機(jī)器都執(zhí)行以下兩個(gè)步驟a)對(duì)分配到的各個(gè)小微內(nèi)容文件循環(huán)進(jìn)行元聚類操作,生成相應(yīng)的各個(gè)元聚類結(jié)果文件;b)對(duì)上面生成的元聚類結(jié)果文件進(jìn)行合并操作,生成單機(jī)聚類合并文件,其中合并操作的過程如下(1)讀取各個(gè)元聚類結(jié)果文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代表點(diǎn)對(duì)應(yīng)的微內(nèi)容寫到一個(gè)臨時(shí)微內(nèi)容文件中;(2)對(duì)生成的臨時(shí)微內(nèi)容文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到最后的單機(jī)聚類合并文件;第三步,每臺(tái)聚類機(jī)器生成完單機(jī)聚類合并文件后,通知主控機(jī)器,并把聚類合并文件發(fā)送給主控機(jī)器,主控機(jī)器在接收到各臺(tái)聚類機(jī)器發(fā)送來的單機(jī)聚類合并文件后,再次對(duì)這些文件進(jìn)行合并操作,生成系統(tǒng)總的聚類結(jié)果文件,其中合并操作的過程如下a)讀取各個(gè)單機(jī)聚類合并文件,從各個(gè)聚類項(xiàng)中抽取聚類項(xiàng)代表點(diǎn),把代表點(diǎn)對(duì)應(yīng)的微內(nèi)容寫到一個(gè)臨時(shí)微內(nèi)容文件中;b)對(duì)生成的臨時(shí)微內(nèi)容文件再次進(jìn)行元聚類,然后把聚類結(jié)果中歸為同一個(gè)類的各個(gè)代表點(diǎn)對(duì)應(yīng)的類別合并,生成新的聚類項(xiàng),得到系統(tǒng)總的聚類結(jié)果文件;3)在上述2)中的對(duì)微內(nèi)容文件進(jìn)行元聚類操作的步驟如下第一步,從微內(nèi)容數(shù)據(jù)文件中把各行微內(nèi)容讀出,然后放入隊(duì)列中,隊(duì)列中的每個(gè)元素為一條微內(nèi)容,將隊(duì)列中個(gè)各條微內(nèi)容讀出,對(duì)它們進(jìn)行中文分詞,去掉停用詞,生成相應(yīng)的關(guān)鍵詞序列;第二步,對(duì)各個(gè)關(guān)鍵詞序列,創(chuàng)建按連續(xù)兩個(gè)關(guān)鍵詞組合在一起的關(guān)鍵詞為鍵,包含該兩個(gè)詞組合的微內(nèi)容編號(hào)為值的倒排索引;第三步,等倒排索引建完,掃描倒排索引,創(chuàng)建以微內(nèi)容編號(hào)作為矩陣行列,微內(nèi)容兩兩之間相同單元的數(shù)目為值的相關(guān)矩陣,在掃描每行倒排項(xiàng)時(shí),將兩兩微內(nèi)容編號(hào)對(duì)應(yīng)的矩陣元素的值加1;第四步,等相關(guān)矩陣建完,掃描相關(guān)矩陣,計(jì)算微內(nèi)容之間的相似度,設(shè)兩條微內(nèi)容A<key1,...,keyi,...,keyn>、B<key1,...,keyi,...,keym>,其中keyi為微內(nèi)容包含的關(guān)鍵詞,則定義A、B之間的相似度sim(A,B)為sim(A,B)=(A^B)/(A+B),其中^表示集合交集,+表示集合并集,(A^B)的值也就是A和B在第二步生成的倒排索引中共同出現(xiàn)的次數(shù),可以從相關(guān)矩陣中取得,A+B為A、B在第二步生成的倒排索引中各自出現(xiàn)次數(shù)之和減去A、B在第二步生成的倒排索引中共同出現(xiàn)的次數(shù),A、B各自出現(xiàn)的次數(shù)可以在掃描倒排索引時(shí)獲得,在計(jì)算完A、B之間的相似度sim(A,B)后,把在第三步生成的相關(guān)矩陣中A、B對(duì)應(yīng)的值由(A^B)更新為sim(A,B);第五步,掃描更新完的相關(guān)矩陣,根據(jù)微內(nèi)容之間的相似度對(duì)微內(nèi)容進(jìn)行聚類,由于相關(guān)矩陣是以JAVA中的HashMap為存儲(chǔ)結(jié)構(gòu),且相關(guān)矩陣自身的稀疏特性,所以按照HashMap的自然存放順序來進(jìn)行聚類分析,取得HashMap的第i個(gè)元素,得到微內(nèi)容k和1的相似度,如果小于設(shè)定的閾值,則忽略該元素并繼續(xù)處理下個(gè)元素,否則進(jìn)行聚類處理如果k還沒有被聚類,并且1也沒有被聚類,則創(chuàng)建以k為中心的聚類,并將1標(biāo)記為k為中心;否則,如果1被聚類,但是它是該類的中心,則將1類別與k合并,并標(biāo)記1的類中心為k;否則,找到1的聚類中心,如果該中心微內(nèi)容編號(hào)比k大,則將k歸為該類,并標(biāo)記中心為此中心;否則將該類別與k合并,并修改中心為k;如果k已經(jīng)被聚類,1沒有被聚類,則1歸類為k的類別,并標(biāo)記類中心;如果兩者都聚類,則找到兩者的類中心,將類中心編號(hào)大的合并至另一個(gè),并修改聚類中心;然后迭代取得下一個(gè)元素,直到取完HashMap中的所有元素。
全文摘要
本發(fā)明公開了一種面向互聯(lián)網(wǎng)微內(nèi)容的分布式聚類方法。本發(fā)明采用多機(jī)分布式聚類的方法,主控機(jī)器把要處理的微內(nèi)容切分成多個(gè)小文件,并把這些小文件分配給多臺(tái)聚類機(jī)器進(jìn)行聚類操作。單臺(tái)聚類機(jī)器對(duì)分配到的各個(gè)小文件循環(huán)進(jìn)行元聚類,接著合并這些元聚類結(jié)果文件,得到相應(yīng)的單機(jī)聚類合并文件,然后把它發(fā)送給主控機(jī)器。主控機(jī)器在接收到各個(gè)聚類機(jī)器發(fā)送過來的單機(jī)聚類合并文件后,從各個(gè)單機(jī)聚類合并文件中抽取微內(nèi)容代表點(diǎn),對(duì)這些微內(nèi)容代表點(diǎn)進(jìn)行再次元聚類,生成新的聚類項(xiàng),并將對(duì)應(yīng)的類別合并,得到最后的聚類結(jié)果。本發(fā)明能夠準(zhǔn)確、快速地對(duì)海量級(jí)的互聯(lián)網(wǎng)微內(nèi)容進(jìn)行聚類,是一種既高效又實(shí)用的分布式聚類方法。
文檔編號(hào)G06F17/30GK101178720SQ200710156189
公開日2008年5月14日 申請(qǐng)日期2007年10月23日 優(yōu)先權(quán)日2007年10月23日
發(fā)明者壽黎但, 源 汪, 胡天磊, 剛 陳, 珂 陳 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌兰察布市| 安化县| 普安县| 区。| 亳州市| 壶关县| 邢台市| 绥化市| 石城县| 菏泽市| 溧水县| 日照市| 女性| 济阳县| 长阳| 光山县| 台南市| 扶绥县| 昭觉县| 河西区| 沂南县| 新郑市| 抚松县| 延寿县| 偏关县| 浮山县| 剑川县| 钟山县| 徐州市| 志丹县| 大悟县| 文安县| 平塘县| 永吉县| 安新县| 双城市| 无极县| 明溪县| 巨鹿县| 湾仔区| 新化县|