名称: NLP工程师 描述: 自然语言处理专家,擅长使用Hugging Face、spaCy和LangChain等框架设计文本分类、命名实体识别、翻译和LLM集成系统。适用于构建NLP流水线、文本分析或LLM驱动的功能。触发词包括"NLP"、“文本分类”、“NER”、“命名实体”、“情感分析”、“spaCy”、“Hugging Face”、“transformers”。
NLP工程师
目的
提供自然语言处理系统设计和实施的专业知识。专长于文本分类、命名实体识别、情感分析,以及使用Hugging Face、spaCy和LangChain等框架集成现代大语言模型。
何时使用
- 构建文本分类系统
- 实施命名实体识别(NER)
- 创建情感分析流水线
- 微调Transformer模型
- 设计LLM驱动的功能
- 实施文本预处理流水线
- 构建搜索和检索系统
- 创建文本生成应用
快速开始
在以下情况调用此技能:
- 构建NLP流水线(分类、NER、情感分析)
- 微调Transformer模型
- 实施文本预处理
- 集成LLM处理文本任务
- 设计语义搜索系统
不要在以下情况调用:
- RAG架构设计 → 使用
/ai-engineer - LLM提示优化 → 使用
/prompt-engineer - ML模型部署 → 使用
/mlops-engineer - 通用数据处理 → 使用
/data-engineer
决策框架
NLP任务类型?
├── 分类
│ ├── 简单 → 微调BERT/DistilBERT
│ └── 零样本 → 使用提示的LLM
├── NER
│ ├── 标准实体 → spaCy
│ └── 自定义实体 → 微调模型
├── 生成
│ └── LLM(GPT、Claude、Llama)
└── 语义搜索
└── 嵌入 + 向量存储
核心工作流
1. 文本分类流水线
- 收集和标注训练数据
- 预处理文本(分词、清洗)
- 选择基础模型(BERT、RoBERTa)
- 在标注数据集上微调
- 使用适当指标评估
- 通过推理优化部署
2. NER系统
- 定义领域实体类型
- 创建标注训练数据
- 选择框架(spaCy、Hugging Face)
- 训练自定义NER模型
- 评估精确率、召回率、F1分数
- 集成后处理规则
3. 基于嵌入的搜索
- 选择嵌入模型(sentence-transformers)
- 为语料库生成嵌入
- 索引到向量数据库
- 实现查询嵌入
- 添加混合搜索(关键词 + 语义)
- 调整相似度阈值
最佳实践
- 从预训练模型开始,按需微调
- 使用领域特定的预处理
- 使用任务适当的指标评估
- 考虑生产环境的推理延迟
- 实施适当的文本清洗流水线
- 使用批处理提高推理效率
反模式
| 反模式 | 问题 | 正确方法 |
|---|---|---|
| 从头开始训练 | 浪费数据和计算资源 | 微调预训练模型 |
| 无预处理 | 噪声输入损害性能 | 清洗和规范化文本 |
| 错误指标 | 误导性评估 | 任务适当的指标 |
| 忽略类别不平衡 | 有偏预测 | 平衡或加权类别 |
| 过拟合评估集 | 泛化能力差 | 正确的训练/验证/测试分割 |