自然语言处理 课堂笔记 / 期末复习
课程基本信息
考试
内容来自PPT、课上提问
10选(10分)
8简(90分)每个 2-3小问
(CNN、RNN、Transformer、Bayes每章都有,绪论基本概念也有)
其他
虞剑飞
助教:宋晓(单)
10%课堂+40%实践+50%期末
20分课后作业
- 
基于CNN的文本分类 
- 
基于RNN的命名实体识别 
- 
基于transformer的机器翻译(英译中) 代码+文档报告(方法、 实验结果、分析)+1~2分钟的程序演示视频 
20分期末项目
- 
针对某个NLP任务复现最新论文中的算法 
- 
结合最新NLP技术提升其他研究方向任务的性能 项目报告+源代码+PPT+10-15分钟PPT演讲+答辩 
教材
- Foundations of Statistical Natural Language Processing
- 统计自然语言处理 宗成庆
- 文本数据挖掘 宗成庆
PPT主要基于宗成庆(中科院自动化所)、张家俊
网课
- cs4705(columbia)
- Christopher Manning(cs224n)
- Dan Jurafsky
会议
- 
ACL (Annual Meeting of the Association for Computational Linguistics) 
- 
COLING (International Conference on Computational 
 Linguistics)
- 
EMNLP (Conference on Empirical Methods in Natural Language 
 Processing)
- 
NAACL (Annual Conference of the North American Chapter of the Association for Computational Linguistics) 
期末冲刺
1 概念
- 
语言学:研究语言的本质、结构、发展规律 
- 
计算语言学 CL 
- 
自然语言理解 NLU 概念来自达特茅斯会议 1956 
回顾会议参与人员:
约翰·麦卡锡(John McCarthy)、马文·闵斯基(Marvin Minsky,人工智能与认知学专家)、克劳德·香农(Claude Shannon,信息论的创始人)、艾伦·纽厄尔(Allen Newell,计算机科学家)、赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)、所罗门诺夫、Arthur Samuel(搞国际象棋的)、奥利弗·塞尔弗里奇(Oliver Selfridge,提出了Pandemonium)、 罗切斯特(Nathaniel Rochester,计算机设计)、 Trenchard More
- 自然语言处理 NLP
- 人类语言技术 HLT 最大的一个概念
语言的一种分类
- 屈折语(英语)
- 黏着语(日语)
- 孤立语/分析语(汉语)
学科发展:
基于模板—基于规则—基于统计—深度学习
理性主义—经验主义—连结主义
研究内容大致可分为:
分类、序列标注、生成、结构预测(如依存句法分析)
任务
- 机器翻译
- 信息检索
- 自动文摘
- 问答系统
- 信息过滤
- 信息抽取
- 文档分类
- 情感分类
- 文字编辑和自动校对
- 文字识别 CR
- 语音识别 ASR
- 语音合成 TTS
- 说话人识别
基本问题
- 
Morphology形态学问题 研究词 (word) 是如何由有意义的基本单位词素 (morphemes) 构成的。 
- 
Syntax句法问题 
- 
Semantics语义学问题 
- 
Pragmatics语用学问题 
- 
Phonetics语音学问题 
主要困难
- 歧义ambiguity
- 未知语言现象
基本方法
- 
规则方法 
- 
统计机器翻译方法 
- 
神经机器翻译方法 
自然语言通常是指一种自然地随文化演化的语言。世界语则为人造语言,即是一种为某些特定目的而创造的语言。
2 基于规则的方法
例子:Text2SQL
规则方法可以用于词法分析、句法分析、语义分析等
词法分析包括:
- 
形态还原(针对英语等),把句子中的词还原成它们的基本词形即原形 
- 
分词(针对汉语、日语等) 信息处理用现代汉语分词规范:GB-13715 切分歧义问题 依据词典库和规则库的匹配分词方法,具体包括FMM、RMM、BMM等 具体算法参考: 自然语言处理-中文分词相关算法(MM、RMM、BMM、HMM)_在自然语言处理中,基于机器学习算法的中文分词算法包括-CSDN博客 利用歧义字串前驱字串和后继字串的句法语义和语用信息分词 
- 
词性标注,为句子中的词标上预定义类别集合中的类 按句法相关性+语义相关性分类 兼类词问题 规则方法、统计方法、基于转换的错误驱动方法 
- 
命名实体识别 匹配方法,即依赖词典、模板、正则表达式 
机器翻译之规则翻译:
 分析、转换、生成
