一、什么是自然语言处理

自然语言处理,英文为 Natural Language Processing,简称 NLP,是计算机科学、人工智能和语言学的交叉领域。
它研究的核心问题是:
如何让计算机理解、处理和生成人类使用的自然语言。
这里的自然语言包括中文、英文、日文等人类日常使用的语言,与 Java、Python、C++ 等程序设计语言不同。
NLP主要包含三个核心目标:
- 理解:让计算机理解人类语言表达的含义。
- 处理:对文本和语音进行分析、转换、提取和操作。
- 生成:让计算机产生自然、流畅、符合语境的人类语言。
例如,用户输入:
我最近睡眠不好,应该怎么办?
一个NLP系统需要完成:
用户输入
↓
识别句子中的关键词
↓
理解用户的意图
↓
结合上下文和知识
↓
生成合适的回答
NLP并不只是简单地识别文字,而是要理解词语、句子、上下文、语气、意图以及文化背景。
第一部分:NLP简介
二、自然语言的主要特点
人类语言具有歧义性、上下文依赖性、变化性、文化性和非标准化等特点,这也是NLP比较困难的根本原因。
1. 歧义性
同一个词、同一句话可能存在多种解释。
词汇歧义
一个词可能具有多个含义。
例如:
bank
既可以表示:
- 银行、金融机构;
- 河岸。
中文中的"苹果"也可能表示:
- 水果;
- 苹果公司的产品。
句法歧义
同一个句子可能存在不同的语法结构。
例如:
我看见了那个拿着望远镜的人。
可能有两种解释:
- 那个人拿着望远镜;
- 我使用望远镜看见了那个人。
语义歧义
句子的整体含义不够明确。
例如:
他们买了苹果。
这里的"苹果"可能是水果,也可能是苹果公司的产品。
2. 上下文依赖性
相同的词在不同语境中,含义可能完全不同。
例如:
这个想法很 cool。
这里的"cool"表示"很棒"。
而:
今天很 cool。
这里的"cool"表示"凉爽"。
计算机不能只看某一个词,而要结合它前后的内容进行判断。
3. 创新性和变化性
语言并不是固定不变的。
随着社会、文化和网络的发展,会不断出现:
- 新词汇;
- 网络用语;
- 流行语;
- 缩写;
- 新的表达方式。
例如中文网络表达经历了:
给力 → YYDS → 绝绝子 → 尊嘟假嘟
这些词可能没有直接出现在传统词典中,因此NLP系统需要持续更新语言知识。
4. 文化和社会背景
语言承载着文化和社会含义。
例如中文中的:
吃了吗?
很多时候不是真的询问对方是否吃饭,而是一种日常问候。
不同地区还可能存在:
- 方言差异;
- 表达习惯差异;
- 礼貌方式差异;
- 文化隐喻差异。
5. 非标准化
现实中的语言并不总是符合标准语法。
尤其是在微博、微信、聊天记录、评论区中,经常出现:
- 口语表达;
- 缩写;
- 错别字;
- 拼音缩写;
- 语法不完整;
- 标点符号不规范;
- 中英文混合。
例如:
这个功能真滴好用
yyds
u1s1
这个idea很nice
这些非标准表达会增加NLP系统的处理难度。
三、NLP的核心任务

NLP任务可以分为基础任务、语言理解任务和实际应用任务。
1. 基础任务
分词
分词英文为 Tokenization,是把一段文本拆分成若干有意义的单位。
例如:
我喜欢学习人工智能
分词结果可能是:
我 / 喜欢 / 学习 / 人工智能
英文单词之间通常存在空格,而中文词语之间没有天然空格,因此中文分词更困难。
词性标注
词性标注英文为 Part-of-Speech Tagging,POS Tagging。
它的任务是判断每个词属于什么词性。
例如:
小明 / 名词
喜欢 / 动词
苹果 / 名词
常见词性包括:
- 名词;
- 动词;
- 形容词;
- 副词;
- 介词;
- 连词;
- 助词。
句法分析
句法分析英文为 Parsing,用于分析句子的语法结构。
例如:
小明喜欢苹果。
句法结构可以分析为:
主语:小明
谓语:喜欢
宾语:苹果
命名实体识别
命名实体识别英文为 Named Entity Recognition,NER。
它用于识别文本中的特定实体,例如:
- 人名;
- 地名;
- 机构名;
- 日期;
- 时间;
- 金额;
- 产品名称。
例如:
小明于2026年8月1日在成都参加人工智能比赛。
可以识别出:
小明:人名
2026年8月1日:日期
成都:地名
人工智能比赛:事件或活动
2. 语言理解任务
语义角色标注
识别句子中各个成分承担的语义角色。
例如:
小明用电脑编写程序。
可以分析为:
施事者:小明
工具:电脑
动作:编写
受事者:程序
共指消解
判断文本中的不同表达是否指向同一个对象。
例如:
小明今天迟到了。他觉得很抱歉。
这里的"他"指的是"小明"。
关系抽取
识别实体之间的语义关系。
例如:
张三就职于某科技公司。
可以提取:
张三 --- 就职于 --- 某科技公司
关系抽取是构建知识图谱的重要技术。
事件抽取
从文本中抽取事件以及事件中的要素,例如:
- 事件类型;
- 参与者;
- 时间;
- 地点;
- 原因;
- 结果。
例如:
2026年8月1日,某公司在北京发布了一款人工智能产品。
可以抽取:
事件:产品发布
时间:2026年8月1日
地点:北京
主体:某公司
对象:人工智能产品
3. 应用任务
文本分类
将文本划分到预先定义的类别。
例如把新闻划分为:
- 科技;
- 体育;
- 财经;
- 娱乐;
- 教育。
情感分析
判断文本表达的是:
- 正面情感;
- 负面情感;
- 中性情感。
例如
这个手机非常好用。→ 正面
这个软件总是闪退。→ 负面
今天发布了新版本。→ 中性
机器翻译
将一种语言转换为另一种语言,例如:
中文 → 英文
英文 → 中文
中文 → 日文
文本摘要
从长文本中生成较简洁的核心内容。
摘要主要包括:
- 抽取式摘要;
- 生成式摘要;
- 混合式摘要。
问答系统
根据用户提出的问题,从知识库、文档、数据库或语言模型中检索或生成答案。
四、NLP的发展历程

