写点什么

无代码情报处理漫谈

作者:数由科技
  • 2024-09-12
    北京
  • 本文字数:2994 字

    阅读完需:约 10 分钟

无代码情报处理漫谈

情报处理听起来是一个与绝大多数人或企业不太相关的事,但实际上,我们每个人、每个企业或单位都有获取及应用情报的需求。只是很多时候,情报以新闻或其它信息的形式展现在了我们面前,比如:今日头条提供的各类热点信息,千里马提供的招标信息等。虽然已经有了很多专业公司将信息转换为了情报,并提供了相应的服务,但这些情报并未覆盖到各行各业,各个维度,并且随着对信息理解的深入,使用者还会积累出更深层次的情报加工需求。很多企业和行业专家对于如何处理情报、改善情报或应用情报积累了自己独特的理解,但受限于情报数据的多样性、复杂性以及处理情报所需的较高的编程经验,让他们对于打造符合自己需求的情报望而却步。从而也丧失了一些提升业务能力的机会。

为此,笔者团队开发了一款名为HuggingFists的低代码工具,能够有效处理各类情报。该工具源自数据科学平台,支持用户通过拖拽方式构建数据处理流程,从而大大降低使用者的学习成本,使得没有编程经验的业务人员也有能力对情报进行加工处理。企业加工处理情报的成本会大幅下降、效率也会显著提高。HuggingFists 作为一款降本增效的工具,在当前的市场和经济环境下,能够为使用者带来一定的竞争力。

HuggingFists 是目前全球范围内为数不多的一款能够同时支持结构化、半结构化以及全结构化数据的低代码工具平台。笔者团队用其承担了不少情报处理的工作,积累了不少经验。下面就从笔者最熟悉的网络安全行业谈一谈如何做到无代码处理情报吧。

近几年,网安行业盛行了几款以情报为核心概念的安全产品,比如威胁狩猎平台、攻击面管理系统、威胁情报系统等。这些产品都高度依赖数据和情报的处理能力。传统上,网安处理的数据最大来源是网络报文,只不过这些报文已被各种网安产品进行了基本或深度处理,并做了结构化表达,如网络会话数据、安全事件、漏洞信息等。从事相关产品开发的企业,往往会部署一些探针,用以获取这类网安数据。这是企业最大的情报数据来源。但企业受限于资源和政策的限制,能够部署的探针数量有限,情报数据的全面性不够。为此,需要通过互联网的各类开源情报进行有效补充。这些开源情报格式及内容就千变万化了,如有 Json、Xml 等半结构化的情报数据;也有 Html 页面、Word、Pdf 等自然语言描述的情报信息。处理和整理这些信息需要整合各类技术,比如 OCR、命名实体识别等,并且需要耗费大量的精力。下面笔者将根据实践经验介绍下如何使用 HuggingFists 将数据加工为情报。

前期准备

在进行情报处理之前,首先需要将各类需要整理的数据对接进 HuggingFists 系统中。这些数据一般会存放在文件系统或各类数据库中。这里不探讨情报数据的采集过程,因为那又是一个很大的话题了。 HuggingFists 能够支持几十种文件系统和数据库(关系型、文档型、列簇型、仓库型、图型等),能够非常便捷的对接各类情报数据源。尤其是 HuggingFists 能够支持多种文件系统,更是能帮助使用者从大多数情报的最初状态,即文件状态,开始处理情报。关于如何添加数据源可通过以下视频了解《HuggingFists简介》。

结构化情报处理

结构化情报数据往往存储在数据库或者诸如 CSV、Excel 等这类能够存储结构化数据的文档中。这类结构化数据处理技术已经非常成熟。数据科学领域被人熟知的开源 ETL 工具,比如 Kettle、StreamSet 等都可以很好的完成结构化情报数据的处理。HuggingFists 秉承了低代码数据科学工具的使用风格,有以上 ETL 工具经验的使用者,可以轻松用 HuggingFists 完成同样的工作。

网安领域的结构化数据,如网络会话、安全事件等一般存储在数据库中,可以通过 HuggingFists 的数据库读取算子通过编写 SQL 语句读取数据,然后对读取到的数据进行去重、格式化、剪切、对齐等操作,最后将结果写入目标存储系统,实现结构化情报的处理。

