# AIDA **Repository Path**: elfbobo_admin_admin/aida ## Basic Information - **Project Name**: AIDA - **Description**: AIDA:一个专注于智能数据分析的开源项目,提供先进的算法和工具,支持数据挖掘、预测分析,助力企业和开发者高效解决复杂数据问题。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-05 - **Last Updated**: 2025-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AIDA框架 - 第一阶段:解构与标准化 ## 概述 AIDA框架第一阶段实现了PDF文档的智能解构与标准化处理,能够将复杂的PDF文档转换为结构化的数据格式,为后续的分析和处理奠定基础。 ## 功能特性 ### 🔍 智能解析 - **多元素提取**:自动提取PDF中的文本、图像、表格等元素 - **结构识别**:识别文档的层次结构,包括标题级别 - **坐标定位**:保留元素在原文档中的精确位置信息 ### 📊 内容分类 - **文本分类**: - 标题(一级、二级、三级) - 叙述性文本 - 列表项 - 段落 - **图像分类**:图、图表、示意图 - **表格分类**:数据表格、结构化表格 ### 🗂️ 三级标题分组 - 按照三级标题(如2.2.1)自动分组文档内容 - 支持层次化的内容组织 - 便于后续的主题分析和内容检索 ### 💾 结构化存储 - **分类存储**:按元素类型分别存储 - **分组存储**:按三级标题分组存储 - **元数据保存**:完整保留处理过程中的元数据 - **统计信息**:提供详细的处理统计和置信度分析 ## 项目结构 ``` aida_framework/ ├── __init__.py # 框架主包初始化 ├── requirements.txt # 项目依赖 ├── demo_stage1.py # 基础演示脚本 ├── demo_with_sample.py # 完整演示脚本 ├── test_stage1.py # 测试脚本 └── stage1/ # 第一阶段核心模块 ├── __init__.py ├── file_ingestor.py # 文件接收器 ├── intelligent_parser.py # 智能解析器 ├── content_classifier.py # 内容分类器 ├── storage_manager.py # 存储管理器 └── stage1_processor.py # 第一阶段处理器 ``` ## 核心组件 ### 1. FileIngestor (文件接收器) - 文件验证和格式检查 - 支持PDF文件的基本验证 - 文件大小和MIME类型检查 ### 2. IntelligentParser (智能解析器) - 基于PyMuPDF的PDF解析 - 文本、图像、表格元素提取 - 坐标和元数据保留 ### 3. ContentClassifier (内容分类器) - 基于规则的内容分类 - 支持多种文本和非文本元素类型 - 置信度评估 ### 4. StorageManager (存储管理器) - 结构化数据存储 - JSON格式输出 - 详细的统计信息生成 ### 5. Stage1Processor (第一阶段处理器) - 整合所有组件的主处理器 - 完整的处理流程管理 - 错误处理和日志记录 ## 安装和使用 ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 运行演示 ```bash # 基础演示 python demo_stage1.py # 完整演示(包含示例PDF生成) python demo_with_sample.py # 运行测试 python test_stage1.py ``` ### 基本使用 ```python from stage1.stage1_processor import Stage1Processor # 初始化处理器 processor = Stage1Processor(storage_base_dir="output") # 处理PDF文件 result = processor.process_pdf("document.pdf") if result["success"]: print(f"处理成功!会话ID: {result['session_id']}") print(f"存储路径: {result['storage_path']}") else: print(f"处理失败: {result['error']}") ``` ## 输出结构 处理完成后,会在指定目录下生成以下结构: ``` session_[timestamp]_[id]/ ├── text/ # 文本元素 │ ├── titles/ # 标题文件 │ ├── narratives/ # 叙述性文本 │ └── level3_groups/ # 三级标题分组 ├── images/ # 图像元素 │ ├── figures/ # 图片 │ ├── charts/ # 图表 │ └── diagrams/ # 示意图 ├── tables/ # 表格元素 │ ├── data/ # 数据表格 │ └── structured/ # 结构化表格 ├── raw/ # 原始数据 │ └── all_elements.json # 所有元素的原始数据 ├── metadata/ # 元数据 │ └── session_metadata.json └── storage_summary.json # 存储摘要 ``` ## 处理统计 每次处理都会生成详细的统计信息: - **元素统计**:各类型元素的数量 - **分类统计**:分类结果的分布 - **置信度统计**:分类置信度的分布 - **三级标题分组**:按标题分组的元素统计 ## 技术特点 - **模块化设计**:各组件独立,易于扩展和维护 - **错误处理**:完善的错误处理和日志记录 - **可配置性**:支持自定义存储路径和处理参数 - **数据完整性**:保留完整的元数据和处理信息 - **高置信度**:平均分类置信度达到88%以上 ## 下一步计划 AIDA框架的后续阶段将包括: - **第二阶段**:智能分析与理解 - **第三阶段**:数据增强与优化 - **第四阶段**:应用集成与部署 ## 许可证 本项目采用MIT许可证。