第一阶段:基于规则的方法时代
时间大致为20世纪50年代至80年代。
主要特点:
- 依靠人工编写语法规则;
- 使用人工知识库;
- 专家系统占主导;
- 在固定领域中效果较好;
- 泛化能力有限。
代表性工作包括:
- 1950年提出图灵测试;
- 1954年Georgetown-IBM机器翻译实验;
- 20世纪60年代ELIZA聊天机器人;
- 20世纪70年代ATN增强转移网络等语法分析技术。
典型系统包括:
SHRDLU
1970年前后出现,可以在一个虚拟积木世界中理解并执行自然语言指令。
LUNAR
用于回答与月球岩石相关的问题。
规则方法的局限包括:
- 规则覆盖范围有限;
- 难以处理复杂语言;
- 维护成本高;
- 扩展性差;
- 难以处理歧义和异常表达。
第二阶段:统计方法时代
时间大致为20世纪80年代至2010年前后。
主要特点:
- 使用大规模语料库;
- 采用统计学习方法;
- 机器学习得到广泛应用;
- 从人工规则转向数据驱动。
20世纪80---90年代
重要技术包括:
- 隐马尔可夫模型HMM;
- 概率上下文无关文法PCFG;
- 统计机器翻译;
- 词语、短语和句子对齐。
HMM常用于:
- 词性标注;
- 中文分词;
- 语音识别;
- 序列标注。
21世纪初
常见机器学习方法包括:
- 支持向量机SVM;
- 条件随机场CRF;
- 朴素贝叶斯;
- 最大熵模型。
统计方法的优势包括:
- 可以处理大规模真实文本;
- 具有一定泛化能力;
- 可以从数据中自动学习规律。
局限包括:
- 依赖大量标注数据;
- 特征工程工作量大;
- 难以捕捉深层语义。
第三阶段:深度学习时代
时间大致为2010年至2020年前后。
主要特点:
- 神经网络重新兴起;
- 使用端到端学习;
- 自动学习特征;
- 表示学习取得突破。
重要发展包括:
- RNN用于语言建模;
- Word2Vec词向量;
- Sequence-to-Sequence序列到序列模型;
- 注意力机制;
- 神经机器翻译;
- Transformer架构;
- BERT;
- GPT系列模型。
主要技术包括:
词向量
- Word2Vec;
- GloVe;
- FastText。
序列模型
- RNN;
- LSTM;
- GRU;
- 双向RNN。
注意力机制
能够让模型在处理某个位置时,关注序列中的其他重要位置。
Transformer
主要优势包括:
- 能够进行并行计算;
- 更好地处理长距离依赖;
- 成为BERT、GPT等模型的基础。
预训练模型
模型先在大规模语料上学习通用语言知识,再针对具体任务进行微调。
第四阶段:大语言模型时代
时间为2020年代至今。
主要特点包括:
- 模型规模快速增长;
- 具有零样本和少样本学习能力;
- 能够完成多种不同任务;
- 多模态能力不断增强;
- 指令理解和对话能力提高。
相关模型和发展包括:
- GPT-3;
- PaLM;
- ChatGPT;
- GPT-4;
- Claude;
- Gemini等。
技术特点包括:
规模效应
模型参数从亿级逐渐增长到千亿级甚至更大。
涌现能力
当模型达到一定规模后,可能表现出未被直接训练的新能力。
多模态融合
能够统一处理:
- 文本;
- 图像;
-音频; - 视频等信息。
指令跟随
通过指令微调等方式,使模型更好地按照用户要求完成任务。
五、NLP的主要应用领域
1. 机器翻译
机器翻译经历了:
规则机器翻译
↓
统计机器翻译 SMT
↓
神经机器翻译 NMT
↓
大语言模型翻译
技术挑战包括:
- 不同语言之间的结构差异;
- 上下文理解;
- 专业术语翻译;
- 语言风格保持;
- 文化适应。
应用包括:
- Google翻译;
- 百度翻译;
- 实时语音翻译;
- 文档翻译;
- 跨语言信息检索。
2. 搜索引擎与信息检索
核心技术包括:
- 查询理解;
- 用户意图识别;
- 文档排序;
- 语义匹配;
- 个性化推荐。
搜索技术的发展过程是:
关键词匹配
↓
语义理解
↓
个性化排序
↓
对话式搜索
↓
多模态搜索
代表性应用包括:
- Google搜索中的RankBrain;
- 百度搜索中的ERNIE;
- 对话式搜索系统。
3. 智能客服和对话系统
对话系统可以分为:
任务导向型
用于完成特定任务,例如:
- 订票;
- 查询订单;
- 预约;
- 查询物流。
闲聊型
主要进行开放领域的聊天。
混合型
同时具备任务处理和闲聊能力。
关键技术包括:
- 意图识别;
- 槽位填充;
- 对话状态管理;
- 回复生成。
例如,用户输入:
帮我订一张明天下午从成都到北京的机票。
系统需要提取:
意图:订机票
出发地:成都
目的地:北京
时间:明天下午
数量:一张
4. 文本分析和情感分析
文本分析包括:
- 主题分类;
- 关键词提取;
- 文本聚类;
- 趋势分析。
情感分析可以分为:
- 文档级;
- 句子级;
- 方面级;
- 细粒度情感分析。
例如:
这款手机的外观很好看,但是续航太差。
整体情感可能比较复杂:
外观:正面
续航:负面
商业应用包括:
- 社交媒体监控;
- 产品评论分析;
- 品牌声誉管理;
- 市场情绪分析。
5. 信息抽取
主要任务包括:
- 命名实体识别;
- 关系抽取;
- 事件抽取;
- 属性抽取。
技术方法包括:
- 基于规则的模式匹配;
- 监督学习;
- 弱监督;
- 远程监督;
- 预训练模型微调。
应用价值包括:
- 构建知识图谱;
- 智能问答;
- 新闻事件监控;
- 金融风险分析。
6. 自动摘要
摘要可以分为:
抽取式摘要
直接从原文中选择重要句子。
生成式摘要
理解原文后重新生成新的概括性文字。
混合式摘要
结合抽取式和生成式两种方法。
技术挑战包括:
- 识别重要信息;
- 保持摘要连贯;
- 控制摘要长度;
- 保证事实一致;
- 处理多个文档。
应用包括:
- 新闻摘要;
- 学术论文摘要;
- 法律文件摘要;
- 会议纪要生成。
六、NLP面临的主要挑战
1. 语言歧义
词汇歧义
例如:
打:击打、购买、开启、制作等
行:可以、行走、银行中的"行"
同音或近音歧义
例如:
的、地、得
there、their、they're
句法歧义
例如:
我看见了拿着雨伞的女孩。
可能是女孩拿着雨伞,也可能是观察者使用某种方式看见女孩。
指代歧义
例如:
李明对张华说他很聪明。
"他"可能指李明,也可能指张华。
范围歧义
例如:
所有学生都不喜欢这个老师。
可能表示:
- 每个学生都不喜欢;
- 并不是所有学生都喜欢。
解决方法包括:
- 使用上下文;
- 使用语言模型的概率判断;
- 引入知识库;
- 使用多任务学习。
2. 上下文理解
上下文包括:
局部上下文
句子内部词语和短语之间的关系。
全局上下文
段落和整篇文档的主题、逻辑和连贯性。
对话上下文
多轮对话中的历史信息和用户意图变化。
主要挑战包括:
- 长距离依赖;
- 生成内容的逻辑一致性;
- 常识推理;
- 隐含信息理解。
解决方案包括:
- 注意力机制;
- Transformer;
- 预训练语言模型;
- 知识增强模型;
- 多模态融合。
3. 文化和语言差异
跨语言挑战包括:
- 汉藏语系与印欧语系的差异;
- 形态变化与语序差异;
- 字符集差异;
- 分词方式不同。
文化差异包括:
- 成语;
- 俗语;
- 文化特有概念;
- 敬语系统;
- 礼貌表达。
例如:
画蛇添足
面子
日语敬语
英语习语
社会语言学因素包括:
- 方言;
- 正式与非正式语体;
- 口语与书面语;
- 地区表达差异。
解决策略包括:
- 多语言预训练模型;
- 跨语言迁移学习;
- 本地化数据收集;
- 文化适配。
4. 数据稀缺
数据稀缺可能出现在:
- 低资源语言;
- 少数民族语言;
- 方言;
- 濒危语言;
- 医学领域;
- 法律领域;
- 新兴技术领域。
解决方法包括:
- 迁移学习;
- 数据增强;
- 少样本学习;
- 无监督学习;
- 自监督学习;
- 众包标注;
- 合成数据。
5. 计算复杂性
随着模型规模增长,会出现:
- 参数量增加;
- 训练成本上升;
- 推理延迟增加;
- 显存和计算资源消耗;
- 部署困难。
实时系统还要求:
- 搜索引擎毫秒级响应;
- 对话系统快速回复;
- 移动设备低资源运行;
- 同时处理大量用户请求。
6. 评估困难
自然语言生成具有一定主观性。
例如:
- 翻译是否自然;
- 摘要是否准确;
- 文本是否流畅;
- 创意写作是否优秀。
常见指标包括:
- BLEU;
- ROUGE;
- 准确率;
- 召回率;
- F1值。
但自动指标不能完全代替人工评价,还存在:
- 数据集代表性不足;
- 评测任务与真实应用不一致;
- 数据集可能过时;
- 不同文化背景评价不同。
第二部分:语言学基础

