aihot  2020-11-12 11:21:00  OpenCV |   查看评论   

  对P(C)我们采用三元文法模型:

浅谈自然语言处理基础

  而对于P(S|C),我们认为其满足独立性假设,总概率为各个概率的乘积,而对每个词类的处理参考下表:

浅谈自然语言处理基础

 

 

  一些数据平滑操作也是需要的。

 

  模型的训练过程一般如下:

  • 在词表的基础上,先根据正向最大匹配法切分训练语料,专有名词特殊标注,实体名词用规则和有限状态自动机标注,得到一份带类别标记的初始语料
  • 根据语料,采用最大似然估计法估计模型的概率参数
  • 采用得到的语言模型对训练语料进行重新切分和标注
  • 重复上两步直到系统性能不再有明显提高

 

  对于交集型歧义字段(OAS),该方法首先通过最大匹配检测出这些字段,然后用一个特定的类<GAP>取代全体OAS,以此来训练语言模型P(C)。类<GAP>通过消歧规则或机器学习方法来估计。

 

  对于组合型歧义字段(CAS),该方法通过对训练语料的统计,选出最高频、且分布比较均匀的70条CAS,用机器学习方法为每一条CAS训练一个二值分类器,这些分类器用于训练语料中消解这些CAS的歧义。

由字构词的汉语分词方法

 

  由字构词的汉语分词方法将分词看做字的分类问题,是一种基于字的判别式模型,在以往的分词方法中,无论是基于规则的方法还是基于统计的方法,一般都依赖于一个事先编制的词表,自动分词过程就是通过查词表作出词语切分的决策。与此相反,由字构词的分词方法认为每个字在构造一个特定的词语时都占据着一个确定的构词位置,比如词首(B)、词中(M)、词尾(E)、单独成词(S)。

 

  分词结果表示成字标注形式之后,分词问题就变成了序列标注问题。

 

  因为我们需要根据上下文来判断待消歧问题的结果,所以通常情况下,使用基于字的判别模型时需要在当前字的上下文中开一个w字的窗口(一般取w=5,也就是前后各两个字),在这个窗口里抽取分词相关的特征,常用的特征模板如下:

  • c(k)(k=-2,-1,0,1,2)
  • c(k)c(k+1)(k=-2,-1,0,1)
  • c(-1)c(1)
  • T(c(-2))T(c(-1))T(c(0))T(c(1))T(c(2))

 

  c指k位置上的字,T指字的类型。

 

  有了这些特征以后,我们就可以利用常见的判别模型,比如最大熵模型、条件随机场、SVM和感知机等进行参数训练了。

 

  由字构词的重要优势在于,它能够平衡地看待词表词和未登录词的识别问题,文本中的词表词和未登录都是用统一的字标注过程来实现的,分词过程就成了字重组的简单过程。

基于词感知机算法的汉语分词方法

 

  基于词感知机算法的汉语分词方法是一种基于词的判别式模型,不同于前面基于词的生成模型和基于字的判别模型。该模型采用平均感知机作为学习算法,直接使用词而不是字的相关特征。

 

  基于感知机算法的汉语自动分词方法的基本思路是,对于任意给定一个输入句子,解码器每次读一个字,生成所有的候选词。生成候选词的方式有两种,第一个是,作为上一个候选词的末尾,与上一个候选词组合成一个新的候选词;或者是,作为下一个候选词的开始。这种方式可以保证在解码过程中穷尽所有分词候选。

 

  解码的过程中,解码器维持两个列表,源列表和目标列表。开始时,两个列表都为空。解码器每读入一个字,就与源列表中的候选组合,按上一段说的两种方法,生成两个新的候选词放入目标列表。当源列表中的候选都处理完成之后,将目标列表中的所有候选词复制到源列表中,并清空目标列表。然后读入下一个字,如此循环往复直到句子结束。

 

  这种算法类似于全切分算法,理论上生成切分结果的数量会随句长指数增长,为了提升速度,可以对目标列表的条目数进行限制,每次只保留B个得分最高的候选。可以用平均感知机算法对目标列表中的切分候选进行打分和排序。

 

  平均感知机算法也是套用一些特征模板,使用一些规则,进行打分和排序,这里不再细说。

基于字的生成式模型和判别式模型相结合的汉语分词方法

 

  前面讲的,基于词的n元语法模型(生成式模型)和基于字的序列标注模型(判别式模型)是两大主流方法。

 

  其中,基于词的生成式模型在处理词典词时可以获得较好的表现,而基于字的判别式模型则想法,对未登录词的处理要更好一些。

 

  而且实验发现,两个处于词边界的字之间的依赖关系和两个处于词内部的字的依赖关系是不一样的。基于词的生成式模型实际上隐含的考虑了这种处于不同位置的字的依赖关系,而基于字的判别式模型却无法考虑这种依赖关系。但是判别式模型能够充分利用上下文特征信息,拥有较大的灵活性和鲁棒性,所以基于字的n元语法模型,并将生成式模型与判别式模型相结合的汉语分词方法被提出。

 

  我们将基于词的生成式模型中的词替换为相应的字即得到了基于字的生成式模型。

 

  基于字的生成式模型仍然以字作为基本单位,但考虑了字与字之间的依赖关系,与基于字的判别式模型相比,处理词典词的能力有了大幅改观。但是该模型并不能像基于字的判别模型那样考虑整个窗口,也即当前字后面的上下文。因此,基于字的生成式模型在处理未登录词的能力仍然若于基于字的判别式模型。

 

  为了同时利用生成式模型和判别式模型的优点,利用线性插值法将这两个模型进行整合,就提出了集成式分词模型。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈自然语言处理基础(中)

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]