彭仁杰,余正濤,高盛祥,李云龍,郭軍軍,趙培蓮
(昆明理工大學 信息工程與自動化學院,昆明 650500)(昆明理工大學 云南省人工智能重點實驗室,昆明 650500) E-mail:ztyu@hotmail.com
隨著互聯網的迅速發展,互聯網信息已經在人民生活中扮演者越來越重要的角色.微博上的信息傳播及時,擴散速度快,許多案件的發生和討論都是從微博上開始發生,并且引起了廣大網民的討論,導致微博成為新的輿情事件產生和民意反映的集聚地.近年來,司法部門對于新聞輿情也逐漸重視起來.通過自然語言處理技術處理與法律相關的數據,有利于提升相關部門的工作效率,并且能夠了解當下廣大網民所關心關注的話題,能夠更好的引導公眾的輿論和引導事件往有利的方向發展.
為了得到與案件相關的話題,其關鍵就是在于利用案件要素得到與案件關聯緊密的話題.當前,在話題發現方面已有很多研究,代表性方法有基于聚類算法的話題發現方法[1-5]和基于潛在狄立克雷分配(latent Dirichlet allocation,LDA)主題模型的熱點話題發現方法[6-9].David Blei提出了LDA(Latent Dirichlet Allocation)模型[10],該模型是基于詞袋模型,考慮詞條共現,來生成文檔的話題分布,在長文本中取得了很好的效果;但是由于短文本長度較短,詞語之間聯系弱,文檔級水平的詞共現信息缺少.因此在傳統狄利克雷分布LDA模型(Latent Dirichlet Allocation)的基礎上,出現了一系列的改進模型,He Li等人提出了基于潛在狄利克雷分配的分層分類模型[11],使用LDA模型作為特征提取技術來提取潛在話題,以減少數據稀疏性的影響,并構建與語料庫關聯的主題特征向量.Chien J T等人提出了一種新的層次分割模型(HSM)[12],通過上下文信息來反映句子與話題間的相似度.Jen-Tzung Chien提出一種基于貝葉斯稀疏學習的方法來為稀疏話題模型選擇顯著詞匯特征,以此來建立所選相關詞的潛在話題模型[13].Xiaohui Yan等人提出了基于Biterm的話題模型BTM(Bitrem Topic Model)[14],能在一定程度上針對共現對bitrem建模緩解詞條共現的稀疏性,在微博文本話題發現中取得了很好的效果.李衛疆等[15]引入BTM話題模型來處理微博短文本的同時整合了K-means聚類算法來對BTM模型所發現的話題進行聚類,緩解了短文本的數據稀疏性問題,提高了話題的質量.由于傳統的話題模型是對整個文本進行話題抽樣,所以得到的話題具有發散性,與所期望的案件關聯度不大,且部分短語被切分為多個個體詞后會引起額外的重現,使得生成的話題中可能出現一些無關詞匯從而導致話題可讀性下降,對于案件領域話題發現不適用.
在案件領域中,傳統的話題模型在進行話題建模的時候都是以數理統計為基礎的,忽略了詞項之間的語義關系,得到的話題都太過發散,有很多噪聲話題,并且得到的話題與案件關聯不緊密;同時,話題中詞的優劣直接影響話題的可解讀性,話題詞之間的相關性方面有很大的局限性,導致案件話題生成質量不高,無法對案件話題進行很好的表述.通過對大量的案件相關微博和案件的構成進行分析,發現案件是由“人、事、物、時、空”等多個要素構成的;同時,這些案件要素也會在微博中出現,因此,本文提出了一種利用基于案件要素對BTM話題模型進行改進的方法,將通過詞嵌入向量獲得的語義信息與原始主題模型相結合,考慮文檔詞與案件要素的相似特征頻率,更好的獲得微博話題中與案件更相關的話題,如表1所示,再選取概率較高的話題對案件話題進行表征;同時計算案件話題的表征與文本詞進行相關性和案件要素與文本詞的相似度,得到案件話題詞集.

