NLP方向CRF算法面试题
- 什么是CRF?CRF的主要思想是什么?
设X与Y是随机变量,P(Y | X)是给定条件X的条件下Y的条件概率分布,若随机变量Y构成一个由无向图G=(V,E)表示的马尔科夫随机场。则称条件概率分布P(X | Y)为条件随机场。CRF的主要思想统计全局概率,在做归一化时,考虑了数据在全局的分布。
- CRF的三个基本问题是什么?
- 概率计算问题定义:给定观测序列x和状态序列y,计算概率P(y | x)
- 解决方法:前向计算、后向计算
- 学习计算问题定义:给定训练数据集估计条件随机场模型参数的问题,即条件随机场的学习问题。
- 公式定义:利用极大似然的方法来定义目标函数
- 解决方法:随机梯度法、牛顿法、拟牛顿法、迭代尺度法这些优化方法来求解得到参数。
- 目标:解耦模型定义,目标函数,优化方法
- 预测问题定义:给定条件随机场P(Y | X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)y*,即对观测序列进行标注。
- 方法:维特比算法
- 线性链条件随机场的参数化形式?
在随机变量X取值为X的条件下,随机变量Y取值为y的条件概率如下:其中,
- Z(x):是规范化因子,求和是在所有可能得输出序列上进行的。
- t_k:是定义在边上的特征函数,称为转移特征,依赖于当前和前一个位置
- s_l:是定义在结点上的特征函数,称为状态特征,依赖于当前位置;
- CRF的优缺点是什么?
- 优点:为每个位置进行标注过程中可利用丰富的内部及上下文特征信息
- CRF模型在结合多种特征方面的存在优势
- 避免了标记偏置问题
- CRF的性能更好,对特征的融合能力更强
- 缺点:训练模型的时间比ME更长,且获得的模型非常大。在一般的PC机上可能无法执行
- 特征的选择和优化是影响结果的关键因素。特征选择问题的好与坏,直接决定了系统性能的高低
- HMM与CRF的区别?
- 共性:都常用来做序列标注的建模,像词性标注。HMM是有向图,CRF是无向图.
- HMM只使用了局部特征(齐次马尔科夫假设和观测独立性假设),只能找到局部最优解;CRF使用了全局特征(在所有特征进行全局归一化),可以得到全局的最优值。
- 隐马尔可夫模型(HMM)是描述两个序列联合分布P(I,O)的概率模型;条件随机场模型(CRF)是给定观测状态O的条件下预测状态序列I的P(I/O)的条件概率模型。
- HMM是生成模型,CRF