- 基于词的
- 基于句法结构转换的
- 基于语义转换的
- 基于中间语言的
3 文本分类
将给定的文本文档或句子分类为预定义的类别
- 单标签多类别文本分类
- 多标签多类别文本分类
基准公开数据集:SST、IMDb Review等
传统机器学习方法
- 
文本表示 向量空间模型(vector space model, VSM),核心是将文本视为特征项的集合 特征项: VSM 中最小的语言单元,可以是字、词、短语等。 特征项权重:用𝑤表示特征项𝑡的权重,相应地,文本可以表示为 (𝑡1:𝑤1,𝑡2:𝑤2,…,𝑡𝑛:𝑤𝑛)或(𝑤1,𝑤2,…,𝑤𝑛),可以是 - 
布尔变量 
- 
词频tf (权重通常取log) 
- 
逆文档频率idf = log(N/df) 
- 
TF-IDF = tf*idf 
 
- 
- 
特征选择 - 
文档频率df:文档集中含有该特征的文档数目 
- 
互信息MI 互信息MI是点式互信息PMI的期望。 
- 
信息增益IG 
 
- 
- 
分类算法 - 朴素贝叶斯(多项式分布版)【重要!】
- 线性判别
- SVM
- 最大熵模型
- 无监督
- 半监督
 
性能评估:召回率、精确率和 𝐹1值
- 
宏平均 
- 
微平均 
在二分类且类别互斥的情况下,𝑴𝒊𝒄𝒓𝒐_𝑷、𝑴𝒊𝒄𝒓𝒐_𝑹、𝑴𝒊𝒄𝒓𝒐_𝑭𝟏都与正确率 𝑨𝒄𝒄相等。
ROC、AUC
4 语言模型
n元文法模型(n-gram model)
希望计算一段文字的概率。
n元文法模型基于一个假设:第n个词出现与前n-1个词相关,而与其他任何词不相关。
语句 $ s = w_1w_2 \ldots w_m $ 的先验概率: $$ p(s) = p(w_1) \times p(w_2|w_1) \times p(w_3|w_1w_2) \times \cdots \times p(w_m|w_1 \ldots w_{m-1}) $$ $$ p(s) = \prod_{i=1}^{m} p(w_i|w_1 \ldots w_{i-1}) $$
说明:
- 
$ w_i $ 可以是字、词、短语或词类等,统称为统计基元。通常以“词”(token)代之; 
- 
$ w_i $ 的概率取决于 $ w_1, \ldots, w_{i-1} $,条件序列 $ w_1, \ldots, w_{i-1} $ 称为 $ w_i $ 的历史(history)。 
问题:历史基元越来越长,参数量迅速增长
解决:将两个历史映射到同一个等价类当且仅当这两个历史中的最近𝑛−1个基元相同,即只考虑历史基元与当前词构成𝑛元词序列,又被称为n-1阶马尔可夫链
可以在句子首尾两端增加两个标志\(w_0=<BOS>,w_{m+1}=<EOS>\)
应用示例 音字转换问题/拼音输入法
那么n-gram的参数怎么计算呢?
- 
最大似然估计 说白了是用频率替换概率 
- 
数据平滑方法 调整最大似然估计得到的概率值 使零概率增值 使非零概率下调 劫富济贫 消除零概率 目标:降低困惑度 困惑度就是在测试集上对语言模型的评价 测试语料 $ T $ 由 $ l_T $ 个句子构成:$ (s_1, s_2, \cdots, s_{l_T}) $,共含 $ w_T $ 个词(是总词数),那么,整个测试集的概率为: $$ p(T) = \prod_{i=1}^{l_T} p(s_i) $$ 困惑度: $$ PP_P(T) = 2^{-\frac{1}{w_T} \log_2 p(T)} $$ 数据平滑方法:加1法(重要!) 
神经语言模型
n-gram的问题:训练用数据稀疏、忽略语义相似性
- 
前馈神经网络语言模型 在使用网络之前要进行词向量表示 Word Embeddings 【词表规模的确定: 1 . 训练数据中所有词; 2 频率高于某个阈值的所 
 有词; 3 前 V 个频率最高的词】然后拼接条件词向量送入网络,输出下一个词的概率分布(本质是多分类问题) 问题:还是仅对小窗口的历史信息进行建模,n-gram 语言模型仅考虑了前面𝑛−1个词的历史信息 
