1.1 什么是 NLP
NLP 核心任务是通过计算机程序来模拟人类对语言的认知和使用过程
NLP技术使得计算机能够执行各种复杂的语言处理任务,如中文分词、子词切分、词性标注、文本分类、实体识别、关系抽取、文本摘要、机器翻译、自动问答等。这些任务不仅要求计算机能够识别和处理语言的表层结构,更重要的是可以理解语言背后的深层含义,包括语义、语境、情感和文化等方面的复杂因素。
1.2 NLP 发展时间线(1940s - 至今)
timeline
title NLP 发展历程时间线
section 早期探索(1940s - 1960s)
1949 : 机器翻译概念提出,基于字典和规则的俄英翻译实验
1957 : 乔姆斯基提出"生成语法理论",奠定形式语言基础
section 符号主义与统计方法(1970s - 1990s)
1970 : 符号主义兴起,专家系统与规则引擎应用于NLP
1980 : 统计方法崛起,n-gram语言模型、HMM用于语音与文本处理
1990 : 统计机器翻译(SMT)成为主流
section 机器学习与深度学习(2000s - 至今)
2001 : 神经语言模型(如NNLM)初步尝试
2013 : Word2Vec发布,词向量开启分布式语义表示新时代
2015 : RNN/LSTM广泛应用于序列建模
2017 : Transformer架构诞生("Attention is All You Need")
2018 : BERT发布,双向预训练语言模型刷新多项榜单
2020 : GPT-3问世,1750亿参数展现强大生成与少样本学习能力
202X : 多模态大模型(如CLIP、LLaMA、ChatGPT)推动通用人工智能发展
1.3 NLP 任务
NLP 的核心任务构成一个从低层文本处理 到高层语义理解与生成的层级体系,可概括为三个阶段:
文本处理 → 语义理解 → 语义生成
这些任务相互依赖、逐层递进,共同支撑起现代智能语言系统的构建。
核心任务细分表
| 任务 | 概念定义 | 关键技术/方法 | 典型应用场景 |
|---|---|---|---|
| 中文分词 (CWS) | 将连续的中文文本切分为有意义的词汇单位。中文无空格分隔,需依赖算法判断词边界。 | - 正向/逆向最大匹配法- 基于HMM、CRF的序列标注- 深度学习模型(如BiLSTM-CRF)- 预训练模型微调 | 搜索引擎索引、信息检索、机器翻译前端处理 |
| 子词切分 (Subword Segmentation) | 将词语分解为更小的子词单元(如词根、前后缀),解决未登录词和词汇稀疏问题。 | - Byte Pair Encoding (BPE)- WordPiece(BERT使用)- Unigram LM- SentencePiece(支持无空格语言) | 多语言模型输入编码、机器翻译词汇表压缩 |
| 词性标注 (POS Tagging) | 为每个词分配一个词性标签(如名词、动词、形容词等),属于语法层面的基础分析。 | - 隐马尔可夫模型(HMM)- 条件随机场(CRF)- BiLSTM + CRF- Transformer编码器 | 句法分析、信息抽取、文本生成控制 |
| 文本分类 (Text Classification) | 将文本自动归入一个或多个预定义类别,理解其主题或情感倾向。 | - 传统:TF-IDF + SVM / 朴素贝叶斯- 深度学习:TextCNN、FastText、BERT微调 | 情感分析、垃圾邮件识别、新闻分类、意图识别 |
| 实体识别 (NER) | 识别文本中的命名实体(如人名、地名、组织、时间等),并进行分类。 | - 序列标注模型:BiLSTM-CRF- Span-based 方法- 基于Prompt的预训练模型 | 信息抽取、知识图谱构建、智能客服、简历解析 |
| 关系抽取 (RE) | 识别两个或多个实体之间的语义关系(如"马云 创办 阿里巴巴")。 | - 管道式方法(先NER后分类)- 联合抽取模型- 基于依存句法或语义角色- Prompt-based BERT | 知识图谱补全、生物医学文献挖掘、法律文书分析 |
| 文本摘要 (Summarization) | 生成简洁、准确的摘要以概括原文主要内容。分为两类: | - 抽取式 :TextRank、句子评分模型- 生成式:Seq2Seq + Attention、Transformer、BART、T5 | 新闻摘要、会议纪要生成、论文摘要自动生成 |
| • 抽取式摘要 | 从原文中选择关键句子组合成摘要,信息忠实但可能不连贯。 | 基于图的排序(TextRank)、句子重要性评分 | 快速摘要、新闻聚合 |
| • 生成式摘要 | 对原文内容进行理解、重组与重写,生成新句子,更灵活但易失真。 | 编码器-解码器架构 + 注意力机制、预训练模型微调 | 深度摘要、自动报告生成 |
| 机器翻译 (MT) | 将一种自然语言(源语言)自动翻译为另一种语言(目标语言),需保持语义、风格和文化一致性。 | - 统计机器翻译(SMT)- 神经机器翻译(NMT)- Transformer 模型(主导架构)- 多语言预训练(mBART、T5) | 跨语言交流、文档翻译、实时口译系统 |
| 自动问答 (QA) | 理解用户提出的自然语言问题,并从知识源中找出或生成准确答案。 | - 检索式 QA:基于搜索引擎或向量检索(DPR)- 知识库 QA:查询结构化数据库(如SPARQL)- 生成式 QA:T5、BART 微调- 阅读理解式 QA(如SQuAD任务) | 智能客服、搜索引擎问答、教育辅导系统、企业知识库查询 |
1.4 文本表示的发展历程
| 发展阶段 | 核心模型/方法 | 核心思想与工作原理 | 主要优点 | 局限性与挑战 |
|---|---|---|---|---|
| 早期统计模型 | 向量空间模型 (VSM) | 将文本表示为高维空间中的向量,维度对应特征项(词),元素值为权重(如TF、TF-IDF)。 | 实现简单,易于理解,适用于文本相似度计算和信息检索。 | 数据稀疏性和维数灾难(维度极高且多为0);假设词之间独立,忽略词序和上下文语义。 |
| 早期统计模型 | N-gram 模型 | 基于马尔可夫假设,认为一个词的出现概率仅依赖于前N-1个词,通过统计词序列的共现概率来建模。 | 实现简单,在语音识别、拼写纠错等任务中效果稳定。 | 数据稀疏性严重(N大时参数空间剧增);无法捕捉长距离依赖和复杂的语义结构。 |
| 分布式表示 (词嵌入) | Word2Vec | 基于神经网络语言模型(NNLM),通过CBOW(根据上下文预测目标词)或Skip-Gram(根据目标词预测上下文)学习词的低维密集向量。 | 生成低维、稠密的向量,能捕捉词义相似性(如国王-男人+女人≈女王),计算效率高。 | 基于局部上下文,无法捕捉长距离依赖;对于一词多义(如"苹果"指水果或公司)处理能力有限(静态词向量)。 |
| 上下文感知表示 | ELMo (Embeddings from Language Models) | 利用双向LSTM预训练语言模型,生成动态词向量。同一个词在不同上下文中会有不同的向量表示。 | 解决了一词多义问题,将预训练思想引入词向量,能捕捉更丰富的上下文信息。 | 基于RNN结构 |