表1 案件相關微博舉例Table 1 Examples of case Weibo
本文的創新包括兩個方面:
1)通過提取案件要素與文檔詞的相似特征來對原始的主題模型進行改進,優化主題模型得到的概率矩陣,得到與案件相關的話題詞,選取概率較高的詞來進行話題表征;
2)得到了案件相關候選詞后,提利用候選詞與文本詞之間的相關性和案件要素與文本詞之間的相似度,得到案件話題詞集,解決了生成的話題與案件相關性不高,可解釋性比較差,話題生成質量不高的問題.
案件是由多種要素構成的[16],通過案件要素,可以對案件進行表述,關于案件構成要素的理論或說法,主要有“五要素論”、“七要素論”、“縱向動態和橫向靜態要素論”、“信息化偵查要素論”等.由于微博文本為短文本,且沒有太多事實描述,通過對大量的案件相關的微博進行分析,提取出了與犯罪事件相關的人、事、物、空等基本結構要素.將這些案件要素作為監督,可以得到與案件關系緊密的話題.
案件要素指導下的話題發現方法分為案件相關話題發現和案件相關話題的詞的優化兩部分,其關鍵步驟如圖1所示.案件相關話題的生成:輸入微博文本,通過BTM話題模型訓練得到話題的概率分布Z,通過對案件文本進行分析,獲取案件要素信息C={C1,C2,…,Cm},微博文本D={T1,T2,…,Tn}其中Ti代表文本中的詞,Ci代表組成案件的要素,m代表案件描述的長度,e∈E,E為案件要素的集合.通過詞嵌入將文檔詞和要素嵌入為詞級的向量空間表示,再經過語義表征計算兩者的語義相似度,得到特征相似矩陣,再與話題概率矩陣相乘得到案件相關話題分布矩陣,選取話題詞對案件話題進行表征.案件話題詞的優化:使用互信息的方法,通過KL距離來計算話題與文檔中詞的相關性,同時利用詞嵌入將文檔中的詞和要素嵌入為詞級的向量空間表示,計算文檔中詞與案件要素的相似度,兩者加權最終選擇前k個詞作為案件話題詞.

圖1 基于案件要素指導下的話題優化方法Fig.1 Diagram of topic optimization method based on case element guidance
BTM是針對短文本進行建模的話題模型,可以有效解決短文本稀疏性的問題,通過將上下文共現的詞對進行建模,利用整個語料中的信息來抽樣話題,從而得到整個語料集上的話題分布.BTM話題模型如圖2所示.

