跳到正文

更多文章

影响力日常操作系统:21天习惯养成计划 从技能雇佣者到价值创造者 互惠账户的运营 影响力的三层架构 组织的注意力经济学
数据分析师如何掌握NLP基础:理解文本、生成内容与构建AI应用

本文来源于数据从业者全栈知识库,更多体系化内容请访问知识库。

为什么要学习NLP?

自然语言处理(Natural Language Processing)是AI最重要的应用领域之一。我们每天产生的数据中,80%以上是非结构化的文本数据

  • 聊天记录、邮件、文档
  • 社交媒体、新闻、评论
  • 客服对话、工单、反馈

一、NLP是什么?

1.1 定义

NLP = 让计算机理解、处理和生成人类语言的技术

graph LR
    A[人类语言] --> B[NLP技术]
    B --> C[计算机理解]
    C --> D[智能应用]

    D --> E[搜索引擎]
    D --> F[智能客服]
    D --> G[机器翻译]
    D --> H[内容推荐]

1.2 NLP的难点

1.3 NLP vs 大语言模型

对比维度传统NLP大语言模型时代
方法针对特定任务设计算法通用模型+提示词
数据需求需要标注数据少样本甚至零样本
开发成本每个任务重新开发一个模型多种任务
效果上限取决于特征工程取决于模型规模
适用场景资源受限、需要可解释追求效果、快速迭代

二、NLP的核心任务

2.1 任务全景图

graph TD
    A[NLP核心任务] --> B[理解类]
    A --> C[生成类]
    A --> D[转换类]

    B --> B1[文本分类]
    B --> B2[情感分析]
    B --> B3[命名实体识别]
    B --> B4[关系抽取]
    B --> B5[阅读理解]

    C --> C1[文本生成]
    C --> C2[对话系统]
    C --> C3[文本摘要]

    D --> D1[机器翻译]
    D --> D2[文本纠错]
    D --> D3[风格转换]

2.2 理解类任务

文本分类

应用场景分类目标业务价值
垃圾邮件过滤垃圾/正常提升用户体验
新闻分类财经/体育/娱乐…内容分发
工单分类投诉/咨询/建议…智能路由
意图识别查余额/转账/挂失…智能客服

情感分析

粒度分析内容示例
文档级整体情感倾向这篇评论是好评还是差评
句子级每句话的情感哪些句子在抱怨
方面级对不同方面的情感对价格满意但对服务不满

命名实体识别(NER)

应用场景

  • 知识图谱构建
  • 简历解析
  • 合同关键信息提取
  • 医疗病历结构化

关系抽取

2.3 生成类任务

文本摘要

类型方法特点
抽取式从原文选择重要句子保真度高,可能不连贯
生成式用自己的话改写更流畅,可能有偏差

对话系统

graph TD
    A[对话系统] --> B[任务型对话]
    A --> C[闲聊型对话]
    A --> D[知识问答]

    B --> B1[订机票、查天气]
    C --> C1[情感陪伴、聊天]
    D --> D1[基于知识库回答]

2.4 转换类任务

机器翻译

从一种语言转换为另一种语言。

发展历程

阶段方法代表
规则时代人工编写规则早期翻译软件
统计时代基于统计模型Google早期翻译
神经时代Seq2Seq + AttentionGoogle NMT
大模型时代Transformer + 海量数据GPT/DeepL

三、NLP的技术演进

3.1 发展历程

graph LR
    A[规则方法<br/>1950s-1980s] --> B[统计方法<br/>1990s-2000s]
    B --> C[深度学习<br/>2010s]
    C --> D[预训练模型<br/>2018-]
    D --> E[大语言模型<br/>2022-]

3.2 各阶段特点

阶段核心思想优点缺点
规则方法人工编写语法规则可解释、可控难以覆盖所有情况
统计方法从数据中学习概率分布自动学习特征工程复杂
深度学习端到端学习表示效果好需要大量标注数据
预训练模型先预训练再微调少样本也能用计算资源要求高
大语言模型规模即能力通用能力强成本高、黑盒

3.3 关键技术里程碑

年份技术意义
2013Word2Vec词向量开山之作
2014Seq2Seq序列到序列模型
2015Attention注意力机制
2017Transformer革命性架构 → 详见
2018BERT预训练模型时代开启
2020GPT-3大模型涌现能力
2022ChatGPTAI进入大众视野

四、文本表示:从字符到向量

4.1 为什么需要文本表示?

计算机只懂数字,不懂文字。需要把文本转换成数字(向量)才能计算。

4.2 文本表示方法演进

graph TD
    A[文本表示方法] --> B[离散表示]
    A --> C[分布式表示]

    B --> B1[One-hot编码]
    B --> B2[词袋模型]
    B --> B3[TF-IDF]

    C --> C1[Word2Vec]
    C --> C2[GloVe]
    C --> C3[BERT Embedding]

One-hot编码

词袋模型(Bag of Words)

把文本看作词的集合,忽略顺序。

TF-IDF

考虑词的重要性:在本文档中出现频率高 + 在其他文档中出现少 = 更重要

