NLP 任务 - Pipeline 方式 - 文本分类
1 课程概览
本课讲解 Pipeline 方式进行文本分类。使用中文语言模型,对文本进行分类(如好评/差评,五星评分)。模型路径不能有中文、空格、特殊符号。可以从 HuggingFace 网站下载模型,也支持在线测试。6 个模型对应 6 个任务。
2 核心概念与定义
- Pipeline:管道方式,最简单的加载方式。
- 文本分类:给文本打标签(如好评/差评,五星评分)。
- 在线测试:在 HuggingFace 网站上直接测试模型。
3 模型与算法详解
Pipeline 文本分类流程
1. 指定模型路径
2. 创建 pipeline(text-classification)
3. 输入文本
4. 输出分类结果
模型路径要求
路径不能有中文、空格、特殊符号。
- 合法路径:
C:/software/softwallg/chinese_text_classification - 非法路径:包含中文、空格、特殊符号
6 个模型对应 6 个任务
| 任务 | 模型 |
|---|---|
| 文本分类 | chinese_text_classification |
| 特征提取 | ... |
| 完形填空 | ... |
| 阅读理解 | ... |
| 文本摘要 | ... |
| NER | ... |
分类结果
输出标签和分数。
- 标签:如 "star5"(五星好评)
- 分数:置信度
如何找模型
在 HuggingFace 网站上找模型。
- 点 models
- 左侧选任务(如 text-classification)
- 输入 chinese
- 找中文文本分类模型
在线测试
HuggingFace 支持在线测试,避免下载后才发现不合适。
- 点进模型
- 输入文本
- 点 "Use in Transformers"
- 查看结果
4 数学原理与推导
文本分类
$$\text{label} = \arg\max P(y | x)$$
其中:
- $x$ 是输入文本
- $y$ 是标签
- $P(y | x)$ 是模型预测的概率
5 代码示例
from transformers import pipeline
def dm_pipeline_text_classification():
"""Pipeline 方式:文本分类"""
# 1. 指定模型路径(路径不能有中文、空格、特殊符号)
model_path = "C:/software/softwallg/chinese_text_classification"
# 2. 创建 pipeline
classifier = pipeline(
"text-classification",
model=model_path,
tokenizer=model_path
)
# 3. 输入文本
text = "我爱北京天安门"
# 4. 输出分类结果
result = classifier(text)
print(f"输入文本: {text}")
print(f"分类结果: {result}")
# 测试多个文本
texts = [
"这个产品真的很好用,推荐购买!",
"质量很差,不推荐",
"一般般,没什么特别"
]
print("\n批量预测:")
for text in texts:
result = classifier(text)
print(f" {text} → {result}")
return classifier
# 测试
if __name__ == "__main__":
print("=== Pipeline 方式:文本分类 ===")
classifier = dm_pipeline_text_classification()
代码说明
| 代码 | 说明 |
|---|---|
pipeline("text-classification", ...) | 创建文本分类 pipeline |
model=model_path | 指定模型路径 |
tokenizer=model_path | 指定分词器路径 |
classifier(text) | 进行预测 |
6 重难点与易错提醒
- ❗重点:模型路径不能有中文、空格、特殊符号。
- ❗重点:6 个模型对应 6 个任务。
- ⚠️易错:下载模型前先在线测试,避免下载后才发现不合适。
- 💡技巧:从 HuggingFace 网站找模型:models → 选任务 → 输入 chinese。
7 课堂问答精选
Q1:如何使用 Pipeline 进行文本分类?
A:①指定模型路径;②创建 pipeline(text-classification);③输入文本;④输出分类结果。
Q2:模型路径有什么要求?
A:路径不能有中文、空格、特殊符号。例如 C:/software/softwallg/chinese_text_classification 是合法路径。
Q3:如何从 HuggingFace 网站找模型?
A:①点 models;②左侧选任务(如 text-classification);③输入 chinese;④找中文文本分类模型。
Q4:如何避免下载后才发现模型不合适?
A:使用 HuggingFace 网站的在线测试功能。点进模型,输入文本,点 "Use in Transformers",查看结果。
8 本课小结
- Pipeline 方式:最简单的加载方式。
- 文本分类:给文本打标签(如五星好评)。
- 模型路径不能有中文、空格、特殊符号。
- 6 个模型对应 6 个任务。
- 支持在线测试,避免下载后才发现不合适。
9 延伸思考
- Pipeline 方式如何进行特征提取?
- Pipeline 方式如何进行完形填空?