- 
循环神经网络语言模型 
5 文本表示
简单的向量空间模型有很多问题。下面介绍表示学习模型。
两种代表性学习方法:文本概念表示模型(LSA、LDA)、深度表示学习模型
词语
- 
基于语言模型的方法 - 
NNLM 《A Neural Probabilistic Language Model(2003)》 词向量表示用look-up表,也是参数的一部分!所以可以认为,词的表示是这个神经网络的副产品。 
 
- 
- 
直接学习法【重点?】 - 
C&W Model(Collobert & Weston Model) 《Natural Language Processing (Almost) from Scratch(2011)》 负采样,词向量优化的过程中,C&W模型希望每一个正样本应该比对应的负样本打分高至少1分。 \((w_i, C)=\)... 以及loss的公式要会写。 
- 
CBOW(Continuous Bag of Words,连续词袋模型) and SG(Skip gram Model,跳字模型) 由Tomas Mikolov等人在2013年提出,均在Word2Vec框架下实现。 CBOW利用上下文词语预测中心词语。 SG采用中心词语预测所有上下文词语 。 缺陷:不能处理多义词 、无法建模词序信息、静态词向量、难以处理 OOV(Out-of-Vocabulary)词...... 
- 
GloVe(Global Vectors for Word Representation) 相比上面两个模型, 考虑到了全局信息。 
- 
字-词混合的表示学习 词语由字或字符构成,词语可以获得一个表示,词语作为字的组合,通过字的表示也可以获得一个表示,两种表示结合得到更优表示。 
 
- 
短语
- 
词袋:直接词嵌入求平均 
- 
递归自动编码器 掌握结构、误差函数 
- 
双语约束模型 重构误差+语义误差 
句子
- 
词袋:直接词嵌入求平均 
- 
PV-DM Paragraph Vector with sentence as Distributed Memory 是 CBOW 的扩展,建模P的时候增加一个SenId嵌入即可 
- 
PV-DBOW Distributed Bag of Words version of Paragraph Vector 是 SG 的扩展,该模型以 
 句子为输入,以句子中随机抽样的词语为输出,即要求句子能够预测句中的任意词语。
 gram 模型相同
