SegmentBio 是一个基于大语言模型的中国官员履历结构化处理系统。该项目旨在将非结构化的履历文本转换为标准化的结构化数据,为政治学、行政学等领域的实证研究提供高质量的基础数据。
- 🤖 多LLM支持: 支持DeepSeek、OpenAI GPT、Google Gemini等多种大语言模型
- 📊 13字段提取: 精确提取时间、地区、职务、级别等13个关键字段
- 🏛️ 12类组织分类: 基于中国行政体系的标准化组织类型分类
- ⚡ 批处理模式: 支持大规模数据的断点续传处理
- 📈 质量保证: 完整的错误处理、日志记录和质量统计
SegmentBio/
├── README.md # 项目说明
├── CLAUDE.md # Claude Code 指导文件
├── requirements.txt # Python依赖
├── setup.py # 项目安装配置
├── .env.example # 环境变量示例
├── Makefile # 常用命令快捷方式
│
├── config/ # 配置文件
│ ├── settings.py # 项目设置
│ └── logging.yaml # 日志配置
│
├── src/segmentbio/ # 源代码
│ ├── core/ # 核心功能
│ │ ├── api_client.py # API客户端
│ │ └── processor.py # 数据处理
│ ├── utils/ # 工具函数
│ └── models/ # 数据模型
│
├── scripts/ # 执行脚本
│ ├── 01_import_data.py # 数据导入
│ └── 02_process_biography.py # 履历处理
│
├── data/ # 数据目录
│ ├── raw/ # 原始数据
│ ├── processed/ # 处理数据
│ └── external/ # 外部数据
│
├── models/prompts/ # 提示词模板
├── notebooks/ # Jupyter笔记本
├── outputs/ # 输出结果
└── logs/ # 日志文件
# 克隆项目
git clone <your-repo-url>
cd SegmentBio
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或 venv\Scripts\activate # Windows
# 安装依赖
make install
# 或 pip install -r requirements.txt# 复制环境变量模板
cp .env.example .env
# 编辑.env文件,添加你的API密钥
# DEEPSEEK_API_KEY=sk-your-deepseek-api-key-here
# OPENAI_API_KEY=sk-your-openai-api-key-here
# GEMINI_API_KEY=your-gemini-api-key-here# 方法1: 使用Makefile (推荐)
make pipeline # 运行完整流水线
make process-sample # 处理样本数据 (100条)
# 方法2: 直接运行脚本
python scripts/01_import_data.py # 导入原始数据
python scripts/02_process_biography.py # 处理履历数据from segmentbio.core.api_client import LLMAPIClient
from segmentbio.core.processor import BiographyProcessor
# 初始化API客户端
client = LLMAPIClient("deepseek")
# 创建处理器
processor = BiographyProcessor(client, "models/prompts/committee_prompt.txt")
# 处理数据
result_df, error_df = processor.process_dataframe(df)# 使用DeepSeek处理1000条数据
python scripts/02_process_biography.py --api deepseek --sample-size 1000
# 批处理模式
python scripts/02_process_biography.py --batch --sample-size 5000
# 使用不同的API
python scripts/02_process_biography.py --api gemini --model gemini-pro| 字段名 | 类型 | 说明 |
|---|---|---|
| person_id | str | 人员唯一标识 |
| records | str | 原始履历文本 |
| 字段名 | 说明 | 示例 |
|---|---|---|
| 时间 | 原始时间表达式 | "2019年1月-2021年1月" |
| 地区 | 工作地区 | "山东省青岛市" |
| 职务 | 完整职务信息 | "市委书记" |
| start_time | 开始时间(YYYY-MM) | "2019-01" |
| end_time | 结束时间(YYYY-MM) | "2021-01" |
| province | 省级行政区 | "山东省" |
| city | 地级市 | "青岛市" |
| county | 县级单位 | "-" |
| organization_type | 组织类型(12类) | "党委" |
| organization | 具体组织 | "党委常委会" |
| position | 具体职务 | "市委书记" |
| rank | 行政级别 | "副省/部级" |
| committee | 党委常委信息 | "省委常委" |
make help # 查看所有可用命令
make setup # 初始化项目环境
make test # 运行测试
make lint # 代码风格检查
make clean # 清理临时文件
make status # 查看项目状态- DeepSeek:
deepseek-chat(推荐) - OpenAI:
gpt-3.5-turbo,gpt-4 - Google Gemini:
gemini-pro
- ✅ 多API支持和密钥轮询
- ✅ 批处理和断点续传
- ✅ 完整的错误处理和日志记录
- ✅ 标准化的13字段数据输出
- ✅ 基于中国行政体系的12类组织分类
- Fork项目
- 创建特性分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'feat: add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 创建Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
如有问题请通过以下方式联系:
- 项目Issues: GitHub Issues
- 邮箱: [project-email@example.com]