BDTC分享——智能情报分析引擎

本文是我参加BDTC大会,在自然语言处理+行业论坛上的分享的讲稿。完成与2021年1月23日。
附大会链接
CSDN视频链接

0. 自我介绍

大家好,我是来自中科天玑公司的陈波,之前是在计算所工作,后来根据大老板,就是程老师的安排,到公司做产业化的工作。天玑公司主要是面向党政军客户提供大数据产品和解决方案。我所在部门叫智能情报产品部,主要工作就是面向行业需求,基于整个天玑团队的先进技术,打造智能情报分析产品。

我今天分享的主题是“新一代大数据智能分析引擎探索实践”,核心内容是这两三年我们整个天玑团队(包括实验室和公司)重点打造的GoIN系统,我会从以下几个方面向大家汇报我们的一些理念和技术探索,首先介绍我们对于大数据分析系统的观察和认识,以及做这个系统的动机,然后介绍我们的核心方法理念,这些理念是我们产品的内核,然后介绍几个关键技术,这几个关键技术构成了系统最重要的能力。最后会通过一个实际案例,把业务、理念和技术串起来。

1. 背景与动机

首先,我们开始第一部分,从两家美国公司说起我们观察到的大数据分析系统窗口期。

第一家公司tabular,产品也叫tabular,很多做数据分析的同仁应该都知道,这个产品做BI和可视化非常强。公司2003年创立,2013年上市,专业做数据可视化工具,将数据运算与美观的图表完美地结合在一起,比传统的SPSS、SAS等工具先进了一个时代。

第二家公司是这几年特别热的palantir,这家公司我们从14年开始听说,然后一直学到现在。Palantir可能是大数据分析领域市值/估值最高的公司,2020年上市,目前市值大约是450亿美元,不到半年时间,涨了一倍多,要知道,这家公司之前一直亏钱。Palantir的主要特点是将各类数据进行关联、分析和可视化呈现,为专业分析人员提供便利的辅助支持。

以这两家公司为代表,我们认为,国际大数据分析行业生态反映了大数据系统,尤其是大数据分析系统技术转型变更,是从以感知为目标逐渐转变为以决策为目标。值得一提的是,大概十多年前,天玑团队就开始做舆情系统,舆情系统就属于以感知为目标的大数据情报分析系统,目前市面上的舆情产品特别多,属于红海市场。所以这也说明一个问题,就是这块的市场、技术都相对很成熟,同时舆情系统本身也在寻求新的技术突破。然后就是到了当前,以决策为目标的分析系统,Palantir是其中典型代表。这里说明一下,我说的是针对一些行业的大数据分析应用,在互联网这种转变已经发生,甚至到了高级阶段了,那是因为互联网应用多、用户多、数据量大,但是很多行业并不是这样。互联网公司感知数据的成本可能比较低,只要有用户,就会逐渐积累大量数据,主要分析的数据就是这些业务数据,比如用户访问日志(Web log)、用户浏览记录、订单记录等,所以互联网公司只要解决了存储的问题,就可以开始分析,做行为鉴别、用户画像等等,进一步地就直接转化为决策和行动,比如广告推荐、精准营销、产品推荐等等。但是我们的客户用户尤其是政府,做社会治理和服务,需要发现问题解决问题,然后可能卡在第一步。所以先解决感知问题。

当然下一步肯定也是要以行动为目标,形成及时感知、准确分析、快速行动的能力。比如对于国际舆论,长期以来咱们国家处于劣势没有太多话语权,像新冠疫情爆发初期,很多国家都来指责中国。这可能就是下一步大数据分析系统要解决的问题。

