NLP 概述
学习目标
完成本节后,你将能够:
- 说清楚 NLP 在解决什么问题
- 了解 NLP 里最常见的几类任务
- 理解一条最基础的 NLP 流程
- 明白为什么文本处理往往比表格和图像更“拧巴”
- 通过最小示例建立“文本 -> 结构化结果”的直觉
一、NLP 到底在做什么?
NLP 是 Natural Language Processing,自然语言处理。
说得更直白一点:
NLP 就是让计算机处理人类语言。
这里的“语言”包括很多形式:
- 聊天消息
- 评论
- 新闻
- 合同
- 工单
- 邮件
- 搜索词
- 会议纪要
它最终想解决的,不只是“识别文字”,而是更进一步:
- 理解意思
- 提取信息
- 生成回答
- 完成任务
二、NLP 里最常见的任务有哪些?
你可以先把 NLP 任务分成四大类来看:
1. 整句判断类
输入一段文本,输出一个整体结果。
例如:
- 文本分类
“这是退款问题还是发票问题?” - 情感分析
“这条评论是正面还是负面?”
2. 片段定位类
输入一段文本,输出其中某些关键片段。
例如:
- 命名实体识别
从 “张三在北京工作” 中抽出张三和北京 - 信息抽取
从公告里抽出时间、地点、人物
3. 文本到文本类
输入一段文本,输出另一段文本。
例如:
- 机器翻译
- 文本摘要
- 改写
- 问答生成
4. 交互式与系统类
输入不一定只是单轮文本,可能还包括状态、历史和工具结果。
例如:
- 聊天机器人
- RAG 问答系统
- Agent
这类任务会把前面几种能力组合起来。
三、为什么文本处理通常比表格数据更难?
1. 文本有歧义
一句话可能有多种解释。
例如:
“这个手机不便宜,但拍照是真的能打。”
如果只看 “不便宜”,很容易误判成负面;
但整句其实更偏正向评价。
2. 文本强依赖上下文
很多词单独看并不重要,放进上下文后才有具体意思。
例如:
bank既可能是银行,也可能是河岸
3. 文本表达不统一
用户描述同一个意思,可能有很多写法。
例如:
- “怎么退钱”
- “退款怎么弄”
- “这单还能退吗”
这些文本词面差异很大,但意图接近。
4. 文本天然非结构化
表格数据往往有明确列含义:
- 年龄
- 收入
- 城市
但文本通常是人随手写的自由表达。
模型必须先把它变成可计算结构。
四、NLP 的典型处理流程长什么样?
最基础的一条线可以先理解成:
这条线的每一段都很重要:
- 预处理
把脏文本整理得更适合当前任务 - 文本表示
把文字变成数字 - 模型
学习输入和目标之间的关系 - 输出
变成标签、答案、摘要或实体片段
后面 11 自然语言处理(方向选修)的大部分课程,其实都在围绕这条线往下展开。
五、先跑一个最小 NLP 示例
下面这个例子非常简单,但它已经完整体现了 NLP 的核心流程:
- 输入是文本
- 做一点最小预处理
- 用规则识别意图
- 输出结构化结果
import re
texts = [
"帮我查一下今天北京天气",
"请帮我订一张去上海的机票",
"计算一下 25 乘以 4 是多少",
"明天深圳会下雨吗",
]
def classify_intent(text):
text = re.sub(r"\s+", "", text)
if "天气" in text or "下雨" in text:
return "weather_query"
if "机票" in text or "订票" in text:
return "ticket_booking"
if "计算" in text or "乘以" in text:
return "calculation"
return "unknown"
for text in texts:
print(text, "->", classify_intent(text))
这个例子真正想让你抓住什么?
它说明 NLP 的最小闭环其实很朴素:
- 输入是自然语言
- 系统从里面识别模式
- 最后输出结构化结果
哪怕这里只用了规则,也已经是一个最基础的 NLP 系统。
六、NLP 的三条主要发 展路线
1. 规则系统
靠人工规则写逻辑。
优点:
- 可解释
- 小任务起步快
缺点:
- 难维护
- 泛化差
2. 传统机器学习
先做特征,再训练分类器。
例如:
- BoW
- TF-IDF
- SVM
- 逻辑回归
3. 深度学习与预训练模型
让模型直接学习表示和上下文关系。
例如:
- RNN / LSTM
- Transformer
- BERT
- GPT
所以你后面学的很多内容,本质上都在回答同一个问题:
怎样让机器越来越稳定地处理人类语言?
七、为什么 NLP 会和大模型、RAG、Agent 强相关?
因为大语言模型本质上仍然是在处理文本。
如果你不了解这些基础概念:
- token
- 语义表示
- 上下文
- 分类
- 抽取
- 生成
那后面学 LLM、RAG、Agent 时就很容易只停留在:
- 会调 API
而不是:
- 真正理解它们在做什么
所以 11 自然语言处理(方向选修)不是绕路,而是在铺后面的底。
八、初学者最常见的误区
1. 以为 NLP 就等于聊天机器人
聊天只是 NLP 的一个应用场景,不是全部。
2. 以为预处理只是细枝末节
很多任务里,预处理质量会直接影响结果上限。
3. 以为只有深度学习才算 NLP
规则系统和传统机器学习在很多中小任务里依然很有价值。
4. 以为文本“看懂了”就等于机器也能直接处理
对机器来说,文本必须先被转换成可计算形式。
小结
这节课最该记住的一句话是:
NLP 的本质,是把自然语言变成可计算、可建模、可推理的对象。
后面你会看到:
- 预处理解决“怎么整理文本”
- 文本表示解决“怎么把文本变成数字”
- 模型解决“怎么从数字中学出规律”
只要这张地图在脑子里先立住,11 自然语言处理(方向选修)后面的内容就不容易乱。
练习
- 用自己的话解释:为什么文本处理往往比表格数据更难?
- 把示例里的规则再扩成一个
hotel_booking意图分类。 - 想一想:聊天机器人为什么只是 NLP 的一个应用,不是全部?
- 你能否把一个你熟悉的 AI 产品,拆解成它背后用到的 NLP 任务?