初始提交:军事 GraphRAG 问答系统(自然语言处理,大三下)
自然语言处理课程(大三下)实战实验:以军事领域知识为语料,构建 FAISS 向量检索 + Neo4j 知识图谱的 GraphRAG 问答系统,并完成自动化评测。
fned.json
benchmark_questions.json
task2/graph_rag_evaluation_results.json
task1/task1.ipynb
task1/my_documents/
task1/military_faiss_index/
task1/nodes_neo4j.csv
rels_neo4j.csv
task2/task2.ipynb
task2/benchmark_questions.json
task2/entity_vectors/
military_text_vector_index/
community_vectors/
generate_report.js
docx
实验环境.md
未入库的大文件(超出轻量数据限制,重跑 notebook 即可重建):fned.json 语料(task1/task2 各 10.6MB)、task2/entity_vectors/index.faiss(42MB)、task2/military_text_vector_index/index.faiss(21.5MB)。课程下发的任务 PDF、实验报告 doc 与压缩包亦不入库。
task2/entity_vectors/index.faiss
task2/military_text_vector_index/index.faiss
Python 3.10,核心依赖(完整版本见 实验环境.md):
pip install langchain langchain-community langchain-huggingface langchain-text-splitters \ faiss-cpu neo4j sentence-transformers transformers torch accelerate \ pandas jieba pyahocorasick python-igraph leidenalg jupyter
bge-small-zh-v1.5
Qwen2.5-0.5B-Instruct
生成报告(可选):npm install && node generate_report.js。
npm install && node generate_report.js
自然语言处理大作业:FAISS 向量检索 + Neo4j 图谱的 GraphRAG 问答与评测(task1/task2)
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
军事 GraphRAG 问答系统
任务背景
fned.json语料(10500 条 TextUnit)与实体/关系 CSV,导入 Neo4j 构建 20707 实体、20269 关系的知识图谱;用 Aho-Corasick 建立 MENTIONS 关联,Leiden 算法做社区发现并生成社区摘要,最终实现 Basic / Local / Global / DRIFT 四种检索模式的端到端 GraphRAG 问答。benchmark_questions.json中 100 道实体关系判断题,单题 30 秒限时,四种模式准确率均超过 50% 判定通过。实测结果(见task2/graph_rag_evaluation_results.json):Local 100%,Global 89.3%,Basic 88.9%,Drift 85.7%,全部通过。内容结构
task1/task1.ipynbtask1/my_documents/task1/military_faiss_index/task1/nodes_neo4j.csv、rels_neo4j.csvtask2/task2.ipynbtask2/benchmark_questions.jsontask2/graph_rag_evaluation_results.jsontask2/entity_vectors/、military_text_vector_index/、community_vectors/generate_report.jsdocx库生成实验报告的脚本实验环境.md未入库的大文件(超出轻量数据限制,重跑 notebook 即可重建):
fned.json语料(task1/task2 各 10.6MB)、task2/entity_vectors/index.faiss(42MB)、task2/military_text_vector_index/index.faiss(21.5MB)。课程下发的任务 PDF、实验报告 doc 与压缩包亦不入库。运行方法
Python 3.10,核心依赖(完整版本见
实验环境.md):bge-small-zh-v1.5(嵌入)、Qwen2.5-0.5B-Instruct或更大的 Qwen 生成模型,把 notebook 中的模型路径改成本机路径;fned.json语料需自行放回 task1/task2 目录(课程下发,体积原因未入库)。task1/task1.ipynb、task2/task2.ipynb,末尾的限时评测单元格输出通过标志。生成报告(可选):
npm install && node generate_report.js。来源声明
fned.json、图谱 CSV 为课程提供的数据。实验环境.md为本人实验环境实录。