除了技术层面,我们来看下业务层面,我们主要是做情报分析。情报分析应用非常广泛,包括政治情报、安全情报、军事情报、商业情报、科技情报。我这里是从比较宏观层面列举了几个例子,来说明我们面对的基于和挑战。习近平总书记说,放眼世界,我们面对的是百年未有之大变局。后来习总书记又多次强调了这个观点,说当前中国处于近代以来最好的发展时期,世界处于百年未有之大变局,两者同步交织、相互激荡。这个变局体现在多个层面,新冠疫情深刻改变了世界,全球可能会有几亿人感染,甚至成为新的流感。中美关系在川建国同志的不懈努力下激烈动荡,虽然拜登上台了,但是老大和老二的根本性矛盾就摆在那。还有一带一路战略,新基建双循环等等。这些问题对情报分析提出来了严峻的考验,我们作为技术人员,更需要研发新的技术进行应对。

那么具体来看,什么是以决策为目标?主要是为用户提供诊断性、预测性分析,不光要看到现象,还要现象看到本质,挖掘现象背后的深层次原因、获得深层认知。在情报分析中,我们经常会问这些问题:XX组织的幕后资金链怎样?XX交易所是否存在洗钱交易行为?……等等。很重要的一点,任务是高度变化的。

这里有一个例子是分析某恐怖组织的资金来源。首先是物理世界,穆罕默德军的主要成员马苏德、阿卜杜拉都跟塔利班有联系,塔利班主要在阿富汗;同时掌握了在以色列的证据,以色列有其他一些组织ISIS等,关联的一个组织是Lashkar-e-Taiba,我们想知道巴基斯坦是不是有关系,这是已知的物理空间。为了解决这个,我们转到网络空间,找到宣传网站和广告网站,通过宣传网站找到信托机构、银行账号,发现有开放募捐机构给它转钱,然后机构委托人以及他们的Facebook账号,关联到了共同好友,其中一个人通过公开信息显示在巴基斯坦政府任职。从而实现了一个网络环路,将物理世界、信息网络、社交网络串联起来,这样通过数据深层关联融合和挖掘分析,获得了情报。

回答这些问题成为我们做大数据智能分析的动机,也就是我们的方案,面向情报不确定性探索大数据深度分析应用,通过对多源异构数据深度解析与关联融合,形成人机混合的智能分析系统,为分析人员提供分析框架、智能算法、灵活工具,帮助用户从数据中挖掘情报。我们始终认为,机器不能取代人,而是为人服务。为了解决应对情报分析的不确定性,系统应该具有一定灵活性。当然,关于情报分析系统是平台化还是业务化,有很多不同看法,大家可以从不同维度进行讨论。

2. 核心理念

下面我介绍第二部分,核心的技术理念。最关键的就是通过广谱关联分析理论,实现多源异质大数据关联、映射和融合,构建形成动态信息网络,进一步采用领域适配的智能关联分析算法,实现从数据到信息到知识到情报的挖掘。这个核心理念的出发点认为,任何目标都会在人机物融合的大数据空间留下线索,同时一系列微弱的线索通过网络效应将被不断关联放大。

展开来说,第一个理念是从战略到任务。和很多任务一样,情报分析任务实施和完成也是通过对任务进行自顶向下分解,逐步解决回答,最终完成整个任务。在这个过程中,我们为用户提供思维导图工具,方便用户对任务进行分解、关联、协同和汇总。任务管理工具,不仅仅给用户提供一个软件功能,更是帮助用户积累经验、沉淀知识,例如分析一个空袭问题或者公共卫生问题,很多时候只有具体领域的专家能干,为什么?因为他有知识、有经验,可以从现象做判断,然后按照一定方法进行深入展开,最终完成分析。这不就是我们常说的有套路吗?那么这个套路应该被积累、被分享甚至被自动化执行。另外,我们的思维导图跟一般的思维导图制作软件区别在于,这个是作为任务框架来指导整个分析过程的,可以关联数据从而方便分析、关联人员从而进行写作、关联状态从而进行随时恢复现场、关联结果从而进行报告生成。最后系统按照这个任务框架,生成分析报告,帮助业务人员完成绩效。