- 
Skip-Thought 类似于 PV-DBOW,但不同于它利用句子预测句中的词语, Skip Thought 利用当前句子预测前一个句子与后一个句子 𝑠𝑘+1。 
- 
CNN 顺序地对上下文窗口进行卷积 总结局部信息,并利用池化层 Pooling 提取全局的重要信息,再经过其他网络层 卷积池化层 、Dropout 层 、线性层等得到固定维度的句子向量表达 
文档
- 
词袋 
- 
层次化模型 CNN / LSTM提取特征,然后送入双向LSTM,最后不同时刻输出取平均,再softmax 
6 卷积神经网络
三层前向神经网络
可以改善句子模型无法考虑到词序的问题
可以用于情感分类
问题:参数量太大、很难捕获局部不变性特征
解决:共享参数,且让每个隐藏层神经元只与局部输入相连,如2-gram
卷积神经网络
在早期的文献中,卷积一般默认为窄卷积。而目前的文献中,卷积一般默认为等宽卷积(通过padding)
结构特性:权重共享、局部连接、空间或时间上的次采样
文本CNN
N-gram特征(如句子中的长为3的词组有哪些)——希望用CNN提取
一维卷积练习
句子:(N, D) 卷积核:(K, D) ,D是词嵌入的维度,N是句子长度
代码实现
PPT代码实现有误,conv1接受的输入,应该为 (1, 4, 7),即长度在最后,通道数在中间。
应用:情感分类
TextCNN 是利用卷积神经网络对文本进行分类的算法,由 Yoon Kim 在 “Convolutional Neural Networks for Sentence Classification” 一文 中提出. 是2014年的算法.
PPT那个经典示意图则来自另一篇论文:
Zhang, Ye, and Byron Wallace. "A sensitivity analysis of (and practitioners' guide to) convolutional neural networks for sentence classification."
利用多个不同size的kernel来提取句子中的关键信息(类似于多窗口大小的n-gram),从而能够更好地捕捉局部相关性。
其他应用如:
- 自然语言推断(Natural Language Inference),输入两个句子,判断句子之间的关系(蕴含、对立、中立),解决这个问题的模型有BCNN、Pyramid
老师还补充讲了Q-Q Matching相关的研究
Q-Q Matching(Query-Query Matching)
泛指对两个 query 级别的文本(如句子、短语)进行语义对齐与相似度计算的研究方向,广泛应用于: 问答系统中的问题相似匹配(类似问题推荐)、语义检索(Query-Query Retrieval)、文本蕴含(两个句子是否有逻辑关系)
常用方法:
Siamese(孪生)结构:两个句子共享编码器,输出嵌入后计算距离(如余弦相似)。
交互式结构:MatchPyramid、BCNN
BCNN(Bilateral Convolutional Neural Network)
出处:
Yin et al., “ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs”, 2016输入两个句子 A 和 B。分别通过共享卷积层和池化层提取局部表示。在多个层次上计算两句话之间的交互信息。
双向匹配(Bilateral Matching):不仅 A->B,还 B->A。
拼接各层特征,送入全连接分类层。比Siamese CNN 强。
Pyramid Matching
出处:
Pang et al., “Text Matching as Image Recognition”, AAAI 2016输入两个句子,计算它们的词与词之间的相似度(例如余弦相似),构造一个 相似度矩阵(match matrix)。
把这个矩阵看作一张“图片”。
用多层 CNN(带池化)提取空间(匹配模式)信息,从局部到全局,形成金字塔结构。
最后将提取的特征送入全连接层分类。
7 RNN
可以直接应用于
- 情感分类(序列到类别,可以只取最后一个隐层,也可以取所有隐层平均)
- 分词(同步的序列到序列)
- 机器翻译(异步的序列到序列)(这个之前不知道诶)
反向传播公式要会推。
训练算法:BPTT
变体们:
- 
门控循环单元(Gated Recurrent Unit, GRU) 
- 
长短期记忆神经网络(Long Short-Term Memory, LSTM) 
- 
深度循环神经网络(堆叠、双向) 
- 
递归神经网络(Recursive Neural Network, RvNN) 让神经网络按指定结构理解信息,比如指定语法树。 递归神经网络具有更为强大的表示能力,但是在实际应用中并不太流行。一个主要原因是,递归神经网络的输入是树/图结构,而这种结构需要花费很多人工去标注。 适用于递归神经网络的训练算法:BPTS算法。 - 
Syntactically-Untied RvNN:不同的句法成分类别对应不同的聚合函数 
- 
Matrix-Vector Recursive Neural Network (Richard Socher et al, 2012):每个节点由一个向量和一个矩阵来共同表示 
- 
Recursive Neural Tensor Network (Richard Socher et al, 2013):聚合时引入张量运算 
 
