一、NLP 核心目标
让计算机具备三大能力:
- 理解语言:识别文本情感、提取关键信息、分析语义逻辑;
- 处理语言:翻译、拼写纠错、文本摘要、格式转换;
- 生成语言:写文案、对话交互、自动回复、代码生成。
二、NLP 核心任务(从易到难)
计算机无法直接理解文字,需将其转换为数字(向量),这是 NLP 的第一步(这里简单介绍三种方法):
词袋模型(Bag of Words):简单粗暴,统计每个词的出现次数;
TF-IDF:优化词袋模型,突出 "稀有但重要" 的词;
词嵌入(Word Embedding) :核心表示方法,将每个词映射为低维向量(如 300 维),且语义相近的词向量距离更近**(核心训练思想:预测上下文的词是目标词,或预测目标词的上下文)**。
1. 基础任务(入门首选)
分词:将连续文本拆分为词语(基于规则的分词,基于统计的分词,基于深度学习的分词,现常用已有的库如jieba,nltk等);
python
import jieba
text = "我爱自然语言处理"
# 精确模式(默认)
seg_list = jieba.cut(text, cut_all=False)
print("精确模式:", "/".join(seg_list)) # 输出:我/爱/自然语言/处理
# 全模式
seg_list = jieba.cut(text, cut_all=True)
print("全模式:", "/".join(seg_list)) # 输出:我/爱/自然/自然语言/语言/处理
词性标注:给每个词标注语法属性(如 "猫"→ 名词,"跑"→ 动词);
情感分析:判断文本情绪(如电商评论 "商品很好用"→ 正面,"质量太差"→ 负面,python中有snownlp可以直接调用)。
2. 进阶任务
- 文本分类:将文本归类(如新闻分类为 "体育 / 娱乐 / 科技"、邮件区分 "垃圾邮件 / 正常邮件");
- 命名实体识别(NER):提取文本中的关键实体(如 "张三在腾讯工作"→ 人名:张三,机构名:腾讯);
- 文本摘要:自动提炼长文本核心(如将 1000 字新闻浓缩为 100 字);
- 机器翻译:跨语言转换(如中文→英文、英文→日文)。
3. 高阶任务
- 对话系统:聊天机器人、智能客服(需理解上下文);
- 文本生成:写文章、诗歌、代码(如 GPT 系列);
- 知识图谱:构建实体关系网络(如 "姚明 - 效力于 - 休斯顿火箭")。