第二个理念是多源异质数据接入,数据分析系统最重要的当然是数据,所以数据接入非常重要。主要是以网络数据采集和个人数据上传为主要方式。元搜索能够利用关键词,从百度、必应、谷歌等搜索引擎获得相关网页,充分利用Web搜索引擎的数据获取能力。配置采集模块可以直接配置信源,也就是待采集数据网站及其规则,包括匹配关键词、时间范围等条件,实现指定数据源数据采集。无结构化上传将个人手头的Word/PDF甚至EML邮件等资料进行上传,结构化上传可以实现对Excel这种偏结构化的文件以及数据库(包括MySQL、Oracle、PostgreSQL等)进行数据接入,用于情报分析挖掘。另外,我们也提供后台自动接入工具,基于Kakfa+Flink的流批一体架构进行自动处理,主要用于较大规模且对自动分析结果要求不高的场景。

第三个理念是智能分析处理。当前处于人工智能第三次浪潮,AI技术在多个领域实现了可实用的能力突破,也是技术发展的必然趋势。所以我们在技术上一定会引入智能技术,包括机器学习、深度学习、自然语言处理、知识图谱等,并且重点放在文本类非结构化数据。用户上传的文本文件,会自动进行语义分析,识别其中的人、地、机构、事件、时间等要素,通过关键词抽取、情感分类、主题分类对文本进行标注,进一步通过属性抽取、关系抽取,形成小的知识图谱,再通过实体链接、实体融合、关系融合过程,将信息汇聚到大的知识网络中。另外,这个过程也是可交互,结果可修改、可回标,主要原因当然是因为目前很多算法模型在领域应用效果还远未让人满意,而情报分析要求结果的准确性、可解释性。所以说,有些事情从技术上要追求先进性,但在业务上需要做权衡。

第四个理念是多维度的可视化呈现和交互式分析。首先是任务可视化与交互,分析人员能够直观看到任务框架、相关人员、相关结果,并且提供对任务的一些基本统计;第二是基于图谱的关联分析可视化与交互,以节点表示人、地、机构、事件、文档等实体对象,节点之间的连线表示实体之间的关联关系,可以从某个实体扩展,找到相关实体,对信息进行过滤、聚焦、再扩展,可以不断重复这个过程,直到找到相关线索,提供多种布局方式,可以从不同角度进行数据观察,基于数据透视按照实体类型、实体属性进行分组统计并提供快速过滤功能。第三是基于GIS的空间可视化与交互,在地图上直观展示相关的空间对象,哪些对象可以在地图上展示呢?只要具有地点信息或坐标信息,比如一个人的住址、机构所在位置、商店,一个事件,一篇新闻报道等等,除了直接显示,还可以通过对指定范围的区域进行查找,利用热力图进行空间分布分析。第四是基于时间轴的时间可视化与交互,从时间维度观察情报信息的分布及其规律,比如按照时间段进行统计,可以直观认识事件趋热趋冷的趋势,看微博转发的规律、病毒传染趋势等。第五是文本可视化,直接对文本进行实体高亮、基于词云图进行关键词频率显示等。第六是基于多种图形的统计分析可视化,包括柱状图、饼图、折线图、河流图、矩形树图等。再就是结果展示与交互,生成报告可以进行编辑,支持分析结果图拖拽等。最后是通过人与机器智能共生、协同处理,分析算子模块化灵活可组合,从而发挥强大的分析能力。

3. 关键技术

下面介绍第三部分,是系统的关键技术,核心能力所在。

