本發(fā)明涉及文本挖掘和在線話題發(fā)現(xiàn)與跟蹤技術(shù)領(lǐng)域,具體的涉及一種基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法。
背景技術(shù):
在互聯(lián)網(wǎng)環(huán)境下,客戶需要在重大事件發(fā)生初期,盡早捕捉到事件的發(fā)生和發(fā)展,以便做出更好的決策。這就需要話題發(fā)現(xiàn)技術(shù)能兼顧時(shí)效性和準(zhǔn)確性,以便對(duì)突發(fā)事件及時(shí)預(yù)警。
爆炸性話題是指在網(wǎng)絡(luò)數(shù)據(jù)流中短時(shí)間內(nèi)出現(xiàn)次數(shù)出現(xiàn)激增的話題。話題的爆炸程度,可借助時(shí)間加速度進(jìn)行度量。該話題在短時(shí)間內(nèi)在互聯(lián)網(wǎng)環(huán)境中激增,加速度增大稱為爆炸性話題。對(duì)話題發(fā)展傳播趨勢(shì)的計(jì)算方法:概率方法,統(tǒng)計(jì)方法和時(shí)域波方法。
1、概率方法:采用點(diǎn)過程理論的概率預(yù)測(cè)模型,能將博文隨著時(shí)間隨機(jī)產(chǎn)生這一過程模擬成點(diǎn)過程中的泊松過程,從而預(yù)測(cè)在某一時(shí)刻最大可能的博文數(shù)量。
2、統(tǒng)計(jì)方法:基于詞頻實(shí)時(shí)統(tǒng)計(jì)追蹤詞頻或共現(xiàn)詞頻的增長率,之后通過聚類詞項(xiàng)或共現(xiàn)詞增長趨勢(shì)的方式得到話題。例如采用如算法topicsketch計(jì)算某時(shí)刻t,根據(jù)各話題詞概率分布和該話題的加速度估計(jì)當(dāng)前數(shù)據(jù)流中總的詞頻增長率,最后優(yōu)化期望誤差得到各話題的詞概率分布和該話題的加速度。話題的詞概率方法:獲取當(dāng)前數(shù)據(jù)流中所有不同的詞項(xiàng)在該話題下的分布,來測(cè)量話題的加速度。
3、時(shí)域波方法,在話題發(fā)現(xiàn)過程中,引入小波變換或傅里葉變換實(shí)現(xiàn)數(shù)域到時(shí)域波的轉(zhuǎn)換,從而達(dá)到話題早發(fā)現(xiàn)的目的。
上述方法都能達(dá)到話題早發(fā)現(xiàn)的目的,但并不能準(zhǔn)確及時(shí)的發(fā)現(xiàn)爆炸性話題。爆炸性話題的發(fā)現(xiàn)對(duì)時(shí)效性,話題粒度和話題準(zhǔn)確度要求較高。
相比已有的熱門話題發(fā)現(xiàn)方法,已有的該領(lǐng)域?qū)@夹g(shù)通常采用熱度明顯的詞表示話題,而對(duì)話題語義的完整性表達(dá)有所缺陷。或者通過聚類話題來還原話題語義,但通常對(duì)聚類質(zhì)量和話題語義粒度控制上難度較大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法,該發(fā)明解決了現(xiàn)有技術(shù)中對(duì)于爆炸性話題無法及時(shí)準(zhǔn)確的發(fā)現(xiàn)的技術(shù)問題。
同時(shí)本發(fā)明的目標(biāo)在于,盡可能早地發(fā)現(xiàn)實(shí)時(shí)產(chǎn)生的微博數(shù)據(jù)中挖掘熱議度廣的話題。并在挖掘爆炸性話題的同時(shí),能度量爆炸性話題在當(dāng)前數(shù)據(jù)中的爆炸度和當(dāng)前數(shù)據(jù)流中所有詞在話題中的概率分布。從而能在挖掘的爆炸性話題中抽取最爆炸的話題,和最能表達(dá)當(dāng)前話題的話題關(guān)鍵詞集合,這樣話題的完整語義能通過話題詞的概率值來表達(dá)。
本發(fā)明提供一種基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法,包括以下步驟:
步驟s100:遍歷實(shí)時(shí)博文數(shù)據(jù)流中的t時(shí)刻博文,對(duì)博文依序進(jìn)行清洗、分詞、過濾處理后,得到按照tf-idf值排序的詞項(xiàng)集;
步驟s200:構(gòu)造包含博文總數(shù)量增長趨勢(shì)、共現(xiàn)詞詞頻、詞項(xiàng)集中共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3的數(shù)據(jù)快照,并判斷博文總數(shù)量增長趨勢(shì)是否超過預(yù)設(shè)閾值,如果超過閾值時(shí),則進(jìn)入步驟s300,否則返回步驟s100;
步驟s300:采用張量分解話題模型分別對(duì)數(shù)據(jù)快照中的共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3進(jìn)行奇異值分解,得到話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk以及話題pi的詞概率詞分布φk,任意兩話題pi的權(quán)重wk≠wi;
步驟s400:采用精化話題模型對(duì)張量分解得到的話題詞pi進(jìn)行精細(xì)化處理,得到精化話題,并將精化話題與現(xiàn)實(shí)世界發(fā)生的事件對(duì)應(yīng),得到爆炸性話題。
進(jìn)一步地,過濾步驟過濾去除停用詞和tfidf低于閾值的詞。
進(jìn)一步地,步驟s300包括以下步驟:
步驟s310:對(duì)共現(xiàn)詞對(duì)增長趨勢(shì)m2進(jìn)行奇異值分解,并取前k個(gè)特征值得到特征向量組成的矩陣u和特征值構(gòu)成的對(duì)角矩陣λ;
步驟s320:通過特征向量u和特征值λ構(gòu)造白化矩陣w,w=uλ-1/2;
步驟s330:將共現(xiàn)三元組增長趨勢(shì)m3降維成二維矩陣m3(η),白化矩陣w作用于矩陣m3(η)得到矩陣t3,t3=wtm3(η)w;
步驟s340:對(duì)矩陣t3進(jìn)行奇異值分解得到特征向量vk,通過白化矩陣w和特征向量vk計(jì)算得到話題pi的詞概率分布φk和話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk。
進(jìn)一步地,步驟s400包括以下步驟:
步驟s410:根據(jù)話題pi的詞概率詞分布φk,挑選概率值前n的詞項(xiàng)組成權(quán)重wk的當(dāng)前話題詞集合;
步驟s420:根據(jù)共現(xiàn)詞詞頻對(duì)當(dāng)前話題詞集合內(nèi)的詞進(jìn)行聚類,得到每個(gè)話題詞集合下的c個(gè)聚類精化話題topick,z;
步驟s430:通過每個(gè)精化話題topick,z中的話題詞概率與話題詞集合的權(quán)重wk進(jìn)行加權(quán)求和,得到精化話題topick,z的爆炸度ak,z。
本發(fā)明的另一方面還提供了一種如上述方法用裝置,包括:
博文數(shù)據(jù)預(yù)處理模塊:用于遍歷實(shí)時(shí)博文數(shù)據(jù)流中的t時(shí)刻博文,對(duì)博文依序進(jìn)行清洗、分詞、過濾處理后,得到按照tf-idf值排序的詞項(xiàng)集;
數(shù)據(jù)快照構(gòu)造模塊,用于構(gòu)造包含博文總數(shù)量增長趨勢(shì)、共現(xiàn)詞詞頻、詞項(xiàng)集中共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3的數(shù)據(jù)快照,并判斷博文總數(shù)量增長趨勢(shì)是否超過預(yù)設(shè)閾值,如果超過閾值時(shí),則進(jìn)入張量分解模塊,否則返回博文數(shù)據(jù)預(yù)處理模塊;
張量分解模塊:用于采用張量分解話題模型分別對(duì)數(shù)據(jù)快照中的共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3進(jìn)行奇異值分解,得到話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk以及話題pi的詞概率詞分布φk,任意兩話題pi的權(quán)重wk≠wi;
精化話題模塊:用于采用精化話題模型對(duì)張量分解得到的話題詞pi進(jìn)行精細(xì)化處理,得到精化話題,并將精化話題與現(xiàn)實(shí)世界發(fā)生的事件對(duì)應(yīng),得到爆炸性話題。
進(jìn)一步地,張量分解模塊包括:
奇異值分解模塊:用于對(duì)共現(xiàn)詞對(duì)增長趨勢(shì)m2進(jìn)行奇異值分解,并取前k個(gè)特征值得到特征向量組成的矩陣u和特征值構(gòu)成的對(duì)角矩陣λ;
構(gòu)造白化矩陣模塊:用于通過特征向量u和特征值λ構(gòu)造白化矩陣w,w=uλ-1/2;
降維模塊:用于將共現(xiàn)三元組增長趨勢(shì)m3降維成二維矩陣m3(η),白化矩陣w作用于矩陣m3(η)得到矩陣t3,t3=wtm3(η)w;
詞概率分布模塊:用于對(duì)矩陣t3進(jìn)行奇異值分解得到特征向量vk,通過白化矩陣w和特征向量vk計(jì)算得到話題pi的詞概率分布φk和話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk。
進(jìn)一步地,精化話題模塊包括:
當(dāng)前話題詞集合模塊:用于根據(jù)話題pi的詞概率詞分布φk,挑選概率值前n的詞項(xiàng)組成權(quán)重wk的當(dāng)前話題詞集合;
聚類模塊:用于根據(jù)共現(xiàn)詞詞頻對(duì)當(dāng)前話題詞集合內(nèi)的詞進(jìn)行聚類,得到每個(gè)話題詞集合下的c個(gè)聚類精化話題topick,z;
加權(quán)求和模塊:用于通過每個(gè)精化話題topick,z中的話題詞概率與話題詞集合的權(quán)重wk進(jìn)行加權(quán)求和,得到精化話題topick,z的爆炸度ak,z。
本發(fā)明的技術(shù)效果:
本發(fā)明提供基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法,能及時(shí)準(zhǔn)確的發(fā)現(xiàn)當(dāng)前爬取的微博數(shù)據(jù)流中博文數(shù)量激增的爆炸性話題,在挖掘爆炸性話題的同時(shí),能計(jì)算各爆炸性話題的爆炸度和當(dāng)前數(shù)據(jù)流中所有詞在話題中的概率分布。并能通過基于張量分解的精化步驟得到最能表達(dá)當(dāng)前話題的話題關(guān)鍵詞集合,所得話題詞的準(zhǔn)確性高。
本發(fā)明提供基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法,通過挑選話題下概率值大的話題詞,在獲取話題詞博文歸屬的同時(shí)保留話題詞的準(zhǔn)確語義,。
具體請(qǐng)參考根據(jù)本發(fā)明的一種基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法提出的各種實(shí)施例的如下描述,將使得本發(fā)明的上述和其他方面顯而易見。
附圖說明
圖1是本發(fā)明提供基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法流程示意圖;
圖2是本發(fā)明優(yōu)選實(shí)施例中所用count-minsketc(最小計(jì)數(shù)機(jī)制的數(shù)據(jù)快照)示意圖;
圖3是本發(fā)明提供的基于張量分解的在線爆炸性話題早發(fā)現(xiàn)裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明優(yōu)選實(shí)施例中張量分解模塊的結(jié)構(gòu)示意圖;
圖5是本發(fā)明優(yōu)選實(shí)施例中精化話題模塊的結(jié)構(gòu)示意圖。
具體實(shí)施方式
構(gòu)成本申請(qǐng)的一部分的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。
本發(fā)明主要借助張量分解的方式,統(tǒng)計(jì)實(shí)時(shí)的共現(xiàn)詞頻和共現(xiàn)詞三元組的詞頻,通過統(tǒng)計(jì)數(shù)據(jù)從而抽取出短時(shí)間內(nèi)相關(guān)博文數(shù)激增的爆炸性話題。對(duì)共現(xiàn)詞頻統(tǒng)計(jì)表進(jìn)行張量分解,得到當(dāng)前數(shù)據(jù)流中重要程度不一的詞項(xiàng)集合。再根據(jù)共現(xiàn)詞模糊聚類的方式進(jìn)行同一重要程度的詞項(xiàng)集合內(nèi)的話題內(nèi)聚得到話題相關(guān)的詞項(xiàng)和話題的詞概率分布。
需要說明的是,通常在人們?nèi)粘S懻撝小霸掝}”和“事件”是可以等同的概念。但是在在線社交網(wǎng)絡(luò)分析技術(shù)領(lǐng)域中,話題是人們正在討論的主題所涉及的關(guān)鍵詞組成的集合,事件是人們討論相關(guān)主題對(duì)應(yīng)的實(shí)際生活中真實(shí)發(fā)生的事件。再者,爆炸性話題與突發(fā)性話題也不能等同看待,爆炸性話題只體現(xiàn)話題相關(guān)博文數(shù)激增的特性,而突發(fā)性話題則是在語義層面有一定社會(huì)影響力的爆炸性話題,通常突發(fā)性話題是種特殊的爆炸性話題。
本發(fā)明提供的方法尤其適用于在實(shí)時(shí)的微博數(shù)據(jù)流提取爆炸性話題。以下說明中均以微博為例進(jìn)行說明,其他待處理文檔類似。
參見圖1,本發(fā)明提供了一種基于張量分解的在線爆炸性話題早發(fā)現(xiàn)方法,包括以下步驟:
步驟s100:遍歷實(shí)時(shí)博文數(shù)據(jù)流中的t時(shí)刻博文,對(duì)所述博文依序進(jìn)行清洗、分詞、過濾處理后,得到按照tf-idf值排序的詞項(xiàng)集;
在某一時(shí)刻t產(chǎn)生的所有博文,稱為實(shí)時(shí)博文數(shù)據(jù)流中的待處理博文。該步驟的處理可以按現(xiàn)有方法進(jìn)行清洗、分詞、過濾、集結(jié)。優(yōu)選的,過濾時(shí)去除停用詞和tfidf低于1的詞。
例如首先經(jīng)過特殊符號(hào)過濾,過濾掉文本中含義不強(qiáng)的表情符號(hào),鏈接地址,非中英文文本等。經(jīng)過數(shù)據(jù)清洗過后,再借助中文分詞工具進(jìn)行分詞得到詞項(xiàng),在分詞結(jié)果中去掉常用沒有話題指向意義且日常用語中出現(xiàn)頻率極高的停用詞。從而對(duì)每個(gè)詞項(xiàng)計(jì)算tfidf(termfrequency–inversedocumentfrequency,詞頻-逆向文件頻率)值,去掉tf-idf值過低的詞項(xiàng)。最后每篇微博映射成了按照tf-idf值排序詞項(xiàng)有序集。
步驟s200:構(gòu)造包含所述博文總數(shù)量增長趨勢(shì)、所述詞項(xiàng)集中共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3的數(shù)據(jù)快照,并判斷所述博文總數(shù)量增長趨勢(shì)是否超過預(yù)設(shè)閾值,如果超過閾值時(shí),則進(jìn)入步驟s300,否則返回步驟s100;
將同一篇微博中任意相鄰的兩個(gè)詞視為共現(xiàn)詞對(duì),任意相鄰的三個(gè)詞視為共現(xiàn)詞三元組,采用數(shù)據(jù)快照(sketch,)結(jié)構(gòu)實(shí)時(shí)地統(tǒng)計(jì)數(shù)據(jù)流中每篇博文的共現(xiàn)詞對(duì)和共現(xiàn)詞三元組的增長趨勢(shì)。
由于數(shù)據(jù)流中博文數(shù)量巨大,產(chǎn)生的詞項(xiàng)數(shù)量需要的時(shí)間消耗和硬件內(nèi)存消耗都相當(dāng)大,所以需要采用數(shù)據(jù)流中頻繁項(xiàng)挖掘技術(shù)實(shí)現(xiàn)數(shù)據(jù)降維,保留活躍詞,加快數(shù)據(jù)索引與更新,以保證實(shí)時(shí)檢測(cè)的系統(tǒng)性能。
數(shù)據(jù)快照結(jié)構(gòu)實(shí)時(shí)記錄共現(xiàn)詞對(duì)和共現(xiàn)三元組的統(tǒng)計(jì)量后,計(jì)算統(tǒng)計(jì)量的發(fā)展趨勢(shì),并設(shè)定閾值,超過閾值則警示有爆炸式信息產(chǎn)生的可能。
趨勢(shì)計(jì)算可以按現(xiàn)有方法進(jìn)行,也可以采用金融領(lǐng)域股票市場(chǎng)趨勢(shì)指標(biāo)ema/macd(exponentialmovingaverage/movingaverageconvergence/divergence,期望移動(dòng)平均/指數(shù)平滑異同移動(dòng)平均線)。使用該方法計(jì)算博文數(shù)量的趨勢(shì)并保存在sketch中,實(shí)時(shí)的追蹤博文數(shù)量的發(fā)展趨勢(shì),當(dāng)趨勢(shì)超過一定的閾值則觸發(fā)話題模型。
當(dāng)實(shí)時(shí)數(shù)據(jù)流到來,首先需要更新數(shù)據(jù)快照結(jié)構(gòu),記錄數(shù)流中的統(tǒng)計(jì)量:s″(t),博文數(shù)量的增長趨勢(shì),也即增長加速度;m2,共現(xiàn)詞對(duì)的增長加速度;m3,共現(xiàn)詞三元組的增長加速度。
對(duì)于博文總數(shù)量增長趨勢(shì)這個(gè)統(tǒng)計(jì)量的計(jì)算,采用ema/macd的方式。首先借用物理學(xué)的速率的概念,將博文總數(shù)量在某時(shí)刻的增長率描述為博文數(shù)量的增長速率。本發(fā)明采用ema平滑博文數(shù)量的增長速率。主要是考慮歷史值對(duì)當(dāng)前值的影響,利用參數(shù)控制歷史值和當(dāng)前實(shí)際值的權(quán)重,得到由當(dāng)前實(shí)際值和歷史值共同作用的估計(jì)當(dāng)前值。
例如,某一時(shí)刻數(shù)據(jù)流中博文總數(shù)量的實(shí)際增長速率是v1,而歷史博文數(shù)量增長速率的估計(jì)值為vh,,當(dāng)前實(shí)際值權(quán)重為α,則歷史值權(quán)重分配為1-α,當(dāng)前估計(jì)值v2=αv1+(1-α)vh。然后利用macd算出當(dāng)前估計(jì)值的趨勢(shì),也即博文總數(shù)的增長趨勢(shì)。macd在估計(jì)趨勢(shì)值時(shí)主要考慮對(duì)歷史值的歷史時(shí)間長短。歷史值的時(shí)間長度越長,那么說明歷史值對(duì)當(dāng)前值的影響越大,估計(jì)值變化更緩,反之,則估計(jì)值對(duì)實(shí)際值變化的變化敏感。取歷史時(shí)間長度n1,n2不一致,且n1<n2的ema值,計(jì)算兩者之間的差值即可得博文總數(shù)量的增長趨勢(shì):
macd(n1,n2)=ema(n1)-ema(n2)
數(shù)據(jù)快照中另外兩個(gè)統(tǒng)計(jì)量共現(xiàn)詞對(duì)和共現(xiàn)三元組的增長趨勢(shì),則只需要計(jì)算共現(xiàn)詞對(duì)和共現(xiàn)三元組的頻度關(guān)于時(shí)間的二次導(dǎo)數(shù),也即相當(dāng)于物理學(xué)中的加速度。
綜上,數(shù)據(jù)快照能通過對(duì)上述三個(gè)統(tǒng)計(jì)量的監(jiān)測(cè)和追蹤,實(shí)時(shí)捕捉爆炸式話題的產(chǎn)生可能性。若當(dāng)前數(shù)據(jù)流中,博文總數(shù)量在短時(shí)間內(nèi)發(fā)生激增現(xiàn)象,這將預(yù)示著爆炸式話題產(chǎn)生的可能性,可觸發(fā)接下來的話題發(fā)現(xiàn)模型計(jì)算具體的爆炸性話題和爆炸度。
步驟s300:采用張量分解話題模型分別對(duì)所述數(shù)據(jù)快照中的所述共現(xiàn)詞對(duì)增長趨勢(shì)m2和所述共現(xiàn)詞三元組增長趨勢(shì)m3進(jìn)行奇異值分解,得到所述話題pi在所述實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk以及所述話題pi的詞概率詞分布φk,任意兩所述話題pi的權(quán)重wk≠wi;
這個(gè)步驟主要實(shí)現(xiàn)了觸發(fā)話題發(fā)現(xiàn)模型,進(jìn)行話題檢測(cè),并提供爆炸話題的話題詞和話題爆炸度。
通過張量分解的方式將爆炸數(shù)據(jù)快照中的統(tǒng)計(jì)量進(jìn)行奇異值分解,得到不同權(quán)重的話題,并能計(jì)算出實(shí)時(shí)數(shù)據(jù)流中的所有不同的詞在該話題下的概率分布。
張量分解的話題模型將給出話題的詞概率分布φk和話題在數(shù)據(jù)流中的權(quán)重wk。具體的方法主要借助數(shù)據(jù)快照中的共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)三元組增長趨勢(shì)m3。充分利用詞共現(xiàn)的特性,能更好地計(jì)算出話題詞之間的內(nèi)聚性和區(qū)別性。而通常m3數(shù)據(jù)結(jié)構(gòu)內(nèi)存消耗大,在進(jìn)行張量分解過程之前,需對(duì)共現(xiàn)三元組增長趨勢(shì)m3進(jìn)行降維處理,將該三位數(shù)組降維成二維矩陣m3(η)。
優(yōu)選的,張量分解話題模型的算法包括以下步驟;
步驟s310:對(duì)m2進(jìn)行奇異值分解,并取前k個(gè)特征值得到特征向量組成的矩陣u和特征值構(gòu)成的對(duì)角矩陣λ。此處的k即為張量分解話題模型計(jì)算出的話題個(gè)數(shù)。
步驟s320:通過特征向量u和特征值λ構(gòu)造白化矩陣w,w=uλ-1/2。
步驟s330:將所述共現(xiàn)三元組增長趨勢(shì)m3降維成二維矩陣m3(η),所述白化矩陣w作用于所述矩陣m3(η)得到矩陣t3,t3=wtm3(η)w;
因?yàn)榫仃噒3的特征值和特征向量是求出話題的詞概率分布φk和話題在數(shù)據(jù)流中的權(quán)重值wk的關(guān)鍵。采用上述方法處理能使矩陣t3的維度從n*n降為k*k,降低奇異值分解過程計(jì)算復(fù)雜度,且更能保證結(jié)果準(zhǔn)確性。
步驟s340:對(duì)所述矩陣t3進(jìn)行奇異值分解得到特征向量vk,通過所述白化矩陣w和所述特征向量vk計(jì)算得到話題pi的詞概率分布φk和所述話題pi在所述實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk。
步驟s300通過對(duì)數(shù)據(jù)快照中兩個(gè)數(shù)據(jù)結(jié)構(gòu)m2和m3進(jìn)行奇異值分解,并以不同的話題對(duì)應(yīng)的詞分布也不同為前提,抽取不同權(quán)重wk的k個(gè)話題,并能提供話題的詞分布率φk。
但是實(shí)際情況下,如果僅采用張量分解話題模型,則有可能出現(xiàn)以下情況:反映同一現(xiàn)實(shí)事件發(fā)生的話題會(huì)存在多個(gè),且各話題之間無論是語義上還是關(guān)鍵詞的分布上都存在關(guān)聯(lián)。同時(shí)在實(shí)時(shí)數(shù)據(jù)流中,爆炸度相近的話題關(guān)鍵詞出現(xiàn)的頻率也相近,從而導(dǎo)致出現(xiàn)次數(shù)相近的關(guān)鍵詞被歸入同一話題分布,導(dǎo)致話題提取誤差。為了避免這一誤差,繼續(xù)對(duì)所得話題進(jìn)行精化話題模型抽取,則能有效提高所得話題的準(zhǔn)確度。
步驟s400:采用精化話題模型對(duì)所述張量分解得到的所述話題詞pi進(jìn)行精細(xì)化處理,得到精化話題,并將所述精化話題與現(xiàn)實(shí)世界發(fā)生的事件對(duì)應(yīng),得到爆炸性話題。
話題的精化模型,是在張量分解的基礎(chǔ)上,應(yīng)用模糊集理論,將張量模型得到的話題和權(quán)重轉(zhuǎn)化成模糊集理論。具體可以理解為:權(quán)重w下,實(shí)時(shí)數(shù)據(jù)流中所有不同的詞在該權(quán)重的話題下的概率分布。話題是話題詞的集合,那么話題的詞概率分布就是對(duì)于該權(quán)重話題下的話題詞集合的隸屬度。概率分布即為隸屬度函數(shù)?;诠铂F(xiàn)詞的統(tǒng)計(jì)數(shù)據(jù)可聚類共現(xiàn)的話題詞,因此同一話題下可聚類產(chǎn)生多個(gè)子話題,子話題的爆炸度可根據(jù)話題的權(quán)重和話題詞的概率求得。
通過對(duì)張量分解所得話題進(jìn)行精化,能得到語義更明確、關(guān)鍵詞更準(zhǔn)確的話題。
對(duì)于權(quán)重wk的話題,其詞概率分布φk可看成為這些詞歸屬在權(quán)重wk下的隸屬函數(shù)中,具體概率值則是單個(gè)詞的隸屬度。因此,對(duì)權(quán)重wk的話題中的詞進(jìn)行聚類重組,并且重新生成語義明確的子話題及其權(quán)重,將子話題的權(quán)重稱為爆炸度az明確。例如,在張量分解過程中得到權(quán)重wk=0.58的話題a,話題a的詞概率分布φk={“word1”:0.34,“word2”:0.27,“word3”:0.19,….}。話題a的精化模型:首先根據(jù)詞共現(xiàn)聚類φk中的詞得到分類{c1,c2,…ck},其中每個(gè)分類ck的關(guān)鍵詞集合topick,z={“word1”:0.34,“word3”:0.19,…}。在權(quán)重wk=0.58上為每個(gè)分類ck計(jì)算新的權(quán)重,將所得新權(quán)重作為該分類的爆炸度az=wk*topick,z。
在生成子話題的過程中,需要根據(jù)實(shí)時(shí)數(shù)據(jù)流中共現(xiàn)詞的跟蹤結(jié)果。共現(xiàn)詞往往來自一篇博文,具有較強(qiáng)的語意相似性,并且共現(xiàn)詞常被約束在與該篇博文代表話題一致的范圍內(nèi)。對(duì)于權(quán)重wk的話題,根據(jù)sketch中共現(xiàn)詞的詞頻聚類話題詞得到子話題topick,z,再根據(jù)模糊理論得到每個(gè)話題詞的隸屬度,對(duì)話題的權(quán)重加權(quán)求和得到子話題權(quán)重,也即話題的爆炸度az。
優(yōu)選的,步驟s400包括以下步驟:
步驟s410:根據(jù)話題pi的詞概率詞分布φk,挑選概率值前n的詞項(xiàng)組成權(quán)重wk的當(dāng)前話題詞集合;
步驟s420:根據(jù)共現(xiàn)詞詞頻對(duì)所述當(dāng)前話題詞集合內(nèi)的詞進(jìn)行聚類,得到每個(gè)話題詞集合下的c個(gè)聚類精化話題topick,z;
步驟s430:通過所述每個(gè)精化話題topick,z中的話題詞概率與話題詞集合的權(quán)重wk進(jìn)行加權(quán)求和,得到所述精化話題topick,z的爆炸度ak,z。
精化話題模型分充分利用張量分解得到的話題詞概率分布和話題的權(quán)重系數(shù),采用模糊集理論和聚類方法得到語義明確的高質(zhì)量話題,并保證話題的關(guān)鍵詞有較高的內(nèi)聯(lián)性和話題解釋性,與話題語義保持一致。再結(jié)合子話題的概率值作為隸屬度,與權(quán)重值進(jìn)行加權(quán)求和得到精化后的話題爆炸度。
第四部分,數(shù)據(jù)降維方法。
在數(shù)據(jù)快照結(jié)構(gòu)實(shí)施過程,由于實(shí)時(shí)數(shù)據(jù)流中產(chǎn)生的詞項(xiàng)數(shù)量較大,易造成話題模型訓(xùn)練時(shí)間和空間消耗過大,以至于嚴(yán)重影響整個(gè)方法的實(shí)際應(yīng)用性能。所以在進(jìn)行張量分解模型和精化模型之前必須對(duì)詞項(xiàng)字典做降維處理,只保留當(dāng)前數(shù)據(jù)流中的活躍詞。本發(fā)明提供的方法,采用基于數(shù)據(jù)流中頻繁項(xiàng)有效挖掘的方法count-minsketch(最小計(jì)數(shù)機(jī)制的數(shù)據(jù)快照)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行活躍詞的保留。本文中詞項(xiàng)字典是指數(shù)據(jù)流中所有不同的詞組成的集合即為詞典。
參見圖2,在count-minsketch數(shù)據(jù)結(jié)構(gòu)中,將大小為n字典中的所有詞項(xiàng),采用哈希散列的方式映射到b個(gè)桶結(jié)構(gòu)中。b的大小遠(yuǎn)遠(yuǎn)小于n,在話題模型中即可將b個(gè)桶視為b個(gè)當(dāng)前數(shù)據(jù)流中的活躍詞,挖掘其中爆炸性的活躍詞進(jìn)一步計(jì)算成爆炸性話題。count-min的方式,是采用h個(gè)哈希函數(shù)(h1,h2,…,hh),每個(gè)哈希函數(shù)對(duì)應(yīng)b個(gè)桶[1…b]。
也即,之前sketch中存儲(chǔ)的n*n的二維結(jié)構(gòu)m2,在count-minsketch中轉(zhuǎn)換為h*b*b的三維結(jié)構(gòu)。每篇新博文到來后,經(jīng)過數(shù)據(jù)預(yù)處理成詞項(xiàng)集。每對(duì)詞項(xiàng)經(jīng)過h個(gè)哈希函數(shù)散列,映射到b*b數(shù)組中的某個(gè)桶空間,該桶記錄共現(xiàn)詞對(duì)的m2值。由此每對(duì)詞項(xiàng)在sketch中經(jīng)過h個(gè)哈希函數(shù)作用后,記錄了h個(gè)值。由于哈希碰撞現(xiàn)象的產(chǎn)生,h個(gè)統(tǒng)計(jì)值會(huì)比真實(shí)記錄值高,為了減少統(tǒng)計(jì)誤差,挑選h個(gè)值中最小的作為真實(shí)值的估計(jì)值,這也即count-min的統(tǒng)計(jì)原理。
由此,本方法可以在sketch統(tǒng)計(jì)數(shù)據(jù)流中詞對(duì)概率時(shí),直接將其經(jīng)過h個(gè)哈希函數(shù)哈希映射到降維后的h*b*b個(gè)桶中,統(tǒng)計(jì)每個(gè)桶代表的活躍共現(xiàn)詞的概率,換言之,sketch保留的將是共現(xiàn)活躍詞的桶概率。話題模型在count-minsketch數(shù)據(jù)結(jié)構(gòu)中挖掘出的話題的分布其實(shí)是桶分布,再將桶概率還原成詞概率,即找當(dāng)前詞對(duì)應(yīng)的最小桶概率作為詞概率,最后可得到話題的詞概率分布。而這一方法在時(shí)間消耗和空間占用上都有很明顯的效率提升,并且還能有效控制哈希映射產(chǎn)生碰撞錯(cuò)誤的概率。詞概率分布的獲得方法:第一步數(shù)量小的桶代替數(shù)量大的詞參與張量分解,張量分解得到了基于桶的概率分布,再通過count-min的機(jī)制還原得到詞概率分布。
綜上所述,借助本發(fā)明實(shí)施的詳細(xì)過程的介紹,通過對(duì)爬取的微博數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理后傳遞給sketch數(shù)據(jù)結(jié)構(gòu)有效的記錄數(shù)據(jù)流中的共現(xiàn)詞的統(tǒng)計(jì)量,和實(shí)時(shí)微博總數(shù)變化趨勢(shì)值來預(yù)測(cè)爆炸性話題產(chǎn)生的可能性。當(dāng)數(shù)據(jù)快照的統(tǒng)計(jì)量達(dá)到其閾值時(shí)觸發(fā)話題發(fā)現(xiàn)模型,進(jìn)行話題檢測(cè)過程。在話題檢測(cè)過程,主要借用張量分解模型,并采用聚類模糊處理等方式挑選話題粒度和話題詞質(zhì)量有保障的爆炸性話題。根據(jù)本發(fā)明給出的檢測(cè)結(jié)果可以很明確的分析各個(gè)檢測(cè)的爆炸性話題具體爆炸情況,如爆炸度和爆炸趨勢(shì),爆炸事件,爆炸內(nèi)容等以供相關(guān)機(jī)構(gòu)實(shí)時(shí)分析爆炸性話題的需求。同時(shí),本發(fā)明采用相關(guān)技術(shù)可以在單機(jī)環(huán)境下有效的實(shí)施,可以保障實(shí)時(shí)分析的性能。對(duì)軟硬件環(huán)境需求并不高,可移植性強(qiáng),內(nèi)存消耗也在降維技術(shù)的實(shí)施下得到控制。最后本發(fā)明能確保在單機(jī)環(huán)境下盡可能短的時(shí)間內(nèi)實(shí)時(shí)挖掘并計(jì)算爆炸性話題以及爆炸情況。
參見圖3,本發(fā)明的另一發(fā)明還提供了一種用于上述方法的基于張量分解的在線爆炸性話題早發(fā)現(xiàn)裝置,包括:
博文數(shù)據(jù)預(yù)處理模塊100:用于遍歷實(shí)時(shí)博文數(shù)據(jù)流中的t時(shí)刻博文,對(duì)博文依序進(jìn)行清洗、分詞、過濾處理后,得到按照tf-idf值排序的詞項(xiàng)集;
數(shù)據(jù)快照構(gòu)造模塊200,用于構(gòu)造包含博文總數(shù)量增長趨勢(shì)、共現(xiàn)詞詞頻、詞項(xiàng)集中共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3的數(shù)據(jù)快照,并判斷博文總數(shù)量增長趨勢(shì)是否超過預(yù)設(shè)閾值,如果超過閾值時(shí),則進(jìn)入張量分解模塊300,否則返回博文數(shù)據(jù)預(yù)處理模塊100;
張量分解模塊300:用于采用張量分解話題模型分別對(duì)數(shù)據(jù)快照中的共現(xiàn)詞對(duì)增長趨勢(shì)m2和共現(xiàn)詞三元組增長趨勢(shì)m3進(jìn)行奇異值分解,得到話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk以及話題pi的詞概率詞分布φk,任意兩話題pi的權(quán)重wk≠wi;
精化話題模塊400:用于采用精化話題模型對(duì)張量分解得到的話題詞pi進(jìn)行精細(xì)化處理,得到精化話題,并將精化話題與現(xiàn)實(shí)世界發(fā)生的事件對(duì)應(yīng),得到爆炸性話題。
參見圖4,優(yōu)選的,張量分解模塊300包括:
奇異值分解模塊310:用于對(duì)共現(xiàn)詞對(duì)增長趨勢(shì)m2進(jìn)行奇異值分解,并取前k個(gè)特征值得到特征向量組成的矩陣u和特征值構(gòu)成的對(duì)角矩陣λ;
構(gòu)造白化矩陣模塊320:用于通過特征向量u和特征值λ構(gòu)造白化矩陣w,w=uλ-1/2;
降維模塊330:用于將共現(xiàn)三元組增長趨勢(shì)m3降維成二維矩陣m3(η),白化矩陣w作用于矩陣m3(η)得到矩陣t3,t3=wtm3(η)w;
詞概率分布模塊340:用于對(duì)矩陣t3進(jìn)行奇異值分解得到特征向量vk,通過白化矩陣w和特征向量vk計(jì)算得到話題pi的詞概率分布φk和話題pi在實(shí)時(shí)數(shù)據(jù)流中的權(quán)重值wk。
參見圖5,優(yōu)選的,精化話題模塊400包括:
當(dāng)前話題詞集合模塊410:用于根據(jù)話題pi的詞概率詞分布φk,挑選概率值前n的詞項(xiàng)組成權(quán)重wk的當(dāng)前話題詞集合;
聚類模塊420:用于根據(jù)共現(xiàn)詞詞頻對(duì)當(dāng)前話題詞集合內(nèi)的詞進(jìn)行聚類,得到每個(gè)話題詞集合下的c個(gè)聚類精化話題topick,z;
加權(quán)求和模塊430:用于通過每個(gè)精化話題topick,z中的話題詞概率與話題詞集合的權(quán)重wk進(jìn)行加權(quán)求和,得到精化話題topick,z的爆炸度ak,z。
以下結(jié)合具體實(shí)例對(duì)本發(fā)明提供的方法進(jìn)行詳細(xì)說明。
通過張量分解,可以得到當(dāng)前數(shù)據(jù)流中所有不同的詞在不同的話題下的概率分布,對(duì)于每個(gè)張量分解話題,提取概率值最高的前8個(gè)詞(“冰桶挑戰(zhàn)”,“憨豆先生”,“勛鹿”,“禮貌”,“天秤座”,“視頻”,“袁弘823生日”,“fbicr”),該話題的權(quán)重為0.66。該張量分解話題經(jīng)過精化算法的作用后,得到聚類后的子話題topic1=(“憨豆先生”,“上?!保捌謻|機(jī)場(chǎng)”,“rowanatkinson”),a1=0.2112;topic2=(“天枰座”,“星座”,“冠軍”,“第三名”),a2=0.1009;topic3=(“asl”,“冰桶挑戰(zhàn)”,“冰桶”,“蔓延”),a3=0.0892。張量分解得到的話題,往往話題中穿插著多個(gè)描述現(xiàn)實(shí)事件的關(guān)鍵詞。而精化模型通過聚類共現(xiàn)詞的機(jī)制改善了這種關(guān)鍵詞交叉的現(xiàn)象,得到的話題關(guān)鍵詞能保證指向同一事件,更能準(zhǔn)確地表達(dá)話題的含義。
本領(lǐng)域技術(shù)人員將清楚本發(fā)明的范圍不限制于以上討論的示例,有可能對(duì)其進(jìn)行若干改變和修改,而不脫離所附權(quán)利要求書限定的本發(fā)明的范圍。盡管己經(jīng)在附圖和說明書中詳細(xì)圖示和描述了本發(fā)明,但這樣的說明和描述僅是說明或示意性的,而非限制性的。本發(fā)明并不限于所公開的實(shí)施例。
通過對(duì)附圖,說明書和權(quán)利要求書的研究,在實(shí)施本發(fā)明時(shí)本領(lǐng)域技術(shù)人員可以理解和實(shí)現(xiàn)所公開的實(shí)施例的變形。在權(quán)利要求書中,術(shù)語“包括”不排除其他步驟或元素,而不定冠詞“一個(gè)”或“一種”不排除多個(gè)。在彼此不同的從屬權(quán)利要求中引用的某些措施的事實(shí)不意味著這些措施的組合不能被有利地使用。權(quán)利要求書中的任何參考標(biāo)記不構(gòu)成對(duì)本發(fā)明的范圍的限制。