NLP词性标注笔记(一)

NLP词性标注笔记(一)

任务要求

1.利用HMM、MEMM、CRF、Perception训练词性标注任务
2.分别计算每个模型在中文数据集(CTB5,gsd_simple)和英文数据集(WSJ)上的准确性
3.写出实验分析报告(不同数据集下,不同模型下结果对比分析)

了解名词

作为刚入门的小白,对NLP中很多名词一无所知。所以在实操之前,我决定先肢解任务要求,对里面提到的每一个陌生名词都进行解释:

  1. HMM模型 :隐马尔可夫模型,一个统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数作进一步分析。
    两个假设
    输出观察值之间严格独立;
    状态的转移过程中当前状态只与前一状态有关(一阶马尔可夫模型)
    HMM模型假设前提使该模型适用于比较小的数据集。因为在大量真实语料中,观察序列更多是以一种多重的交互特征形式表现,观察元素之间存在相关性。在命名实体识别的任务,因为实体本身具有复杂结构,所以需要复杂的特征函数来涵盖所有特性。但是HMM的假设前提使它无法使用多于一个标记的特征。

    马尔科夫链之转移概率:从前一个状态进入当前状态的概率;
    隐含马尔可夫链之生成概率:每个状态产生相应输出符号的概率;
    转移概率和生成概率被称为隐含马尔可夫模型的参数,计算或者估计这些参数的过程成为模型的训练
    需要两类算法:维特比算法(使用时的解码算法)
    鲍姆-韦尔奇算法(训练算法)

    参考:
    一文搞懂HMM(隐马尔可夫模型)

  2. MEMM模型:最大熵马尔可夫模型,不像HMM通过联合概率来建模,而是用最大熵模型来学习条件概率。
    克服了观察值严格独立产生的问题(HMM的假设之一)。
    MEMM模型把HMM模型和ME模型的优点集于一体,这个模型鱼汛状态转移概率依赖于序列中批次之间非独立的特征上,从而将上下文信息引入模型的学习和识别过程中,提高识别的精确度,也提高了召回率。实验证明,这个模型在序列标注任务上表现得比HMM和无状态的最大熵模型更好。
    MEMM所做的是局部归一化,导致有更少转移的state拥有的转移概率普遍偏高,概率最大路径却容易出现转移少的状态,因此存在着标注偏置问题,故又提出了全局归一化的CRF。

    参考
    中文分词:最大熵马尔可夫模型

  3. CRF模型:条件随机场模型,CRF模型在给定了观察序列的情况下,对整个的序列的联合概率又一个统一的指数模型。CRF在给定了观察序列的情况下,对整个的序列的联合概率;相比于改进的HMM模型可以更好更多地利用待识别文本中提供地上下文信息以得到更好的实验结果。该模型在中文组块识别方面有效,并且避免了严格的独立性假设和数据归纳偏执问题。CRF模型应用到中文名实体识别中,根据中文的特点,定义了多种特征模板。测试结果表明:在采用相同特征集合的条件下,CRF模型较其他概率模型有更好的性能表现。
    词性标注主要面临兼类词消歧以及未知词标注的难题,HMM方法不易融合新特征,MEMM模型存在标注偏置等问题,而CRF模型建立词性标注模型,易于融合新的特征,并能解决标注偏置的问题。
    CRF模型与MEMM的本质区别是:
    MEMM模型在每个状态都有一个概率模型,每个状态转移时候都要进行归一化。如果某个状态只有一个后续状态,那么该状态到后续状态的转移概率为1。这样不管输入任何内容,都向该后续状态转移;
    CRF模型是在所有的状态上建立一个统一的概率模型,在进行归一化时,即使某个状态只有一个后续状态,其转移概率也不会为1。因此,从理论上讲,CRF模型非常适用于中文的词性标注。

    CRF模型的不足:
    首先,通过对基于CRF的结合多种特征的方法识别英语命名实体的分析,发现在使用CRF方法的过程中,特征的选择和优化是影响结果的关键因素,特征选择问题的好与坏,直接决定了系统性能的高低。
    其次,训练模型的时间比ME更长,且获得的模型很大,在一般的PC机上无法运行。

    总结
    以上三种模型都能迎来做序列标准模型,但各有特点。HMM模型是在转移概率和生成概率上通过联合概率建模;MEMM模型是直接学习条件概率,因为只在局部做归一化,容易陷入局部最优;CRF模型在做归一化时,考虑了数据在全局的分布,解决了MEMM中的标记偏置的问题。

    举个例子,对于一个标注任务,“我爱北京天安门“,标注为:

      " s s  b  e b c e"
    

    使用HMM判断此标注成立的概率为 P= P(s转移到s)*P('我’表现为s)*P(s转移到b)*P('爱’表现为s)…*P().训练时,要统计状态转移概率矩阵和生成概率矩阵;

    使用MEMM判断这个标注成立的概率为 P= P(s转移到s|'我’表现为s)*P('我’表现为s)*P(s转移到b|'爱’表现为s)*P('爱’表现为s)…训练时,要统计条件状态下转移概率矩阵和生成概率矩阵。

    使用CRF模型判断这个标注成立的概率为 P= F(s转移到s,'我’表现为s)…F为一个函数,是在全局范围统计归一化的概率而不是像MEMM在局部统计归一化的概率。

    参考文章:
    HMM,MEMM,CRF模型的比较(转)

  4. perception模型:感知机模型,感知机是一个二类分类的线性分类器,是支持向量机和神经网络的基础。它假设数据是线性可分的,目标是通过梯度下降法,极小化损失函数,最后找到一个分割超平面,可以将数据划分为两个类别。
    如何训练感知机模型?
    要建立感知机模型,只要确定参数ww和bb就行。我们通过梯度下降法,不断调整两个参数,向最优解靠近。
    如何评价两个参数的好坏呢?
    我们量化一个损失函数(loss function),函数值越小,说明离最好的模型越近。在感知机这里,最好的解就是最合适的分割超平面,能把数据分割得最好。
    参考文章:
    统计学习方法–感知机模型

你可能感兴趣的:(nlp)