第一个关键技术是以动态开放知识结构连接异质多元大数据,实现对结构化、半结构化、无结构化数据的接入、处理、解析、关联、融合。具体来说首先是自然语言处理技术,这是我们自主研发的自然语言理解引擎CoreNLU。大家可能知道,计算所算是国内最早做中文NLP,ICTClas,可惜的是后来我们自己也不用了,这几年深度学习起来后,传统的模型基本上都被淘汰,包括哈工大LTP、HanLP都基于深度学习重写了一遍。CoreNLU是我们自主研发,用于对海量文本内容进行深层语义分析理解,主要特点是:支持中英文两大语种,支持新闻、博客、社交媒体等不同语料,在技术体系上相对较全,具有领域模型积累。功能架构上,包括标注器、抽取器、链接器、分类与理解几个层次,技术架构上,主要是基于pipeline,每个抽取分析过程称为一个任务,任务可以组合,通过构建DAG图,避免重复抽取,底层基于tensorflow框架,提供restful接口,支持GPU加速,支持Docker部署,已经完成国产化部署适配。基于restful接口,做了一个单独的Web演示界面,对分析结果在原文上进行标注。可以说,自然语言处理是整个数据处理过程的核心,也是未来情报分析的重点发力方向。另外一个是开放知识引擎OKS,面向应用领域实现动态知识图谱构建、管理和推理计算。OKS采用动态本体模型进行知识建模,顶层包括实体、事件、文档、关系类型,可以进行类型扩展、属性继承。目前支持政治、军事、金融等多个垂直领域,支持从结构化、非结构化数据进行知识抽取,提供了知识标注工具和管理工具。在技术架构上,按照微服务架构拆分为图谱管理、知识抽取、知识推理、知识融合、智能问答等模块,支持组合与单独部署、应用。

第二个关键技术对基于动态开放知识结构构建的大规模知识数据,采用强时效的大图分析引擎进行存储于计算。这几年图数据库特别火,很多公司成立了专门的图数据库研发团队,早起的neo4j、JanusGraph已经不能满足应用需求,HugeGraph、DGraph、NebularGraph等纷纷问世,吸引一波又一波的关注。昨天的大会主题演讲第二个老师就是讲的图数据库相关的。其实插一句,我们团队14-16年也做了一个图数据库叫Golaxy GraphDB,很可惜没有坚持下来。后来我一个同学,基于ClickHouse重新做了一个,就是我要讲的SQLGraph,作为GoIN的图存储和图分析引擎。不过我也确实不得不服,SQLGraph性能很厉害,单机图分析引擎中可以说是业界最优。当年我们做的那个图数据库,还是采用的是JanusGraph的架构,底层基于HBASE+ES,规模可以比较大,但是分析性能不行,尽管我们充分利用了hbase的rowkey扫描过滤、coprocessor下推计算机制进行优化等。SQLGraph与ClickHouse深度融合,底层基于ClickHosue列存储引擎进行数据存储,通过实现内存图引擎加上精细的图算法实现,以及本身ClickHouse列存的优势,达到很高的分析性能。不过现在看缺点也比较明显,就是资源消耗比较大,适合做少并发、大数据量的OLAP,并不适合做大量用户同时操作或者OLTP,所以我们也在跟北大gStore进行合作,考虑更换存储选型。基于图引擎实现了常用的图查询和图分析算子。SQLGraph语法上与标准SQL很类似,只是增加了几个图操作的SQL函数,以及因为采用内存计算所需要的图加载和卸载的SQL语句。提供了以SQL语句作为参数的HTTP接口,为了方便使用,也提供了Restful接口。图查询语言这块目前似乎还没有看到收敛的趋势,已经出现了Neo4J的Cypher/CQL、TinkerPop协议栈的Gremlin、DGraph采用的GraphQL,还有nebulargraph的类SQL语法。大家都有机会,一起搞起来。

第三个关键技术是可视化层面,主要是UI和前端这块。我们前期把大量精力都花在这个交互界面上,尽管有些人认为前端只是花架子,但是实际上目前看过我们系统界面的人都觉得非常酷炫。毕竟是情报分析嘛,就得有点高大上,哪怕只是看起来呢,哈哈。回到技术层面,虽然基于vue+iview+element-UI框架,也用了很多组件库,但是基本上每个组件都是定制开发的,具体到关联分析、内容分析、时空分析、统计分析,都花了大量时间进行设计和开发。另外,几个分析模块可以通过推送的方式进行自由切换、组合使用。不过可视化这块目前也遇到一些问题,比如因为我们采用Web界面,图谱展示节点数过多的情况响应非常慢,所以我们在调研webGL技术。同事,可视化方面跟山大可视化团队在进行合作,GoIN本身作为一个平台,可以不断补充新的可视化组件。