- 
- 
Attentions - 
软性注意力机制(soft attention mechanism) 两个步骤是? 
- 
常见注意力模型: - 句子分类
- 文档分类(Hierarchical Attention Network)
- 机器翻译
 
 
- 
RNN的应用
- 
序列标注任务 - 
中文分词 CWS S:single B / M / E:begin / middle / end 
- 
词性标注POS Tagging 
- 
命名实体识别NER B / I:begin / inside 包括实体检测、实体分类 给了一个双向LSTM的例子 F1要会算,记住是逐实体统计TP、FP、FN,调和平均别算错 
 
- 
- 
机器阅读理解 了解数据集 SQuAD(Stanford Q A Dataset 2016) 10w个(问题,原文,答案)三元组,答案出现在原文中,每个问题含有3个Ground-Truth答案 指标:EM(exact match)、F1要会算,记住是分别和3个Ground-Truth匹配算F1,取最好结果。 2.0版不是所有问题都能在原文找到答案,模型回答no answer才算对(即EM、F1=1)。 解决该问题的模型: - 
Match-LSTM 运用attention和ptr 
- 
BiDAF 
- 
R-Net 
 了解Open-Domain Question Answering(2017) 
- 
- 
自然语言推断 Natural Language Inference 输出前提P、假设H两个句子,输出三个关系之一:蕴含E、对立C、中立N 解决该问题的典型模型:BiLSTM、ESIM 
- 
文本生成:作诗、机器翻译、看图说话(Image Captioning) Visual Question Answering (VQA) 
8 Transformer
自注意力机制(略)
Transformer架构(略)
回顾神经语言模型的缺陷(不能处理一词多义)
Embeddings from Language Model (ELMo,2018)
- 采用多层BiLSTM
词向量会被输入到一个多层的双向LSTM中。每一层的输出都是整个句子的一个表示。对于每个词,ELMo将该词对应的所有LSTM层的输出(包括原始词嵌入、前向LSTM的最后一层输出和后向LSTM的最后一层输出)进行加权求和,权重是在实际任务中学习得到的,以适应不同的下游任务需求。
预训练任务,采用了独特的双向训练方法:给定一个词序列,模型尝试预测序列中每个位置的下一个词。与传统的单向语言模型不同,它会同时训练两个方向的LSTM,一个是正向(从前往后)预测,另一个是反向(从后往前)预测。
GLUE(略)
BERT(略)
BART(略)
T5(略)
基于Transformer的文本-视觉预训练模型
- Masked Language Modeling (MLM)
- Masked Region Modeling (MRM)
- Image-Text Matching (ITM)
- CLIP(略)
9 信息抽取
定义(Grishman, 1997)
从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术
目标:从非结构化的文本内容中提取特定的信息。
总之要点是结构化的数据
主要任务:
– 命名实体识别(Named Entity Recognition,NER)
– 实体链接(Entity Linking, EL)
– 关系抽取(Relation Extraction,RE)
– 事件抽取(Event Extraction)
– 时间表达式识别(Temporal Expression)
– 模板填充(Template Filling)
– 话题检测于跟踪(Topic Detection and Tracking,TDT )
命名实体识别
- 
基于规则的 
- 
基于有监督机器学习的 - 
基于HMM的 给定一个待标注的句子\(𝑋 = 𝑥_0⋯𝑥_T\)(称为观测值),序列标注模型 
 希望搜索一个标签序列\(𝑌 = 𝑦_0⋯𝑦_T\)(称作状态值),使得后验概率
 𝑃(𝑌|𝑋)最大。建模过程:频率替代概率 利用维特比算法解码最可能的隐状态 
- 
基于CRF的 
- 
基于深度神经网络的:CNN、BiLSTM、BERT、BART、LLM 
 
