# 维度提取与主题修正系统 - 完整使用流程 ## 系统概述 本系统实现了从用户报告中提取维度,并用维度分析来修正YouTube搜索主题(themes)的完整流程。 **核心流程**: 1. 用户写日报/周报/月报(自然语言) 2. LLM从报告中提取维度 3. 维度分析与现有themes对比 4. 生成themes修正建议(添加/删除themes) 5. 用户确认后更新themes.yaml ## 文件说明 ### 核心工具脚本 1. **`write_report.py`** - 报告编写工具 - 创建日报/周报/月报 - 交互式输入,保存为Markdown格式 2. **`extract_dimensions.py`** - 维度提取工具 - 从报告中用LLM提取维度 - 批量处理报告文件 3. **`manage_themes.py`** - 主题管理工具 - 管理themes.yaml文件 - 添加/删除/查看themes 4. **`analyze_dimensions.py`** - 主分析工具 - 整合维度提取和分析 - 生成themes修正建议 - 支持交互式确认和应用 ### 数据文件结构 ``` Personal_Information_Signaling_System/ ├── themes.yaml # 用户设置的搜索主题 ├── archive/ │ ├── reports/ # 用户报告(Markdown) │ │ ├── daily/ # 日报 │ │ ├── weekly/ # 周报 │ │ └── monthly/ # 月报 │ ├── dimensions/ # 维度提取结果 │ │ └── YYYY-MM-DD_type_dimensions.json │ └── dimension_analysis/ # 分析报告 │ └── YYYY-MM-DD_analysis.json ``` ## 完整使用流程 ### 步骤1:写报告 使用 `write_report.py` 创建报告: ```bash python write_report.py ``` 选择操作: - 1. 创建日报 - 2. 创建周报 - 3. 创建月报 输入报告内容(自然语言,Markdown格式),系统会自动保存。 **或者**:直接在 `archive/reports/` 目录下创建/编辑 `.md` 文件: - 日报:`YYYY-MM-DD.md` - 周报:`YYYY-Www.md` - 月报:`YYYY-MM.md` ### 步骤2:提取维度 从报告中提取维度: ```bash # 提取所有报告的维度 python extract_dimensions.py # 只提取日报的维度 python extract_dimensions.py --report-type daily # 提取单个报告文件的维度 python extract_dimensions.py --report-file archive/reports/daily/2025-12-28.md ``` 提取结果保存在 `archive/dimensions/` 目录。 ### 步骤3:分析维度并生成themes建议 运行主分析工具: ```bash # 基本分析(加载已有提取结果) python analyze_dimensions.py # 重新提取维度并分析 python analyze_dimensions.py --extract # 交互模式(查看并处理建议) python analyze_dimensions.py --interactive # 组合使用 python analyze_dimensions.py --extract --interactive ``` ### 步骤4:管理themes(可选) 手动管理themes: ```bash # 交互式管理 python manage_themes.py # 命令行操作 python manage_themes.py --list # 列出所有themes python manage_themes.py --add "健康" # 添加theme python manage_themes.py --remove "娱乐" # 删除theme ``` ## 主题修正判断标准 ### 添加Theme建议 条件: - 维度在提取结果中出现频率 ≥ 50% - 最近30天内出现次数 ≥ 3次 - 该维度不在现有themes中 ### 删除Theme建议 条件: - Theme在提取维度中的匹配率 < 10% - 持续时间 ≥ 60天 - 过去90天内的匹配次数很少 ## 典型工作流程 ### 日常使用 ```bash # 1. 每天写日报 python write_report.py # 选择 1,输入今天的内容 # 2. 每周提取一次维度 python extract_dimensions.py # 3. 分析并查看建议 python analyze_dimensions.py --extract --interactive ``` ### 初次设置 ```bash # 1. 设置初始themes(手动编辑themes.yaml或使用工具) python manage_themes.py # 2. 写几篇报告 python write_report.py # 3. 提取维度 python extract_dimensions.py # 4. 分析并应用建议 python analyze_dimensions.py --extract --interactive ``` ## 配置要求 ### LLM配置 需要在 `.env` 文件中配置LLM(用于维度提取): ```env LLM_API_KEY=your-api-key LLM_MODEL=qwen-plus LLM_BASE_URL=https://api-inference.modelscope.cn/v1/ LLM_PROVIDER=modelscope ``` ### Themes配置 `themes.yaml` 文件格式: ```yaml themes: - mcp - agent - rag - money - AI ``` ## 输出文件说明 ### 维度提取结果 `archive/dimensions/YYYY-MM-DD_type_dimensions.json`: ```json { "report_date": "2025-12-28", "report_type": "daily", "report_file": "archive/reports/daily/2025-12-28.md", "extracted_dimensions": ["健康", "情绪", "工作"], "confidence": 0.85, "extraction_date": "2025-12-28T10:00:00Z" } ``` ### 分析报告 `archive/dimension_analysis/YYYY-MM-DD_analysis.json`: 包含维度统计、themes匹配分析、修正建议等信息。 ## 注意事项 1. **首次使用**:需要先写几篇报告,然后提取维度,才能生成有意义的建议 2. **LLM配置**:维度提取需要LLM,确保已配置API Key 3. **报告格式**:报告使用Markdown格式,可以包含标题、段落、列表等 4. **维度提取**:每次运行 `extract_dimensions.py` 会重新提取,提取结果会覆盖之前的文件 5. **Themes更新**:建议在交互模式下仔细审查每个建议,确认后再应用 ## 故障排除 ### LLM初始化失败 - 检查 `.env` 文件中的API Key配置 - 确认网络连接正常 - 检查API配额是否充足 ### 没有提取到维度 - 确认报告文件存在且内容不为空 - 检查报告文件格式是否正确 - 尝试单独提取一个报告文件查看错误信息 ### 没有生成建议 - 确认有足够的提取结果(建议至少3-5个报告) - 检查themes是否已设置 - 查看分析报告中的统计信息