劉航冶 富鐵楠 楊 勇
(中國電子科技集團(tuán)公司第十研究所 成都 610036)
隨著大數(shù)據(jù)時代的來臨,獲取公開來源信息的方式和手段越來越多樣,網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,讓互聯(lián)網(wǎng)成為獲取各種類型公開信息的重要來源。開源情報 (Open Source Intelligence, OSINT),一般是指從公開的信息中獲取的情報,被收集、利用并及時傳播給合適的受眾,以滿足特定的情報需求[1]。開源情報數(shù)據(jù)來源廣泛,并且數(shù)據(jù)量巨大,具有異構(gòu)性和動態(tài)性等復(fù)雜特征[2],運用自動化、高效的智能分析技術(shù)對開源情報進(jìn)行分析挖掘,是開源情報處理的必要手段。
互聯(lián)網(wǎng)來源的開源情報通常包括文本、視頻、音頻、文檔等不同類型、不同格式的數(shù)據(jù),其中文本是獲取情報的重要數(shù)據(jù)同時也是網(wǎng)絡(luò)中最有廣泛的數(shù)據(jù),對文本數(shù)據(jù)的分析和挖掘能夠快速、高效地獲取有價值的情報信息,同時,對文本特別是中文文本的分析和挖掘尤其具有挑戰(zhàn)性,因此本文主要對中文開源情報的智能分析和挖掘技術(shù)進(jìn)行研究。
從處理流程上看,對互聯(lián)網(wǎng)開源情報的智能分析可以從數(shù)據(jù)自動獲取、智能信息抽取和智能挖掘分析三個方面進(jìn)行,如圖1所示。情報的獲取從互聯(lián)網(wǎng)網(wǎng)頁信息采集開始,經(jīng)過URL鏈接提取、網(wǎng)頁內(nèi)容獲取和結(jié)構(gòu)化信息抽取,得到結(jié)構(gòu)化的元數(shù)據(jù)信息和非結(jié)構(gòu)化的情報內(nèi)容;在情報知識庫的支撐下,可以對情報內(nèi)容中的信息進(jìn)行抽取,進(jìn)一步進(jìn)行結(jié)構(gòu)化處理,生成結(jié)構(gòu)化的實體、實體關(guān)系、事件等信息;基于抽取的信息,對情報進(jìn)行挖掘分析,包括自動摘要生成、情報自動分類以及情報文本主題聚類等應(yīng)用。其中,開源情報自動獲取技術(shù)相對成熟,因此本文主要對智能信息抽取和智能挖掘分析過程中采用的技術(shù)進(jìn)行分析和研究。
圖1 互聯(lián)網(wǎng)開源文本情報智能分析流程
互聯(lián)網(wǎng)開源情報智能信息抽取是對開源情報中非結(jié)構(gòu)化的文本部分進(jìn)行關(guān)鍵信息抽取的過程,包括命名實體抽取、實體關(guān)系抽取、事件抽取等,將非結(jié)構(gòu)化的文本轉(zhuǎn)換為結(jié)構(gòu)化的信息。
實體抽取又稱為命名實體識別(Named Entity Recognition,NER),是分詞任務(wù)的子任務(wù)之一,目的是識別出文本中具有專用意義的詞語,并根據(jù)人物、組織機(jī)構(gòu)、地名、時間等類型進(jìn)行分類。對于特定的情報領(lǐng)域,如軍事情報而言,軍事目標(biāo)、武器裝備型號等也是命名實體的類別。早期的命名實體識別大多是基于專家系統(tǒng)的規(guī)則制定,需要人工制定大量的規(guī)則對其中的實體進(jìn)行提取,不僅系統(tǒng)實現(xiàn)代價高,其可移植性也受到一定限制。20世紀(jì)90年代后期開始,基于大規(guī)模語料庫的統(tǒng)計方法逐漸成為命名實體識別的主流[3]?;诮y(tǒng)計方法的命名實體識別可以分為有監(jiān)督的學(xué)習(xí)方法、半監(jiān)督的學(xué)習(xí)方法、無監(jiān)督的學(xué)習(xí)方法以及多模型混合的方法,有不少文獻(xiàn)對這類方法進(jìn)行了研究[4-5]。
近年來,隨著基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法的興起,該方法在命名實體識別任務(wù)方面也有大量的研究實踐。與傳統(tǒng)的機(jī)器學(xué)習(xí)方法不同,基于深度學(xué)習(xí)的方法直接端到端地學(xué)習(xí)各種自然語言處理任務(wù),不再依賴人工設(shè)計的特征[6]。這樣,可以有效地避免統(tǒng)計學(xué)習(xí)方法中的人工特征提取操作。目前,在命名實體識別領(lǐng)域中最流行的深度學(xué)習(xí)模型是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[7]以及以Transformer為代表的自注意力機(jī)制[8]?;贑NN進(jìn)行命名實體識別的方法包括skip-gram神經(jīng)網(wǎng)絡(luò)模型[9]的方法、迭代卷積神經(jīng)網(wǎng)絡(luò)[10]的方法、目標(biāo)保持對抗神經(jīng)網(wǎng)絡(luò)[11]等。另外,越來越多的研究者將Google提出了的BERT(Bidirectional Encoder Representation from Transformers)模型引入了中文命名實體識別中,取得了一系列的研究成果[12-13]。
各種方法的技術(shù)特點如表1所示:
表1 實體抽取技術(shù)方法特點比較表
在情報研究領(lǐng)域,關(guān)系是目標(biāo)重要的相關(guān)信息,對關(guān)系信息的抽取是自動構(gòu)建知識圖譜的關(guān)鍵。實體關(guān)系抽取的主要目標(biāo)是從自然語言文本中識別并判定實體對之間存在的特定關(guān)系。關(guān)系抽取的方法包括基于規(guī)則的關(guān)系抽取方法、基于傳統(tǒng)機(jī)器學(xué)習(xí)的抽取方法和基于深度學(xué)習(xí)的關(guān)系抽取方法。
基于規(guī)則的關(guān)系抽取主要是通過人工構(gòu)造語法和語義規(guī)則,運用語言學(xué)知識提前定義能夠描述2個實體所在結(jié)構(gòu)的規(guī)則,然后基于模式進(jìn)行匹配判定,完成關(guān)系抽取的分類。
基于傳統(tǒng)機(jī)器學(xué)習(xí)的關(guān)系抽取方法流程與實體抽取類似,不同之處在于需要對實體和關(guān)系同時進(jìn)行抽取。其中,有監(jiān)督的抽取運用的方法包括基于特征變量的抽取方法[14]和基于核函數(shù)的抽取方法[15]等。半監(jiān)督的關(guān)系抽取方法主要有自舉方法[16]、協(xié)同訓(xùn)練[17]和標(biāo)注傳播等,能有效地減少對標(biāo)注語料的依賴和人工參與,而且性能較好。
基于深度學(xué)習(xí)的關(guān)系抽取方法可以大致分為三大類:傳統(tǒng)有監(jiān)督的方法、遠(yuǎn)程監(jiān)督的方法和預(yù)訓(xùn)練模型的方法。傳統(tǒng)有監(jiān)督的方法采用CNN、RNN及其變種的神經(jīng)網(wǎng)絡(luò)LSTM/Bi-LSTM對文本中的關(guān)系進(jìn)行抽取[18]。遠(yuǎn)程監(jiān)督的方法[19]是為了解決樣本標(biāo)注工作量過大的問題,采用自動抽取實體對的方法擴(kuò)充樣本集。基于BERT的預(yù)訓(xùn)練模型方法,通過上下文全向的方式理解整個語句的語義,并將訓(xùn)練學(xué)到的知識(表示)用于關(guān)系抽取等領(lǐng)域,在抽取效果上表現(xiàn)出色[20]。
事件是情報領(lǐng)域重要的研究對象,不同的情報目標(biāo)可以通過事件完成相互關(guān)聯(lián),從而情報中的信息可以得到更深度的挖掘,因此從情報文本中抽取事件是情報智能分析的一項更為高級的任務(wù)。同時,事件抽取也是信息檢索、智能問答、知識圖譜構(gòu)建等實際應(yīng)用的基礎(chǔ)[21]。事件通常根據(jù)研究領(lǐng)域的業(yè)務(wù)場景限定,事件的要素包括了人物、時間、地點、事件名稱、事件類型,抽取的任務(wù)就是從非結(jié)構(gòu)化的文本中將這些要素信息自動提取出來。因此,事件抽取包括兩個關(guān)鍵的工作:一是準(zhǔn)確地將文本中的實體抽取出來,這些實體包括了人物、時間、地點、組織機(jī)構(gòu)等;二是確定事件類型以及人物、機(jī)構(gòu)等在事件中的角色和動作。
當(dāng)前事件抽取的方法中,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的方法研究較多。傳統(tǒng)機(jī)器學(xué)習(xí)的方法將事件抽取看作序列標(biāo)注問題,通過建立特征工程,獲取文本的語義特征,然后將事件的抽取轉(zhuǎn)換為分類問題,依賴機(jī)器學(xué)習(xí)領(lǐng)域的各種分類器完成事件抽取。經(jīng)典的方法是將事件的抽取分為事件觸發(fā)詞分類、事件元素分類、事件屬性分類等多個分類子任務(wù),然后運用機(jī)器學(xué)習(xí)領(lǐng)域的分類方法逐個完成子任務(wù),最終形成抽取結(jié)果[21]。
基于深度學(xué)習(xí)進(jìn)行事件抽取的方法是近年來研究熱點,這個方向的研究較多,如文獻(xiàn)[22]和文獻(xiàn)[23]將神經(jīng)網(wǎng)絡(luò)方法分別應(yīng)用于觸發(fā)詞識別和事件抽取任務(wù)中,取得了很好的效果。
情報文本,特別是中文情報文本的事件抽取,由于中文語言的復(fù)雜性,目前還是一個很有挑戰(zhàn)性的任務(wù)。深度學(xué)習(xí)技術(shù)給事件抽取提供了有效的技術(shù)工具,但是仍然處于起步階段,需要進(jìn)一步的研究。
基于智能抽取的結(jié)果,互聯(lián)網(wǎng)開源情報智能挖掘分析有自動摘要生成、情報文本自動分類及情報主題聚類分析等。
文章摘要是對一篇文本情報主要內(nèi)容的總結(jié)和歸納,在大數(shù)據(jù)背景下,通過對情報文本進(jìn)行自動化的摘要提取,可以優(yōu)化情報的檢索效率,提升情報分析和應(yīng)用的效率。
自動化摘要生成研究從1958年就開始[24],經(jīng)過幾十年的發(fā)展,該技術(shù)得到了長足的發(fā)展。從摘要的生成方式上劃分,自動摘要生成可以分為抽取式摘要生成和生成式摘要生成。
抽取式方法將自動文摘簡單地看作是二元分類問題,判斷文檔中的文本單元是否屬于摘要內(nèi)容,因此抽取式方法生成的摘要都是文章中的句子。抽取式方法主要考慮摘要的相關(guān)性和句子的冗余度2個指標(biāo)。相關(guān)性衡量摘要所用的句子是否能夠代表原文的意思,冗余度是用來評估候選句子包含冗余信息的多少[25]。抽取式方法主要采用的算法包括基于主題分析模型的方法[26]、基于圖的方法[27]以及結(jié)合深度學(xué)習(xí)的方法[28]等,該方法的實現(xiàn)簡潔、高效但也存在抽取質(zhì)量及內(nèi)容流暢度較差的缺點。
生成式方法通過樣本訓(xùn)練形成模型,利用模型去試圖理解文本的內(nèi)容,然后生成文章中可能不存在的句子來描述整個文章的內(nèi)容。一篇文章的摘要常常并不是文章中的某一個句子,所以從實際情況上來講,這種方法抽取的摘要更加合理。生成式方法主要采用的算法包括基于圖的方法[29]、基于線性規(guī)劃的方法[30]、基于語義的方法[31]以及深度學(xué)習(xí)[32]的方法。值得一提的是,目前在生成式摘要生成中,深度學(xué)習(xí)的方法,特別是序列到序列的框架模型應(yīng)用得到大量研究。
面對海量的互聯(lián)網(wǎng)開源情報,情報的自動分類提供了對情報數(shù)據(jù)快速組織和管理的技術(shù)渠道,同時,文本分類技術(shù)還可用于情報分析中常用的言論分析以及情感分析。情報文本自動分類指事先指定一定的分類體系,將情報文本自動歸入分類體系中節(jié)點的過程。一個情報文本的分類過程可以用圖2表示。
圖2 情報文本分類流程
其中,文本預(yù)處理是指去除文本中與文本分類無關(guān)的字和符號,并轉(zhuǎn)換為結(jié)構(gòu)化的數(shù)據(jù)形式,包括分詞、詞干提取等[3,33]。文本表示通常采用向量空間模型進(jìn)行文本向量化。分類器的生成大多采用機(jī)器學(xué)習(xí)的方法,目前采用較多的主要是傳統(tǒng)機(jī)器學(xué)習(xí)和基于深度學(xué)習(xí)的方法。
基于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,主要通過建立特征工程的方法表示文本并選擇文本特征:通過訓(xùn)練樣本生成特征項序列;計算權(quán)重:根據(jù)特征項序列對文本進(jìn)行權(quán)重賦值,從而轉(zhuǎn)換為文本特征向量。在構(gòu)建特征空間的基礎(chǔ)上,可以運用多種機(jī)器學(xué)習(xí)領(lǐng)域的分類方法來實現(xiàn)文本的分類。
在深度學(xué)習(xí)方法方面,TextCNN模型[34]是較早提出的一種基于卷積神經(jīng)網(wǎng)絡(luò)、用于文本分類的模型,隨著神經(jīng)網(wǎng)絡(luò)在文本分類領(lǐng)域的研究不斷增多,更多的模型被提出,如TextRCNN[35]、TextRNN[36]以及加入了注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)模型[37]等。在Transformer神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被提出以后,文本分類領(lǐng)域也開始嘗試應(yīng)用這種模型。文獻(xiàn)[38]將利用多標(biāo)簽文本分類領(lǐng)域的序列生成BERT模型。文獻(xiàn)[39]提出了BERT-TECNN模型,針對BERT中文預(yù)訓(xùn)練模型參數(shù)巨大的問題進(jìn)行了優(yōu)化,提高了BERT模型的泛化能力。
總的來講,情報文本的自動分類朝著基于深度學(xué)習(xí)的方向發(fā)展,但傳統(tǒng)機(jī)器學(xué)習(xí)的方法并沒有淘汰,而是以與深度學(xué)習(xí)算法結(jié)合的方法一直被研究者運用。
情報主題聚類分析是將情報文本按照內(nèi)容、主題的相似程度自動劃分到不同類別中,提高情報文本組織、瀏覽和檢索的效率。與分類不同的是,聚類并不事先指定類別,而是由計算機(jī)自動將不同主題的情報歸類到一起,是一種無監(jiān)督的數(shù)據(jù)分類。情報主題聚類分析通常采用的流程是:對文本進(jìn)行分詞處理,然后選取文檔的特征以及對應(yīng)權(quán)重作為文本數(shù)據(jù)的特征,利用某種聚類算法對文本進(jìn)行聚類計算,通過最優(yōu)化目標(biāo)函數(shù)的方法找到一個聚類的全局最優(yōu)解或局部最優(yōu)解,最后對聚類結(jié)果進(jìn)行評估。一般流程如圖3所示。
圖3 情報主題聚類分析流程
文本聚類的方法分為劃分方法、層次方法、基于密度的方法和基于網(wǎng)格的方法[40],在情報主題聚類分析中運用較多的是劃分方法、層次方法和基于密度的方法。
劃分方法將文本數(shù)據(jù)劃分為多個組,每個組至少含有一個對象,即在文本數(shù)據(jù)集上進(jìn)行一層劃分。大部分的劃分方法是基于距離,將文本數(shù)據(jù)向量化以后,計算文本之間的距離,通過距離的大小來不斷迭代調(diào)整分組,最終達(dá)到最優(yōu)分組。K均值算法是劃分中運用最多的算法,通過漸進(jìn)地提高聚類質(zhì)量來達(dá)到局部最優(yōu)解。K均值算法計算速度快,比較實用,但也存在對初始中心點選擇敏感、聚類結(jié)果不穩(wěn)定、容易陷入局部最優(yōu)等缺點,研究者專門針對這些問題對算法進(jìn)行了優(yōu)化[41]。
層次方法通過凝聚或分裂的方法,將給定的文本數(shù)據(jù)集分解為具有層次的簇中。凝聚的方法使用自底向上的策略,通過逐漸匯聚合并生成具有層次的簇樹,而分裂的方法則是自頂向下,初始將所有文本對象置于一個簇中,遞歸地劃分為多個較小的子簇。文獻(xiàn)[42]和文獻(xiàn)[43]對如何將層次方法運用于文本聚類做了比較細(xì)致的研究。
劃分的方法和層次的方法難以識別任意形狀的簇,而基于密度的方法可以彌補這一缺點,其主要原理是當(dāng)某個相鄰區(qū)域的密度(對象或數(shù)據(jù)點數(shù)量)超過某個閾值,就繼續(xù)增長給定的簇,從而形成任意形狀的簇?;诿芏鹊姆椒ㄖ饕捎玫乃惴ò―BSCAN、OPTICS和DENCLUE等,其中用于文本聚類的研究較多地見于DBSCAN[44]和OPTICS算法。
互聯(lián)網(wǎng)開源情報為情報研究和分析提供了海量的情報數(shù)據(jù),充分發(fā)揮開源情報的效益、提升情報效能離不開智能分析處理技術(shù)的支撐。本文的主要貢獻(xiàn)是梳理了互聯(lián)網(wǎng)開源情報處理流程,在此基礎(chǔ)上對信息智能抽取和信息智能分析挖掘步驟中涉及的關(guān)鍵問題進(jìn)行了分析,闡述了解決問題的方案和技術(shù),考察了相關(guān)領(lǐng)域的研究現(xiàn)狀,并對技術(shù)發(fā)展趨勢進(jìn)行了分析?;ヂ?lián)網(wǎng)開源情報智能分析技術(shù)仍在發(fā)展中,基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的方法已有不少研究成果,但在特征設(shè)計和樣本標(biāo)注的問題值得進(jìn)一步研究,提高分析方法的實用性。同時,由于自然語言的復(fù)雜性,只有在結(jié)合具體業(yè)務(wù)場景和研究數(shù)據(jù)特性的基礎(chǔ)上,不斷優(yōu)化算法和策略才能真正解決實用性的問題。