- 
实体消歧
分为共指消解(Coreference Resolution)、实体链接(Entity Linking)
个人区分方法:哪些(待处理文本)指你?你是(先验知识中的)哪个?
共指消解的目标就是将文档中所有指称进行聚类,将指向同一实体的所有指称归为一类
实体链接的目标是学习一个映射函数,把文档中每一个实体指称$𝑀 = {𝑚_1, 𝑚_2, ⋯ , 𝑚_𝑁} \(准确链接到实体概念集合\)𝐸 = {𝑒_1, 𝑒_2, ⋯ , 𝑒_𝑇 }$中的某个实体
实体链接步骤
- 
确定候选实体概念集合 方法:构造“指称、实体概念”词典 
- 
候选实体概念排序,可分为基于局部的实体排序和基于全局的实体排序(基于全局的就是几个指称同时进行实体链接) - 
基于局部的: 上下文+指称词语送入模型作为特征,实体类别+实体词语送入另一个模型作为特征,求余弦相似度。 
- 
基于全局的: 包含两个步骤 - 
为文档中的指称及其对应的候选实体概念集合构建语义相关图 
 (Referent Graph,RG)加权无向图𝐺 = 
 (𝑉, 𝐸),其中𝑉包含所有指称与候选实体,𝐸中包括两类边,“指称-实体”,“实体-实体”边
- 
在相关图RG上进行实体链接的全局推断 
 
- 
 
- 
实体链接评价
要会算F1!先算指称集合M的交集,在这个交集的基础上,再计算实体链接结果E的交集,此时剩下的个数就是TP。P和R的分母则分别是|E’|和|E|
系统结果(M, E):
实体1 -> ID1
实体2 -> ID2
实体3 -> ID3
实体4 -> ID4
人工标注结果(M', E'):
实体1 -> ID1
实体2 -> ID2
实体5 -> ID5
Precision = |E*| / |E'|
= 2 / 4 = 0.5 (正确匹配的实体ID数 / 系统给出的所有实体ID数)
- Recall = |E*| / |E|
= 2 / 3 = 0.67 (正确匹配的实体ID数 / 人工标注的所有实体ID数)
关系抽取
定义:识别文本中的实体并判别实体间关系
𝒏-元关系
- 
关系抽取形式化 关系类别繁多,故探讨限定领域给定关系类别集合下的关系识别任务。 
- 
基于深度神经网络的关系分类方法 - 
基于分布式表示的关系分类 早期分布式方法的核心思想: - 所有特征采用分布式表示,以克服数据稀疏与语义鸿沟问题
- 采用局部表示捕捉实体对周围的上下文词汇化特征;
- 采用卷积神经网络捕捉实体对所在句子全局信息。
 词汇化分布式表示考虑三类特征: - 实体对(𝑒_1, 𝑒_2)自身;
- 两个实体的上下文词汇;
- 实体对在语义知识库(例如英文的WordNet、中文的HowNet等)中的上位词。(如姚明->男人)
 具体模型如基于CNN的、基于RvNN的、基于BiLSTM的、基于BERT的、基于LLM的 
 