七、为什么学习NLP需要语言学基础
NLP并不仅仅是训练神经网络。
计算机要理解语言,需要知道语言由哪些层次组成,以及声音、词语、句子和语境之间如何产生意义。
语言学主要包括:
- 语音学;
- 音系学;
- 形态学;
- 句法学;
- 语义学;
- 语用学。
可以把这些层次理解为:
语音学、音系学:研究怎么发音
↓
形态学:研究词是怎么组成的
↓
句法学:研究句子怎么组织
↓
语义学:研究句子表达什么意义
↓
语用学:研究在具体语境中真正想表达什么
语言学为NLP提供理论框架和分析工具。
八、语音学与音系学
1. 语音学
语音学研究语音的物理特征、声学特征和产生机制。
发音器官
主要包括:
- 肺部:提供气流;
- 喉头:声带振动产生浊音;
- 口腔:舌头、牙齿和嘴唇调节气流;
- 鼻腔:产生鼻音。
辅音分类
辅音可以按照发音方式分类:
- 塞音:/p/、/b/、/t/、/d/、/k/、/g/;
- 擦音:/f/、/v/、/s/、/z/;
- 塞擦音:/ts/、/tʃ/;
- 鼻音:/m/、/n/、/ŋ/;
- 边音:/l/;
- 颤音:/r/。
也可以按照发音部位分类:
- 双唇音:/p/、/b/、/m/;
- 唇齿音:/f/、/v/;
- 舌尖音:/t/、/d/、/n/;
- 舌根音:/k/、/g/、/ŋ/。
元音分类
元音可以按照舌位高低、舌位前后和唇形分类。
舌位高低:
- 高元音:/i/、/u/;
- 中元音:/e/、/o/;
- 低元音:/a/。
舌位前后:
- 前元音:/i/、/e/;
- 央元音:/a/;
- 后元音:/u/、/o/。
唇形:
- 圆唇音:/u/、/o/;
- 不圆唇音:/i/、/e/、/a/。
汉语语音特点
汉语属于声调语言,声调可以区别意义。
普通话有四个基本声调:
- 阴平;
- 阳平;
- 上声;
- 去声。
例如:
妈 mā
麻 má
马 mǎ
骂 mà
汉语音节通常具有"声母+韵母"的结构。
页面内容列出:
- 21个基本声母;
- 39个基本韵母。
2. 音系学
音系学研究语音在某一种具体语言中的组织规律和功能。
音位
音位是具有区别意义功能的最小语音单位。
例如英语中:
pit
bit
/p/和/b/的变化会导致词义发生变化,因此它们属于不同音位。
汉语中,声调也具有区别意义的作用。
音位变体
同一个音位在不同语音环境中可能出现不同的实际发音,这些不同发音称为音位变体。
例如,英语中的/p/在不同位置可能具有不同的送气程度。
音韵规则
音韵规则描述语音在特定环境中的变化。
例如:
- 汉语"一"的变调;
- 英语复数词尾的不同读音。
英语复数可以读作:
cats:/s/
dogs:/z/
horses:/ɪz/
在NLP中的应用
语音学和音系学可以应用于:
- 语音识别;
- 语音合成;
- 拼音转汉字;
- 音字转换;
- 韵律分析;
- 诗歌韵律计算。
九、形态学
形态学研究词语的内部结构和构词规律。
1. 词素
词素是语言中最小的有意义语法单位。
词素可以分为:
自由词素
可以独立使用。
例如:
书
run
粘着词素
不能独立使用,必须依附在其他词素上。
例如:
- 前缀;
- 后缀;
- 某些语法标记。
2. 词根、词缀和词干
词根
词根是词语核心意义的承担者。
例如:
unhappiness
其中"happy"是词根。
词缀
词缀包括:
- 前缀:un-、re-、pre-;
- 后缀:-ness、-tion、-ly;
- 中缀:出现在词语中间,比较少见。
词干
词干通常指去掉屈折词缀后剩余的部分。
3. 构词方式
派生
通过添加派生词缀改变词义或词性。
例如:
happy → unhappy
happy → happiness
teach → teacher
复合
将两个或多个词根组合成新词。
英文例子:
black + board → blackboard
lap + top → laptop
中文例子:
电 + 脑 → 电脑
手 + 机 → 手机
屈折
改变词的语法形式,但不改变词的基本意义。
例如:
walk
walks
walked
walking
名词复数:
book → books
child → children
中文的屈折变化相对较少。
4. 中文形态学特点
中文词语边界比较模糊。
例如:
研究生
可以作为一个完整词语,也可能在某些语境中被分析为:
研究 / 生
中文构词以复合构词为主,包括:
- 偏正式;
- 动宾式;
- 主谓式;
- 并列式。
页面中的例子包括:
火车:偏正式
司机:动宾式
地震:主谓式
朋友:并列式
中文还存在重叠构词:
- 动词重叠:看看、走走;
- 形容词重叠:红红的、慢慢地;
- 名词重叠:人人、事事。
中文词类使用比较灵活,同一个词在不同语境中可能充当不同词性。
5. 形态学在NLP中的应用
词干提取
将不同形式的词还原到词干。
例如:
running
runs
ran
尝试还原为:
run
词形还原
将词还原到词典中的标准形式,即引理。
词形还原通常会考虑词性,因此比简单词干提取更加准确。
中文分词
由于中文词语之间没有空格,需要使用:
- 词典方法;
- 统计方法;
- 神经网络方法。
词性标注
确定每个词的语法类别,为句法分析、实体识别等后续任务提供基础。
十、句法学
句法学研究句子的结构和组织规律。
1. 短语结构
常见短语包括:
名词短语NP
以名词为中心。
例如:
那本有趣的书。
动词短语VP
以动词为中心。
例如:
快速地跑步。
介词短语PP
以介词为中心。
例如:
在桌子上。
形容词短语AP
以形容词为中心。
例如:
非常美丽。
2. 句子成分
常见句子成分包括:
- 主语:动作执行者或句子描述对象;
- 谓语:描述主语的动作或状态;
- 宾语:动作承受者;
- 定语:修饰名词;
- 状语:修饰动词或形容词;
- 补语:对前面的成分进行补充说明。
3. 短语结构文法
短语结构文法使用重写规则描述句子的结构。
例如:
S → NP VP
NP → Det N
VP → V NP
Det → the | a | an
N → cat | dog | book
V → chase | read
其中:
- S表示句子;
- NP表示名词短语;
- VP表示动词短语;
- Det表示限定词;
- N表示名词;
- V表示动词。
4. 依存文法
依存文法重点研究词与词之间的依存关系。
例如:
小猫追老鼠。
可以分析为:
追
/ \
小猫 老鼠
/
小
其中:
- "追"是根节点;
- "小猫"与"追"是主谓关系;
- "老鼠"与"追"是动宾关系;
- "小"修饰"猫"。
5. 中文句法特点
中文基本语序为:
主语 + 谓语 + 宾语
SVO
例如:
小明喜欢苹果。
中文修饰语通常放在被修饰语前面:
那个穿红衣服的美丽女孩。
中文还有一些特殊结构:
把字句
把 + 宾语 + 动词
例如:
我把书放在桌子上。
被字句
主语 + 被 + 施事者 + 动词
例如:
书被我放在桌子上。
存现句
用于表示存在或出现。
例如:
桌子上放着一本书。
中文缺少丰富的词形变化,因此词序和上下文承担着重要作用。
6. 句法分析的挑战
结构歧义
例如:
我看见了拿着望远镜的人。
长距离依赖
句子中存在距离较远但相互关联的成分。
例如:
什么书你昨天买了?
"什么书"和"买"之间存在语义和句法依赖。
省略
中文经常省略主语、宾语等成分。
例如:
昨天看了电影,很好看。
可能省略了:
我昨天看了电影,电影很好看。
NLP应用
句法分析可以用于:
- 机器翻译;
- 信息抽取;
- 问答系统;
- 句子理解。
常用资源包括:
- Penn Treebank;
- 中文树库CTB。
十一、语义学
语义学研究语言表达的意义,是自然语言理解的核心。
1. 词汇语义
词汇语义包括:
- 词义;
- 一词多义;
- 同义关系;
- 反义关系;
- 上下位关系。
同义词
不同词语表达相同或相近意义。
例如
快乐---高兴
大---巨大
完全同义词比较少,大多数属于近义词。
反义词
反义关系可以分为:
- 互补反义:死---活;
- 等级反义:冷---热、大---小;
- 关系反义:老师---学生、买---卖。
上下位关系
例如:
动物:上位词
狗、猫:动物的下位词
2. 句子语义
句子表达的基本语义内容称为命题。
例如:
小明在图书馆看书。
可以分析为:
施事者:小明
动作:看
受事者:书
地点:图书馆
语义角色
常见语义角色包括:
- 施事者Agent;
- 受事者Patient;
- 工具Instrument;
- 地点Location;
- 时间Time;
- 方式Manner。
论元结构
不同动词要求不同数量和类型的语义参与者。
例如动词"给"通常需要三个论元:
给予者
接受者
给予物
3. 语义表示
逻辑表示
使用逻辑公式表示句子含义。
例如:
有人很高兴。
可以表示为:
∃x(人(x) ∧ 高兴(x))
框架语义学
通过一个完整的认知场景理解词义。
例如"购买"涉及:
- 买方;
- 卖方;
- 商品;
- 价格。
FrameNet是基于框架语义学构建的语言资源。
概念图
使用图结构表示概念和关系。
其中:
- 节点表示概念;
- 边表示关系。
这也是知识图谱的基本思想之一。
4. 语义歧义
包括:
- 一词多义;
- 同音异义;
- 修饰歧义;
- 范围歧义;
- 指代歧义;
- 语用歧义。
例如:
漂亮的女孩的衣服。
可能是女孩漂亮,也可能是衣服漂亮。
5. 语义学在NLP中的应用
常见资源包括:
- WordNet;
- HowNet;
- 同义词词林。
常见任务包括:
- 词义消歧;
- 语义角色标注;
- 语义相似度计算。
应用领域包括:
- 问答系统;
- 机器翻译;
- 信息检索。
十二、语用学
语用学研究语言在具体交际环境中的使用,强调语境对意义的影响。
1. 语境
语境包括:
- 语言语境:前后文;
- 情景语境:具体场景;
- 文化语境:社会和文化背景。
例如:
这里有点冷。
表面是在描述温度,但在某些语境下,实际意图可能是:
请把窗户关上。
2. 言语行为理论
言语行为可以分为:
言内行为
说出一句话本身。
言外行为
说话者通过这句话希望达到的目的。
言后行为
这句话对听者产生的实际效果。
言外行为类型包括:
- 断言类:陈述事实;
- 指令类:要求行动;
- 承诺类:承诺未来行动;
- 表达类:表达态度和情感;
- 宣告类:通过语言改变现实状态。
3. 语用现象
指示语
必须结合语境才能确定对象。
包括:
- 人称指示:我、你、他;
- 时间指示:现在、昨天、明天;
- 空间指示:这里、那里;
- 语篇指示:如上所述、综上所述。
预设
说话者默认听话者已经接受的信息。
例如:
小明的妻子很漂亮。
这句话预设:
小明已经结婚。
会话含义
说话者表达的真实含义可能没有直接说出来。
例如:
A:你知道几点了吗?
B:知道。
B虽然回答了问题的字面形式,但没有提供时间,可能暗示不愿意告诉对方。
合作原则
包括:
- 量准则:提供适量信息;
- 质准则:说真实的话;
- 关系准则:说与当前话题相关的话;
- 方式准则:表达清晰。
4. 中文语用特点
礼貌策略
中文常使用:
- 请问;
- 麻烦您;
- 不好意思;
- 能否;
- 方便的话。
高语境文化
中文表达常常比较含蓄,依赖具体场景理解。
例如,中文拒绝可能不会直接说"不",而是说:
以后有机会再说。
面子理论
包括:
- 积极面子:希望获得认可;
- 消极面子:希望不受打扰和限制。
这些因素会影响说话者选择直接表达还是委婉表达。
5. 语用学在NLP中的应用
对话系统
包括:
- 意图识别;
- 槽位填充;
- 对话管理。
情感分析
包括:
- 隐含情感识别;
- 反讽检测;
- 反话理解。
例如:
这个软件可真好用,又闪退了十次。
字面上包含"好用",实际表达的是负面情绪。
机器翻译
除了翻译字面意思,还需要实现:
- 语用等价;
- 礼貌方式转换;
- 文化适应。
十三、中文语言的主要特点
1. 中文必须进行分词
中文词语之间没有天然空格。
例如:
我爱北京天安门
需要划分为:
我 / 爱 / 北京 / 天安门
但是中文中"字、词、短语"的界限并不总是清晰,上下文会影响分词结果。
2. 中文分词歧义
组合歧义
例如:
结婚的和尚未结婚的。
错误分词:
结婚的 / 和尚 / 未结婚的
正确分词:
结婚的 / 和 / 尚未 / 结婚的
交集歧义
例如:
长春市长春药店。
可能出现:
长春市 / 长春 / 药店
也可能错误划分为:
长春 / 市长 / 春药店
真歧义
不同分词结果在语法和语义上都可能成立。
例如:
乒乓球拍卖完了。
可以划分为:
乒乓球拍 / 卖完了
也可以划分为:
乒乓球 / 拍卖 / 完了
3. 中文分词方法
基于词典的方法
包括:
- 正向最大匹配;
- 逆向最大匹配;
- 双向最大匹配。
优点:
- 简单;
- 速度快;
- 容易实现。
缺点:
- 难以处理歧义;
- 难以识别未登录词;
- 依赖词典质量。
基于统计的方法
包括:
- N-gram;
- HMM;
- CRF。
基于深度学习的方法
包括:
- BiLSTM-CRF;
- BERT;
- 字符级神经网络。
十四、汉字、词汇与语法结构
1. 汉字特点
汉字具有方块字结构,每个字通常占据相对独立、等宽的空间,并具有字形、字音和字义。
汉字包括:
- 象形字:日、月、山、水;
- 指事字:上、下、本、末;
- 会意字:明、休、信;
- 形声字:例如"江"由"氵"和"工"组成。
形声字在汉字中占较大比例。
汉字还存在:
- 一字多音:行、长;
- 一字多义:打等。
2. 词汇特点
中文构词方式丰富。
单纯词
不能简单拆分成多个独立语素。
例如:
- 桌子;
- 葡萄。
合成词
由两个或多个语素组成。
例如:
- 电脑;
- 手机;
- 第一;
- 老师。
中文词语的语义透明度通常较高。
例如:
洗衣机 = 洗 + 衣 + 机
有时可以根据组成汉字推测词义。
中文词类转换灵活,同一个词可能在不同环境中承担不同词性。
3. 中文语法结构
中文基本语序相对固定:
主语 + 谓语 + 宾语
定语通常放在中心语前:
红色的花。
状语通常放在谓语前:
慢慢地走。
中文表达语法意义的主要手段包括:
- 语序;
- 虚词;
- 重叠。
常见虚词包括:
的、地、得、了、着、过
中文缺少丰富的:
- 动词时态变化;
- 语态形态变化;
- 名词格变化;
- 单复数一致变化。
十五、中文NLP的特殊挑战
1. 文本预处理
主要问题包括:
- 分词歧义;
- 新词识别;
- 专业术语识别;
- 简体和繁体转换;
- 字符编码转换。
简繁转换并不总是一一对应。
还存在地区用词差异,例如:
计算机 / 电脑
出租车 / 的士
公交车 / 巴士
常见编码包括:
- GB2312;
- GBK;
- UTF-8。
编码处理错误可能导致乱码或信息丢失。
2. 语言变体
方言差异
方言在语音、词汇和语法上均可能存在差异。
例如:
- 北京话"倍儿";
- 上海话"阿拉"。
方言会影响:
- 语音识别;
- 文本理解;
- 机器翻译。
文体差异
包括:
- 古文与现代文;
- 正式语言与口语;
- 新闻文本与聊天文本;
- 网络流行语。
港澳台地区表达
可能存在:
- 用词差异;
- 语法结构差异;
- 外来词翻译差异。
3. 语义理解
中文存在:
- 指代复杂;
- 主语省略;
- 宾语省略;
- 语境依赖强;
- 成语和典故丰富;
- 表达委婉含蓄;
- 把字句和被字句等灵活结构。
因此,中文NLP不仅需要分析字词,还需要利用上下文和文化知识。
十六、文本的层次结构
文本可以分为多个处理层次:
字符
↓
词汇
↓
短语
↓
句子
↓
篇章
1. 字符层面
字符是文本的最小视觉单位,包括:
- 英文字母;
- 汉字;
- 数字;
- 标点符号;
- 特殊符号。
常见编码包括:
- ASCII;
- Unicode;
- UTF-8。
字符级模型包括:
- 字符级RNN;
- 字符级CNN;
- Transformer。
应用包括:
- 拼写检查;
- 字符级文本生成;
- 低资源语言处理。
2. 词汇层面
词汇可以分为:
- 实词;
- 虚词;
- 功能词;
- 内容词。
独热编码
每个词使用一个长度等于词表大小的向量表示,只有对应位置为1,其余为0。
缺点是:
- 维度高;
- 向量稀疏;
- 无法表达词语之间的语义关系。
词向量
常见模型包括:
- Word2Vec;
- GloVe;
- FastText。
Word2Vec包含:
- CBOW:根据上下文预测中心词;
- Skip-gram:根据中心词预测上下文。
上下文词向量
包括:
- ELMo;
- BERT。
传统词向量中,同一个词通常只有一个固定表示;上下文词向量可以让同一个词在不同语境中获得不同表示。
词汇关系
包括:
- 同义关系;
- 反义关系;
- 上下位关系;
- 词根关系;
- 派生关系;
- 复合关系;
- 分布关系。
分布式语义的基本假设是:
在相似上下文中出现的词,通常具有相关的语义。
词汇级处理
包括:
- 大小写统一;
- 词干提取;
- 词形还原;
- 停用词过滤;
- 低频词处理;
- 未知词标记。
应用包括:
- 信息检索;
- 文本分类;
- 机器翻译。
3. 短语层面
短语由多个词组成,具有内部结构和整体语法功能。
类型包括:
- 名词短语NP;
- 动词短语VP;
- 介词短语PP;
- 形容词短语AP。
短语识别方法包括:
- 基于规则;
- 基于统计;
- 基于深度学习。
深度学习方法包括:
- BiLSTM-CRF;
- BERT;
- 端到端短语识别。
短语表示方法包括:
- 词向量简单平均;
- 加权平均;
- 递归神经网络;
- 直接学习短语嵌入。
应用包括:
- 信息抽取;
- 搜索查询理解;
- 情感分析。
4. 句子层面
句子是表达完整意义并具有语法独立性的语言单位。
句子类型包括:
- 陈述句;
- 疑问句;
- 祈使句;
- 感叹句。
句子表示方法包括:
词袋模型
忽略词序,只统计词语出现情况。
TF-IDF
根据词语的重要程度为词语分配不同权重。
序列模型
RNN和LSTM按照词语顺序处理句子。
句子嵌入
包括:
- Skip-Thought;
- InferSent;
- Sentence-BERT。
句法结构表示
包括:
- 依存树;
- 成分树;
- 图结构。
句子级任务包括:
- 句子分割;
- 句子压缩;
- 句子改写。
应用包括:
- 机器翻译;
- 文本摘要;
- 问答系统。
5. 篇章层面
篇章由多个句子组成,要求:
- 主题一致;
- 逻辑连贯;
- 结构完整。
篇章的衔接手段包括:
- 指代;
- 连接词;
- 词汇重复;
- 同义词;
- 上下位词;
- 省略。
篇章关系包括:
- 因果;
- 转折;
- 并列;
- 时序。
篇章分析任务包括:
指代消解
例如:
小明迟到了。他很抱歉。
需要判断"他"指的是"小明"。
主题建模
例如使用LDA发现文档中的潜在主题。
情感轨迹分析
分析一篇文章中的情绪变化和情感转折点。
篇章表示包括:
- 全局向量;
- 图结构;
- 记忆网络;
- 层次化表示。
应用包括:
- 自动摘要;
- 多句推理问答;
- 长文本生成。
十七、语言模型与概率语法
1. 什么是语言模型
语言模型用于计算一个词序列出现的概率。
形式可以表示为:
P(w₁,w₂,...,wₙ)
语言模型可以判断一句话是否自然、合理。
例如:
我今天去学校。
今天我学校去。
第一句话通常具有更高概率。
应用包括:
- 语音识别;
- 机器翻译;
- 文本生成;
- 下一个词预测。
2. N-gram模型
N-gram基于马尔可夫假设:
当前词主要依赖前面的有限个词,而不必依赖整个历史序列。
公式可以表示为:
P(wᵢ | w₁,...,wᵢ₋₁)
≈
P(wᵢ | wᵢ₋ₙ₊₁,...,wᵢ₋₁)
模型训练通常包括:
- 统计词语组合次数;
- 最大似然估计;
- 概率归一化;
- 平滑处理。
平滑方法包括:
- 加一平滑;
- Good-Turing平滑等。
N-gram的局限包括:
- 数据稀疏;
- 难以捕捉长距离依赖;
- 上下文范围有限。
3. 神经网络语言模型
前馈神经网络
结构包括:
输入层
↓
嵌入层
↓
隐藏层
↓
输出层
输入通常是前面若干个词,输出是下一个词的概率分布。
优势包括:
- 分布式表示缓解数据稀疏;
- 自动学习特征;
- 泛化能力更强。
RNN语言模型
RNN通过隐藏状态传递历史信息,可以处理变长序列。
LSTM和GRU
主要用于:
- 缓解梯度消失;
- 建模长距离依赖;
- 提高训练稳定性。
Transformer
依靠自注意力机制实现:
- 全局上下文建模;
- 并行计算;
- 位置编码;
- 长距离信息交互。
预训练语言模型包括:
- BERT:双向上下文表示;
- GPT:自回归生成模型。
4. 概率语法模型
概率上下文无关文法
为每条语法规则分配概率。
例如:
P(X → γ)
句子的概率可以由推导路径中规则概率的乘积得到。
应用包括:
- 句法分析;
- 句子概率评估;
- 歧义消解。
概率依存文法
为词语之间的依存关系分配概率,并考虑:
- 词语共现;
- 词语距离;
- 语法约束。
解析方法包括:
- 基于图的方法;
- Eisner算法;
- 基于转移的方法;
- 神经网络解析器。
十八、语言资源与数据集
1. 通用语料库
英文语料库包括:
- Brown Corpus;
- British National Corpus;
- Corpus of Contemporary American English。
中文语料库包括:
- 北京大学现代汉语语料库;
- 国家语委现代汉语平衡语料库;
- 中文维基百科语料。
2. 标注语料库
词性和句法资源包括:
- Penn Treebank;
- 中文树库CTB;
- Chinese Dependency Treebank。
语义标注资源包括:
- PropBank;
- FrameNet;
- SemEval相关数据。
3. 词汇语义资源
英文资源包括:
WordNet
包含:
- 同义词集合;
- 词汇关系;
- 上下位关系;
- 语义网络。
FrameNet
包含:
- 语义框架;
- 语义角色;
- 标注例句。
中文资源包括:
HowNet
包含:
- 中英文概念词典;
- 义原分析;
- 语义关系网络。
同义词词林
包含:
- 中文同义词分类;
- 层次化词汇结构;
- 词汇扩展资源。
4. 标准数据集
分词和词性标注:
- PKU;
- MSRA。
句法分析:
- Chinese Treebank;
- CTB不同版本。
语义分析:
- Chinese PropBank;
- NLPCC相关数据。
文本分类:
- THUCNews;
- Fudan Corpus。
情感分析:
- ChnSentiCorp;
- Weibo Sentiment Corpus。
问答系统:
- NLPCC QA;
- WebQA。
十九、语言学与NLP的交叉研究
1. 计算语言学
研究内容包括:
语音技术
- 语音识别;
- 语音合成;
- 语音转换。
语法分析
- 自动句法分析;
- 文法归纳;
- 树库构建。
语义计算
- 词义消歧;
- 语义角色标注;
- 语义相似度。
2. 认知语言学与NLP
语言习得建模
研究:
- 儿童词汇增长;
- 语法发展;
- 认知启发的NLP模型。
神经认知模型
研究:
- 大脑语言处理机制;
- 神经符号系统;
- 多模态学习。
语言进化建模
通过计算模拟研究:
- 词汇形成;
- 语法涌现;
- 文化传播。
多智能体系统还可以研究:
- 交流系统演化;
- 符号接地;
- 语言游戏。
3. 社会语言学与NLP
研究内容包括:
方言识别
- 语音特征;
- 词汇差异;
- 方言机器翻译。
社会语言特征
页面列出的方向包括:
- 年龄相关语言差异;
- 性别相关语言差异;
- 教育水平预测;
- 地域方言分析。
在实际应用中,这类技术还需要特别注意隐私、公平性和算法偏见问题。
语言政策支持
包括:
- 少数民族语言资源建设;
- 濒危语言保护;
- 多语言技术开发。
语言教育技术
包括:
- 计算机辅助学习;
- 自动作文评分;
- 个性化教学系统。
二十、两个页面的核心知识关系
这两个页面并不是相互独立的。
第一个页面主要回答:
NLP是什么、能做什么、经历了哪些发展、面临哪些问题。
第二个页面主要回答:
计算机要理解语言,需要从哪些语言层次进行分析。
完整关系可以整理为:
自然语言
↓
语音、音系
↓
字符
↓
词素和词汇
↓
短语
↓
句法结构
↓
句子语义
↓
语用和上下文
↓
篇章理解
↓
NLP任务
├─ 分词
├─ 词性标注
├─ 命名实体识别
├─ 句法分析
├─ 关系抽取
├─ 情感分析
├─ 机器翻译
├─ 文本摘要
└─ 问答系统
↓
模型和技术
├─ 规则方法
├─ 统计方法
├─ 机器学习
├─ RNN/LSTM
├─ 注意力机制
├─ Transformer
├─ BERT
└─ GPT与大语言模型
二十一、补充理解:NLP系统实际是怎样工作的
以用户输入:
帮我查询明天下午从成都到北京的机票。
为例,一个实际NLP系统可能执行:
第一步:文本预处理
清理特殊字符
统一编码
处理错别字
第二步:分词
帮 / 我 / 查询 / 明天 / 下午 / 从 / 成都 / 到 / 北京 / 的 / 机票
第三步:词性标注
查询:动词
明天:时间词
成都:专有名词
北京:专有名词
机票:名词
第四步:命名实体识别
明天下午:时间
成都:出发地
北京:目的地
第五步:意图识别
意图:查询机票
第六步:槽位填充
出发地:成都
目的地:北京
日期:明天
时间:下午
第七步:调用业务系统
机票接口
数据库
第三方服务
第八步:生成回答
已为你找到明天下午从成都到北京的航班信息......
因此,一个完整的NLP应用通常是:
语言学知识
+
数据处理
+
机器学习或深度学习
+
业务系统
+
数据库或知识库
二十二、学习总结
自然语言处理的本质,是将人类语言转换为计算机可以计算、比较和学习的数据表示,然后完成理解、分类、抽取、翻译、生成和对话等任务。
学习这部分内容时,可以按以下顺序理解:
第一步:理解NLP是什么
第二步:理解语言的特点和歧义
第三步:学习字符、词、短语、句子和篇章
第四步:学习分词、词性标注、NER和句法分析
第五步:学习词向量和文本表示
第六步:学习机器学习模型
第七步:学习RNN、LSTM和注意力机制
第八步:学习Transformer、BERT和GPT
第九步:完成文本分类、情感分析或问答项目
最重要的认识是:
NLP不只是"把文字输入神经网络",而是利用语言学、数学、统计学、机器学习和深度学习,让计算机逐步理解语言的结构、意义、上下文和真实意图。
NLP 简介 | 菜鸟教程,语言学基础 | 菜鸟教程,本篇文章是对上面两个链接的总结,也是自己的学习总结与归纳,如有冒犯请私聊删除。