这是一个知识图谱系统,能够自动解析PPT课件,提取概念和关系,构建交互式知识图谱,为学习者提供智能化的知识探索工具。
- 🔄 自动化处理: 一键解析PPT文件,自动提取知识
- 🧠 智能抽取: 基于NLP的实体识别和关系抽取
- 🕸️ 图谱构建: 构建结构化的金融知识网络
- 🎯 交互查询: 支持概念搜索和关系探索
- 📊 可视化分析: 多维度统计和图表展示
- 🌐 Web界面: 基于Streamlit的友好用户界面
货币金融学知识图谱/
├── README.md # 项目说明
├── requirements.txt # 依赖包列表
├── TODO.md # 任务跟踪文件
├── src/ # 源代码目录
│ ├── document_parser/ # 文档解析模块
│ │ └── ppt_parser.py # PPT解析器
│ ├── knowledge_extraction/ # 知识抽取模块
│ │ └── knowledge_extractor.py # 知识抽取器
│ ├── graph_database/ # 图数据库模块
│ │ └── graph_builder.py # 图构建器
│ ├── vectorization/ # 向量化模块
│ └── visualization/ # 可视化模块
├── data/ # 数据目录
│ ├── processed/ # 处理后的数据
│ └── graph/ # 图数据
├── scripts/ # 脚本目录
│ ├── simple_parse.py # PPT解析脚本
│ ├── extract_knowledge.py # 知识抽取脚本
│ ├── build_graph.py # 图构建脚本
│ └── test_system.py # 系统测试脚本
└── app/ # 应用目录
└── streamlit_app.py # Streamlit可视化应用
# 克隆项目(如果适用)
cd "知识图谱"
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt确保PPT文件位于 ../目标文件夹/ 目录下,包含以下文件:
- 第2章 货币与货币制度.pptx
- 第3章 金融体系概览.pptx
- 第4章 利率与利率计算.pptx
- 第5章 利率决定理论.pptx
# 运行完整系统测试
python scripts/simple_final_test.py
# 预期结果:通过率 ≥ 85%# 运行完整流程并启动可视化
python scripts/test_system.py && streamlit run app/streamlit_app.py# 1. PPT解析
python scripts/simple_parse.py
# 2. 知识抽取
python scripts/extract_knowledge.py
# 3. 图构建
python scripts/build_graph.py
# 4. 启动可视化
streamlit run app/streamlit_app.py启动后在浏览器中访问:http://localhost:8501
如果遇到问题,请查看:
- 系统测试报告:
python scripts/simple_final_test.py - 优化详情:
OPTIMIZATION_REPORT.md - 配置文件:
config.json
- 显示处理的文件数量
- 实体、关系、层次关系统计
- 实体类别分布图表
- 详细的统计信息展示
- 交互式网络图可视化
- 节点按类别着色
- 支持拖拽和缩放
- 可调节显示参数
- 基于PyVis的高性能渲染
- 实时概念搜索
- 相关概念推荐
- 关系路径查找
- 概念详情展示
- 热门概念排行
- 节点度分布分析
- 关系类型统计
- 图连通性分析
- 重要节点识别
- Python 3.8+: 主要开发语言
- python-pptx: PPT文件解析
- jieba: 中文分词和词性标注
- NetworkX: 图结构构建和分析
- pandas: 数据处理和分析
- Streamlit: Web应用框架
- Plotly: 交互式图表
- PyVis: 网络图可视化
- HTML/CSS: 界面样式
- JSON: 数据交换格式
- CSV: 数据导出格式
- UTF-8: 中文编码支持
系统成功提取了货币金融学的核心概念:
- 货币、货币制度、货币职能
- 价值尺度、流通手段、支付手段
- 贮藏手段、世界货币
- 利率、利息、收益率
- 名义利率、实际利率
- 利率决定理论、利率计算
- 商业银行、中央银行
- 投资银行、保险公司
- 证券公司、基金公司
- 货币市场、资本市场
- 金融工具、金融监管
- 最大显示节点数: 10-100个(可调)
- 节点标签: 支持显示/隐藏
- 类别筛选: 按概念类别过滤
- 物理引擎: ForceAtlas2算法
- 数据概览: 查看系统处理的基本统计信息
- 知识图谱: 在网络图中探索概念关系
- 概念搜索: 输入关键词查找相关概念
- 统计分析: 查看详细的图表分析
- 路径查找: 查找概念之间的连接路径
- 关系探索: 探索概念的直接和间接关系
- 类别筛选: 按概念类别过滤显示
- 参数调节: 调整可视化参数
- 将新的PPT文件放入
../目标文件夹/目录 - 运行
python scripts/simple_parse.py重新解析 - 运行
python scripts/extract_knowledge.py重新抽取 - 运行
python scripts/build_graph.py重新建图
编辑 src/knowledge_extraction/knowledge_extractor.py 中的专业词典部分
A: 检查PPT文件是否损坏,确保文件名不包含特殊字符
A: 确保端口8501未被占用,检查是否正确安装Streamlit
A: 确保系统支持UTF-8编码,检查字体设置
A: 调节最大显示节点数,关闭不必要的可视化效果
# 如果遇到依赖冲突,尝试升级pip
pip install --upgrade pip
# 单独安装核心依赖
pip install streamlit networkx plotly pyvis- 操作系统: Windows 10+, macOS 10.14+, Linux
- Python版本: 3.8+
- 内存要求: 建议4GB以上
- 浏览器: Chrome, Firefox, Safari, Edge
本项目仅供学习研究使用。
欢迎提交问题和改进建议!
系统测试: ✅ 通过率 87.5%