一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法
【專(zhuān)利摘要】本發(fā)明提出一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,屬于智能信息處理【技術(shù)領(lǐng)域】。方法包括:步驟1,構(gòu)建分布式爬蟲(chóng),獲取微博數(shù)據(jù);步驟2,對(duì)微博數(shù)據(jù)進(jìn)行預(yù)處理;步驟3,進(jìn)行中文分詞去除停用詞,獲取詞集合VOC;步驟4,對(duì)各個(gè)時(shí)間區(qū)間的微博數(shù)據(jù)進(jìn)行LDA聚類(lèi),提取潛在主題;步驟5,篩選出每個(gè)時(shí)間區(qū)間內(nèi)的微博熱門(mén)主題;步驟6,對(duì)全局時(shí)間的熱門(mén)主題進(jìn)行層次聚類(lèi),獲取各主題之間的聚合和分化關(guān)系;步驟7,根據(jù)主題的聚合和分化關(guān)系,可視化主題演變過(guò)程。本發(fā)明以較低的時(shí)間復(fù)雜度挖掘出一個(gè)事件在不同時(shí)期的主題詞分布和同一個(gè)主題在不同時(shí)期的細(xì)粒度主題,具有高效性、魯棒性等優(yōu)點(diǎn),具有較大的實(shí)用價(jià)值。
【專(zhuān)利說(shuō)明】—種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于智能信息處理【技術(shù)領(lǐng)域】,具體涉及一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)上文本信息的爆炸性增長(zhǎng),人們?cè)絹?lái)越難以從海量文本信息中及時(shí)獲得感興趣的主題或事件信息。話題識(shí)別與追蹤(Topic detecting and tracking, TDT)技術(shù)旨在依據(jù)事件對(duì)語(yǔ)言文本信息流進(jìn)行組織,發(fā)展一系列能夠滿足以上用戶需要的核心技術(shù)。話題追蹤是TDT的子任務(wù)之一,話題追蹤能夠幫助人們把分散的信息有效地匯集并組織起來(lái),從整體上了解一個(gè)話題的全部信息。而話題演化分析作為T(mén)DT的新的研究方向,意在話題追蹤的基礎(chǔ)上,發(fā)現(xiàn)話題中各個(gè)事件之間的關(guān)系以及話題演化的歷程,把話題的來(lái)龍去脈清楚的展現(xiàn)給用戶。
[0003]目前主題演變的主流方法是動(dòng)態(tài)主題模型(Dynamic topic model,簡(jiǎn)稱(chēng)DTM),這種方法的主要思想是當(dāng)前時(shí)刻的模型參數(shù)后驗(yàn)作為下一時(shí)刻模型參數(shù)的條件分布引入模型,從全局上看,整個(gè)話題演化模型依然是圖形模型,但在模型參數(shù)推導(dǎo)過(guò)程中比較困難。另外對(duì)全局的處理使得通過(guò)一次建模就可以得到所有時(shí)刻的話題表示,但不具有在線添加新文本的功能,對(duì)于新到達(dá)的文本只能重新離散、全局建模。
[0004]動(dòng)態(tài)混合模型(Dynamic Mixture Model,簡(jiǎn)稱(chēng)DMM)與DTM相比,具有更強(qiáng)的時(shí)間假設(shè)。在DTM中每一個(gè)時(shí)間窗口內(nèi)的文本順序是可以相互交換的,而DMM中的文本是嚴(yán)格按照時(shí)間順序先后到達(dá)的,每個(gè)時(shí)刻只到達(dá)一篇文本,從這個(gè)角度來(lái)說(shuō),DMM是在線的話題演化模型,DMM雖然一次性能夠計(jì)算出同一個(gè)主題在不同時(shí)間的概率分布,但是存在如下問(wèn)題:
[0005]1、三維矩陣空間過(guò)于占用內(nèi)存。由于需要在每個(gè)時(shí)間段上求解主題分布,因此需要建立主題-時(shí)間-詞三維矩陣,導(dǎo)致內(nèi)存占用量大大增加。
[0006]2、對(duì)新來(lái)的文本不再使用,每當(dāng)新來(lái)文本時(shí),只能重新計(jì)算。
[0007]實(shí)際應(yīng)用中對(duì)主題的檢測(cè)以及主題演化趨勢(shì)的分析都要求實(shí)時(shí)進(jìn)行,其難點(diǎn)在于處理的文檔數(shù)據(jù)量很大,文檔數(shù)據(jù)類(lèi)型復(fù)雜,包括新聞、論壇、博客等形式的文本。以上方法都基于特定的前提假設(shè),只能對(duì)少量的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行一定的分析與挖掘,無(wú)法滿足實(shí)際應(yīng)用的需求。
【發(fā)明內(nèi)容】
[0008]針對(duì)現(xiàn)有主題檢測(cè)系統(tǒng)無(wú)法分析計(jì)算主題演化趨勢(shì)的缺陷,本發(fā)明通過(guò)層次聚類(lèi)實(shí)時(shí)計(jì)算不同時(shí)間段內(nèi)主題之間的相似性關(guān)系,從而分析出主題隨時(shí)間的演化趨勢(shì),并可繪制出主題演化趨勢(shì)圖,具體提出了一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法。具體步驟為:
[0009]步驟一、構(gòu)建分布式爬蟲(chóng),獲取微博數(shù)據(jù)。
[0010]步驟二、對(duì)微博數(shù)據(jù)進(jìn)行預(yù)處理。
[0011]預(yù)處理包括去噪和去重,具體指去除微博數(shù)據(jù)中文本字?jǐn)?shù)小于長(zhǎng)度閾值L的數(shù)據(jù)、重復(fù)的數(shù)據(jù)、廣告內(nèi)容、自動(dòng)回復(fù)數(shù)據(jù)和網(wǎng)址數(shù)據(jù),其中微博數(shù)據(jù)包括微博正文和評(píng)論中的數(shù)據(jù)。
[0012]步驟三、對(duì)所有微博數(shù)據(jù)進(jìn)行中文分詞,去除停用詞,獲取分詞結(jié)果,構(gòu)成詞集合VOC。
[0013]步驟四、對(duì)各個(gè)時(shí)間區(qū)間的微博數(shù)據(jù)分別進(jìn)行LDA聚類(lèi),提取潛在主題。
[0014]將一條微博數(shù)據(jù),包括正文和評(píng)論,經(jīng)過(guò)中文分詞后構(gòu)成的詞集合視為一個(gè)文檔,對(duì)每個(gè)時(shí)間區(qū)間內(nèi)的所有文檔建立文檔-主題模型,提取主題,并得到每個(gè)文檔對(duì)應(yīng)到不同主題的概率和每個(gè)主題生成單詞的概率。
[0015]步驟五、篩選出每個(gè)時(shí)間區(qū)間內(nèi)的微博熱門(mén)主題。
[0016]從步驟四得到的微博主題中對(duì)所有文檔計(jì)算其在每個(gè)時(shí)間區(qū)間內(nèi)的歸屬主題,并按照劃分到主題下的文檔數(shù)量進(jìn)行排序,選取熱門(mén)主題。
[0017]步驟六:根據(jù)LDA聚類(lèi)結(jié)果對(duì)全局時(shí)間的熱門(mén)主題進(jìn)行層次聚類(lèi),并獲取各熱門(mén)主題之間的聚合和分化關(guān)系。
[0018]根據(jù)步驟四得到的主題在詞集合VOC上的概率分布,合并步驟五得到的所有時(shí)間區(qū)間的熱門(mén)主題,對(duì)熱門(mén)主題在全局時(shí)間內(nèi)進(jìn)行層次聚類(lèi)。進(jìn)而通過(guò)層次聚類(lèi)結(jié)果,計(jì)算各主題之間的分化和聚合情況。
[0019]步驟七:根據(jù)主題的聚合和分化關(guān)系,可視化主題演變過(guò)程。
[0020]本發(fā)明的優(yōu)點(diǎn)和積極效果在于:
[0021](I) 一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,該方法具有高效性、魯棒性等優(yōu)點(diǎn),具有較大的實(shí)用價(jià)值。
[0022](2) 一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,挖掘出同一個(gè)主題在不同時(shí)期的細(xì)粒度主題。
[0023](3) 一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,以較低的時(shí)間復(fù)雜度挖掘出一個(gè)事件在不同時(shí)期的主題詞分布。
[0024]說(shuō)明書(shū)附圖
[0025]圖1是本發(fā)明的一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法的流程圖。
[0026]圖2是本發(fā)明中關(guān)于對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的步驟流程圖。
[0027]圖3是本發(fā)明中關(guān)于中文分詞的流程圖。
[0028]圖4是本發(fā)明中關(guān)于層次聚類(lèi)的流程圖。
[0029]圖5是本發(fā)明中選取的熱門(mén)主題示意圖。
[0030]圖6是本發(fā)明中主題隨時(shí)間的演化效果圖。
【具體實(shí)施方式】
[0031]下面將結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作出進(jìn)一步的詳細(xì)說(shuō)明。
[0032]本發(fā)明基于主題模型分別對(duì)不同時(shí)間的文檔進(jìn)行聚類(lèi),利用層次聚類(lèi)技術(shù)對(duì)不同時(shí)間區(qū)間的主題進(jìn)行層次聚類(lèi),構(gòu)建主題之間的聚合、分化關(guān)系。將選取主題的熱門(mén)程度以及影響力作為主題特性研究的切入點(diǎn),并著重分析熱門(mén)主題以及影響力高的主題的變化趨勢(shì)。
[0033]專(zhuān)利200710062943.7和本發(fā)明類(lèi)似,不同之處在于其后續(xù)求取不同時(shí)間點(diǎn)的相似度時(shí),只根據(jù)相鄰兩個(gè)主題求取相似度,若主題中間消亡一段時(shí)間,后期再次出現(xiàn),則無(wú)法捕捉,并且無(wú)法捕捉到主題的分化和聚合信息。
[0034]本發(fā)明是一種自動(dòng)計(jì)算微博上主題演化趨勢(shì)的方法,采集互聯(lián)網(wǎng)文本信息,收集新浪微博的語(yǔ)料,并對(duì)其進(jìn)行預(yù)處理;包括提取文本信息,過(guò)濾停用詞及公式符號(hào)等。分時(shí)間段檢測(cè)主題事件,通過(guò)在每個(gè)時(shí)間點(diǎn)離散計(jì)算主題分布,融合各個(gè)階段的主題結(jié)果,進(jìn)行層次聚類(lèi);通過(guò)層次聚類(lèi)的方法把不同時(shí)間片的主題聚類(lèi),完成對(duì)主題的追蹤和演變分析,根據(jù)層次聚類(lèi)的結(jié)果,可視化主題演化圖。
[0035]一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,具體步驟如附圖1所示:
[0036]步驟一、構(gòu)建分布式爬蟲(chóng),獲取微博數(shù)據(jù)。
[0037]通過(guò)新浪API (Applicat1n Programming Interface)獲取新浪微博數(shù)據(jù),本發(fā)明選取一個(gè)月內(nèi)的微博數(shù)據(jù),每一條微博數(shù)據(jù)均包括微博正文和評(píng)論的數(shù)據(jù)。
[0038]步驟二、對(duì)微博數(shù)據(jù)進(jìn)行預(yù)處理。
[0039]預(yù)處理包括去噪和去重;對(duì)微博數(shù)據(jù)分別通過(guò)如附圖2所示的具體步驟實(shí)施:
[0040]步驟201:去除微博數(shù)據(jù)中文本字?jǐn)?shù)小于長(zhǎng)度閾值L的數(shù)據(jù);
[0041]具體采用比較大小的程序自動(dòng)過(guò)濾微博數(shù)據(jù)中文本長(zhǎng)度小于長(zhǎng)度閾值L的微博數(shù)據(jù)。長(zhǎng)度閾值L值根據(jù)經(jīng)驗(yàn)或具體領(lǐng)域視情況而定。本實(shí)施例優(yōu)選5;
[0042]步驟202:去除重復(fù)的微博數(shù)據(jù);
[0043]由于微博內(nèi)有大量的重復(fù)性微博數(shù)據(jù),利用Bloom filter算法或Simhash算法對(duì)微博數(shù)據(jù)中的重復(fù)數(shù)據(jù)進(jìn)行過(guò)濾。
[0044]步驟203:去除微博數(shù)據(jù)中包含的廣告內(nèi)容;
[0045]設(shè)定廣告詞匹配規(guī)則庫(kù),去除微博數(shù)據(jù)中包含的廣告數(shù)據(jù),廣告詞匹配規(guī)則庫(kù)中包含了一般常用的廣告詞;編寫(xiě)正則表達(dá)式用于匹配廣告詞匹配規(guī)則庫(kù)中的任意詞,正則表達(dá)式是根據(jù)具體模板而定的。
[0046]步驟204:去除基于網(wǎng)絡(luò)特定回復(fù)模板的自動(dòng)回復(fù)微博數(shù)據(jù);
[0047]基于網(wǎng)絡(luò)特定回復(fù)模板設(shè)定與網(wǎng)絡(luò)自動(dòng)回復(fù)內(nèi)容匹配的正則表達(dá)式,去除微博數(shù)據(jù)中基于網(wǎng)絡(luò)特定回復(fù)模板的自動(dòng)回復(fù)微博數(shù)據(jù)。
[0048]步驟205:去除微博數(shù)據(jù)中的網(wǎng)址數(shù)據(jù)。設(shè)定匹配網(wǎng)址的正則表達(dá)式,去除微博數(shù)據(jù)中的網(wǎng)址數(shù)據(jù)。
[0049]步驟206:重復(fù)步驟201,再次計(jì)算微博數(shù)據(jù)中文本字?jǐn)?shù)的長(zhǎng)度,并去除不滿足長(zhǎng)度規(guī)則的微博數(shù)據(jù),進(jìn)行二次清洗。
[0050]步驟三、對(duì)所有微博數(shù)據(jù)進(jìn)行中文分詞,去除停用詞,獲取分詞結(jié)果,構(gòu)成詞集合VOC。
[0051 ] 具體過(guò)程如附圖3所示:
[0052]步驟301:對(duì)微博數(shù)據(jù)進(jìn)行中文分詞同時(shí)去除停用詞;調(diào)用中文分詞器對(duì)微博數(shù)據(jù)進(jìn)行分詞,同時(shí)去除停用詞;
[0053]步驟302:對(duì)微博數(shù)據(jù)中的英文詞進(jìn)行形態(tài)變換,轉(zhuǎn)換到統(tǒng)一形式;
[0054]對(duì)步驟301處理之后的分詞結(jié)果中包含的英文詞進(jìn)行形態(tài)變換,轉(zhuǎn)換到統(tǒng)一形式;包括將時(shí)態(tài)統(tǒng)一為一般現(xiàn)在時(shí),將語(yǔ)態(tài)統(tǒng)一為主動(dòng)語(yǔ)態(tài)。
[0055]步驟303:計(jì)算每個(gè)詞的文檔頻率df和詞頻tf ;主要是對(duì)步驟302得到的分詞結(jié)果中的每個(gè)詞,計(jì)算其文檔頻率df和詞頻tf ;
[0056]文檔頻率df:是指出現(xiàn)過(guò)該詞的文件個(gè)數(shù)除以文件集中的文件總數(shù);
[0057]詞頻tf:是指該詞在文件中出現(xiàn)的次數(shù)除以該文件的總詞語(yǔ)數(shù)。
[0058]步驟304:計(jì)算每個(gè)詞的特征強(qiáng)度f(wàn)t ;針對(duì)步驟302得到的分詞結(jié)果中的每個(gè)詞,計(jì)算其特征強(qiáng)度f(wàn)t,特征強(qiáng)度f(wàn)t定義為:
[0059]./^ = 1^(τ^γ + 1)
[0060]其中idf代表逆文檔頻率,是文檔頻率df的倒數(shù);
[0061]步驟305:提取特征強(qiáng)度f(wàn)t大于特征強(qiáng)度閾值T的詞,構(gòu)成詞集合V0C。
[0062]根據(jù)步驟304計(jì)算所得的特征強(qiáng)度f(wàn)t,篩選特征強(qiáng)度f(wàn)t大于強(qiáng)度閾值T的詞,將微博數(shù)據(jù)中所有的特征強(qiáng)度f(wàn)t大于特征強(qiáng)度閾值T的詞組成詞集合V0C,特征強(qiáng)度閾值T根據(jù)具體適用場(chǎng)合而定。
[0063]步驟四:對(duì)各個(gè)時(shí)間區(qū)間的微博數(shù)據(jù)分別進(jìn)行LDA聚類(lèi),提取潛在主題。
[0064]本實(shí)施例中將詞集合VOC中的每一條微博數(shù)據(jù)設(shè)為一個(gè)文檔d,對(duì)于任一時(shí)間區(qū)間per1d,其區(qū)間內(nèi)所有文檔d組成文檔集合D ;設(shè)每一個(gè)文檔d均含有η個(gè)單詞;單詞序列設(shè)為< wl, w2,..., wn >, wi表示第i個(gè)單詞。
[0065]對(duì)每個(gè)時(shí)間區(qū)間內(nèi)的所有文檔建立文檔-主題模型,得到主題集合T并提取主題,得到每個(gè)文檔對(duì)應(yīng)到不同主題的概率和每個(gè)主題生成單詞的概率。
[0066]所述的文檔-主題模型選取基于Gibbs sampling的LDA話題模型,在每個(gè)時(shí)間區(qū)間內(nèi)對(duì)當(dāng)時(shí)的文檔集合D進(jìn)行聚類(lèi),挖掘到隱含的主題集合T設(shè)為< tl,t2,...,tk >。提取的主題為topic ;本實(shí)施例選取k個(gè)topic, ti表示第i個(gè)topic。
[0067]通過(guò)LDA聚類(lèi)得到的兩個(gè)結(jié)果向量表示如下:
[0068]對(duì)任意文檔d,對(duì)應(yīng)到不同topic的概率為Θ d < Ptl, Pt2,…,Ptk >,其中,Pti表示文檔d對(duì)應(yīng)第i個(gè)topic的概率。
[0069]對(duì)任何主題topic,生成不同單詞的概率為奶<6p62,...,。, >,其中,Pwi表示topic生成第i個(gè)單詞的概率。
[0070]步驟五:篩選出每個(gè)時(shí)間區(qū)間內(nèi)的微博熱門(mén)主題;
[0071]具體計(jì)算步驟如下:
[0072]步驟501:對(duì)每個(gè)時(shí)間區(qū)間內(nèi)的所有主題,計(jì)算其歸屬主題。
[0073]設(shè)置文檔-主題關(guān)聯(lián)強(qiáng)度閾值R,針對(duì)步驟四得到的微博主題中,對(duì)于文檔d,若其對(duì)應(yīng)到第i個(gè)topic的概率Pti超過(guò)R,則文檔d屬于主題ti,一篇文檔d可能同時(shí)歸屬于多個(gè)主題。
[0074]步驟502:對(duì)所有主題按照劃分到其下的文檔d的數(shù)量進(jìn)行排序,取前N個(gè)主題作為熱門(mén)主題。N根據(jù)所有主題下的文檔數(shù)量分布而定,本發(fā)明N優(yōu)選20,如附圖5所示為20個(gè)熱門(mén)主題的示意圖。
[0075]前20個(gè)熱門(mén)主題隨時(shí)間的分布圖如附圖6所示,其中,橫坐標(biāo)表示時(shí)間,縱坐標(biāo)表示LDA聚類(lèi)后的主題熱度。圖中每條曲線對(duì)應(yīng)一個(gè)熱門(mén)主題。從圖中可以看出各個(gè)主題從產(chǎn)生到消亡或其間有波動(dòng)起伏的過(guò)程。
[0076]步驟六:根據(jù)LDA聚類(lèi)結(jié)果對(duì)全局時(shí)間的熱門(mén)主題進(jìn)行層次聚類(lèi),并獲取各熱門(mén)主題之間的聚合和分化關(guān)系。
[0077]具體步驟如附圖4所示:
[0078]步驟601:形成全局各個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題。
[0079]根據(jù)步驟五得到的每個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題,合并所有時(shí)間區(qū)間的熱門(mén)主題,形成全局各個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題。
[0080]步驟602:對(duì)各熱門(mén)主題進(jìn)行層次聚類(lèi),獲得聚類(lèi)結(jié)果。
[0081]提取步驟四得到的每個(gè)主題生成不同單詞的概率分布ft,抽取每個(gè)時(shí)間區(qū)間內(nèi)各主題在詞集合VOC上的概率分布;根據(jù)概率分布,對(duì)各熱門(mén)主題在全局時(shí)間內(nèi)所有的主題進(jìn)行層次聚類(lèi),獲得各熱門(mén)主題在全局各個(gè)時(shí)間區(qū)間內(nèi)所有主題的聚類(lèi)結(jié)果。
[0082]步驟603:根據(jù)層次聚類(lèi)結(jié)果,結(jié)合時(shí)間信息,獲取熱門(mén)主題的聚合和分化關(guān)系。
[0083]熱門(mén)主題的聚合和分化關(guān)系如下:
[0084]若主題tl, t2分別為前后連續(xù)時(shí)間區(qū)間per1dl、per1d2內(nèi)兩個(gè)主題,且tl,t2屬于同一類(lèi),則t2視為可能由主題tl演變而來(lái);
[0085]若主題tl, t2為時(shí)間區(qū)間per1dl內(nèi)兩個(gè)主題,主題t3為時(shí)間區(qū)間per1d2內(nèi)主題,per1dl、per1d2為前后連續(xù)時(shí)間區(qū)間,且tl, t2, t3屬于同一類(lèi),則t3視為可能由主題tl,t2聚合而來(lái);
[0086]若主題tl為時(shí)間區(qū)間per1dl內(nèi)主題,主題t2, t3為時(shí)間區(qū)間per1d2內(nèi)兩個(gè)主題,per1dl、per1d2為前后連續(xù)時(shí)間區(qū)間,且tl, t2, t3屬于同一類(lèi),則t2, t3視為可能由主題tl分化而來(lái);
[0087]步驟七:根據(jù)主題的聚合和分化關(guān)系,可視化主題演變過(guò)程。
[0088]將得到主題的聚合和分化關(guān)系,以拓?fù)渚W(wǎng)絡(luò)形式表達(dá),從而體現(xiàn)追蹤熱門(mén)主題的演變過(guò)程。利用HTML5技術(shù)和d3.js數(shù)據(jù)可視化js庫(kù)實(shí)現(xiàn)動(dòng)態(tài)的主題聚合和分化,實(shí)現(xiàn)熱門(mén)主題的演變追蹤可視化。
[0089]實(shí)施例:采用以下算法進(jìn)行層次聚類(lèi)
[0090]del、do_clusicring(nodcs):
# make a copy, do not touch lhe original list
nodes = nodcs[:]
while len(nodcs) > 1:
print "Clustering [%d]…” % lcn(nodcs)
min—distance = Ποα?(!?ηΓ)
min—pair = (-15 -1)
for i in range(lcn(nodcs)):1br j in rangc(i+U lcn(nodcs)):
distance = nodcs[i].dislancc(nodcs[j])
if distance < min—distance:
mindistancc = distance
min—pair = (i,j)
i, j = m in—pair
node I = nodcs[i]
nodc2 = nodes [j]
del nodcs[j] # note should del j first (j > i)
del nodcs[i]
nodcs.appcnd(nodcl.mcrgc(nodc2, min distancc))
return nodcs[0]o
【權(quán)利要求】
1.一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,其特征在于:包括如下步驟: 步驟一、構(gòu)建分布式爬蟲(chóng),獲取微博數(shù)據(jù); 步驟二、對(duì)微博數(shù)據(jù)進(jìn)行預(yù)處理; 步驟三、對(duì)所有微博數(shù)據(jù)進(jìn)行中文分詞,去除停用詞,獲取分詞結(jié)果,構(gòu)成詞集合VOC ; 步驟四:對(duì)各個(gè)時(shí)間區(qū)間的微博數(shù)據(jù)分別進(jìn)行LDA聚類(lèi),提取潛在主題; 將詞集合VOC中的一條微博數(shù)據(jù)視為一個(gè)文檔,對(duì)每個(gè)時(shí)間區(qū)間內(nèi)的所有文檔建立文檔-主題模型,提取主題,并得到每個(gè)文檔對(duì)應(yīng)到不同主題的概率和每個(gè)主題生成單詞的概率; 步驟五:篩選出每個(gè)時(shí)間區(qū)間內(nèi)的微博熱門(mén)主題; 步驟六:根據(jù)LDA聚類(lèi)結(jié)果對(duì)全局時(shí)間的熱門(mén)主題進(jìn)行層次聚類(lèi),并獲取各熱門(mén)主題之間的聚合和分化關(guān)系; 根據(jù)步驟四得到的主題在詞集合VOC上的概率分布,合并步驟五得到的所有時(shí)間區(qū)間的熱門(mén)主題,對(duì)熱門(mén)主題在全局時(shí)間內(nèi)進(jìn)行層次聚類(lèi);進(jìn)而通過(guò)層次聚類(lèi)結(jié)果獲取各主題之間的分化和聚合關(guān)系; 步驟七:根據(jù)主題的聚合和分化關(guān)系,可視化主題演變過(guò)程。
2.根據(jù)權(quán)利要求1所述的一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,其特征在于,所述的預(yù)處理包括去噪和去重,具體指去除微博數(shù)據(jù)中文本字?jǐn)?shù)小于長(zhǎng)度閾值L的數(shù)據(jù)、重復(fù)的數(shù)據(jù)、廣告內(nèi)容、自動(dòng)回復(fù)數(shù)據(jù)和網(wǎng)址數(shù)據(jù),其中微博數(shù)據(jù)包括微博正文和評(píng)論中的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,其特征在于,所述的步驟三具體包括: 步驟301:對(duì)微博數(shù)據(jù)進(jìn)行中文分詞,同時(shí)去除停用詞; 步驟302:對(duì)微博數(shù)據(jù)中的英文詞進(jìn)行形態(tài)變換,轉(zhuǎn)換到統(tǒng)一形式; 步驟303:計(jì)算每個(gè)詞的文檔頻率df和詞頻tf ; 步驟304:計(jì)算每個(gè)詞的特征強(qiáng)度f(wàn)t,特征強(qiáng)度f(wàn)t定義為:
ulj +1 其中idf代表逆文檔頻率,是文檔頻率df的倒數(shù); 步驟305:提取特征強(qiáng)度f(wàn)t大于特征強(qiáng)度閾值T的詞向量,構(gòu)成詞集合V0C。
4.根據(jù)權(quán)利要求1所述的一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,其特征在于,所述的步驟五具體步驟如下: 步驟501:對(duì)每個(gè)時(shí)間區(qū)間內(nèi)的所有主題,計(jì)算其歸屬主題; 設(shè)置文檔-主題關(guān)聯(lián)強(qiáng)度閾值R,針對(duì)步驟四得到的微博主題中,對(duì)于文檔d,若其對(duì)應(yīng)到第i個(gè)topic的概率Pti超過(guò)R,則文檔d屬于主題ti,一篇文檔d可同時(shí)歸屬于多個(gè)主題; 步驟502:對(duì)所有主題按照劃分到其下的文檔d的數(shù)量進(jìn)行排序,取前N個(gè)主題作為熱門(mén)主題。
5.根據(jù)權(quán)利要求1所述的一種面向微博的動(dòng)態(tài)主題檢測(cè)與演變追蹤方法,其特征在于,所述的步驟六具體包括: 步驟601:形成全局各個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題; 根據(jù)每個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題,合并所有時(shí)間區(qū)間的熱門(mén)主題,形成全局各個(gè)時(shí)間區(qū)間內(nèi)的熱門(mén)主題; 步驟602:對(duì)各熱門(mén)主題進(jìn)行層次聚類(lèi),獲得聚類(lèi)結(jié)果; 提取每個(gè)主題生成不同單詞的概率分布P,抽取每個(gè)時(shí)間區(qū)間內(nèi)各主題在詞集合VOC上的概率分布;根據(jù)概率分布,對(duì)各熱門(mén)主題在全局時(shí)間內(nèi)所有的主題進(jìn)行層次聚類(lèi),獲得各熱門(mén)主題在全局各個(gè)時(shí)間區(qū)間內(nèi)所有主題的聚類(lèi)結(jié)果; 步驟603:根據(jù)層次聚類(lèi)結(jié)果,結(jié)合時(shí)間信息,獲取主題的聚合和分化關(guān)系; 熱門(mén)主題的聚合和分化關(guān)系如下: 若主題tl, t2分別為前后連續(xù)時(shí)間區(qū)間per1dl、per1d2內(nèi)兩個(gè)主題,且tl, t2屬于同一類(lèi),則t2視為可能由主題tl演變而來(lái); 若主題tl, t2為時(shí)間區(qū)間per1dl內(nèi)兩個(gè)主題,主題t3為時(shí)間區(qū)間per1d2內(nèi)主題,per1dl、per1d2為前后連續(xù)時(shí)間區(qū)間,且tl, t2, t3屬于同一類(lèi),則t3視為可能由主題tl,t2聚合而來(lái); 若主題tl為時(shí)間區(qū)間per1dl內(nèi)主題,主題t2, t3為時(shí)間區(qū)間per1d2內(nèi)兩個(gè)主題,per1dl、per1d2為前后連續(xù)時(shí)間區(qū)間,且tl, t2, t3屬于同一類(lèi),則t2, t3視為可能由主題tl分化而來(lái)。
【文檔編號(hào)】G06F17/30GK104199974SQ201410488391
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年9月22日 優(yōu)先權(quán)日:2013年9月22日
【發(fā)明者】閆碧瑩, 鄧攀, 余雷, 趙鑫, 袁偉, 萬(wàn)安格 申請(qǐng)人:中科嘉速(北京)并行軟件有限公司