教程 nlp tutorial

常见任务

自然语言处理领域包含多种任务,从最基础的分类到复杂的生成。
本章将介绍 NLP 中的三类典型任务:

一、任务分类总览

类型 示例 输入 输出
分类任务 情感分析、垃圾邮件识别 一段文本 类别标签
序列标注任务 命名实体识别、分词 文本序列 每个词的标签
生成任务 翻译、摘要、问答 文本 / 问题 新的文本序列

二、模型架构视角

模型类型 常用任务 特点
Encoder-only(如 BERT) 分类、序列标注 强上下文理解能力
Decoder-only(如 GPT) 生成任务 文本生成流畅自然
Encoder-Decoder(如 T5、BART) 翻译、摘要 同时具备理解与生成能力

三、典型任务场景

1. 文本分类

判定输入文本所属的类别,例如:

  • 评论情感分析(正面 / 负面)
  • 新闻主题分类(科技 / 体育 / 财经)

示例:

python
from transformers import pipeline
clf = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
print(clf("I love this movie!"))

`

2. 命名实体识别(NER)

识别文本中具有特定意义的实体,如人名、地点、组织等。

示例:

python
from transformers import pipeline
ner = pipeline("ner", model="dslim/bert-base-NER", grouped_entities=True)
print(ner("Elon Musk is the CEO of SpaceX."))

输出示例:

txt
[{'entity_group': 'PER', 'word': 'Elon Musk'},
 {'entity_group': 'ORG', 'word': 'SpaceX'}]

3. 序列到序列(Seq2Seq)

将输入序列映射为输出序列的任务,如:

  • 机器翻译(Machine Translation)
  • 摘要生成(Summarization)
  • 问答系统(Question Answering)

示例:

python
from transformers import pipeline
translator = pipeline("translation", model="Helsinki-NLP/opus-mt-en-zh")
print(translator("Natural Language Processing is fascinating."))

四、小结

  • 分类、标注、生成是 NLP 的三大核心任务类型;
  • 不同任务需选择适合的模型结构;
  • 现代 Transformer 模型几乎可以统一解决所有 NLP 任务。