第四个关键技术是通过框架和平台方式,支持算子库和案例库的不断丰富。目前,系统提供了脉络分析、共指分析、倾向性分析、社区分析等20+算子,并且可以快速支持算子定制,支持前端通过JS代码定义算子或通过后台Python代码定义算子,以类似小程序方式进行,每个算子的输入是当前画布的对象集合以及一组其自定义的参数集合,输出为结果列表,并根据配置进行相应展示,比如列表展示、可视化展示或者对画布对象进行高亮。每个算子以单独面板方式进行配置和结果展示,画布状态改变则通过通知方式,所有算子面板收到消息、进行更新。除了算子库,还有案例库,针对重点专题建设了系列案例。

4. 应用与案例

下面介绍最后一个主要部分,应用场景与案例分析。

首先是军事情报领域场景,例如反恐、JS目标分析、区域战略研判等,通过从多种来源渠道获取数据,进行智能分析处理,构建知识图谱的广谱关联网络,通过社交媒体内容、社交网络结构、事件参与网络结构进行分析,挖掘关键情报。安全情报领域,包括反间、罪案侦察、突发公共事件等,例如可以对疫情医疗研究单位进行分析,对新冠病毒治疗药物及手段进行分析,疫情发展情况时空演化分析等。科技情报领域,对技术趋势研判、对某个技术领域进行调研等,比如对DARPA项目进行分析,包括项目情况、人员情况、技术方向等,对科技论文分析可以了解论文主要内容以及对作者合作网络进行分析。行业情报领域,例如金融欺诈分析、企业安全分析、竞争对手研判等。

我们来看一个具体案例,对美国政治体系和反华人物进行分析。2020年8月10日,中国外交部……这个新闻一出,我看一些分析人士就开始写文章,比如介绍这些人到底谁,他们干了啥。确实,我也想知道。那好,我们也蹭一下热点,通过系统技术看能不能做一些什么分析。从这个新闻出发,我觉得可以问几个问题,他们是谁?他们干了啥?……经过初步分析后,可以形成一个分析框架,当然这个工作还是需要对相关领域有所了解的,未来积累模板后可以进行推荐、裁剪、组合。然后需要采集接入数据,百科数据、新闻报道、社交媒体,这是我们比较常用的开源数据,这个根据需要进行采集、筛选就可以,另外还有国会数据、政治百科、政治献金等数据,可以用于分析政见、幕后支持等。最后系统几个分析维度进行一些分析,包括对政治体系图谱分析、社交媒体言论分析、政治捐献来源分析、法案投票分析。基于基于百科数据,利用CoreNLU的实体抽取、属性抽取、关系抽取、言论抽取算法,可以让我们知道他们是谁、他们干了什么。通过政治献金、国会法案等结构化数据又可以看关联。最后通过法案投票的二部图,可以通过紧密度分析算子计算哪些跟他们投票行为比较相似。

5. 总结展望

最后简单总结一下:我们面向行业情报分析应用,提出了一些行业大数据分析的理念,并基于自主研发的一套技术,包括自然语言处理、知识图谱、大图计算等技术,初步建成了大数据智能情报分析引擎系统,积累一些案例。下一步,我们将继续深耕行业,不断完善系统能力,具体工作包括自动搜索并抽取形成任务框架、提高数据集成能力、算法方面丰富形成更多业务算子,可视化集成配置等。

这是我们的目标,做中国的palantir,自勉!

你可能感兴趣的:(BDTC分享——智能情报分析引擎)