劉旭東,蘇馬婧,朱廣宇
(華北計算機系統(tǒng)工程研究所,北京 100083)
如今世界各國都在大力發(fā)展自身的綜合實力,尤以信息技術為最。隨著人工智能時代的到來,許多國家都把情報工作的地位提高到了前所未有的高度,身處大數(shù)據(jù)環(huán)境下,無所不在的信息每分每秒都在產(chǎn)生數(shù)據(jù),世界各國的用戶無時無刻不在產(chǎn)生海量信息的交互,數(shù)據(jù)量已經(jīng)呈現(xiàn)一種爆炸的狀態(tài)。這些體積大、類型多的數(shù)據(jù)中有許多高價值的信息,關鍵在于能否及時發(fā)現(xiàn)并做出相應的決策,因此誰掌握了數(shù)據(jù)誰就掌握了先機。
同樣,正因為這些非結(jié)構(gòu)化數(shù)據(jù)中包含了大量的情報,例如某些社交軟件與論壇中難免出現(xiàn)一些危及社會安定、公共安全的信息。而這些信息并沒有想象中那么容易分辨,其中常常有一些“行話”,比如“豬肉”常被暗指毒品。傳統(tǒng)文本分析很難對具有該性質(zhì)的文本進行準確的分析。因此,收集和分析來自網(wǎng)絡的大量評論需要使用文本相似度和情感傾向分析技術,掌握這些信息對于有關部門在提前預警、降低風險、提高應變能力、打擊違法犯罪、維持社會安穩(wěn)等方面有著很大的輔助作用。
不可否認的是,情報分析在大數(shù)據(jù)時代也面臨著非常嚴峻的挑戰(zhàn)。第一是如何準確穩(wěn)定地獲取情報信息,第二是情報信息的分析與可視化,在數(shù)據(jù)量激增時如何維持信息的利用程度,是目前情報分析面臨的一大難題。
情報分析研究分為科技文獻研究、專業(yè)研究、綜合研究三個主要階段。情報分析方法包括邏輯學方法、數(shù)學法、系統(tǒng)分析方法、社會學方法、情報學方法和經(jīng)濟學方法等[1]。本文針對海量文本中關鍵情報的提取分析,主要使用了文本相似度分析及情感傾向分析。
目前,文本相似度計算的方法越來越豐富,情感傾向分析的效果取得了一定進步。Zhang Shunxiang等[2]實現(xiàn)了一種基于情感字典的方法來更好地支持網(wǎng)絡監(jiān)管工作。王春柳[3]等人從表面文本相似度計算方法、語義相似度計算方法兩方面進行研究分析,對最新成果進行了歸納總結(jié)。GOVINOARAJAN M[4]提出了一種混合遺傳算法與樸素貝葉斯的方法來進行情感分析,也取得了不錯的效果。李青松[5]認為基于傳統(tǒng)機器學習進行情感分析也是目前主流的方法,此類方法可以對多種特征建模并進行分類。通過在大量的語料庫上進行訓練,最終輸出的模型不僅能夠提取出特征詞之間的關系,而且能夠考慮到文本中隨機詞和詞共現(xiàn)的影響。
但如今面向多源非結(jié)構(gòu)化的海量文本,僅僅依靠一種方法來對其進行分析難以精確提取出更為深層次情報。為了更好地解決這一問題,本文從數(shù)據(jù)的獲取、聚類、分析以及展示層面,提出并設計了一套流程化的多源情報分析系統(tǒng),為當今情報分析提供一定的支撐。
情報分析是情報工作的核心環(huán)節(jié),而內(nèi)容分析作為最為直觀的表現(xiàn)形式,具有直觀的說服力。本系統(tǒng)建立在充足數(shù)據(jù)的基礎上,運用前沿的深度學習方法,通過管理篩選、綜合分析、推理對比等邏輯設定,使文本信息內(nèi)容的分析系統(tǒng)化、綜合化、準確化,并形成多種類型的情報成果,為有關部門提前預警、有效打擊違法亂紀行為提供有力支撐。
完整的情報分析系統(tǒng)的體系結(jié)構(gòu)模型采用分層設計,由下到上依次是數(shù)據(jù)層、業(yè)務邏輯層、界面展示層,如圖1所示。
圖1 情報分析系統(tǒng)體系結(jié)構(gòu)模型
(1)在數(shù)據(jù)層,確定研究對象,包括分析目標、情報搜集與采集樣本。
(2)在業(yè)務邏輯層,一是制定標準,構(gòu)建語料庫、停用詞典等;二是編碼,將采集到的文本數(shù)據(jù)轉(zhuǎn)化成文本向量;三是數(shù)據(jù)分析,使用自然語言處理相關的技術對文本向量進行處理,實現(xiàn)相似文本的推送、文本情感傾向的分析。
(3)結(jié)果分析,將上一步得到的分析結(jié)果在界面展示層進行相應的可視化。
接下來對各模塊用到的核心技術進行詳細闡述。
自然語言處理的基礎是各類自然語言處理數(shù)據(jù)集,如tc-corpus-train(語料庫訓練集)、面向文本分類研究的中英文新聞分類語料、以IG卡方等特征詞選擇方法生成的多維度ARFF格式中文VSM模型、用于非監(jiān)督中文分詞算法的中文分詞詞庫、UCI評價排序數(shù)據(jù)、情感分析數(shù)據(jù)集等。
本文通過運用深度學習與其結(jié)合的方法對數(shù)據(jù)源的文本進行了較為透徹的分析。
目前比較常用的相似度分析方法是TF-IDF(Term Frequency-Inverse Document Frequency)和BM25(Best Matching 25)算法,用TF-IDF模型計算普通的文本相似度分析效果已經(jīng)比較可信,但是在實際的中文文本里,用TF-IDF表示的向量維數(shù)可能是幾百、幾千數(shù)量級,不易分析計算。GUAN W提出一種基于VSM的改進文本相似度算法[6],JIAO Y提出基于樹結(jié)構(gòu)的文本內(nèi)容相似度計算[7]。此外一些文本的主題或者說中心思想并不可能完全地通過文本中的詞來表示。Bm25算法通常用來作搜索相關性評分,通過使用不同的語素分析方法及相關性判定方法來衍生出不同的相關性得分計算方法。而LDA(Latent Dirichlet Allocation)模型有效地解決了文本挖掘中的特征稀疏和分類性能受損問題,文本相似度分析基于LDA模型獲得了比較好的效果。
LDA主題模型是由BLEI等人提出的,其中“文本—主題—詞”LDA基于貝葉斯模型,模型圖如圖2所示。
圖2 LDA模型
假設有M篇文本,對應第d個文本中有Nd個詞,即輸入如圖3所示。
圖3 輸入
為了找到每一篇文本的主題分布和每一個主題中詞的分布,LDA假設文本主題的先驗分布是Dirichlet(狄利克雷)分布,即對于任一文本d,其主題分布θd為:
LDA假設主題中詞的先驗分布是Dirichlet分布,即對于任一主題k,其詞分布βk為:
核心算法如圖4和表1所示。
圖4 核心算法偽代碼
LDA算法算法輸入:分詞后的文本內(nèi)容集(一般一篇文本一行)話題數(shù)K,超參數(shù)α和β算法輸出:1.每個文本的各個詞被指定的話題編號:topic.txt2. 每個文本的話題概率分布θ:theta.txt3. 每個話題下的詞概率分布Φ:varphi.txt4. 程序里詞語WORD的映射表:map.txt5.每個話題下Φ概率排序的TOPN特征詞:topn.txt
目前常見的情感傾向分析方法主要有兩種:基于情感詞典的方法和基于機器學習的方法。前者存在著非常明顯的缺點與局限性,比如段落的得分是其所有句子得分的平均值,這一方法并不符合實際情況;其次,有一類文本使用貶義詞來表示正向意義,尤其是在含有重要情報信息的文本中,如果使用情感詞典來判斷會出現(xiàn)與實際不相符的結(jié)果。ALSAQER A F等人提出了一種使用RapidMiner運算符的方法進行情感分析,一定程度提高了準確率[8]。使用深度學習的方法能更為有效地解決這類問題。
3.2.1 數(shù)據(jù)預處理
對數(shù)據(jù)庫中所有的評論進行分詞并去除停用詞。因為模型的輸入需要的是數(shù)據(jù)元組,所以需要將每條評論的詞語組合轉(zhuǎn)化為一個數(shù)值向量。目前常見的轉(zhuǎn)化算法有Bag of Words、TF-IDF、Word2Vec。Word2vec能快速構(gòu)建詞語的詞向量形式,詞向量的每一維的值代表一定的語義和語法上解釋的特征,其核心框架包括CBOW和Skip-gram兩種訓練模式,CBOW依據(jù)上下文決定當前詞出現(xiàn)的概率,但短文本上下文信息缺失,此模式不適用。Skip-gram采用跳躍組合的方式學習詞項規(guī)則,更能適應短文本特征稀疏的需要[9]。
核心代碼如下:
def Word2Vecs(content):
vecs = []
for ct in content:
ct = ct.replace(' ','')
try:
vecs.append(model[ct])
except KeyError:
continue
return np.array(vecs,dtype='float')
3.2.2 構(gòu)建模型
本系統(tǒng)使用的是Na?ve Bayes SVM(Support Vector Machine)+PCA(Principal Component Analysis)來構(gòu)建模型,SVM分類表現(xiàn)更為寬松,且使用PCA降維后模型表現(xiàn)有明顯提升。
等式左邊代表的是一條評論的極性類型,P(cj)指該極性類型出現(xiàn)的概率,ΠP(wi|cj)指在當前極性條件下文本中各個詞出現(xiàn)的概率的乘積。
其中V就是當前訓練文本的詞匯量。
系統(tǒng)該模塊的流程圖如圖5所示:
圖5 流程圖
將語料進行分詞后轉(zhuǎn)化為向量并對結(jié)果進行標準化和PCA降維后,經(jīng)SVM模型訓練,得到P(positive)、N(negative)、C(confidence)三元組信息。
在微博、推特上各篩選了2 000條評論,Tor上則選取了6 000條具有“行話”性質(zhì)的評論文本用來測試,如表2所示。
表2 評測樣本數(shù)據(jù)集
常用模型的文本相似度計算的準確率對比結(jié)果如圖6所示。
圖6 常用模型文本相似度對比圖
從測試結(jié)果可以看出,Naive Bayes在文本相似度計算中取得的效果并不令人滿意;而TF-IDF則是中規(guī)中矩,但對于這些具有特定主題的文本的中心思想不能非常準確地反映;LDA模型很好地彌補了這方面的缺點,能更加精確地返回與話題最為相似的文本,取得了比較好的效果。
情感傾向分析結(jié)果如圖7所示。
圖7 分析結(jié)果
表3 特征選擇對比
從表3不難發(fā)現(xiàn),在Na?ve Bayes+SVM模型中,特征選擇的三種技術對于微博、推特、Tor的數(shù)據(jù)集來說,Binary TF和TF-IDF在情感傾向分析特征選擇上的效果有所不足,而Word2Vec因其神經(jīng)網(wǎng)絡的性質(zhì)對于最終訓練出來的權重矩陣有著更好的效果,對于準確把握文本情感傾向起到了關鍵的作用。
實驗證明該系統(tǒng)的設計方法對情報信息的獲取、分析有較好的效果。
文本相似度和情感傾向分析是自然語言處理中的一些基礎性研究,有著比較悠久的歷史,近年來隨著深度學習神經(jīng)網(wǎng)絡的發(fā)展,各個模型的性能都得到了一定程度的提高。
目前的研發(fā)成果可以表明,運用自然語言處理的方法計算文本相似度及情感傾向分析在一定程度上可以輔助情報分析人員進行數(shù)據(jù)的存儲、清洗、處理、分析和結(jié)果展示。對于情感分析來說只是僅僅完成情感極性的一個分類、語法分析的任務,本文構(gòu)建的專用于行話信息的語料庫在正負面情感分析上取得了較為滿意的效果。但是如何做到讓機器對人類情感進行深入細膩的把握和分析,甚至是讓機器模仿、創(chuàng)造出人類的情感并與人類進行情感交互是情感分析領域需要更加深入研究的問題。