指标含义计算
TF(词频)词在文档中出现的频率出现次数/总词数
IDF(逆文档频率)词的稀有程度log(总文档数/包含该词的文档数)
TF-IDF综合重要性TF × IDF

Word2Vec:词向量革命

详细原理见 → 向量数据库与语义搜索

上下文相关的表示(BERT等)

Word2Vec的问题:一个词只有一个向量,无法处理多义词。


五、核心NLP技术详解

5.1 分词(Tokenization)

把连续的文本切分成词或子词。

语言难度原因
英文较简单有空格分隔
中文较难没有天然分隔符

中文分词的挑战

常用分词工具

工具特点
jieba中文分词最流行,简单易用
HanLP功能全面,工业级
LTP哈工大出品,学术界常用
THULAC清华出品,准确率高

5.2 词性标注(POS Tagging)

给每个词标注词性:名词、动词、形容词…

5.3 句法分析

分析句子的语法结构。

类型分析内容
依存句法词与词之间的依赖关系
成分句法句子的层级结构(短语、从句)

5.4 语义理解

任务目标
词义消歧确定多义词的具体含义
语义角色标注识别谓词的施事、受事等
共指消解确定代词指代的对象

六、预训练语言模型

6.1 什么是预训练?

graph LR
    A[海量无标注文本] --> B[预训练]
    B --> C[通用语言模型]
    C --> D[少量标注数据]
    D --> E[微调]
    E --> F[特定任务模型]

6.2 主流预训练模型

模型类型特点适合任务
BERT编码器双向理解上下文分类、NER、问答
GPT解码器自回归生成文本生成、对话
T5编解码统一文本到文本翻译、摘要、问答
RoBERTa编码器BERT的优化版各种NLU任务
ALBERT编码器轻量级BERT资源受限场景

6.3 中文预训练模型

模型来源特点
BERT-wwm哈工大全词掩码,中文效果好
ERNIE百度知识增强
MacBERT哈工大改进掩码策略
RoFormer追一科技旋转位置编码

七、NLP实践应用场景

7.1 智能客服

graph TD
    A[用户输入] --> B[意图识别]
    B --> C{意图类型}
    C -->|查询类| D[知识库检索]
    C -->|业务类| E[业务系统对接]
    C -->|闲聊类| F[对话生成]
    D --> G[答案生成]
    E --> G
    F --> G
    G --> H[用户回复]

核心NLP能力

  • 意图识别(文本分类)
  • 槽位填充(NER)
  • 知识库问答(RAG)
  • 多轮对话管理

7.2 舆情分析

分析维度NLP技术业务价值
情感倾向情感分析了解用户态度
热点话题主题模型发现舆论焦点
传播脉络文本聚类追踪事件发展
关键人物NER识别意见领袖

7.3 文档智能处理

场景技术应用
合同审核NER + 关系抽取提取关键条款
简历解析信息抽取自动填充候选人信息
发票识别OCR + NER自动报销
病历结构化医学NER辅助诊断

7.4 搜索与推荐

功能NLP技术
查询理解意图识别、实体识别
查询改写同义词扩展、纠错
相关性排序语义匹配
内容理解文本分类、标签提取

八、NLP与大模型时代

8.1 LLM如何改变NLP?

传统做法LLM时代做法
每个任务训练一个模型一个模型搞定多种任务
需要大量标注数据Few-shot甚至Zero-shot
特征工程 + 模型选择提示工程
开发周期长快速原型验证

8.2 哪些场景还需要传统NLP?

场景原因
资源受限边缘设备跑不动大模型
低延迟要求LLM响应太慢
可解释性要求需要知道为什么这么分类
成本敏感LLM API调用费用高
数据隐私不能把数据发给外部API

8.3 NLP工程师的新定位

graph TD
    A[NLP工程师新技能树] --> B[传统NLP基础]
    A --> C[LLM应用开发]
    A --> D[RAG系统构建]
    A --> E[提示工程]

    B --> B1[文本预处理、特征工程]
    C --> C1[模型选型、API调用、微调]
    D --> D1[向量化、检索、重排序]
    E --> E1[Prompt设计与优化]

九、本章小结


学习路径建议

graph LR
    A[本文:NLP基础] --> B[深度学习基础]
    B --> C[大语言模型]
    C --> D[Prompt工程]
    D --> E[RAG实战]

推荐下一步

  • 深度学习基础 - 理解NLP背后的模型
  • 大语言模型 - NLP的最新形态
  • Prompt工程 - 用LLM做NLP任务


本文节选自数据从业者全栈知识库。知识库包含 2300+ 篇体系化技术文档,覆盖数据分析、数据工程、数据治理、AI 等全栈领域。了解更多 ->

Elazer (石头)
Elazer (石头)

11 年数据老兵,从分析师到架构专家。用真实经历帮数据人少走弯路。

加入免费社群

和数据从业者一起交流成长

了解详情 →

成为会员

解锁全部内容 + 知识库

查看权益 →
← 上一篇 数据开发 L4:技术战略 下一篇 → 一个经验丰富的厨师——一文告诉你如何成为一名优秀的数据分析师