项目介绍
开发的系统可以读取嫌疑人手机取证信息中的微信聊天记录、微信群组信息、转账信息和位置信息等内容,通过技术手段进行分析,进一步寻找倒卖药品线索。本人的工作主要是下图红色部分:以合适的方式存储系统基于微信聊天记录分析得到的倒卖药品线索,采用技术手段整合这些线索并进行可交互式展示。
宏观流程展示
功能需求与解决方案
系统架构介绍(图片顺序从上至下)
1、为了将分析结果转换以图谱的形式存储,系统自动触发处理更新的全局前端绘图数据表,将处理后的数据同步更新至Neo4j图数据库。
2、为实现Cypher语句生成功能,我们在本地服务器上部署ChatGLM3-6B大模型,机器的显卡配置是2 × RTX3090。编写API可实现与模型的交流。
3、为实现自然语言到Cypher语句的转化,本系统借助大语言模型的语言生成能力,采用少样本提示方式,用自然语言描述的查询需求,生成对应的Cypher语句,进而可向Neo4j图数据库查询获取信息。该过程的细节如图所示。
4、数据适配过程主要用正则表达式过滤Cypher查询结果字符串,将精确信息存储到前端绘图数据表中。
上述内容如下图所示:
应用实例介绍
下图是以一个示例来展示系统实现流程:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1、“未来可期”是取证用户的微信昵称,为一级收药人,向昵称为“sweety”的人出售药品。
2、如图中所示左侧部分存储节点信息,右侧部分存储关系信息,关系的方向由节点信息的ID字段值决定。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
举例说明,如果用户想要查询的问题是“查询与微信id为sweety的人有直接药品交易联系的嫌疑人”,系统会匹配到右表与之最相似的第一行的问题(Qa),ChatGLM-3模型会模仿第一行的查询语句(Cypher),生成查询节点和关系的标准Cypher语句。后续程序脚本将这两个Cypher语句提交到Neo4j中查询,查询结果字符串中包含节点信息和关系信息,系统对结果字符串做数据适配,将信息存储到局部前端绘图数据表。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
系统效果展示:
总结
一方面,针对包含复杂关联信息的线索分析结果的存储与表达问题,本系统采用Neo4j图数据库存储线索分析结果,充分建模数据关联,构建知识图谱,提高了信息表达质量。
另一方面,针对检方业务用户难以查询图数据库的问题,本系统以可视化知识图谱的形式展示操作界面,并融合大语言模型生成图数据库查询语句,设计相关功能实现基于自然语言的交互,方便用户查询操作。