本体构建探索11--安全本体工程与知识图谱

原创
2024/04/11 11:11
阅读数 276

我们知道知识图谱分为通用知识图谱(百科知识图谱)和领域知识图谱,与之类似的,本体也分为一般性的本体和领域本体,但似乎我们强调的都是领域本体。这是由于本体作为知识表示形式,一般性的知识太难表示了,还是领域内的相对好一些。

个人搞的一直都是安全领域的,那就是安全本体,对应的知识图谱就是网络安全知识图谱。在一些已有研究中,也有这样的区分:

1)以UCO(统一安全本体)为代表的安全本体,它号称可以用于链接安全知识到Wikipedia之类的大知识库,支持态势感知;

2)以MALOnt等为代表的专用安全本体,它只用来描述恶意软件的一些知识,类似的还有用于描述攻击模式的等。

这里表面上,都是安全领域本体,但UCO这种相比之下更像一般性本体(哪怕是安全领域知识,那也是非常庞杂的),其他的才更像领域本体,对MALOnt来说,能把恶意软件描述清楚了,也是件好事儿。

UCO这种本体,站的很高,是一种理想状态下的。当然希望UCO已经达到了它的目的,显然,还没打到,态势感知任务那么多,UCO都能支持吗?而再开发一个明显超越UCO的又绝非易事,所以,建模多应站在巨人的肩膀上,不论是搞本体学习、还是人工建模,都是这样,以具体安全应用为目标,仔细建模才是最重要的。

这里引出了第一个核心任务:安全本体建模。好的建模需要一定的工程性手段,我也叫安全本体工程。

在安全本体建模之后,要把安全本体实际运用起来,就到了安全知识图谱了。可能会有这样的疑问,为什么一定要到知识图谱呢,本体不能直接用吗?确实,本体是可以直接用,很多本体建模的文章,在说明本体能力的时候,通过能力问题就说明完了,是不是代表着,如果本体可以回答能力问题,那就可以了呢?还是要知识图谱,相信知识图谱在引入大量的实例之后,可以更直观的做关联分析等工作。

引出第二个核心任务:如何基于本体生成知识图谱?这个还没专门看,我的想法有:

1)本体自带实例,也就是instances,当本体的instances被大量填充时,本体自然就成了知识图谱。这样似乎也能解释一些知识图谱为什么是RDF数据了。

2)本体抛弃自带实例,只保留schema,知识图谱要基于这个本体schema来填充实例,而这里的实例,不再是RDF数据,也不是本体的instnace,而是类似属性图之类的图数据,对应Neo4j这些图数据库。这样就有一个疑问,我用过neo4j,orientDB,hugegraph这些图数据库,都没有基于本体这样的schema去构建,而是自己去重新设计schema,那是怎样从本体到知识图谱的呢?

3)其余情况,有不少知识图谱,它没有专门去设计本体,数据存储的形式也是向量嵌入这些,完全抛弃了本体。但它们脱离了本体,可以高效地做所谓知识表示学习、推理等工作,这似乎是这些年的热点。搞这些东西的人,甚至有可能都不知道本体是什么,没有听说过本体。

应当关注2)的情况,应有现有研究关注本体到知识图谱的桥梁,究竟是怎么搞的。1)和2)这样的划分,也是注意到ISWC的会议投稿要求有提RDF Graph和Property Graph这样的区分,属性图是有其一定地位的。

关注2)之后,完成知识图谱构建,此时工作就转为长线的应用,从本体建模到知识图谱构建,再到安全应用。

引出第三个核心任务:安全知识图谱之上的应用。要找至少两个安全领域的问题,然后让安全知识图谱去解决,凸显两点:1、能解决;2、解决的效果还可以。关于核心任务的展开,以后再说,需仔细考虑。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部