6c1a69af0d
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
4.5 KiB
4.5 KiB
项目实现状态
已完成工作 ✅
1. 项目基础架构
- ✅ 使用uv进行项目管理和依赖管理
- ✅ 完整的项目目录结构
- ✅ 配置文件(pyproject.toml, .env.example)
- ✅ README和项目文档
2. 文本预处理模块 (src/preprocessing/)
- ✅ TextProcessor: HanLP集成,支持分词、依存句法、句法成分分析
- ✅ DocumentParser: Word文档解析(.docx),支持章节结构识别
- ✅ TextUnit切分功能(参考GraphRAG)
3. 本体模型定义 (src/ontology/)
- ✅ 实体类型定义: 9种实体类型(对应论文Table 1)
- ✅ 关系类型定义: 8种关系类型(对应论文Table 2)
- ✅ 三维本体结构: 法规层级—要素类型—关联关系
- ✅ 四要素架构: 目标—原则—要素—管控
- ✅ OntologySchema: 本体模式管理和验证
4. Prompt模板系统 (src/prompts/)
- ✅ PromptTemplate: 统一模板框架,实现五个模块:
- 任务描述(系统消息+用户消息)
- 候选目标
- 任务示例(少样本学习)
- 任务强调
- 二次对话
- ✅ NERPromptBuilder: NER任务Prompt构建
- ✅ REPromptBuilder: RE任务Prompt构建
5. LLM客户端封装 (src/utils/llm_client.py)
- ✅ 支持多个LLM提供商:
- OpenAI (GPT-4o)
- Anthropic (Claude)
- 阿里云Qwen
- 字节跳动Doubao
- 智谱GLM
- ✅ 统一API接口
- ✅ 异步/同步支持
- ✅ 重试机制(tenacity)
6. 知识抽取模块 (src/extraction/)
- ✅ NERExtractor: 使用Qwen-Max进行实体识别,支持两阶段对话验证
- ✅ REExtractor: 多模型并行关系抽取框架
- ✅ TripletEvaluator: LLM-as-a-Judge评估框架
- ✅ EntityRelationClassifier: RAG-based分类框架
7. 知识图谱构建 (src/kg_builder/)
- ✅ GraphIndexer: 索引器框架(参考GraphRAG)
- 文本切分
- 实体提取
- 图构建
- 社区检测(待完善)
- 摘要生成(待完善)
- ✅ KnowledgeGraph: 图谱结构管理(NetworkX)
8. 分析和推理模块 (src/analysis/)
- ✅ LegalStructureExtractor: 法理结构提取(四要素识别、跨法规引用)
- ✅ LegalReasoner: 逻辑推理(路径查询、中心性分析)
- ✅ EvolutionAnalyzer: 演化规律分析框架
9. 查询系统 (src/query/)
- ✅ GlobalSearcher: 全局搜索框架(参考GraphRAG)
- ✅ LocalSearcher: 局部搜索框架
- ✅ DriftSearcher: DRIFT搜索框架
10. 工具脚本
- ✅
scripts/extract.py: 知识抽取示例脚本
待完善功能 ⚠️
高优先级
-
三元组评估算法实现 (
src/extraction/evaluator.py)- 成对排序逻辑
- 五维度评分(语义准确性、一致性、事实性、准确性、可理解性)
- 评分聚合和筛选
-
RAG-based分类实现 (
src/extraction/classifier.py)- 向量嵌入(使用Text-embedding-3-large)
- 向量数据库(相似度检索)
- 分类逻辑完善
-
知识图谱构建完整实现 (
src/kg_builder/indexer.py)- 完整的三元组提取流程
- 社区检测(Leiden算法,需要igraph)
- 社区摘要生成(使用LLM)
-
RE提取器完善 (
src/extraction/re.py)- 句法信息集成
- 上下文信息利用
- 省略成分补全逻辑
中优先级
-
查询系统实现 (
src/query/)- 全局搜索:利用社区摘要
- 局部搜索:邻居扩展算法
- DRIFT搜索:社区上下文整合
-
演化规律分析 (
src/analysis/evolution.py)- 时间序列分析
- 关系演化追踪
- 网络演化分析
低优先级
- 共指消解完善 (
src/preprocessing/text_processor.py) - 性能优化和缓存机制
- 可视化工具
- 单元测试和集成测试
使用说明
环境设置
cd dofile
uv sync
source .venv/bin/activate # 或 .venv\Scripts\activate (Windows)
配置API密钥
复制.env.example到.env,填入相应的API密钥。
运行示例
# 实体识别
uv run python scripts/extract.py --input ../data/1法律/3-中华人民共和国城乡规划法.docx --output ./output/entities.json
参考资源
- GraphRAG文档: https://msdocs.cn/graphrag/
- 论文:
officefile/paper.tex - 数据目录:
../data/
技术债务
- 错误处理和日志记录需要更完善
- 需要添加配置文件验证
- 异步处理可以进一步优化
- 需要添加单元测试
- 文档需要补充更多示例