今天给大家推送一篇台湾大学学者的开源情报应用研究文章《运用公开来源文件于商业情报探勘》
【摘要】
情报收集与分析一直以来皆在企业成长扮演重要的角色。传统的情报管理流程大多,较为隐密且需要大量的人力处理,同时其收集之情报量通常颇为稀少且收集过程可能具有危险性。因此开源情报(open source intelligence)近年来逐渐成为情报收集与分析的主流。目前开源情报的处理大都仰赖人力进行,必须耗费大量的人力与时间。自动化的开源情报处理对于现今之开源情报而言势必无法避免。本文将基于一文本探勘过程来进行开源情报管理。主要的目的为自动的侦测对企业有益的事件资讯。本文的主要贡献为提出了一高阶的开源情报探勘方法,其结果将有利于国家安全、个人知识管理、与企业成长。
关键词:开源情报、文本探勘、自我组织图、商业情报
1.绪论
情报(intelligence)之收集与分析一直以来被认为在军事与商业战争中具有关键的角色。历史上多有获得关键情报而获得军事或商战胜利的案例。情报之用途,主要是能“料敌机先”,收“知己知彼,百战百胜”之效。故情报之收集,应具有可靠性与广泛性,求来源之充足与正确,以利分析。情报之分析,则应具有预测性,求关键事件之预知,而能防患未然。若能持续的、广泛的、且可靠的获得情报,再加以进行准确分析,则不论在战争行为或商业利益上,皆可获得钜大的进展。故自古以来,情报的收集与分析一直备受(政治或企业)当权者重视。
5. 发布(dissemination):将处理结果提供予客户。
上述流程为一循环,当情报发布后可再进行下一阶段之情报循环。其中也可以在完整循环中建立次循环,例如第2-4 步骤。事实上,若将情报循环视为一资讯系统,则规划与指引步骤可视为系统之输入,发布步骤可视为系统之输出,其间之收集、处理、分析与产出步骤则可视为资料处理过程。以下便针对此处理过程作一探讨。
在情报收集上,传统以来,不论在军事或商业上,情报大都藉由秘密、隐蔽的管道获得。主要的原因是具有价值的情报通常具有机密性与敏感性而不对外公开。机密情报的取得因而时常经由不合法的方式取得,造成情报收集过程具有极大风险。另一方面,秘密情报收集因管道之特殊与稀少性,加上反情报(counter-intelligence)收集之可能,使得情报之可靠性亦时无保障。由于这些因素,使情报收集之过程一直以来皆蒙上一层隐晦的面纱,情报收集者(情报员)之故事亦在坊间多所流传。由传统管道所收集之情报, 则具有资料量稀少、资料需验证、通讯管道难以建立等缺点。
传统之情报分析通常为专业人员进行。情报分析师依据其执行准则与流程对情报进行分析。其间需运用大量之分析技巧与个人经验与智慧。此类技巧之运用与经验之累积需耗费极大的时间与心力,故无法大量为之。因此各国政府或企业莫不把具备高度分析能力之情报分析师视为重要资产。诚然,一具有高度情报分析能力之人员可为机构带来巨大利益,然终就人力有限且训练旷日费时,要依赖此方式进行情报分析仅国家及大型企业具有能力进行。
一般收集情报之方法,分为人力情报(human intelligence, HUMINT)、信号情报(signal intelligence, SIGINT) 、 测量与签名情报 (measurement and signature intelligence, MASINT)、图像情报(imagery intelligence, IMGINT)、地理空间情报(geospatial intelligence, GEOINT) 、财务情报(financial intelligence, FININT) 、技术情报(technical intelligence, TECHINT)、与开源情报(open source intelligence, OSINT)等。以上之各种情报收集方法各有其应用领域与限制及其优劣点。一般而言,上述各种情报收集方法皆需运用专业技术且需花费大量财力与人力,非一般个人或企业所能负荷,因此多由国家级专门机构进行。然而其中之公开来源情报却具有成本低、资讯即时、资讯量充足等优势,对情报收集而言成为一新兴且具吸引力之管道。
5. 学术专业:学术会议、学术组织、学术论文、专家等。
开源情报在收集过程中和传统方法最大的不同在于传统情报中,收集过程是最困难的一部份,特别是常常要自不合作的目标获取情报。这部份对于开源情报却是最简单且花费了最少成本的部份。开源情报最大的困难在于自大量的资料中侦测出相关且可靠的来源。以往对开源情报的分析需仰赖具备高度能力,足以立即处理这些资讯的专家为之。事实上,直至目前为止,开源情报分析绝大部份仍需仰赖人力进行。
如前述,开源情报之分析目前皆由人力进行。然而人力之涵盖范围与即时性皆有所限制。目前来自上述之公开来源资料量极为巨大,早已超乎人类可以处理的极限。
3. 使用者介面:自动化情报处理和传统情报处理方式最大的不同便是情报使用者(决策者)不需仰赖人力来收集与分析情报。因此必须建立一适当之人机介面以利该等决策者制定目标与检视分析过程与结果。在建立此类使用者介面时,需参卓各项质化与量化指标以利呈现。
本论文将发展一自动化程序来处理与管理开源情报以应用于商业情报探勘应用上。我们将使用来自于公开来源之文字文件,首先将其进行分群以获得文件间之关联。而后再应用一情报侦测过程在分群结果上以发掘有用的事件与主题。所侦测的情报将可应用于企业决策支援上。
本论文的组织如下:在第二节中我们将进行文献探讨。第三节将介绍文件的前置处理与分群过程。第四节将介绍本文所提出的情报探勘方法。在第五节中将呈现实验结果。最后在第六节中为结论与讨论。
2.文献探讨
开源情报之相关研究,早期大多仅限于其作业规范,并由国防单位进行。例如:美国国家情报总监下设开源中心,另北约组织(NATO)于 2001 年出版了一有关开源情报操作手册,其中详述了有关开源情报之各层面,如资料来源、可用软件、可用服务、及处理循环中各步骤之说明等。手册中也提供了广泛的参加资料,如开源情报相关网站与训练教材。本手册是了解开源情报之重要启始知识。北约组织也另外出版了一本有关开源情报之文选。另针对网际网路之开源情报处理,北约亦发表了相关著作。这一系列著作可以说是了解开源情报的踏脚石。然而其中所叙述的,大多为描述开源情报之规范与如何进行开源情报管理,对于自动化处理模式几无著墨。
近年来自动化开源情报处理吸引了来自于学术界,尤其是计算机领域学者的关注。和情报界不同的是,这些学者较关心的是如何设计一程序以取代人力进行开源情报处理。由于情报分析可以说是要从资料中发掘出可用之情报,与资料探勘之目的相近,因此很自然的可以引用资料探勘技术在开源情报之处理机制上。然而这个想法直至近年才真正开始吸引一些学者投入并发表其研究成果。事实上,应用资料探勘方法于开源情报之应用直至目前仍甚少被探索。国际上也很少发表这方面的论文,证明此领域仍在婴儿期。目前较相关之会议为已经举办了三届的 International Symposiumon Open Source Intelligence and Web Mining (OSINT-WM)。此会议第一届是于2008 年于英国伦敦举行,其后 2009 年于西班牙巴塞隆纳举行,2010年则于丹麦欧恩塞 (Odense, Denmark)举行。这个会议主要便是希望藉由资料探勘方法,尤其是网路探勘 (Web mining)技术与社交网路分析,进行开源情报之分析,可以说是目前世界上少数聚集这方面研究之重要会议。除了此会议之外,另有一些论文散见于不同的国际会议中。整理后得知,此方面之研究大多以欧洲国家为主。以下则择其重要之论文进行探讨。
意大利的SYNTHEMA 公司之Baldini 等人于2007 年开始发表了数篇论文描述其所发展的开源情报处理平台 SPYWatch。他们提出一架构来进行开源情报之收集、处理、分析、产出与发布。此系统的核心技术在使用K-means 演算法将文件分群后再进行分类。特点是本系统可处理来自不同语言文件之情报。
奥地利的 Sail Technology 之 Pfeiffer 等学者则发表了基于 MPEG-7 之处理平台 Media Mining System。此系统之输入可以为不同型式之公开来源资料,如卫星影像、电视影像、网页与RSS 输入等。这些原始输入随后被处理以萃取其内容。产出的内容则可在该公司之Media Mining Server 中被检索、分析与检视。Media Mining System 可用于早期预警、资讯分享、与风险评估上。
英国Innovation Works 公司之Vincen 等人则提出一集中式架构以融合来自不同来源的资讯以提供紧急服务所用。他们的技术主要的核心是使用机率加强知识本体(probabilistic enhanced ontology)并配合多功能的服务介面与使用语意特徵。本系统于发表时尚未成熟,其主要目标是要能够达成情境认知(situation awareness) 与影响评估(impact assessment)。
Badia 等学者分析文字文件中的语句以获得文件之时空资讯以提供开源情报使用。他们先将语句转换成主词-动作-受词的型式,再依据剖析程式所提供之提示资讯与特定的语法样式来找出语句中的时、空资讯。
美国德州的Austin Info System 之Palmer 早于 2005 年发表论文则提出了一语意比较量度以进行事件分析(event analysis)。他使用 Lavalette 分布取代了较早所使用的语料库分析。他的系统主要的特点是可以侦测事件间之关联。
欧盟执委会(European Commission)的联合研究中心(Joint Research Centre, JRC)建立了一个二阶段的事件淬取系统。在第一阶段中,他们建立了一称为欧洲媒体监测器 (Europe Media Monitor, EMM)的新闻报导蒐集平台。这些新闻报导会被分类与分群以供第二阶段使用。在第二阶段中,他们使用了两个方法,其一是JRC 所发展的NEXUS 系统。此系统以分群为中心,採取简浅语言学方法来自某一主题群组中萃取资讯。 其二是芬兰赫尔辛基大学所发展了PULS 系统。此系统则较为深入的分析新闻之内容,因而允许使用者自未明之新闻中发掘事件。
Wiil 等人以图论的方法来来分析恐怖份子网路(Terrorist Network)。本文之特殊性在于其分析著重于连结(link)而非传统该类网路所著重之节点(node)。Bartik的研究试图将文本资料进行分类。他除了使用传统的 tf-idf 加权法来描述文件内容外,也采用视觉特征,即文字所出现的位置作为分类的依据。Dawoud 等人则结合数个社交网路分析常用的量度成为一全域性量度,以度量恐怖组织之组织强度。Liu 与Sandfort则针对公开源码,分析其与公众参与对社会创新的影响。虽然她们的研究亦与 Open Source 相关,但与此处之开源情报较无关联。Neri 等人则以意大利总理之性丑闻为例,探讨如何分析、标示、分群新闻文件并发掘其隐含之关联与情感方向。
3.文件前置处理与分群
一、 文件前置处理
为了将文件转换为适合训练使用,我们必须加以处理以转换为向量型式。我们首先必须去除与内容无关之网页语言标记,将网页转换为本文档。而后进行断词 (segmentation),将本文转换为字词之集合。标准的字词处理程序,如常用字去除(stopword
elimination)、字根还原(stemming)、关键字选取(keyword selection)等也被运用以降低关
键字之数量,即字彙集(vocabulary)之大小。最后我们再利用向量空间模型(vector space
model)将网页P 转换为一向量 i Pi。
二、 文件分群:
文件经由转换为向量后,接下来我们想对文件进行分群(clustering),在此本研究使用的是自我组织图。自我组织图的主要概念是透过计算文件向量与神经元突触权重向量的距离来映射文件至神经元上,藉此将文件做分群。在此将其训练过程描述如下:
Step 1: 设定训练所需参数
第一个步骤先设定训练所需的参数,其中包含输入层神经元数、输出层神经元数、输入文件向量 ( 笔数 ) 、学习速率α(t)、学习次数t,并以乱数设定突触权重向量 wj。
Step 2: 执行学习流程
执行学习流程表示将一文件向量进行学习步骤的过程,其步骤如下所示:
Step 2.1: 随机输入一文件向量vi 进行训练。
Step 2.2: 寻找优胜神经元。
Step 2.3: 更新突触权重的向量:
当一文件向量被映射至其优胜神经元上时,此神经元与其附近之神经元之突触权重会受到新加入之文件向量的影响而改变,所以必须更新突触权重的向量。
Step 2.4: 重复 Step 2.1~2.3 直到所有的文件向量都经过训练一次。
Step3: 检查停止条件
令t = t + 1;假如t 达到了预先设定的总学习次数T 时,则训练完成;否则就减少学习速率α(t),并缩减邻近区域的范围,回到Step 2 继续执行训练。
4.情报探勘
经过自我组织图的训练后,我们将对神经元进行标记处理(labeling process),并产生文件分群图(document cluster map,DCM)。所谓的标记处理即将先前文件于训练完成之自我组织图之优胜神经元标示出来,如此便可以知道那些文件与文件间是相似的。我们将文件分群图之标记方法叙述如下:
在 DCM 中,概念上每一个神经元即代表一些文件的集合,且标记于此神经元内的文件具有高度字词同时出现(co-occurrence)的特性,因此被标记再同一或邻近神经元上的文件彼此间有一定程度的语意相似程度。
产生 DCM 所使用的方法为计算文件向量与各神经元突触权重向量的距离。我们将第 i 笔文件向量PPPPi 与所有神经元的突触权重向量进行比较。假设第 i 笔文件向量与第 j个神经元的突触权重向量距离为最小,则将此文件向量标记至此神经元上。亦即满足下式:
其中J 为神经元总数wj 为神经元j 之突触权重向量。我们将所有文件向量之标记神经元记录下来,便可得到 DCM。先前提过本文的文件向量是依各文件所包含的关键字来表示,因此具有多数相同关键字的文件在理论上表示其相似程度很高,所以在标记的过程当中有很大的机会会被标记在同一个神经元上,也就是说被标记在同一个神经元上的文件在语意上具有较高的相似程度。因此包含相同字词的文件会被标记在同一个或相邻的神经元上。此外,由于神经元数目通常会小于文件数目,所以会有多份文件被标记在同一神经元上。因此一个神经元便构成一文件群集。
获得文件分群图后,我们便可据以进行情报探勘。本文将进行三种情报探勘技术, 分述如下:
(一) 文件分群主题侦测:
我们可以发掘文件群组之重要关键字词作为该分群主题.经由一字词标示过程,我们可以获得一关键字词分群图(keyword cluster map, KCM)。与DCM 不同的是,在 KCM 中每一神经元内所包含的是一些字词的集群,且这些字词为其对应之文件中的常用字词,换句话说这些字词在其被标记的神经元之突触向量中具有一定程度的权重值。
本文中的文件向量是以二元向量来表示,因此经由自我组织图训练后的突触权重向量理论上最好的情况应是 0 或 1,向量 0 代表字词对于此神经元完全不重要,相反的,向量1 表示字词对于此神经元具有很大的重要性;但事实的情况并不会只出现0 或1 两种极端情况,因为在训练过程中每一神经元可能都会受到其邻近神经元之修正。所以本文设计以下方法来产生 KCM:检视第 j 个神经元内的突触权重向量 wj,若某一字词所对应之元素其值超过一预先设定之临界值,则将此字词标记在此神经元上。这裡所提到的临界值即一介于0 到1 之间的数值,其中越接近于1 表示此字词在神经元中所代表的重要性越高,因此通常都设定为一接近于1 的数值,但具有弹性,可根据样本资料的特性来调整临界值的大小。
在标记处理之后,一个神经元会被数个字词所标记,如此即形成了一个字词群集。 在KCM 裡,在文件中常常同时出现的字词会被标记到相同或邻近的神经元上。例如, “微软”与“比尔盖兹”经常在一份文件中同时出现,所以它们会被标记到相同或邻近的神经元,因为它们所对应的元素在转换成文件向量时都会同时设定为 1,因此,神经元便会试著同时去学习这两个字词。相反的,不同时存在相同文件中的字词在图中就会被标记在距离较远的神经元。如此我们就可以依据两个字词在KCM 中所对应的神经元来发掘它们彼此之间的关系。
(二) 特定事件侦测:
特定事件指使用者事件设定之事件。例如,一金融业者会关心是否发生了有关于欧元汇率之事件。他可以设定一些与此类事件相关之关键词。我们则可以监看新进文件以侦测该类事件是否发生。令E = {ei} 为使用者所设定用来侦测某事件的关键字词集合。.
首先我们先发掘每一e 所属之文件集合 i 。令Ci 为e 所属之文件集合 i ,若ei 为KCM 中神经元 i 之关键字集合中之成员,C 即为该神经元所对应之 i DCM 中之文件分群。若 ei 出现在多个关键字词群组中,我们选择突触权重向量中具有最高之对应成份之分群为 Ci。
决定了各事件关键字词之对应文件群组后,我们可以用下列方式来侦测特定事件。一新进文件 DI 首先依第三节所述进行前置处理并转换为一文件向量 DI 。此输入文件向量再与文件分群图中之所有神经元比较以找出最近的文件分群 CI。若 CI 与任一事件分群(即Ci)相同,则DI 会被视为使用者有兴趣之特定事件文件。
(三) 新奇事件侦测:
新奇事件之定义为未能归属于任一文件群组之事件.当新进文件 CI 出现时,它的文件向量会与自我组织图中之所有神经元比较,即计算文件向量 CI 与每一神经元之突N触权重向量wj 之欧氏距离(Euclidean distance),亦即
若与所有神经元之距离皆值超过一门槛值,则我们便认为CI 为一新奇事件,因其与任一文件群组皆不相似。
5.实验结果
为了验证本文所提方法之效能,我们使用普遍的Reuters-21578 资料集来进行实验。
此资料集将文件区分为135 个类别,然而其中部份类别并不包含任何文件。我们使用其中的Modified Apte Split 方法将其区分为训练资料与测试资料,其中各包含9603 与3299份文件。为了达到更好的效果,我们捨弃了包含少于 20 份文件的类别。我们也捨弃了字数过少(少于 20 个字)与字数过多(多于 300 个字)的文件。经上述处理后训练资料与测试资料各包含4825 与1768 份文件。我们再将这些文件依第三节所述方法转换为向量。我们在建立字彙集时会捨弃只出现一次的关键字与不是名词的字。然后我们建立一自我组织图来分群并标记文件以建立文件分群图。表一为自我组织图之统计资料。请注意此表所显示的为获得最佳结果之自我组织图.而后我们针对特定事件与新奇事件侦测进行实验,其结果分述如下:
表1 自我组织图统计资料
(一) 特定事件侦测实验结果:
首先我们使用 Reuters-21578 资料集之类别关键字作为事件关键字。资料库中超过20 份文件的类别共有 57 个,因此我们便以这些类别的主题作为事件关键字来测试本文的方法。我们先以第四节所述方法找出这些事件关键字所属的文件分群。而后我们从测试资料集中选取某一类别的文件,再将此文件之文件向量与所有神经元相比较,若最相近者即为该类别之主题所属之文件分群,则我们将其视为一成功的侦测。表二显示实验的结果。
表2 特定事件侦测结果
(二) 新奇事件侦测实验结果:
要评估新奇事件侦测之效能较为困难,主要是因为我们必须另于训练文件外准备一组新奇文件。之前所使用的测试文件集并不能满足新奇性的要求。一个简单的策略为假设属于不同类别的文件即属不相关.根据这样的假设,我们将训练文件集依其类别切割。
原始的资料集共包含 6593 份训练与测试文件.我们将其依类别重新切割为训练与测试文件集。训练文件集包含 57 个类别中的 50 类别,共 5871 份文件。测试文件集则包含剩馀的7 个类别中的文件,共722 份文件.我们使用新的训练文件集依表1 的参数重新训练自我组织图。而后使用测试文件集中的文件来与自我组织图中的神经元进行比较以辨识其是否为新奇文件。理想情况下所有测试文件集中的文件应该都是新奇的,然而因文件间存在部份关联性,会影响其结果。表3 为使用二个不同门槛值之实验结果。实验结果并无法到达高度的准确性,主要是因为测试文件和训练文件间存在著部份关联性。 若能使用更精确分割的文件集,当可获得较佳的结果。
表3 新奇事件侦测结果
6.结论
本文中我们提出了一个新的方法来自公开来源文件中发掘商业情报。我们首先将文件进行分群并找出文件间之关联。两种新的侦测方法,即特定事件侦测与新奇事件侦测,被用来侦测有用的情报。初步实验的结果验证了本文所提方法之可行性。