半结构化情报处理

以 Json 为代表的半结构化数据目前已成为行业数据应用和交换的标准。目前漏洞信息、STIX 威胁情报,OTX 开源情报等都以 Json 格式作为格式标准。由于半结构化数据格式拥有丰富的数据表达能力,可以嵌套对象和数组,因此处理这类情报数据时会比较困难。传统的 ETL 工具在这类数据的支持能力上都略显不足。过往这类情报的处理更多是通过开发程序来进行处理。笔者团队碰到的情形是,这类半结构化的情报数据往往比较复杂,在进行处理时,往往需要将其拆解为多类不同实体概念。复杂的业务转换和映射经常会导致程序逻辑在细节上需要调整,业务人员和开发人员深陷其中。

HuggingFists 采用了“可视化编程”和“表达式编程”的两层编程理念,能够很好的支持各类半结构化数据的解析工作。能够使用“点分”路径的表达方式访问半结构化数据中的任意属性,并可以实现数据的扁平化。HuggingFists 支持丰富的数据类型结构,除整型、浮点型等一些基本数据类型外,还支持数组、Map、Struct 以及 Object 等类型。因此,其能够处理更多结构与类型的数据情报。关于如何处理半结构化情报可以观看视频《无代码处理复杂Json》进行实操了解。

非结构化情报处理

非结构化情报处理流程的编写难度相较半结构化数据处理而言容易一些。但其需要配合的外部能力会比较多。其需要大量的各类 AI 模型作为数据处理的基础,比如:命名实体识别模型、关系模型、文本摘要模型、文本分类模型、OCR 模型、语音识别以及 LLM 等。非结构化情报的数据载体非常多样,可以是视频、音频、图片以及各类文档。需要首先利用各类 AI 模型将多媒体的信息转换为用自然语言描述的信息后,再进行情报的处理。处理的大致流程如下:



对非结构化情报的处理最终主要依赖于对自然语言的处理技术。2023 年 ChatGPT 4 的横空出世,极大的提升了人类世界对自然语言处理的能力。在此之前,命名实体识别技术准确率还可以,但是关系识别的效果不太好。LLM 的出现彻底改变了这一现象,非结构化情报的处理质量得到了极大的提升。但并非任何场景下使用 LLM 都是最好的选择。由于 LLM 需要的算力比较大,很多专业小模型如果能使用更少的算力达到 LLM 的同等能力水平,则综合使用各类模型将是一个更优的选择。这需要工具平台拥有很好的模型支持及扩展能力。

HuggingFists 是全球最早采用低代码技术整合 HuggingFace 网站各类模型的工具平台。它支持在线和离线应用 HuggingFace 网站的十几类 100000+种模型,比如:文本分类、语音识别、OCR、实体抽取、物体识别等。可以方便的根据业务需求,以低代码的方式应用不同模型组成情报处理流程。可观看视频《低代码玩转HuggingFace》了解如何使用 HuggingFace 中的各类模型。另外,HuggingFists 集成了众多的在线 LLM 接口,同时也集成了 Ollama,支持用户使用云端或本地的 LLM。使用这些 LLM 可以精准抽取情报中的实体以及关系数据,并由此建立情报知识图谱或者情报问答系统。可观看《利用LLM构建知识图谱》、《低代码玩转LLM+RAG1》、《低代码玩转LLM+RAG2》了解非结构化情报流程的搭建技术。

结语

情报处理与行业及业务紧密相关。本文并未给出明确、完整的情报处理流程,更多阐述了情报处理中碰到不同结构的数据时的不同处理手段。也给出了笔者团队基于 HuggingFists 系统的无代码情报处理解决方案。欢迎有兴趣的朋友使用系统,并可通过文章给出的视频的结尾二维码加入技术交流群,与我们探讨交流。

HuggingFists Linux 版:https://github.com/Datayoo/HuggingFists

HuggingFists Windows 版:https://github.com/Datayoo/HuggingFists4Win

HuggingFists Mac 版:https://github.com/Datayoo/HuggingFists4Mac

发布于: 刚刚阅读数: 5
用户头像

数由科技

关注

还未添加个人签名 2019-03-22 加入

还未添加个人简介

评论

发布
暂无评论
无代码情报处理漫谈_低代码_数由科技_InfoQ写作社区