圖2 BTM話題模型Fig.2 BTM topic model
圖2中,θ是BTM語料中話題的分布概率,φ是話題-詞對的分布,z為詞對的話題標號,wi,wj是詞對中的兩個詞,|B|是語料中詞對的數目.
該模型的生成過程可以描述如下:
對于每個話題k∈{1,2,…,K},生成詞-話題分布φk~Dir(β).
對于每篇文檔m∈{1,2,…,M},生成話題-文檔分布θ~Dir(α).
對于詞對|B|中的每個詞對按照以下步驟產生,假設一個詞對用b表示,則b=(bi,bj):
從語料庫級別的話題分布θ中抽取一個話題Z,即Z~Muil(θ).
從被抽取到的話題Z中同時抽取2個詞bi,bj,服從基本假設,每一個詞對都從一個獨立話題中產生,即bi,bj~Muil(φ).
BTM話題模型對文本中所有詞進行建模,而不是對文檔生成的過程建模,而是對整個文本中的“詞對”進行建模,因此,文檔的話題不能直接得出.所以假設文檔中話題的概率等于文檔中生成“詞對”的話題期望,話題最終可以表示為:
(1)
矩陣Z表示文檔中話題的生成概率關系,矩陣可用公式(2)表示,其中k代表話題數,M代表詞對的個數:
(2)
由于BTM話題模型是對整個文本進行話題抽樣,得到的只是話題的生成概率,不具備完整的語義信息,所以得到的話題具有發散性,與所期望的案件關聯度不大.
通過對案件微博的分析,可以通過案件要素來對案件進行表征,同時,考慮微博文檔與案件的語義信息,利用特征加權的方法來對原始話題模型進行一個改進,從語義的角度查找隱藏的話題詞,從而獲得與案件相關的話題詞.通過將所定義的案件要素作為案件的特征,將文檔中所有詞與案件特征進行相似度比較,并將其相似度作為特征權值來優化話題模型.
設D={t1,t2,…,tn}∈RV文檔詞集,n為D的長度,V為詞表大小.通過預訓練的詞向量矩陣M∈RV×d,將D中每個單詞轉換為d維的向量t∈Rd.同理將案件要素C中的詞嵌入為C∈Rd.
文檔詞集D和案件要素C通過詞嵌入編碼得到D′和C′.過濾層通過計算D′和C′的距離或者相似度從而計算出文檔詞集D與案件要素C之間的相似度.
案件要素與文檔詞相似度計算公式如下:
(3)
其中η為判斷詞與案件特征是否相似的閾值,如果相似度小于閾值,則權值為0.對于整個文檔D來說,可以根據公式(4)來計算特征相似度頻率.
(4)
其中,V(d)表示d中單詞的數量,ti表示d中單詞.
通過特征相似度計算,獲得每個詞的TS值,可以將其視為文檔詞t在文檔中的權重,因此文檔的TS也可用向量D表示,可以得到文檔與詞之間的矩陣關系.
(5)
這些特征權重可與BTM話題模型得到的概率結合起來,得到案件特征與話題之間的關系.考慮到概率的范圍,我們將TS矩陣歸一化,所得的矩陣再與話題模型概率矩陣相乘,得到了有案件要素相似特征的主題模型概率.
TS-BTM=TS×Z
(6)
通過計算主題下具有較高權重值的單詞,可以得到與案件較為相關的話題.從中選出前k個概率較高的話題詞來對案件話題進行表征.
在針對話題中詞與詞之間相關性較差,且存在一些噪聲詞,話題生成質量不高,話題可讀性不強和話題判別性不高的問題,利用了“信息熵”的概念,用互信息的方法來優化話題詞,通過案件話題與微博文檔的互信息來判斷兩者的相關度,相關度越大,互信息越大,相關度越小,互信息越小.
兩個隨機變量之間X1和X2的相互信息可以表示為;
I(X1:X2)=H(X1)+H(X2)-H(X1;X2)
(7)
而一組隨機變量XG的總相關性表示為:
TC(XG)=∑i∈GH(Xi)-H(XG)=DKL(p(xG)‖∏i∈Gp(xi))
(8)
為了方便計算,因此使用KL散度來表示總體相關性.
計算話題與文本中詞的相關性時,使用WG來表示文本中的詞,用Y來代表所得到的案件話題,當j=1,…,m時,分別將要素詞表表示為Y1,…,Ym和他們對應的數據詞組WG.
TC(WG;Y)=TC(WG)-TC(WG|Y)=
∑i∈GI(Wi:Y)-I(WG:Y)
(9)
通過計算案件話題和文本的互信息,可以更好地得到與案件話題相關的詞,例如:在“昆山反殺案”中,可以通過計算“于明海”這個話題與文本詞的互信息,來得到文檔中的詞與案件話題“于明海”之間的相關性.
同時,為了使得文檔中的詞更好的與案件相關,通過計算微博文檔中的詞與案件要素之間的相似性,
設W={w1,w2,…,wG}∈RV表示微博數據集D,其中w表示詞,G為詞的個數,V為詞表大小.通過預訓練的詞向量矩陣M∈RV×d,將W中每個單詞轉換為d維的向量w∈Rd.同理將案件要素C中的詞嵌入為C∈Rd.
文本數據集W和案件要素C通過詞嵌入編碼得到W′和C′.過濾層通過計算W′和C′的距離或者相似度從而計算出話題W與案件要素C之間的相似度.
文本數據集與案件要素相似度計算公式如下:
(10)
得到案件話題和文本的互信息TC(WG;Y)件話題和文本的互信息γ之后,對他們進行加權求和:
S=αTC+(1-α)δ
(11)
其中α為經驗參數.通過件話題和文本的互信息件話題和文本的互信息,可以得到案件要素與話題詞之間的相關性,通過將相關性進行排序,選取與案件最相關的前K個詞來對話題進行表征,從而提高話題生成的質量.
本文利用新浪微博數據進行實驗,采用對比算法為LDA、BTM,對本文使用的案件要素話題發現方法與對比模型在話題發現的準確性、發現的話題質量等指標進行比較.
通過選定今年來的熱點案件,本文選取了“昆山反殺案”等熱門案件,選取與案件相關的微博數據6621條.并對數據進行以下處理:去除重復文檔并過濾廣告和噪聲數據,去除了詞數小于5的文檔;對數據進行切分詞、去除停用詞.
本文實驗中,話題模型的狄利克雷先驗超參數均使用相同的設置,分別設置如下α=0.5/k,β=0.1;此外,話題優化的相似度閾值參數σ=0.6;word2vec主要采用negative-sampling訓練數據,詞語維度為200維.為了適應短文本,窗口大小調整為10,初始學習率為 0.025,去除語料中頻率小于5的詞語,語料庫上的迭代次數為 20.
作為閾值參數,當η=0.8時效果最好,因為忽略文檔詞與案件要素特征相似性很小的詞,保留相似度大的詞,得到的話題與案件最為相關.
本文使用主題一致性(topic coherence)和準確率(P)、召回率(R)和(F)值作為評價指標.
主題一致性是用來評價話題模型的一種指標,主題一致性越大,就表明主題模型的效果越好.主題一致性是計算所有話題下前K個詞語的語義相似度平均值.Aletras[17]等利用標準化互信息的方法來計算每個話題下每兩個詞語的語義相似度.主題一致性計算如公式(12)所示:
(12)
其中cos(·)表示余弦相似度,vi,vi為詞向量,N為話題個數,C表示詞向量組合數.
準確率P計算如公式(13)所示:
(13)
召回率R計算如公式(14)所示:
(14)
F值是召回率和準確率的加權幾何平均值,公式如式(15)所示:
(15)
通過分別與LDA與BTM方法進行比較,驗證提出方法的有效性.對每組實驗都計算給定話題下的話題一致性,結果如表2所示,由于選取單一案件作為實驗,所以話題數不宜過多,經測試,當話題數為10時,效果最好.

