条件随机场及其在序列标注中的应用
条件随机场
背景
在序列建模中的马尔可夫方法一文中最后,我们介绍了最大熵马尔可夫模型,它将最大熵模型与马尔可夫链相结合,在局部状态转移决策中融入了丰富的特征表达能力。同时,也举出了它存在标签偏置这一严重问题,每个状态转移的条件概率需在局部时间步完成归一化,导致模型倾向于选择具有更少后续状态的标签路径,这种局部归一化机制会扭曲全局最优决策。为克服这一局限性,条件随机场应运而生。
介绍
CRF采用无向图模型结构,通过全局归一化策略将整个标签序列的条件概率建模为单一能量函数,不仅消除了局部归一化带来的偏差,还允许模型在更广阔的特征空间中进行全局优化。这一特性使其成为自然语言处理的基础模型,广泛用于中文分词、命名实体识别、词性标注等标注场景。
此外,CRF的另一个显著优势在于特征建模的灵活性,可支持任意形式特征模版设计,且能无缝融合深度学习提取的高阶语义特征。近年来,CRF与神经网络的结合催生了BiLSTM-CRF、BERT-BiLSTM-CRF等混合架构,CRF层在利用特征在最后进行全局最优解码,显著提升了复杂标注任务的性能表现。
前置知识
随机过程 vs...
语言模型技术演讲综述:从N-gram到BERT
语言模型
语言模型是一种通过学习大量文本数据来理解、生成或预测自然语言的模型。核心目标是学习语言的结构和模式,并根据上下文预测下一个单词或生成合理的文本内容。通俗来讲,就是计算词序列(短语、句子、段落)概率分布的一种模型,这个概率表明了这句话的合理程度,即符合人类语言规则的程度。
用数学语言描述:给定一个词组成的句子,根据上下计算下一个词的概率,或计算整个句子的概率,表示语言中句子的分布概率。
语言模型的发展历程可以清晰地划分为三个主要阶段:早期的统计语言模型、随后出现的神经网络语言模型,以及今年来基于Tansformer架构的预训练语言模型。
统计语言模型
统计语言模型综述——论文地址
利用大型计算机和大规模的文本语料库进行统计建模,分析词语之间的搭配和出现频率,从而推导出词语的概率分布。
基本思想就是计算条件概率,利用条件概率乘法公式的推广,将句子的分布概率进行如下表示 ...
序列建模中的马尔可夫方法
马尔可夫链
随机过程
概率论的研究对象是静态的随机现象,而随机过程的研究对象是随时间演变的随机现象(天气随着时间的变化)。在随机过程中,随机现象在某时刻的取值用表示,所有可能的状态组成状态集合。
马尔可夫性质
当且仅当某时刻的状态只取决于上一个时刻的状态时,一个随机过程被称为具有马尔可夫性质。更系统地,当前状态是未来的充分统计量,而不会受到过去状态的影响。但是这并不代表和历史完全没有关系,实际上当前状态也受到了上一状态的影响,正是通过这种链式关系将历史信息的影响传递到了现在。显然,这一性质可以大大简化计算。
数学表达如下:...
文本数据处理方法
什么是特征工程?
简单来说是对数据进行处理,为模型提供有效的输入表示
目的:将文本、图像等原始数据转成数字化、结构化的形式供模型使用,在
nlp 任务则主要针对文本数据
传统基于统计的方法
BOW
非常经典且简单的文本特征表示方法
基本思想:
忽略词语的顺序和语法结构,只关注词语的频率特征
将文本转为固定长度的向量
步骤: 1. 统计并去重训练文本中所有单词,构成词汇表 2.
针对单一文本,统计每个词的出现次数形成文本特征向量
最终形成的向量长度等于词汇表的大小,对应位置表示对应单词的出现次数
##### 评价 优点:简单高效易实现
缺点:忽略单词顺序和语法结构、无法处理训练数据中未出现的词,最终向量高维稀疏
TF-IDF
实际上是一种加权技术,
评估一字词对于整个语料库的重要程度
基本思想是:如果只在某一篇文章中词频高,而在其余文章中很少出现,则可以认为其具有很好的类区分能力,适合用来分类
两个指标:TF是词频(Term Frequenc),IDF是逆向文件频率(Inverse...
集成学习
...
筛法和积性函数
线性筛筛质数
线性筛为什么可以做到线性,它让每个合数只被最小的质因数筛选一次而不发生重复筛选
12345678910rep(i,2,n){ if(!vis[i]) pri[++cnt]=i; for(int j=1;j<=cnt and pri[j]*i<=1e8;j++){ int m=i*pri[j]; vis[m]=1; //说明pri[j]是i的最小质因数,同样是被筛数m的最小质因数,所以再后面的数就应该由pri[j]筛掉,而不是j++ //那么6*3=18应该等到i=9是被pri[j]=2筛掉,所以i=6时遇到pri[j]=2就可以停止了 if(i%pri[j]==0) break; }}
线性筛求约数个数
12345678910111213141516171819202122void init(){ a[1]=1,d[1]=1; int cnt=0; rep(i,2,1e7){ if(!vis[i]){ ...
莫比乌斯反演
莫比乌斯反演
前言
反演实际上是利用莫比乌斯函数实现
和函数与原函数之间的转换
我们需要求原函数,而实际上和函数是容易求得的
常用反演规律
表示..为n的方案数
表示..为n的倍数的方案数
反演
例题
公约数的和
可以当作模版题 反演 这一题还可以对式子进行变换,对于j=i+1这种和式超级难受
1234567891011121314151617181920212223void solve(){ // de("\n\n"); cin>>n; getMu(); int ans=0; //先算出F[i]的值,公倍数为i的倍数的方案数 rep(i,1,n){ F[i]=0; //枚举倍数,公倍数为j 乘法原理计算方案 for(int j=i;j<=n;j+=i){ F[i]+=(n/i-j/i); } } rep(i,1,n){ f[i]=0; //枚举倍数d...