# How 解构项目 v1124 ## 🚀 快速开始 ```bash # 运行完整流程 ./script/data_processing/run_all_with_config.sh 阿里多多酱1 # 验证配置 python script/data_processing/path_config.py ``` ## 📂 项目结构 ``` how_1124_v1/ # 项目代码 ├── config/ │ └── accounts.json # 配置文件(data_root: "../data") ├── script/ │ └── data_processing/ # 数据处理脚本 ├── lib/ # 核心库 └── docs/ # 文档 ../data/ # 共享数据目录 └── 账号/阿里多多酱1/ ├── what单独解构/ # 输入:当前帖子 ├── 用于pattern聚类/ # 输入:历史帖子 ├── pattern相关文件/ # 输入:pattern聚合 └── how解构_outputs/ # 输出(版本化) └── how_1124_v1/ # 本项目输出 ├── intermediate/ ├── results/ └── visualization/ ``` ## 🎯 核心特性 ### 1. 自动版本识别 - ✅ 输出自动使用项目目录名作为版本(`how_1124_v1`) - ✅ 不同版本输出自动隔离,互不干扰 ### 2. 共享数据目录 - ✅ 所有项目共享 `../data/` 输入数据 - ✅ 支持环境变量 `DATA_ROOT` 覆盖 ### 3. 版本化输出 - ✅ 输出路径:`../data/账号/{账号名}/how解构_outputs/{版本}/` - ✅ 便于对比不同版本的结果 ## 📊 数据处理流程 ``` 输入: ├─ pattern聚合结果.json ├─ 历史帖子what解构/*.json └─ 当前帖子what解构/*.json ↓ 步骤1: 提取特征分类映射 ├─ 特征名称_分类映射.json └─ 分类层级映射.json ↓ 步骤2: 提取特征帖子来源 └─ 特征名称_帖子来源.json ↓ 步骤3: 提取当前帖子解构任务列表 └─ 当前帖子_解构任务列表.json ↓ 步骤4: 匹配灵感特征(核心) └─ {帖子ID}_how.json × N ↓ 步骤5: 可视化结果 └─ how解构结果_可视化.html 输出位置: ../data/账号/阿里多多酱1/how解构_outputs/how_1124_v1/ ``` ## 🔧 配置说明 ### 数据根目录(优先级从高到低) 1. 环境变量:`DATA_ROOT=~/Documents/数据` 2. 配置文件:`config/accounts.json` 中的 `data_root` 3. 默认值:`../data`(当前配置) ### 输出版本(优先级从高到低) 1. 环境变量:`OUTPUT_VERSION=test_version` 2. 配置文件:`config/accounts.json` 中的 `output_version` 3. 默认值:项目目录名(`how_1124_v1`)✅ 推荐 ### 账号名称(优先级从高到低) 1. 命令行参数:`./run_all_with_config.sh 账号名` 2. 环境变量:`ACCOUNT_NAME=账号名` 3. 配置文件:`default_account` ## 📝 常用命令 ```bash # 处理单个账号 ./script/data_processing/run_all_with_config.sh 阿里多多酱1 # 处理所有启用的账号 ./script/data_processing/run_all_with_config.sh --all # 使用环境变量 ACCOUNT_NAME=阿里多多酱1 ./script/data_processing/run_all_with_config.sh # 自定义输出版本 OUTPUT_VERSION=experiment ./script/data_processing/run_all_with_config.sh 阿里多多酱1 # 查看所有版本输出 ls ../data/账号/阿里多多酱1/how解构_outputs/ # 打开可视化 open ../data/账号/阿里多多酱1/how解构_outputs/how_1124_v1/visualization/how解构结果_可视化.html ``` ## 📖 文档 - [数据目录配置说明](docs/数据目录配置说明.md) - 详细的配置说明和使用场景 - [其他项目迁移指南](docs/其他项目迁移指南.md) - 迁移其他 how_* 项目的步骤 - [迁移完成总结](docs/迁移完成总结.md) - 本次迁移的总结和下一步建议 ## 🎨 功能亮点 ### 1. 笛卡尔积批量计算 使用混合模型一次性计算 M×N 的特征相似度矩阵,大幅提升性能。 ```python # lib/hybrid_similarity.py similarity_results = await compare_phrases_cartesian( feature_names, # M个特征 persona_names, # N个人设 max_concurrent=100 # LLM最大并发数 ) ``` ### 2. 进度实时显示 ``` 进度: [████████████████████░░░░░░░░] 1234/2000 (61.7%), 预计剩余: 45秒 ``` ### 3. 多账号批量处理 ```bash # 一次性处理所有启用的账号 ./script/data_processing/run_all_with_config.sh --all ``` ## ⚙️ 依赖 - Python 3.8+ - 依赖库:详见 `requirements.txt`(如果有) ## 🐛 故障排除 ### 问题:路径不存在 **症状**: ``` ⚠️ 警告: 部分输入路径不存在! ``` **解决**: ```bash # 检查数据目录是否存在 ls -la ../data/账号/阿里多多酱1/ # 验证配置 python script/data_processing/path_config.py ``` ### 问题:版本不正确 **症状**:输出到了错误的版本目录 **解决**: ```bash # 检查是否设置了环境变量 echo $OUTPUT_VERSION # 清除环境变量 unset OUTPUT_VERSION # 重新运行 python script/data_processing/path_config.py ``` ## 📄 许可 内部项目 ## 👤 作者 Semsevens --- **最后更新**: 2024-11-24