本發(fā)明涉及情報(bào)分析
技術(shù)領(lǐng)域:
,更具體地,涉及一種基于深度學(xué)習(xí)技術(shù)的新聞子事件預(yù)測(cè)方法及裝置。
背景技術(shù):
:目前,新聞事件是指發(fā)生在特定時(shí)間和地點(diǎn)的一件或一系列事情,同時(shí)一個(gè)新聞事件通常是由一系列有序的子事件構(gòu)成。例如,一個(gè)地震事件通常包含了地震的發(fā)生、地震的人員傷亡、地震的財(cái)務(wù)損失、震后救援、震后捐款援助、震后災(zāi)區(qū)重建等一系列的子事件。一個(gè)子事件通常由一篇新聞報(bào)道來描述。目前為止,成千上萬的新聞事件及其子事件的發(fā)展過程已經(jīng)被報(bào)道并且記錄。可以通過利用大規(guī)模的歷史事件來預(yù)測(cè)一系列子事件的下一個(gè)子事件。通過上述科學(xué)的預(yù)測(cè),可以有效的提前預(yù)測(cè)某個(gè)新聞事件的一系列子事件,這個(gè)對(duì)政府部門、企業(yè)和新聞機(jī)構(gòu)及時(shí)準(zhǔn)確獲取咨詢都非常重要。例如,政府部門可以受益于事件預(yù)測(cè),避免一些經(jīng)濟(jì)損失和人員傷亡;企業(yè)可以更好的進(jìn)行危機(jī)應(yīng)對(duì)方案的提前準(zhǔn)備;新聞機(jī)構(gòu)可以緊密關(guān)注社會(huì)公眾可能感興趣的新的話題并及時(shí)進(jìn)行報(bào)道等等。然而,傳統(tǒng)的新聞子事件預(yù)測(cè)方法通過利用社會(huì)媒體和搜索引擎來檢測(cè)事件并進(jìn)行人為判斷,并沒有花費(fèi)大量的精力在事件預(yù)測(cè)上。但是,也有個(gè)別技術(shù)對(duì)于子事件的預(yù)測(cè)進(jìn)行了研究。radinskyetal.(2012)通過抽取事件之間的因果關(guān)系并且用本體進(jìn)行泛化用于事件預(yù)測(cè);granroth-wildingetal.(2016)從文本中抽取事件鏈并且通過一個(gè)組合神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)兩個(gè)事件之間的關(guān)聯(lián)關(guān)系;manshadietal.(2008)學(xué)習(xí)了事件序列的概率模型;karletal.(2016)描述了一個(gè)用lstm學(xué)習(xí)腳本的方法。然而,上述的新聞子事件預(yù)測(cè)技術(shù)都存在以下幾個(gè)問題:1、需要人工的特征來表示事件并且只能預(yù)測(cè)在訓(xùn)練集中存在的事件;2、沒有考慮事件表現(xiàn)出來不同粒度上的序列結(jié)構(gòu):描述一個(gè)具體子事件的詞形成了一個(gè)序列,屬于同一個(gè)事件的子事件形成了一個(gè)序列;3、沒有考慮利用已有的子事件中存在的話題信息。技術(shù)實(shí)現(xiàn)要素:本發(fā)明為克服上述問題或者至少部分地解決上述問題,提供一種基于深度學(xué)習(xí)技術(shù)的新聞子事件預(yù)測(cè)方法及裝置。根據(jù)本發(fā)明的一個(gè)方面,提供一種新聞子事件預(yù)測(cè)方法,包括:步驟1,基于預(yù)處理過的大規(guī)模子事件序列數(shù)據(jù),利用lstm深度學(xué)習(xí)技術(shù)對(duì)子事件進(jìn)行表示學(xué)習(xí),獲得子事件模型;步驟2,基于所述子事件模型和子事件主題,對(duì)子事件序列進(jìn)行表示學(xué)習(xí),獲得子事件序列模型;步驟3,利用所述子事件序列模型對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。根據(jù)本發(fā)明的另一個(gè)方面,提供一種新聞子事件預(yù)測(cè)裝置,包括子事件建模模塊、子事件序列建模模塊和預(yù)測(cè)模塊:所述子事件建模模塊與所述子事件序列建模模塊相連,用于基于預(yù)處理過的大規(guī)模子事件序列數(shù)據(jù),利用lstm深度學(xué)習(xí)技術(shù)對(duì)子事件進(jìn)行表示學(xué)習(xí),獲得子事件模型;所述子事件序列建模模塊分別于所述子事件建模模塊和預(yù)測(cè)模塊相連,用于基于所述子事件模型和子事件主題,對(duì)子事件序列進(jìn)行表示學(xué)習(xí),獲得子事件序列模型;所述預(yù)測(cè)模塊與所述子事件序列建模模塊相連,用于利用所述子事件序列模型對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。本申請(qǐng)?zhí)岢鲆环N基于深度學(xué)習(xí)技術(shù)的新聞子事件預(yù)測(cè)方法及裝置,本發(fā)明能夠有效地實(shí)現(xiàn)子事件預(yù)測(cè)功能,甚至能夠預(yù)測(cè)在訓(xùn)練中語料中不存在的子事件,比當(dāng)前最先進(jìn)的方法能獲得更好的預(yù)測(cè)效果。附圖說明圖1為根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)方法的整體流程示意圖;圖2為根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)方法的流程示意圖;圖3為根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)方法中事件雙層序列的示意圖;圖4為根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)裝置的整體框架示意圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明提出了一個(gè)新的用于子事件預(yù)測(cè)的模型,即hierarchicallongshort-termmemory(hlstm)層次長(zhǎng)短期記憶模型。該模型的輸入是描述已觀測(cè)的子事件的文本(如新聞的標(biāo)題),輸出是一個(gè)描述將來的子事件的短文本。hlstm是一個(gè)具有兩層的層次lstm結(jié)構(gòu)。第一層是用于建模子事件。它按順序?qū)⒆邮录枋鑫谋局械拿總€(gè)詞作為輸入,最終將子事件表示成向量。第二層用于建模已觀測(cè)的子事件序列,同時(shí)考慮了話題信息來增強(qiáng)語義信息。具體來說,將每一個(gè)子事件表示成第一層lstm獲取的詞形成的向量和話題形成的向量的拼接向量。通過兩層lstm結(jié)構(gòu),每個(gè)子事件序列都被映射成一個(gè)向量。最后,這個(gè)向量被輸入到另一個(gè)lstm中解碼成一個(gè)詞序列,從而生成了下一個(gè)子事件。hlstm模型考慮了事件兩層的序列關(guān)系并且融合了話題信息,因此能更好地預(yù)測(cè)下一個(gè)子事件。如圖1,示出本發(fā)明一個(gè)具體實(shí)施例中一種新聞子事件預(yù)測(cè)方法的總體流程示意圖。整體上,包括:步驟1,基于預(yù)處理過的大規(guī)模子事件序列數(shù)據(jù),利用lstm深度學(xué)習(xí)技術(shù)對(duì)子事件進(jìn)行表示學(xué)習(xí),獲得子事件模型;步驟2,基于所述子事件模型和子事件主題,對(duì)子事件序列進(jìn)行表示學(xué)習(xí),獲得子事件序列模型;步驟3,利用所述子事件序列模型對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟1前還包括:步驟0,獲取大規(guī)模事件數(shù)據(jù)作為訓(xùn)練語料,所述每個(gè)事件數(shù)據(jù)包含一組有序的新聞集合。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟0和步驟1之間還包括:將步驟0中獲得新聞的標(biāo)題作為一個(gè)子事件,對(duì)所有子事件進(jìn)行分詞處理,去除停用詞和出現(xiàn)次數(shù)少于預(yù)設(shè)次數(shù)的低頻詞。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟2前還包括:基于所述預(yù)處理過的子事件,利用lda模型獲取每個(gè)子事件所屬的概率最大的主題。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟1中進(jìn)一步包括:s11,定義一個(gè)學(xué)習(xí)語言模型,該學(xué)習(xí)語言模型用于基于輸入的各子事件序列和各子事件內(nèi)詞序列來預(yù)測(cè)下一個(gè)子事件;s12,將利用lstm神經(jīng)網(wǎng)絡(luò)對(duì)所述學(xué)習(xí)語言模型進(jìn)行表達(dá),獲得lstm(·)函數(shù);s13,利用所述lstm(·)函數(shù)按順序讀取各子事件中的詞,每讀取一次所述子事件中的詞,更新一次待預(yù)測(cè)子事件中對(duì)順序敏感的所有詞的順序向量,以得到各子事件表示模型。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟0進(jìn)一步包括:將每個(gè)事件形式化成:e=s1,s2,…,sm,上述表達(dá)式為由一序列子事件構(gòu)成,所述序列內(nèi)子事件有m個(gè);所述每個(gè)子事件sm由一個(gè)詞序列所表示,其中1≤m≤m;其中wm,n∈v表示第m個(gè)子事件sm中的第n個(gè)詞,v是詞表。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟將步驟0中所獲得新聞的標(biāo)題作為一個(gè)子事件,對(duì)所有子事件進(jìn)行分詞處理,去除停用詞和出現(xiàn)次數(shù)少于預(yù)設(shè)次數(shù)的低頻詞還包括:在子事件結(jié)尾都加上一個(gè)結(jié)束符號(hào)。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟1進(jìn)一步包括:定義一個(gè)語言模型,以用于基于給定觀測(cè)的子事件序列(s1,s2,…,sm-1),學(xué)習(xí)下一個(gè)子事件sm所有可能的文本上的概率分布:對(duì)于一個(gè)子事件子事件級(jí)別的lstm編碼器根據(jù)以下公式按順序讀取子事件中的詞,同時(shí)更新隱含狀態(tài):其中,表示lstm(·)函數(shù),用于編碼詞序列,是詞的0-1向量表示,表示隱含狀態(tài);初始地,最后一個(gè)隱含狀態(tài)是存儲(chǔ)子事件sm中對(duì)順序敏感的所有詞的信息的向量;將一個(gè)子事件表示成在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟2進(jìn)一步包括:事件級(jí)別的lstm編碼器以上一子事件級(jí)別編碼得到的子事件序列的向量表示,即s1,s2,…,sm作為輸入,計(jì)算事件級(jí)別的隱含狀態(tài)序列:其中,表示lstm(·)函數(shù),表示事件級(jí)別的隱含狀態(tài),初始地,sm是由上一步得到的子事件的向量表示;隱含狀態(tài)是存儲(chǔ)子事件序列s1:m的信息的向量;利用所述子事件m的主題zm表示為0-1向量,將zm轉(zhuǎn)化為一個(gè)稠密的向量表示,即將一個(gè)子事件表示成即詞序列得到的向量與話題對(duì)應(yīng)的向量的一個(gè)拼接。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述步驟3進(jìn)一步包括:初始化lstm解碼器的初始狀態(tài)為兩級(jí)編碼器得到的子事件序列的向量,即所述解碼的形式如下:h′m,n=lstmdec(h′m,n-1,…,wm,n),n=1,…,nm,其中l(wèi)stmdec是lstm(·)函數(shù),用于解碼出一串詞序列,所述詞序列描述了可能的下一個(gè)子事件;在lstm解碼器中,每一個(gè)隱含狀態(tài)h′m,n-1都通過一個(gè)softmax函數(shù),用來計(jì)算下一個(gè)位置在所有詞上的概率分布,當(dāng)預(yù)測(cè)到結(jié)束符號(hào)時(shí),解碼器終止。在本發(fā)明又一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述方法包括以下步驟:步驟(a),數(shù)據(jù)獲取,利用爬蟲工具獲取大規(guī)模事件數(shù)據(jù)作為訓(xùn)練語料。每個(gè)事件數(shù)據(jù)包含一組有序的新聞集合。步驟(b),數(shù)據(jù)預(yù)處理,取步驟(a)中所獲得新聞的標(biāo)題作為一個(gè)子事件,對(duì)所有子事件進(jìn)行分詞處理(利用已有工具如ictclas,ansj)),去除停用詞和出現(xiàn)次數(shù)少于100次的低頻詞。步驟(c),子事件主題抽取,將lda模型應(yīng)用于經(jīng)過步驟(b)處理好的子事件,獲取每個(gè)子事件所屬的概率最大的主題。步驟(d),子事件建模,利用步驟(b)處理過的大規(guī)模子事件序列數(shù)據(jù),利用lstm深度學(xué)習(xí)技術(shù)對(duì)子事件進(jìn)行表示學(xué)習(xí)。步驟(e),子事件序列建模,結(jié)合步驟(d)中的子事件表示學(xué)習(xí)和步驟(c)中得到的子事件主題,對(duì)子事件序列進(jìn)行表示學(xué)習(xí)。步驟(f),子事件預(yù)測(cè),利用步驟(e)中得到的子事件序列表示對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。優(yōu)選地,步驟(a)中,一個(gè)事件能夠形式化成e=(s1,s2,…,sm)可看作由一序列的m個(gè)子事件構(gòu)成。每個(gè)子事件sm(1≤m≤m)由它的描述文本(一個(gè)詞序列)所表示,即其中wm,n∈v表示第m個(gè)子事件sm中的第n個(gè)詞,v是詞表。優(yōu)選地,步驟(b)中,取事件下的每篇新聞標(biāo)題作為子事件,在子事件結(jié)尾都加上一個(gè)特殊的符號(hào)<end>。去除停用詞,如“的,一個(gè)”和出現(xiàn)次數(shù)少于100次的低頻詞。優(yōu)選地,步驟(c)中,lda(latentdirichletallocation)模型是一個(gè)文檔生成模型,它假設(shè)一篇文檔生成的方式如下:從狄利克雷分布α中取樣生成文檔的主題分布θm;從主題的多項(xiàng)式分布θ中取樣生成文檔第n個(gè)詞的主題zm,n;從狄利克雷分布β中取樣生成主題zm,n對(duì)應(yīng)的詞語分布從詞語的多項(xiàng)式分布中采樣最終生成詞語wm,n。lda模型最后可以生成子事件的話題分布{θm}m=1:m,其中θm={θm,k}k=1:k是一個(gè)k維的向量,加起來和為1。k表示話題個(gè)數(shù)。通過抽取概率θm,k最大的k得到文檔m的主題。優(yōu)選地,步驟(d)中,給定觀測(cè)的子事件序列(s1,s2,…,sm-1),旨在學(xué)習(xí)下一個(gè)子事件sm所有可能的文本上的概率分布。這可以定義成一個(gè)語言模型:上述語言模型可以通過lstm來刻畫,lstm是一個(gè)特殊的rnn模型,能夠?qū)W習(xí)長(zhǎng)期的依賴關(guān)系。它的定義是:給定一序列輸入(w1,w2,…,wn),lstm中的每一步關(guān)聯(lián)了一個(gè)輸入門in,一個(gè)記憶單元cn和一個(gè)輸出門on。hn是lstm在第n步計(jì)算出來的向量,σ表示邏輯函數(shù),⊙表示點(diǎn)乘。每一步的向量hn計(jì)算如下:in=σ(wiwwn+wihhn-1+bi),fn=σ(wfwwn+wfhhn-1+bf),on=σ(wowwn+wohhn-1+bo),gn=tanh(wgwwn+wghhn-1+bg),cn=fn⊙cn-1+in⊙gn,hn=on⊙tanh(cn),其中,w*w是從輸入到lstm狀態(tài)的轉(zhuǎn)移矩陣,w*h是狀態(tài)hn轉(zhuǎn)移矩陣,b*是偏移向量。cn是被forget門fn調(diào)整的前記憶單元cn-1與被input門in調(diào)整的gn的和。gn是前一個(gè)隱含狀態(tài)和當(dāng)前輸入的函數(shù)。初始地,h0和c0是0向量。將此函數(shù)命名為lstm(·)函數(shù)。進(jìn)一步地,為了考慮事件的多層次的序列結(jié)構(gòu)(即詞級(jí)別的序列構(gòu)成子事件和子事件級(jí)別的序列構(gòu)成事件)。首先對(duì)子事件進(jìn)行建模。子事件建模。對(duì)于一個(gè)子事件子事件級(jí)別的lstm編碼器按順序讀取子事件中的詞,同時(shí)更新隱含狀態(tài),根據(jù)以下公式:其中,表示lstm(·)函數(shù),用于編碼詞序列,是詞的0-1向量表示,表示隱含狀態(tài)。初始地,最后一個(gè)隱含狀態(tài)是存儲(chǔ)了子事件sm中對(duì)順序敏感的所有詞的信息的向量。因此可以將一個(gè)子事件表示成優(yōu)選地,步驟(e)中,子事件序列建模。事件級(jí)別的lstm編碼器以上一子事件級(jí)別編碼得到的子事件序列的向量表示,即(s1,s2,…,sm)作為輸入,計(jì)算事件級(jí)別的隱含狀態(tài)序列:其中,表示lstm(·)函數(shù),表示事件級(jí)別的隱含狀態(tài),初始地,sm是由上一步得到的子事件的向量表示。隱含狀態(tài)是存儲(chǔ)了子事件序列s1:m的信息的向量。為了利用子事件之間的語義關(guān)聯(lián)信息,進(jìn)一步將話題的信息作為額外的特征。采用步驟(c)中得到的子事件m的主題zm表示為0-1向量,模型會(huì)進(jìn)一步將zm轉(zhuǎn)化為一個(gè)稠密的向量表示,即之后,將一個(gè)子事件表示成即詞序列得到的向量與話題對(duì)應(yīng)的向量的一個(gè)拼接。這樣,就融入了上下文特征在的模型中,對(duì)的下一個(gè)子事件預(yù)測(cè)會(huì)有促進(jìn)作用。優(yōu)選地,步驟(f)中,下一個(gè)子事件預(yù)測(cè)。在通過上面的兩個(gè)級(jí)別的lstm編碼后,一序列的子事件s1:m-1被映射成一個(gè)向量表示,之后作為一個(gè)lstm解碼器的輸入,逐字預(yù)測(cè),形成下一個(gè)子事件。形式化來說,旨在估計(jì)概率p(sm|s1:m-1),以觀測(cè)的之前的子事件作為條件,估計(jì)當(dāng)前的子事件的概率。通過初始化lstm解碼器的初始狀態(tài)為兩級(jí)編碼器得到的子事件序列的向量,即來達(dá)到以之前的子事件序列作為條件的目的。和編碼一樣,解碼的形式是:h′m,n=lstmdec(h′m,n-1,…,wm,n),n=1,…,nm。其中l(wèi)stmdec是lstm(·)函數(shù),用于解碼出一串詞序列,該詞序列描述了可能的下一個(gè)子事件。在lstm解碼器中,每一個(gè)隱含狀態(tài)h′m,n-1都通過一個(gè)softmax函數(shù),用來計(jì)算下一個(gè)位置在所有詞上的概率分布,一旦<end>詞被預(yù)測(cè),那么解碼器就終止。步驟(d)-(f)由本發(fā)明提出的統(tǒng)一的模型hlstm完成。hlstm模型由一個(gè)子事件級(jí)別的lstm編碼器和一個(gè)事件級(jí)別的lstm編碼器以及一個(gè)lstm解碼器(用來解碼出下一個(gè)子事件)構(gòu)成。子事件級(jí)別的lstm編碼器首先將一個(gè)子事件(一序列詞)映射成向量表示。事件級(jí)別的lstm編碼器則將過去的一序列m-1個(gè)子事件編碼成一個(gè)向量表示,該向量總結(jié)了所有觀測(cè)的子事件的信息,最后作為lstm解碼器的輸入,用于逐字解碼出下一個(gè)子事件sm。模型參數(shù)訓(xùn)練。lstm模型的參數(shù)w是通過最大化子事{sm}m=2:m給定它們之前的子事件序列s1:m-1的對(duì)數(shù)似然學(xué)習(xí)的到的。其中,etrain是訓(xùn)練集中所有的事件數(shù)目,表示事件e中的第m個(gè)子事件。采用批量梯度下降來進(jìn)行優(yōu)化。對(duì)于新來的子事件序列,將數(shù)據(jù)輸入至步驟(d)中訓(xùn)練好的模型,在下一個(gè)子事件解碼過程中,采用啟發(fā)式的集束搜索算法,選擇條件概率最大的詞作為一個(gè)新的預(yù)測(cè)的詞,之后會(huì)和前面輸出的詞聯(lián)合在一起用來預(yù)測(cè)下一個(gè)詞,直到預(yù)測(cè)<end>結(jié)束。在本發(fā)明又一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,所述方法詳細(xì)包括以下步驟:圖2是根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)方法的流程示意圖,圖3為根據(jù)本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)方法中事件雙層序列的示意圖。如圖2、圖3所示,該方法包括:步驟(a),數(shù)據(jù)獲取,利用爬蟲工具獲取大規(guī)模事件數(shù)據(jù)作為訓(xùn)練語料。每個(gè)事件數(shù)據(jù)包含一組有序的新聞集合。一個(gè)事件可以形式化成e=(s1,s2,…,sm)能夠看作由一序列的m個(gè)子事件構(gòu)成。每個(gè)子事件sm(1≤m≤m)由它的描述文本(一個(gè)詞序列)所表示,即其中wm,n∈v表示第m個(gè)子事件sm中的第n個(gè)詞,v是詞表。步驟(b),數(shù)據(jù)預(yù)處理,取步驟(a)中所獲得新聞的標(biāo)題作為一個(gè)子事件,對(duì)所有子事件進(jìn)行分詞處理(利用已有工具如ictclas,ansj)),去除停用詞和出現(xiàn)次數(shù)少于100次的低頻詞。事件下的每篇新聞標(biāo)題作為子事件,在子事件結(jié)尾都加上一個(gè)特殊的符號(hào)<end>。去除停用詞,如“的,一個(gè)”和出現(xiàn)次數(shù)少于100次的低頻詞。步驟(c),子事件主題抽取,將lda模型應(yīng)用于經(jīng)過步驟(b)處理好的子事件,獲取每個(gè)子事件所屬的概率最大的主題。lda(latentdirichletallocation)模型是一個(gè)文檔生成模型,它假設(shè)一篇文檔生成的方式如下:從狄利克雷分布α中取樣生成文檔的主題分布θm;從主題的多項(xiàng)式分布θ中取樣生成文檔第n個(gè)詞的主題zm,n;從狄利克雷分布β中取樣生成主題zm,n對(duì)應(yīng)的詞語分布從詞語的多項(xiàng)式分布中采樣最終生成詞語wm,n;lda模型最后可以生成子事件的話題分布{θm}m=1:m,其中θm={θm,k}k=1:k是一個(gè)k維的向量,加起來和為1。k表示話題個(gè)數(shù)。通過抽取概率θm,k最大的k得到文檔m的主題。步驟(d),子事件建模,利用步驟(b)處理過的大規(guī)模子事件序列數(shù)據(jù),對(duì)子事件進(jìn)行建模。給定觀測(cè)的子事件序列(s1,s2,…,sm-1),旨在學(xué)習(xí)下一個(gè)子事件sm所有可能的文本上的概率分布。這可以定義成一個(gè)語言模型:上述語言模型可以通過lstm來刻畫,lstm是一個(gè)特殊的rnn模型,能夠?qū)W習(xí)長(zhǎng)期的依賴關(guān)系。它的定義是:給定一序列輸入(w1,w2,…,wn),lstm中的每一步關(guān)聯(lián)了一個(gè)輸入門in,一個(gè)記憶單元cn和一個(gè)輸出門on。hn是lstm在第n步計(jì)算出來的向量,σ表示邏輯函數(shù),⊙表示點(diǎn)乘。每一步的向量hn計(jì)算如下:in=σ(wiwwn+wihhn-1+bi)fn=σ(wfwwn+wfhhn-1+bf)on=σ(wowwn+wohhn-1+bo)gn=tanh(wgwwn+wghhn-1+bg)cn=fn⊙cn-1+in⊙gnhn=on⊙tanh(cn)其中,w*w是從輸入到lstm狀態(tài)的轉(zhuǎn)移矩陣,w*h是狀態(tài)hn轉(zhuǎn)移矩陣,b*是偏移向量。cn是被forget門fn調(diào)整的前記憶單元cn-1與被input門in調(diào)整的gn的和。gn是前一個(gè)隱含狀態(tài)和當(dāng)前輸入的函數(shù)。初始地,h0和c0是0向量。將此函數(shù)命名為lstm(·)函數(shù)。進(jìn)一步地,為了考慮事件的多層次的序列結(jié)構(gòu)(即詞級(jí)別的序列構(gòu)成子事件和子事件級(jí)別的序列構(gòu)成事件)。首先對(duì)子事件進(jìn)行建模。子事件建模。如圖2所示,一個(gè)子事件由一序列詞構(gòu)成,對(duì)于一個(gè)子事件子事件級(jí)別的lstm編碼器按順序讀取子事件中的詞,同時(shí)更新隱含狀態(tài),根據(jù)以下公式:其中,表示lstm(·)函數(shù),用于編碼詞序列,是詞的0-1向量表示,表示隱含狀態(tài)。初始地,最后一個(gè)隱含狀態(tài)是存儲(chǔ)了子事件sm中對(duì)順序敏感的所有詞的信息的向量。因此可以將一個(gè)子事件表示成步驟(e),子事件序列建模,利用步驟(d)得到的子事件表示,結(jié)合步驟(c)獲得的子事件主題信息,對(duì)子事件序列進(jìn)行建模。子事件序列建模。如圖2所示,一個(gè)事件由一序列子事件構(gòu)成,事件級(jí)別的lstm編碼器以上一子事件級(jí)別編碼得到的子事件序列的向量表示,即(s1,s2,…,sm)作為輸入,計(jì)算事件級(jí)別的隱含狀態(tài)序列:其中,表示lstm(·)函數(shù),表示事件級(jí)別的隱含狀態(tài),初始地,sm是由上一步得到的子事件的向量表示。隱含狀態(tài)是存儲(chǔ)了子事件序列s1:m的信息的向量。為了利用子事件之間的語義關(guān)聯(lián)信息,進(jìn)一步將話題的信息作為額外的特征。采用步驟(c)中得到的子事件m的主題zm表示為0-1向量,模型會(huì)進(jìn)一步將zm轉(zhuǎn)化為一個(gè)稠密的向量表示,即之后,將一個(gè)子事件表示成即詞序列得到的向量與話題對(duì)應(yīng)的向量的一個(gè)拼接。這樣,就融入了上下文特征在的模型中,對(duì)的下一個(gè)子事件預(yù)測(cè)會(huì)有促進(jìn)作用。步驟(f),下一個(gè)子事件預(yù)測(cè)。利用步驟(e)得到的子事件序列表示,對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。在通過上面的子事件序列建模后,一序列的子事件s1:m-1被映射成一個(gè)向量表示,之后作為一個(gè)lstm解碼器的輸入,逐字預(yù)測(cè),形成下一個(gè)子事件。形式化來說,旨在估計(jì)概率p(sm|s1:m-1),以觀測(cè)的之前的子事件作為條件,估計(jì)當(dāng)前的子事件的概率。通過初始化lstm解碼器的初始狀態(tài)為兩級(jí)編碼器得到的子事件序列的向量,即來達(dá)到以之前的子事件序列作為條件的目的。和編碼一樣,解碼的形式是:h′m,n=lstmdec(h′m,n-1,…,wm,n),n=1,…,nm。其中l(wèi)stmdec是lstm(·)函數(shù),用于解碼出一串詞序列,該詞序列描述了可能的下一個(gè)子事件。在lstm解碼器中,每一個(gè)隱含狀態(tài)h′m,n-1都通過一個(gè)softmax函數(shù),用來計(jì)算下一個(gè)位置在所有詞上的概率分布,一旦<end>詞被預(yù)測(cè),那么解碼器就終止。步驟(d)-(f)由本發(fā)明提出的統(tǒng)一的模型hlstm完成。hlstm模型由一個(gè)子事件級(jí)別的lstm編碼器和一個(gè)事件級(jí)別的lstm編碼器以及一個(gè)lstm解碼器(用來解碼出下一個(gè)子事件)構(gòu)成。子事件級(jí)別的lstm編碼器首先將一個(gè)子事件(一序列詞)映射成向量表示。事件級(jí)別的lstm編碼器則將過去的一序列m-1個(gè)子事件編碼成一個(gè)向量表示,該向量總結(jié)了所有觀測(cè)的子事件的信息,最后作為lstm解碼器的輸入,用于逐字解碼出下一個(gè)子事件sm。hlstm模型由一個(gè)子事件級(jí)別的lstm編碼器和一個(gè)事件級(jí)別的lstm編碼器以及一個(gè)lstm解碼器(用來解碼出下一個(gè)子事件)構(gòu)成。子事件級(jí)別的lstm編碼器首先將一個(gè)子事件(一序列詞)映射成向量表示。事件級(jí)別的lstm編碼器則將過去的一序列m-1個(gè)子事件編碼成一個(gè)向量表示,該向量總結(jié)了所有觀測(cè)的子事件的信息,最后作為lstm解碼器的輸入,用于逐字解碼出下一個(gè)子事件sm。模型參數(shù)訓(xùn)練。lstm模型的參數(shù)w是通過最大化子事{sm}m=2:m(給定它們之前的子事件序列s1:m-1的對(duì)數(shù)似然學(xué)習(xí)的到的。其中,etrain是訓(xùn)練集中所有的事件數(shù)目,表示事件e中的第m個(gè)子事件。采用批量梯度下降來進(jìn)行優(yōu)化。對(duì)于新來的子事件序列,將數(shù)據(jù)輸入至步驟(d)-(f)中訓(xùn)練好的模型,在下一個(gè)子事件解碼過程中,采用啟發(fā)式的集束搜索算法,選擇條件概率最大的詞作為一個(gè)新的預(yù)測(cè)的詞,之后會(huì)和前面輸出的詞聯(lián)合在一起用來預(yù)測(cè)下一個(gè)詞,直到預(yù)測(cè)<end>結(jié)束。在本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)方法,采用本發(fā)明的方法進(jìn)行了實(shí)驗(yàn),具體實(shí)驗(yàn)過程如下:1.數(shù)據(jù)集介紹。實(shí)驗(yàn)采用真實(shí)數(shù)據(jù)集,從新浪新聞網(wǎng)站抓取了大規(guī)模的事件(中文)數(shù)據(jù),總共包含15,254個(gè)新聞系列。每個(gè)新聞系列包含了一序列的按時(shí)間順序的新聞文章,這些文章報(bào)導(dǎo)了一個(gè)相同的事件。平均每個(gè)新聞序列包含50篇新聞。在實(shí)驗(yàn)中,只用新聞的標(biāo)題,因?yàn)闃?biāo)題概括了新聞的主要內(nèi)容。進(jìn)一步按照以下步驟處理數(shù)據(jù):1)用大小為5的窗口去分割每個(gè)新聞系列,每個(gè)分割得到的新聞集合被稱為一個(gè)事件,該集合中的新聞則是子事件。之所以選擇窗口大小為5,是因?yàn)閺臄?shù)據(jù)中觀測(cè)得知超過連續(xù)5個(gè)新聞之間的關(guān)聯(lián)關(guān)系就比較弱了。分割之后,共得到155,358事件。2)然后使用中科院分詞系統(tǒng)ictclas對(duì)事件數(shù)據(jù)集進(jìn)行分詞,之后去除了停用詞以及出現(xiàn)次數(shù)少于100個(gè)文檔的詞來減少數(shù)據(jù)系數(shù)問題。最終的到一個(gè)大小為4,515的詞表,包括一個(gè)特殊的表示子事件描述文本的末尾的符號(hào)<end>。平均每個(gè)子事件包含5個(gè)詞。預(yù)處理之后,將事件數(shù)據(jù)集隨機(jī)分為三部分:80%用于訓(xùn)練,10%用于驗(yàn)證,剩余的10%用于測(cè)試。表1中統(tǒng)計(jì)了最終的數(shù)據(jù)情況。表1數(shù)據(jù)相關(guān)統(tǒng)計(jì)trainingvalidationtestevents124,28815,53515,535subevents607,09075,80275,9572.實(shí)驗(yàn)設(shè)置和評(píng)價(jià)指標(biāo)。通過在訓(xùn)練集和驗(yàn)證集上的實(shí)驗(yàn)測(cè)試決定模型中的超參數(shù)。特別地,選擇能夠在驗(yàn)證集上取得最好效果參數(shù)值,并且將這些最優(yōu)值用于評(píng)估的模型在獨(dú)立的測(cè)試集上的效果。最優(yōu)參數(shù)取值如下:1)lstm參數(shù)和詞向量表示是以[-0.08,0.08]之間的均一分布來初始化的;2)學(xué)習(xí)率為0.1;3)批量大小為32;4)dropoutrate=0.2;5)詞向量和話題向量的維度都設(shè)為100,隱含狀態(tài)向量維度d=400;6)lstm的隱含層設(shè)為2;7)話題個(gè)數(shù)設(shè)為1,000。評(píng)價(jià)指標(biāo)。兩個(gè)評(píng)價(jià)指標(biāo),即困惑度perplexity和詞的錯(cuò)誤率worderror-rate被采用用來衡量模型的效果。困惑度是信息理論中標(biāo)準(zhǔn)的指標(biāo)(shannon2001)。它可以衡量模型對(duì)數(shù)據(jù)擬合的程度,這樣可以更好地用于預(yù)測(cè)。困惑度越低表示模型越好。3.實(shí)驗(yàn)結(jié)果與分析如表2所示,可以看出在兩個(gè)不同的評(píng)價(jià)指標(biāo)中,本發(fā)明提出的方法明顯比當(dāng)前最先進(jìn)的方法效果好。本發(fā)明提出的方法比傳統(tǒng)的n-gram語言模型有顯著的提高,困惑度降低了50%,錯(cuò)誤率降低了23%。相比簡(jiǎn)單的lstm模型,也有明顯的提高。hlstm考慮層次的事件序列結(jié)構(gòu)以及子事件的話題信息,對(duì)結(jié)果提高較為明顯(35%和5%)。表2下一個(gè)子事件預(yù)測(cè)結(jié)果分析modelperperrorratebackoffn-gram264.0793.03%modifiedkneser-ney257.2493.06%witten-belldiscountingn-gram255.4892.60%lstm201.59±0.3875.22%±0.02%hlstm127.74±0.2170.02%±0.01%為了進(jìn)一步測(cè)試模型的效果,本發(fā)明還對(duì)比了幾個(gè)基線模型在下一個(gè)子事件排序上的效果。給定一序列的子事件,的目標(biāo)是從一組候選的子事件中選出概率最大的子事件作為下一個(gè)要預(yù)測(cè)的子事件。將測(cè)試集隨機(jī)分成311組,每一組包含50個(gè)事件,最后一組包含35個(gè)事件。對(duì)于每一組數(shù)據(jù),目標(biāo)是給定一個(gè)事件的前面的子事件序列(除最后一個(gè)子事件),從候選集中選出最合適的最后一個(gè)子事件。將該組所有的事件的最后一個(gè)子事件作為候選集。表3中是模型的測(cè)試結(jié)果。hits@n是指在前n個(gè)子事件中能命中目標(biāo)子事件的概率。可以看出本發(fā)明提出的方法能夠取得最好的效果。表3下一個(gè)子事件排序結(jié)果分析modelhits@1hits@5hits@10random2.00%±0.1010.00%±0.1520.00%±0.20lstm21.96%±0.1249.73%±0.1666.31%±0.21hlstm25.79%±0.1055.68%±0.1871.57%±0.20本發(fā)明實(shí)施例所述的子事件預(yù)測(cè)方法,通過生成子事件序列的下一個(gè)可能的子事件描述文本來預(yù)測(cè)子事件。該方法解決了子事件表示問題,考慮了事件的雙層的層次序列關(guān)系,并且還考慮了子事件的話題信息,能夠有效地預(yù)測(cè)下一個(gè)可能的子事件。如圖4,示出本發(fā)明本發(fā)明實(shí)施例一種新聞子事件預(yù)測(cè)裝置的整體框架示意圖??傮w上,包括子事件建模模塊a1、子事件序列建模模塊a2和預(yù)測(cè)模塊a3:所述子事件建模模塊a1與所述子事件序列建模模塊a2相連,用于基于預(yù)處理過的大規(guī)模子事件序列數(shù)據(jù),利用lstm深度學(xué)習(xí)技術(shù)對(duì)子事件進(jìn)行表示學(xué)習(xí),獲得子事件模型;所述子事件序列建模模塊a2分別于所述子事件建模模塊a1和預(yù)測(cè)模塊a3相連,用于基于所述子事件模型和子事件主題,對(duì)子事件序列進(jìn)行表示學(xué)習(xí),獲得子事件序列模型;所述預(yù)測(cè)模塊a3與所述子事件序列建模模塊a2相連,用于利用所述子事件序列模型對(duì)下一個(gè)子事件進(jìn)行預(yù)測(cè)。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于獲取大規(guī)模事件數(shù)據(jù)作為訓(xùn)練語料,所述每個(gè)事件數(shù)據(jù)包含一組有序的新聞集合。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于將獲得新聞的標(biāo)題作為一個(gè)子事件,對(duì)所有子事件進(jìn)行分詞處理,去除停用詞和出現(xiàn)次數(shù)少于預(yù)設(shè)次數(shù)的低頻詞。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于基于所述預(yù)處理過的子事件,利用lda模型獲取每個(gè)子事件所屬的概率最大的主題。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于:s11,定義一個(gè)學(xué)習(xí)語言模型,該學(xué)習(xí)語言模型用于基于輸入的各子事件序列和各子事件內(nèi)詞序列來預(yù)測(cè)下一個(gè)子事件;s12,將利用lstm神經(jīng)網(wǎng)絡(luò)對(duì)所述學(xué)習(xí)語言模型進(jìn)行表達(dá),獲得lstm(·)函數(shù);s13,利用所述lstm(·)函數(shù)按順序讀取各子事件中的詞,每讀取一次所述子事件中的詞,更新一次待預(yù)測(cè)子事件中對(duì)順序敏感的所有詞的順序向量,以得到各子事件表示模型。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于:將每個(gè)事件形式化成:e=s1,s2,…,sm,上述表達(dá)式為由一序列子事件構(gòu)成,所述序列內(nèi)子事件有m個(gè);所述每個(gè)子事件sm由一個(gè)詞序列所表示,其中1≤m≤m;其中wm,n∈v表示第m個(gè)子事件sm中的第n個(gè)詞,v是詞表。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于:在子事件結(jié)尾都加上一個(gè)結(jié)束符號(hào)。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件建模模塊還用于:定義一個(gè)語言模型,以用于基于給定觀測(cè)的子事件序列(s1,s2,…,sm-1),學(xué)習(xí)下一個(gè)子事件sm所有可能的文本上的概率分布:對(duì)于一個(gè)子事件子事件級(jí)別的lstm編碼器根據(jù)以下公式按順序讀取子事件中的詞,同時(shí)更新隱含狀態(tài):其中,表示lstm(.)函數(shù),用于編碼詞序列,是詞的0-1向量表示,表示隱含狀態(tài);初始地,最后一個(gè)隱含狀態(tài)是存儲(chǔ)子事件sm中對(duì)順序敏感的所有詞的信息的向量;將一個(gè)子事件表示成本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述子事件序列建模模塊還用于:事件級(jí)別的lstm編碼器以上一子事件級(jí)別編碼得到的子事件序列的向量表示,即s1,s2,…,sm作為輸入,計(jì)算事件級(jí)別的隱含狀態(tài)序列:其中,表示lstm(.)函數(shù),表示事件級(jí)別的隱含狀態(tài),初始地,sm是由上一步得到的子事件的向量表示;隱含狀態(tài)是存儲(chǔ)子事件序列s1:m的信息的向量;利用所述子事件m的主題zm表示為0-1向量,將zm轉(zhuǎn)化為一個(gè)稠密的向量表示,即將一個(gè)子事件表示成即詞序列得到的向量與話題對(duì)應(yīng)的向量的一個(gè)拼接。本發(fā)明另一個(gè)具體實(shí)施例中,一種新聞子事件預(yù)測(cè)裝置,所述預(yù)測(cè)模塊還用于:初始化lstm解碼器的初始狀態(tài)為兩級(jí)編碼器得到的子事件序列的向量,即所述解碼的形式如下:h′m,n=lstmdec(h′m,n-1,…,wm,n),n=1,…,nm,其中l(wèi)stmdec是lstm(.)函數(shù),用于解碼出一串詞序列,所述詞序列描述了可能的下一個(gè)子事件;在lstm解碼器中,每一個(gè)隱含狀態(tài)h′m,n-1都通過一個(gè)softmax函數(shù),用來計(jì)算下一個(gè)位置在所有詞上的概率分布,當(dāng)預(yù)測(cè)到結(jié)束符號(hào)時(shí),解碼器終止。最后,本申請(qǐng)的方法僅為較佳的實(shí)施方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)12