- 
自动评价
会算F1!
事件抽取
定义:针对特定领域的事件进行事件元素的抽取
事件抽取旨在抽取表明事件类型的触发词及其对应的事件元素(或者说是事件参与者和事件属性)
ACE中定义了8大类33子类的事件类型。
ACE是Automatic Content Extraction(自动内容抽取)的缩写,它是一个旨在开发和标准化信息抽取技术的项目,特别是针对事件、关系和实体的自动识别与分类。ACE项目由美国国家标准与技术研究院(NIST)发起并维护。
每种类型的事件可以通过一个模板表示,该模板可以是通用模板,也可以是事件类型相关的特定模板。通用模板包含36个槽位,其中一个槽位需要填充触发词,其余槽位对应35个角色(事件属性)
- 
基于联合模型的事件抽取 
- 
基于分布式模型的事件抽取方法 具体模型包括基于CNN的、基于BiGRU的、基于Seq2Seq的、基于LLM的 
自动评价
几乎所有模型都将事件抽取任务分解为:触发词识别、事件角色分类
其中,触发词识别又分为触发词定位、事件类型分类
事件角色分类又分为事件元素识别、角色分类
客观评测一般对四个子任务分别进行测试。
押题
1. 概念
一些定性的解答
2. 基于规则的方法
分词算法、一些定性的解答
3. 文本分类
特征选择相关计算、多项式贝叶斯分类、F1等计算
4. 语言模型
n-gram相关计算
FNN伪代码/计算
5. 文本表示
几个模型的细节,loss计算等
小概率考短语和句子的模型
6.CNN
一维卷积计算
7. RNN
各种模型的公式、RNN的反向传播
8. Transformer
Transformer相比CNN、RNN的优势?
自注意力机制计算
transformer结构
一些关于transformer的经典问题
ELMo的结构
9. 信息抽取
可能会考信息抽取、实体消歧、关系抽取、事件抽取的基本概念。
实体链接的基本方法描述。
关系抽取的方法特点。
事件抽取的步骤。
F1的计算。
很小概率考维特比算法。
其他
- 
用反向传播公式推导解释RNN解决不了长程依赖的原因? (略) 
- 
目前中文分词的难点? 分词歧义消解、错别字谐音字规范化、分词问题。 不包括未登录词的识别? (答案可能有误) 
- 
Bert输入为什么要进行位置标注? 词在语句中的位置非常重要。使用同样的词语,排列位置不同,语义可能不同。Bert使用堆叠的双向Transformer Encoder,Transformer主要核心是attention注意力机制,attention机制无法捕捉词顺序,类似一个升级版的“词袋”模型。故需要进行位置标注添加位置信息。 
- 
隐马尔可夫研究的三大问题:评估问题,解码问题,学习问题 解决隐马尔可夫评估问题的方法:前向算法,后向算法 解决隐马尔可夫解码问题的方法:维特比算法 解决隐马尔可夫无法利用上下文信息的方法:最大熵模型 解决隐马尔可夫输出之间独立问题的方法:条件随机场CRF 
- 
Transformer的根号d 点积结果除以根号d的原因是为了防止内积结果过大导致梯度消失或爆炸。具体来说:当输入向量维度d较大时,点积结果的模长可能变得非常大;过大的值经过softmax函数会导致梯度趋近于0(因为softmax在极端值处导数小);除以√d可以使得输入到softmax的值方差保持稳定,缓解上述问题。 
维特比算法
维特比算法(Viterbi Algorithm)是用于隐马尔可夫模型(HMM)中解码问题的一种动态规划算法。它的目标是:给定一个观察序列和HMM参数,找出最有可能生成这个观察序列的隐藏状态序列。
给定一个观测序列 O = {o₁, o₂, ..., oₜ},我们要找出对应的最优状态序列 Q = {q₁, q₂, ..., qₜ},使得该状态序列在所有可能的状态序列中,产生这个观测序列的概率最大。
定义 δ(t, i) 表示在时间 t 处于状态 i 时,前 t 个观测序列为 o₁~oₜ 的最大概率路径的概率值。
递推公式如下:
假设我们有两个天气状态(晴天 sunny 和 雨天 rainy),以及三种活动(walk, shop, clean)。根据天气决定活动。
初始概率 π:
π[Sunny] = 0.6
π[Rainy]  = 0.4
状态转移矩阵 A:
          Sunny   Rainy
Sunny     0.7      0.3
Rainy     0.4      0.6
观测概率矩阵 B:
           Walk   Shop   Clean
Sunny      0.5     0.4     0.1
Rainy      0.1     0.3     0.6
给定观测序列 O:
O = [Walk, Shop, Clean]
我们要求出最有可能的状态序列 Q。
对于第一个观测 Walk:
ψ(1, Sunny) = None
ψ(1, Rainy) = None
步骤 2:递推(t=2)
当前观测为 Shop。
对于 Sunny 状态:
对于 Rainy 状态:
步骤 3:递推(t=3)
当前观测为 Clean。
对于 Sunny 状态:
对于 Rainy 状态:
找到最终时刻(t=3)的最大概率状态:
所以最后状态是 Rainy。
然后根据 ψ 指针回溯:
- ψ(3, Rainy) = Sunny
- ψ(2, Sunny) = Sunny
- ψ(1, Sunny) = None
所以最优状态序列是:
Q = [Sunny, Sunny, Rainy]

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号