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