魯文帥,嚴(yán)曉芳
(1. 中國(guó)電子科學(xué)研究院,北京 100041; 2. 清華大學(xué),北京 100084)
隨著信息技術(shù)的不斷發(fā)展,以大數(shù)據(jù)和人工智能為代表的一系列顛覆性技術(shù)正日益影響和改變?nèi)祟?lèi)的認(rèn)知和行為方式,特別是自然語(yǔ)言理解,在一定程度上代替人工從事基礎(chǔ)性和重復(fù)性的工作。與此同時(shí),相比于大數(shù)據(jù)時(shí)代的數(shù)據(jù)更迭,傳統(tǒng)的科技文本研究模式以孤立信息為源頭、以專(zhuān)家經(jīng)驗(yàn)為依據(jù)、以腦力勞動(dòng)為工具,在信息維度、評(píng)判準(zhǔn)則、更新速度等各個(gè)方面,都漸漸跟不上科技信息數(shù)據(jù)的產(chǎn)生節(jié)奏和消費(fèi)速度[1-2]。隨著數(shù)據(jù)科學(xué)和智能技術(shù)的發(fā)展,以計(jì)算機(jī)為基礎(chǔ)的科技情報(bào)專(zhuān)用檢索分析系統(tǒng)開(kāi)始出現(xiàn),成為輔助情報(bào)研究的有效工具,并漸漸開(kāi)始應(yīng)用到信息收集、數(shù)據(jù)篩選、主題分類(lèi)、整合匯編、批量導(dǎo)出、關(guān)聯(lián)分析等細(xì)分領(lǐng)域[3-5]。
美國(guó)基特軟件公司于2009年就開(kāi)始密切參與DAPAR軟件研發(fā)挖掘情報(bào)信息,開(kāi)發(fā)的Cognika情報(bào)系統(tǒng)已進(jìn)入市場(chǎng)為分析人員提供科技情報(bào)[6]。專(zhuān)利CN101866340A提出了一種面向商品生產(chǎn)行業(yè)的情報(bào)搜索分析方法,基于元搜索技術(shù)對(duì)互聯(lián)網(wǎng)進(jìn)行覆蓋檢索,基于語(yǔ)義技術(shù)和網(wǎng)頁(yè)結(jié)構(gòu)技術(shù)分析產(chǎn)品屬性,采用Web系統(tǒng)和產(chǎn)品報(bào)表給企業(yè)和政府提供與市場(chǎng)競(jìng)爭(zhēng)相關(guān)的商品情報(bào)服務(wù)[7]。專(zhuān)利CN101334784A提出了一種面向互聯(lián)網(wǎng)和第三方數(shù)據(jù)庫(kù)的情報(bào)搜索、知識(shí)挖掘方法及其系統(tǒng),能夠響應(yīng)用戶(hù)對(duì)非結(jié)構(gòu)化網(wǎng)頁(yè)的搜索、分類(lèi)需求,對(duì)信息員更新情況及時(shí)捕捉和提醒,并借助知識(shí)挖掘方法生成報(bào)告和導(dǎo)出文件,還可以通過(guò)機(jī)器學(xué)習(xí)算法主動(dòng)發(fā)掘用戶(hù)需求,為一般工作人員、專(zhuān)業(yè)情報(bào)人員、行業(yè)專(zhuān)家提供高質(zhì)量和高新鮮度的情報(bào)服務(wù)[8]。然而,目前還沒(méi)有較為主流的平臺(tái)或技術(shù)能夠完整覆蓋情報(bào)研究的全流程。
本文提出一體化自動(dòng)情報(bào)研究方法和平臺(tái)設(shè)計(jì),借助可編程、可固化的專(zhuān)家經(jīng)驗(yàn),和可訓(xùn)練、可迭代的機(jī)器學(xué)習(xí),實(shí)現(xiàn)對(duì)科技信息文本的多元采集、自動(dòng)清洗、智能分類(lèi)、立體呈現(xiàn)、匯編報(bào)告、綜合分析等主要環(huán)節(jié)和常用工具的全覆蓋,實(shí)現(xiàn)流程各個(gè)基礎(chǔ)環(huán)節(jié)的無(wú)縫連接,充分發(fā)揮專(zhuān)家經(jīng)驗(yàn)和人工智能的各自?xún)?yōu)勢(shì)和互補(bǔ)效應(yīng),有效克服當(dāng)前科技信息研究領(lǐng)域輔助工具的一體化程度低、專(zhuān)家經(jīng)驗(yàn)利用率低、智能化程度低等缺陷。測(cè)試表明,論文提出的方法和系統(tǒng)能夠有效提高科技文本采集分析效率,具有較高的工程應(yīng)用價(jià)值。
人類(lèi)從事科技情報(bào)研究的一般流程是:情報(bào)檢索,信息篩選,分類(lèi)整理,匯編成文,撰寫(xiě)報(bào)告,反饋迭代。遵照前述流程抽象出數(shù)據(jù)流,進(jìn)而給出本設(shè)計(jì)的平臺(tái)頂層框架,包括數(shù)據(jù)采集、自動(dòng)清洗、智能分類(lèi)、情報(bào)呈現(xiàn)、匯編報(bào)告、人工干預(yù)等6個(gè)部分,如圖1所示。按照層次不同,總體分為底層引擎和應(yīng)用接口兩部分,采集、清洗、分類(lèi)是底層引擎,呈現(xiàn)、匯編、管理則是應(yīng)用接口。其中,數(shù)據(jù)采集是平臺(tái)獲取多源情報(bào)數(shù)據(jù)的入口,自動(dòng)清洗用于對(duì)原始的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,智能分類(lèi)用于對(duì)預(yù)處理后的情報(bào)數(shù)據(jù)做可配置的分類(lèi)預(yù)測(cè),有序呈現(xiàn)用于對(duì)分好類(lèi)的數(shù)據(jù)做后處理以實(shí)現(xiàn)摘要提取、瀏覽下載、主題推送,匯編報(bào)告依據(jù)主題對(duì)處理后的分類(lèi)數(shù)據(jù)進(jìn)行情報(bào)匯編集成和情報(bào)報(bào)告生成,系統(tǒng)管理模塊用于對(duì)平臺(tái)的全局變量、系統(tǒng)資源、用戶(hù)組織、樣本標(biāo)記等進(jìn)行管理。為了輔助情報(bào)研究工作,平臺(tái)還附加了常用工具模塊,嵌入平臺(tái)中作為集中化的輔助工具。這些模塊按照情報(bào)研究的流程模式組成可自動(dòng)運(yùn)行的一體化平臺(tái),部署在云服務(wù)器或本地服務(wù)器上,供遠(yuǎn)程或本地使用,實(shí)現(xiàn)從海量數(shù)據(jù)到科技情報(bào)的自動(dòng)搜索分析流程。
圖1 自動(dòng)化情報(bào)平臺(tái)的頂層設(shè)計(jì)原理框圖
數(shù)據(jù)采集環(huán)節(jié)用于平臺(tái)獲取多源情報(bào)數(shù)據(jù),包括對(duì)網(wǎng)絡(luò)和本地的開(kāi)源數(shù)據(jù)進(jìn)行定制化采集,支持多媒體數(shù)據(jù)格式,包括文本、圖片、網(wǎng)頁(yè)、音頻、視頻等各類(lèi)文件。設(shè)計(jì)中支持的可選參數(shù)包括:(1)目標(biāo)源,即被采集的網(wǎng)站網(wǎng)址或本地路徑,同時(shí)可錄入中英文名稱(chēng)、語(yǔ)言類(lèi)型、網(wǎng)站屬性;(2)挖掘?qū)蛹?jí),即在網(wǎng)址或根路徑下的訪問(wèn)深度,(3)外域權(quán)限,即是否通過(guò)站內(nèi)鏈接、快捷方式訪問(wèn)域名或根路徑外的數(shù)據(jù),(4)文件類(lèi)型,可篩選pdf,doc,html,jpg,mp4等,(5)線程個(gè)數(shù),即采集任務(wù)使用的多線程數(shù)量,(6)觸發(fā)方式,包括人工觸發(fā)采集和指定時(shí)間自動(dòng)采集。本地采集功能還支持對(duì)給定的本地路徑下的各類(lèi)文件和指定名稱(chēng)的數(shù)據(jù)庫(kù)進(jìn)行一鍵式導(dǎo)入和結(jié)構(gòu)化提取。以上獲取的各類(lèi)原始數(shù)據(jù)存儲(chǔ)在本地原始非結(jié)構(gòu)化數(shù)據(jù)庫(kù)中,其中文件存儲(chǔ)在本地磁盤(pán),文件屬性存儲(chǔ)在數(shù)據(jù)庫(kù)表中。全部原始數(shù)據(jù)可以在前臺(tái)通過(guò)條件檢索進(jìn)行瀏覽查看、人工修改、批量下載。
數(shù)據(jù)清洗環(huán)節(jié)用于對(duì)本地非結(jié)構(gòu)化數(shù)據(jù)庫(kù)的文件去重、文字提取、文本分詞、去停止詞、結(jié)構(gòu)化等預(yù)處理功能。文件去重通過(guò)比對(duì)文件的URL鏈接、HD5值等屬性值實(shí)現(xiàn)。文字提取是將多媒體文件轉(zhuǎn)換為文本文件,即對(duì)pdf、word、html、jpg等文件中的光學(xué)字符而非文本字符通過(guò)標(biāo)簽結(jié)構(gòu)提取、光學(xué)字符識(shí)別(OCR)等方法提取為txt文本,對(duì)音頻文件進(jìn)行語(yǔ)音識(shí)別得到txt文本,對(duì)視頻文件進(jìn)行幀提取后將字幕和音頻提取轉(zhuǎn)化為txt文本。文本分詞是對(duì)文本進(jìn)行n-gram分詞,并依據(jù)系統(tǒng)內(nèi)設(shè)的常用停止詞庫(kù)或自定義停止詞庫(kù)去除停止詞,得到向量文件。經(jīng)過(guò)數(shù)據(jù)采集和數(shù)據(jù)清洗,系統(tǒng)實(shí)現(xiàn)對(duì)原始數(shù)據(jù)的結(jié)構(gòu)化向量獲取。數(shù)據(jù)采集和清洗流程如圖2所示。
圖2 數(shù)據(jù)采集和清洗流程圖
智能分類(lèi)環(huán)節(jié)用于對(duì)自動(dòng)清洗后的結(jié)構(gòu)化向量數(shù)據(jù)做面向不同主題的分類(lèi)預(yù)測(cè),將無(wú)序、無(wú)主題的數(shù)據(jù)庫(kù)依據(jù)用戶(hù)關(guān)注而變得有序,是平臺(tái)的核心部分。為實(shí)現(xiàn)較好的分類(lèi)預(yù)測(cè)性能,本文提出綜合運(yùn)用專(zhuān)家規(guī)則和機(jī)器學(xué)習(xí)兩種模式共同組成智能分類(lèi)引擎。專(zhuān)家規(guī)則分類(lèi)的本質(zhì)是正則運(yùn)算,即由專(zhuān)家依據(jù)行業(yè)經(jīng)驗(yàn)或統(tǒng)計(jì)結(jié)果設(shè)定顯式規(guī)則,對(duì)于每一個(gè)情報(bào)主題分類(lèi)及其下設(shè)的子類(lèi),通過(guò)前臺(tái)操作定義該主題下的基本關(guān)鍵詞庫(kù),利用與或非布爾邏輯和詞集/詞袋模型對(duì)分類(lèi)規(guī)則進(jìn)行明確配置,后臺(tái)會(huì)根據(jù)此規(guī)則自動(dòng)生成正則分類(lèi)器,即專(zhuān)家規(guī)則分類(lèi)器。機(jī)器學(xué)習(xí)分類(lèi),是依據(jù)用戶(hù)提供的機(jī)器學(xué)習(xí)樣本,基于某一種或幾種機(jī)器學(xué)習(xí)算法(包括樸素貝葉斯、支持向量機(jī)、隨機(jī)森林、貝葉斯網(wǎng)絡(luò)、K近鄰等),由后臺(tái)自動(dòng)訓(xùn)練,生成分類(lèi)器代碼,即為機(jī)器學(xué)習(xí)分類(lèi)器。智能分類(lèi)流程如圖3所示。在本文中基于Java開(kāi)源機(jī)器學(xué)習(xí)庫(kù)WEKA實(shí)現(xiàn)機(jī)器學(xué)習(xí)分類(lèi)功能。
配置后的分類(lèi)器能夠依據(jù)測(cè)試樣本給出性能評(píng)估,包括分類(lèi)速度、準(zhǔn)確率、召回率等。在生成分類(lèi)器后,當(dāng)用戶(hù)需要啟動(dòng)分類(lèi)任務(wù)時(shí),可以設(shè)定條件(包括來(lái)源網(wǎng)站、發(fā)布時(shí)間、文件大小、文件類(lèi)型等),篩選針對(duì)的文件和面向的主題。不被選擇的文件和主題不會(huì)被執(zhí)行分類(lèi)任務(wù),將保留歷史分類(lèi)結(jié)果不變。在執(zhí)行分類(lèi)任務(wù)后,平臺(tái)還基于分類(lèi)器計(jì)算結(jié)果為用戶(hù)提供分類(lèi)后的輕量級(jí)條件篩選,如依據(jù)分類(lèi)預(yù)測(cè)概率閾值篩選、依據(jù)詞頻閾值篩選等。此外,平臺(tái)支持專(zhuān)家規(guī)則和機(jī)器學(xué)習(xí)兩種分類(lèi)方法的交互:一方面,專(zhuān)家規(guī)則分類(lèi)的結(jié)果可以通過(guò)用戶(hù)在前臺(tái)標(biāo)記后成為機(jī)器學(xué)習(xí)分類(lèi)的訓(xùn)練樣本;另一方面,機(jī)器學(xué)習(xí)分類(lèi)的結(jié)果中包含了此類(lèi)別的詞頻統(tǒng)計(jì),可輔助用戶(hù)制定新的專(zhuān)家規(guī)則。 通過(guò)智能分類(lèi)環(huán)節(jié),用戶(hù)能夠得到一個(gè)符合用戶(hù)興趣、且主題有序的定制化科技情報(bào)數(shù)據(jù)庫(kù)。
情報(bào)呈現(xiàn)環(huán)節(jié)是應(yīng)用接口之一,提供已分類(lèi)數(shù)據(jù)庫(kù)的操作接口,它與前述智能分類(lèi)模塊自動(dòng)關(guān)聯(lián),根據(jù)用戶(hù)在智能分類(lèi)模塊中定義的類(lèi)別,對(duì)分類(lèi)后的情報(bào)做有序呈現(xiàn),支持條件排序,并提供瀏覽放大、批量下載、摘要提取、情報(bào)推送、人工標(biāo)記等用戶(hù)操作。批量下載功能可以使用條件檢索,對(duì)分類(lèi)后的情報(bào)資料做定制化的下載;摘要提取功能基于混合提取算法(包括模板提取算法、關(guān)鍵句段算法、開(kāi)源提取工具等),對(duì)情報(bào)原文的主要內(nèi)容做提煉;情報(bào)推送功能支持自動(dòng)或人工推送郵箱、短信、微信,用戶(hù)可以設(shè)定當(dāng)有新的情報(bào)進(jìn)入某分類(lèi)時(shí)推送給預(yù)設(shè)的用戶(hù)地址,也可以人工選定將哪些情報(bào)推送給用戶(hù);人工標(biāo)記功能用于情報(bào)專(zhuān)家對(duì)分類(lèi)后的結(jié)果做人工校準(zhǔn),平臺(tái)可以依據(jù)人工校準(zhǔn)的結(jié)果優(yōu)化分類(lèi)器參數(shù),改進(jìn)分類(lèi)性能。
匯編報(bào)告模塊用于按照應(yīng)用層前臺(tái)設(shè)定的主題和模板,自動(dòng)生成某個(gè)主題的科技情報(bào)匯編報(bào)告。報(bào)告的主題、結(jié)構(gòu)、格式、內(nèi)容可由用戶(hù)在前臺(tái)自定義設(shè)置,顆粒度可以細(xì)化到各段落。段落內(nèi)容的定義,既可以采用明確的專(zhuān)家規(guī)則,當(dāng)分類(lèi)情報(bào)數(shù)據(jù)庫(kù)中有情報(bào)文本匹配該規(guī)則邏輯時(shí),該條情報(bào)文本將被匯編;又可以采用機(jī)器學(xué)習(xí),用戶(hù)給出每段報(bào)告的例文,由平臺(tái)學(xué)習(xí)例文并從情報(bào)數(shù)據(jù)庫(kù)中判斷匹配的情報(bào)文本后填入?yún)R編報(bào)告。后臺(tái)將自動(dòng)按照前臺(tái)配置生成報(bào)告引擎,該報(bào)告引擎基于已分類(lèi)數(shù)據(jù)庫(kù),匹配規(guī)則、填充內(nèi)容,生成定制化的科技信息匯編報(bào)告。
系統(tǒng)管理模塊用于對(duì)平臺(tái)的賬號(hào)權(quán)限、組織機(jī)構(gòu)、硬軟件資源、其他全局變量進(jìn)行管理。其中賬號(hào)管理功能用于設(shè)置不同用戶(hù)的基本賬號(hào)信息,以及該用戶(hù)對(duì)平臺(tái)的使用權(quán)限;組織機(jī)構(gòu)管理功能用于設(shè)定賬戶(hù)所屬的單位和部門(mén)信息,并通過(guò)設(shè)定不同的數(shù)據(jù)庫(kù)源實(shí)現(xiàn)機(jī)構(gòu)之間的數(shù)據(jù)隔離控制;硬軟件資源管理功能用于監(jiān)視和配置各個(gè)賬號(hào)、各個(gè)機(jī)構(gòu)允許使用平臺(tái)的線程數(shù)量,及占用平臺(tái)的處理器百分比、硬盤(pán)存儲(chǔ)空間、網(wǎng)絡(luò)帶寬大小、代理IP數(shù)量等,便于系統(tǒng)維護(hù)和資費(fèi)管理;其他全局變量還包括菜單管理,以及各個(gè)模塊默認(rèn)分配的線程數(shù)量、代理IP地址、訪問(wèn)限制、默認(rèn)推送地址等。
常用工具模塊集成情報(bào)研究人員常用的小工具,便于用戶(hù)在使用本專(zhuān)利所述平臺(tái)進(jìn)行情報(bào)研究過(guò)程中同步使用,包括影印資料識(shí)別、外文科技情報(bào)翻譯、機(jī)器學(xué)習(xí)樣本制作、文件批量重命名、嵌入腳本程序等。影印資料識(shí)別功能基于光學(xué)字符識(shí)別(OCR),用于將圖片、掃描資料中的文字字符提取成文本;外文科技情報(bào)翻譯功能基于深度學(xué)習(xí)翻譯工具,能夠把外文情報(bào)文本自動(dòng)翻譯成中文,并支持雙語(yǔ)情報(bào)的語(yǔ)料學(xué)習(xí),以提高情報(bào)專(zhuān)業(yè)領(lǐng)域的翻譯準(zhǔn)確率;文件批量重命名功能可以由用戶(hù)設(shè)定命名規(guī)則,例如“日期+題目+作者+分類(lèi)”等,然后對(duì)指定路徑下的全部文件一鍵批量處理;嵌入腳本程序功能為用戶(hù)提供腳本程序接口,用戶(hù)可以將自主設(shè)計(jì)的小程序腳本嵌入到平臺(tái)中,以增加用戶(hù)的定制化功能,該功能支持跨編程語(yǔ)言的嵌入,例如在Java平臺(tái)中嵌入Python或R或C語(yǔ)言的腳本。
平臺(tái)實(shí)例的前后臺(tái)主體采用Java開(kāi)發(fā),分類(lèi)算法代碼采用Python開(kāi)發(fā),整套平臺(tái)采用Web系統(tǒng)訪問(wèn),將數(shù)據(jù)采集、自動(dòng)清洗、智能分類(lèi)、情報(bào)呈現(xiàn)、匯編報(bào)告、常用工具、系統(tǒng)管理共7個(gè)模塊組成一體化的智能情報(bào)助手平臺(tái)。整套軟件平臺(tái)部署在具有公網(wǎng)獨(dú)立IP的云服務(wù)器上,網(wǎng)絡(luò)帶寬15 Mbit/s,服務(wù)器運(yùn)行Linux操作系統(tǒng),軟件系統(tǒng)部署在Tomcat服務(wù)中,數(shù)據(jù)庫(kù)軟件采用MySQL。為測(cè)試使用效果,以面向約翰霍普金斯大學(xué)官方報(bào)告做檢索為例,提取其中的技術(shù)文摘版塊,軟件運(yùn)行后的界面如圖4所示。
圖4 軟件運(yùn)行的界面
經(jīng)各類(lèi)測(cè)試,平臺(tái)對(duì)網(wǎng)絡(luò)開(kāi)源數(shù)據(jù)的采集速度達(dá)到600個(gè)文件/h,對(duì)文本文件的智能分類(lèi)速度達(dá)到10萬(wàn)條/h,智能分類(lèi)的平均準(zhǔn)確率達(dá)到85%以上,在特定領(lǐng)域優(yōu)化規(guī)則和樣本后的分類(lèi)準(zhǔn)確率達(dá)到95%以上,生成摘要的速度優(yōu)于10 s/篇,生成匯編報(bào)告的速度優(yōu)于10 min/份。以上測(cè)試結(jié)果證明了本平臺(tái)的設(shè)計(jì)思路和方法的正確性,并表明本文所述平臺(tái)在實(shí)際應(yīng)用中將極大提高情報(bào)研究工作的效率。由于平臺(tái)的通用性設(shè)計(jì),本平臺(tái)還能夠向科技情報(bào)以外的數(shù)據(jù)挖掘領(lǐng)域擴(kuò)展,例如專(zhuān)利查新、產(chǎn)品檢索等。
本文面向科技情報(bào)研究,提出了覆蓋基礎(chǔ)流程的一體化自動(dòng)平臺(tái)設(shè)計(jì)方法,借助可編程、可固化的專(zhuān)家經(jīng)驗(yàn),和可訓(xùn)練、可迭代的機(jī)器學(xué)習(xí),實(shí)現(xiàn)對(duì)情報(bào)研究領(lǐng)域的多元采集、自動(dòng)清洗、智能分類(lèi)、多元呈現(xiàn)、匯編報(bào)告、綜合分析等主要環(huán)節(jié)和常用工具的集成,實(shí)現(xiàn)情報(bào)研究各個(gè)環(huán)節(jié)的無(wú)縫連接,并充分發(fā)揮專(zhuān)家經(jīng)驗(yàn)和人工智能的各自?xún)?yōu)勢(shì)和互補(bǔ)效應(yīng),有效減輕情報(bào)研究的前期工作勞動(dòng)量,提高效率,具有較好的實(shí)用前景和工程參考價(jià)值。