表2 主題一致性對比分析Table 2 Comparative analysis of themes
分析表2可以看出案件話題發現中,本文提出的方法所得到的話題一致性比傳統的話題模型LDA和BTM的要高.
傳統的LDA模型受限于數據稀疏的問題,在短文本上效果不好,而BTM模型由于話題詞發散,得到的話題與案件相關性不大,而本文的方法,利用了案件要素的信息,更加適用于本任務.
分析表3可以看出案件話題發現中,傳統的話題模型LDA和BTM的表現并不好,本文方法較對比模型在準確率、召回率、F值提高了許多.

表3 準確度對比分析Table 3 Comparison of accuracy
傳統的LDA模型受限于數據稀疏的問題,在短文本上效果不好,而BTM模型由于話題詞發散,得到的話題與案件相關性不大,而本文的方法,利用了案件要素的信息,更加適用于本任務.
通過BTM話題模型可以得話題詞分布,分布值P(z|d)作為文檔的話題分布,再利用案件要素特征與文檔詞的相似度優化話題詞的概率分布,得到微博文本的話題集,且選擇每個話題下概率最大的兩個詞來表征該話題.結果如表4所示.

表4 昆山反殺案話題Table 4 Topic of Kunshan anti-homicide
可以看出,通過案件要素特征對話題模型進行改進后,得到的案件話題候選詞都是與案件相關的詞.
在話題質量上,可以看出,LDA中發現的詞包含一些不相關的詞,是由于微博短文本中與話題相關的詞匯出現的頻率較低,話題詞較少是因為微博文本太稀疏,影響了話題產生的有效性,BTM在較短微博集上解決數據稀疏問題的性能優于LDA模型,但是在話題詞的可解釋性上也存在不足,而通過將話題過濾再發現話題詞的方法得到案件要素關鍵詞相關的話題詞,有很強的解釋性,可以很好的表述案件話題,如表5-表7所示.

表5 本文方法每個話題下的話題詞Table 5 Topic word of our method

表6 BTM方法每個話題下的話題詞Table 6 Topic word of BTM

表7 LDA方法每個話題下的話題詞Table 7 Topic word of LDA
本文針對在案件領域下話題模型得到的話題質量不高,無法對案件話題進行很好的表述的問題,提出了基于案件要素的話題優化方法,結合案件要素信息對案件話題和話題詞進行了優化.結合案件要素與文檔詞的相似特征來對原始的主題模型進行改進,優化主題模型得到的概率矩陣,很好的對案件話題進行表征,同時利用了案件話題與文檔的相似性對案件話題進行擴充,得到了與案件關系緊密的話題.進一步的工作還可以考慮在對案件話題的演化進行分析,得到案件話題演化脈絡圖.