军事装备知识图谱-领域知识图谱数据采集、数据处理以及可视化

!!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!!

💕💕作者:小马
💕💕个人简介:混迹在java圈十年有余,擅长Java、微信小程序、Python、Android等,大家有这一块的问题可以一起交流!
💕💕各类成品java系统 。javaweb,ssh,ssm,springboot等等项目框架,源码丰富,欢迎咨询交流。学习资料、程序开发、技术解答、代码讲解、源码部署,需要请看文末联系方式。

军事装备知识图谱

我的毕设是做领域知识图谱,知识图谱的构建主要有一下几步:数据采集、数据处理、数据存储以及可视化。知识图谱的可视化功能是很强的,因此我根据网上基于vued3.js可视化程序,改造为了我的知识图谱可视化方案。

简介

系统的总体架构分为知识存储层和知识图谱应用层。知识图谱的知识存储层主要涉及到对数据的采集、处理得到知识三元组,然后将从数据中抽取到的军事装备知识进行存储;应用层完成对军事装备实体的查询、军事装备之间关系的查询、各个类别的军事装备信息的知识概览等功能,并通过Vue.js和D3.js应用开发技术给用户提供知识图谱的可视化及交互效果。

数据获取

将华戍防务公司开发的墨子·未来指挥官军事推演软件数据库作为结构化数据源,同时,采用Python编程语言,urllib3xpathre库编写爬虫,采集环球军事网和https://www.radartutorial.eu/网站中的数据。

墨子·未来指挥官

墨子联合作战推演系统以现代海空作战推演仿真为主,覆盖陆、海、空、天、电全域联合作战,支持战术、战役级作战的推演仿真。该款软件内包含了大量的武器装备数据,按照官网安装完软件后,可以跳过权限表登录数据库,得到结构化的装备数据。
墨子·未来指挥官

环球军事网·环球武器库

环球军事网·环球武器库的数据我采用了liuhuanyong的数据,他做的教程质量非常高,看了他的教程和知识图谱示例可以很快地入手知识图谱,在此对这位大牛表示感谢。

Radartutorial

Radartutorial网站,是一个为了教育目的而创建的,为雷达专业相关学者、维护人员提供雷达原理和技术的详细概述的网站。同样的,网站中将雷达按照技术体制等进行了详尽的分类,并收录了数百个雷达的参数数据。这里我使用爬虫对该网站数据进行了爬取,爬虫程序位于ConstructDatabases/util/radardata.py(由于编写的时间比较早,代码可能已经无法运行了…)。
Radartutorial

数据处理

数据处理有两方面,首先以上获取到的数据存在相互关联的较少,并且大量的数据是以数据属性的形式存在的,因此针对数据属性,将其建模为类(节点),并且采用随机的方式生成一些链接,使得数据的关联性更加丰富;其次,还有大量非结构化数据,例如文本数据,这些数据需要利用知识抽取算法得到结构化的SPO三元组。这里我使用了哈工大的ltp语言技术平台对三元组进行抽取(抽取代码为ConstructDatabases/util/triples.py)。
Radartutorial

数据存储

Neo4j是目前市场上较为成熟的高性能图数据库,自带有展示界面,广泛应用在市面上的知识图谱中。本项目将所有知识存储到了该款图数据库中。推荐用docker安装neo4j数据库。
Radartutorial

可视化系统

该可视化系统采用了vue框架和d3.js库,参考了CoderWanp的vue-d3-graph项目,感谢作者开源了功能丰富、美观的知识图谱可视化程序并且编写了详细的教程。可视化大概分为一下几个模块:

  • 信息概览
    在系统界面上单击鼠标左键选中节点,系统会高亮与该节点相关联的实体节点,并且在页面的右下角会弹出选中实体的知识概览信息
    Radartutorial
  • 二维可视化
    在左侧的文字搜索框中搜索感兴趣的节点,可以对该节点及其相邻节点高亮显示。
    Radartutorial
  • 三维可视化
    Radartutorial

如何运行?

neo4j数据库部署

推荐在linux平台安装数据库,几行命令就搞定,非常方便。使用docker安装neo4j数据库的教程在这里。安装好了之后,需要网页登录一下,更改数据库的用户名密码,再把程序连接neo4j数据库的密码部分更新为新密码,否则会连接失败,同时需要安装相应的python软件包。

nodejs

前端可视化工程采用vue.js框架编写,需要node.js开发环境。然后在前端根目录Frontend执行npm install,安装好依赖包后执行npm run serve即可运行。

KGServer

前端需要请求后端才能获得数据,这里需要将数据库的ip,用户名,密码做对应的修改。而后运行Backend/KGServer.py,再去刷新前端页面可以看到知识图谱的可视化效果。需要注意的是,我这里还加了模糊搜索功能,需要用到Bert等模型,这块需要增加的代码较多;如果不需要模糊匹配等功能将Backend/Neo4jDataBase.py中相关的程序接口注释掉即可。相关的模糊匹配计算可以参考这个仓库完成相似度匹配算法,并以HTTP接口向外提供服务,对该系统功能进行拓展。

更多项目:
另有1000+份项目源码,项目有java(包含springboot,ssm,jsp等),小程序,python,php,net等语言项目。项目均包含完整前后端源码,可正常运行!

!!! 有需要的小伙伴可以点击下方链接咨询我哦!!!

  • 31
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员小马软件开发定制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值