# 基于知识图谱的刑法法务智能应用 **Repository Path**: elfbobo_admin_admin/KG_crime ## Basic Information - **Project Name**: 基于知识图谱的刑法法务智能应用 - **Description**: 本项目聚焦刑法法务场景的智能化升级需求,以刑法罪名及相关法律条文、案例数据为基础,构建涵盖罪名、法条、构成要件、量刑标准、罪间界限等维度的刑法知识图谱。通过解析刑法、司法解释、刑事裁判文书中483项罪名的深度法律要素,设计知识抽取、融合与可视化方案,实现刑法知识的结构化组织。研发的智能应用支持罪名快速检索、法条关联查询、量刑辅助分析及罪间界限智能区分等功能,有效提升法务工作效率与精准度。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/vcyran/KG_crime - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-13 - **Last Updated**: 2026-04-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于知识图谱的刑法法务智能应用 ## 项目简介 罪名法务智能系统是一个基于知识图谱技术和自然语言处理(NLP)的智能法务应用,旨在提供罪名预测、法务问题分类和法律咨询自动问答等功能。该系统构建了包含483项罪名的知识图谱,并基于20万法务问答对提供法律问题的分类与自动问答服务。 ## 功能特性 ### 1. 罪名预测 - **支持罪名数量**:483种罪名(详细列表见`data/罪名汇总表.excel`) - **训练数据规模**:288万条罪行情节数据 - **技术方案**: - 文本表示:Word Embedding(300维词向量) - 模型:SVM分类器 - 准确率:92.03% - **使用场景**:根据案件描述自动预测可能的罪名类型 ### 2. 法务问题分类 - **问题类型**:13类常见法律问题 - 婚姻家庭、劳动纠纷、交通事故、债权债务 - 刑事辩护、合同纠纷、房产纠纷、侵权 - 公司法、医疗纠纷、拆迁安置、行政诉讼、建设工程 - **训练数据规模**:20万条法务咨询数据 - **技术方案**: - 文本表示:Word Embedding(300维词向量) - 模型:CNN(卷积神经网络)和LSTM(长短时记忆网络) - 准确率:CNN模型测试集准确率95.9% - **使用场景**:自动分类用户的法律咨询问题类型 ### 3. 法务咨询自动问答 - **问答库规模**:20万条法务问答对 - **技术方案**: - 搜索引擎:Elasticsearch - 相似度计算:基于Word Embedding的余弦相似度 - **使用场景**:根据用户提问自动匹配相似问题并返回相关答案 ### 4. 罪名知识图谱 - **罪名数量**:483项罪名 - **知识结构**:每个罪名包含概念、特征、认定、处罚、法条等信息 - **存储格式**:JSON格式(`data/kg_crime.json`)和excel形式(`data/罪名汇总表.excel`) - **使用场景**:提供罪名相关的详细法律知识查询 ## 技术架构 ### 核心技术栈 - **编程语言**:Python - **自然语言处理**:jieba(中文分词)、Word Embedding(词向量) - **机器学习/深度学习**:scikit-learn(SVM)、Keras(CNN/LSTM) - **搜索引擎**:Elasticsearch - **数据存储**:JSON、二进制模型文件 ### 项目结构 ``` CrimeLegalKG/ │ ├── data/ # 数据资源 │ ├── raw/ # 原始数据 │ │ ├──刑法罪名及法条对照表.xlsx │ │ └──司法解释_裁判文书/ │ ├── processed/ # 处理后数据 │ │ ├── 罪名汇总表.xlsx # 合并后的完整表格 │ │ └── crime_triples.csv # 实体关系三元组(头实体,关系,尾实体) │ └── kg_crime.json # 罪名知识图谱(JSON备份) │ ├── dict/ # 词典资源 │ ├── crime.txt # 483项罪名列表 │ ├── law_term_dict.txt # 法律术语词典 │ └── stopwords.txt # 停用词表 │ ├── embedding/ # 词向量 │ └── word_vec_300.bin # 300维中文词向量 │ ├── model/ # 训练好的模型 │ ├── crime_predict.model # SVM罪名预测模型 │ ├── cnn_question_classify.h5 # CNN意图分类模型 │ └── lstm_question_predict.h5 # LSTM意图分类模型 │ ├── scripts/ # 核心脚本 │ ├── 01_build_crime_table.py # 构建“罪名汇总表.xlsx” │ ├── 02_entity_extraction.py # 实体识别 │ ├── 03_relation_extraction.py # 关系抽取 → 生成 crime_triples.csv │ ├── 04_neo4j_importer.py # 导入CSV到Neo4j(Cypher批量执行) │ ├── 05_qa_classify.py # 罪名预测+意图识别(crime_classify.py) │ └── 06_qa_chat.py # 交互式问答(crime_qa.py) │ ├── web/ # 可视化展示 │ ├── templates/ │ │ └── graph.html # ECharts图谱展示页 │ └── app.py # Flask轻量服务 │ ├── config/ # 配置文件 │ ├── neo4j_config.ini # Neo4j连接信息 │ └── model_config.yaml # 模型路径、阈值等 │ ├── logs/ # 运行日志 ├── requirements.txt # Python依赖 └── README.md # 项目说明 ``` ## 快速开始 ### 环境依赖 - Python - 主要Python库: - jieba - numpy - scikit-learn - keras - tensorflow - elasticsearch ### 安装步骤 1. 克隆或下载项目代码 2. 安装依赖库: ```bash pip install -r requirements.txt ``` 3. 下载预训练词向量文件(word_vec_300.bin)并放入`embedding`目录 4. 启动Elasticsearch服务(用于问答功能) 5. 运行`build_qa_database.py`构建问答数据库 ### 使用示例 #### 1. 罪名预测 ```bash python crime_classify.py ``` ``` crime desc:这宗案情凶残的案件中,受害人樊敏仪是一名夜总会舞女... crime label: 非法拘禁 ``` #### 2. 法务问题分类 ```bash python question_classify.py ``` ``` question desc:他们俩夫妻不和睦,老公总是家暴,怎么办 question_type: 婚姻家庭 0.9994359612464905 ``` #### 3. 法务咨询自动问答 ```bash python crime_qa.py ``` ``` question:正当防卫的构成条件是什么? answers: 正当防卫必须回时满足以下条件:1.必须存在现实的不法侵害:2.不法侵害必须是正在进行的:3.防卫行为必须针对不法侵害人本人:4.防卫行为不能明显超过... ``` ## 数据说明 ### 1. 罪名知识图谱Json(kg_crime.json) - 每个罪名包含以下字段: - `crime_big`:大罪名类别(如:危害国家安全罪) - `crime_small`:具体罪名(如:背叛国家罪) - `crime_link`:法律条文链接 - `gainian`:罪名概念 - `tezheng`:罪名特征 - `rending`:罪名认定 - `chufa`:处罚标准 - `fatiao`:相关法条 ### 2. 法务问答库(qa_corpus.json) - 每条问答包含以下字段: - `question`:用户问题 - `answers`:参考答案列表 ### 3. 罪名词典(data/罪名汇总表.excel) - 包含483种罪名的表格,同时辅以核心知识点 ## 模型训练 ### 1. 罪名预测模型训练 ```bash python crime_classify_train.py ``` ### 2. 问题分类模型训练 ```bash python question_classify_train.py ``` ## 应用场景 1. **智能法务助手**:为用户提供24小时法律咨询服务 2. **法律知识普及**:通过知识图谱展示罪名相关的法律知识 3. **案件分析辅助**:为法律从业者提供罪名预测和案件分析参考 4. **法律教育工具**:用于法律专业学生的学习和实践 ## 未来改进方向 1. **多模型融合**:结合多种深度学习模型提高预测和分类准确率 2. **语义理解增强**:引入更先进的自然语言处理技术,提高问答系统的语义理解能力 3. **可视化界面**:开发用户友好的Web或移动端界面 4. **多模态支持**:支持文本、语音等多种交互方式 ## 贡献 参考项目:https://liuhuanyong.github.io/ 知识图谱及基于知识图谱的智能问答: @VCYran ## 许可证 本项目采用MIT许可证,详细信息请查看LICENSE文件。 ## 写在最后 欢迎提交Issue和Pull Request来帮助改进这个项目!