NLP Engineer 是一个专注于自然语言处理(NLP)系统设计与实现的专业技能,主要用于围绕文本数据构建可落地的处理与应用方案。
用途 该技能面向自然语言处理系统的设计与实现,重点覆盖文本分类、命名实体识别(NER)、情感分析,以及使用 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);语义搜索使用嵌入加向量存储。
核心工作流
- 文本分类流水线:收集并标注训练数据;预处理文本(分词、清洗);选择基础模型(BERT、RoBERTa);在标注数据集上微调;用合适的指标评估;部署时进行推理优化。
- NER 系统:为领域定义实体类型;创建标注训练数据;选择框架(spaCy、Hugging Face);训练自定义 NER 模型;评估精确率、召回率、F1;结合后处理规则进行集成。
- 基于嵌入的搜索:选择嵌入模型(sentence-transformers);为语料生成嵌入;在向量数据库中建立索引;实现查询嵌入;加入混合搜索(关键词加语义);调节相似度阈值。
最佳实践 从预训练模型开始,按需微调;使用领域特定的预处理;用与任务匹配的指标进行评估;考虑生产环境的推理延迟;实现规范的文本清洗管道;使用批处理提高推理效率。
反模式 从零开始训练会浪费数据和算力,正确做法是微调预训练模型;不做预处理会因噪声输入损害性能,应清洗并规范化文本;指标选错会导致评估误导,应使用与任务匹配的指标;忽视类别不平衡会造成有偏预测,应平衡或加权类别;对评估集过拟合会削弱泛化能力,应做好训练、验证、测试集划分。
限制与未提供信息 资料未提供该技能的具体安装命令、收费与价格、平台支持范围、性能或效果数据以及具体使用步骤示例;上述内容暂未提供。