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

  因为涉及到图的边长,N-最短路径方法还可以分为非统计粗分模型和统计粗分模型,所谓非统计粗分模型就是假定切分有向无环图中所有词的权重都是相等的,即每个词对应的边长为1。

 

  既然是求最短路径,就要考虑Dijkstra算法了,Dijkstra算法的过程这里不讲,下面是求『他说的确实在理』的3-最短路径的示例:

他说的确实在理』的求解过程(N=3)

『他说的确实在理』的求解过程(N=3)

 

  最终起点0到终点7有两条长度为5的路径,一条长度为6的路径,一条长度为7的路径,从Table表中就可以看出。前驱(i,j)中的i表示到达当前节点的前一个节点,而j表示对应到前一个节点i编号为j的路径上。这样根据这个表就能回溯出所有的路径。

 

  非统计模型给每个词对应边的长度赋值为1,随着字串长度n和最短路径数N的增大,长度相同的路径数会急剧增加,同时粗切分结果数量必然上升,这对于后期处理和整个分词系统的性能很不利。接下来我们介绍基于统计的N-最短路径方法。

 

  假定一个词串W经过信道传送,由于噪声干扰而丢失了词界的切分标志,到输出端便成了汉字串C。N-最短路径方法词语粗分模型可以相应地改进为:求N个候选切分W,使概率P(W|C)为前N个最大值。

 

  然后根据贝叶斯公式P(W|C)=P(W)P(W|C)/P(C),P(C)是常数,P(W|C)为1,所以我们只需考虑P(W)即可,粗分的目标就是确定P(W)最大的N种切分结果。

 

  然后我们采用一元文法模型,假定词的出现相互独立,以W=w1w2...wm作为一种切分结果,那切分W的概率为:

浅谈自然语言处理基础

  因为是连乘,为了处理方面,对其取对数,即变成了对数值的累加,那每一个对数值就可以看做是对应的词在有向无环图中的边长,当然我们可能还需要做适当的数据平滑处理。

 

  这样对边长进行修改后,直接代入之前非统计粗分模型的求解算法即可。

基于词的n元语法模型的分词方法

 

  基于词的n元语法模型是一个典型的生成式模型,早期很多统计分词方法均以它为基本模型,然后配合其它未登录词识别模块进行拓展。

基于词的生成式模型的二元文法切分词图

基于词的生成式模型的二元文法切分词图

 

  其基本思想是:首先根据词典对句子进行简单匹配,找出所有可能的词典词,然后,将它们和所有的单个字作为结点构造n元的切分词图。图中的结点表示可能的词候选,边表示路径,边上的n元概率表示代价,最后利用相关算法(如维特比算法)从图中找到代价最小的路径作为最后的分词结果。

 

  由于未登录词的识别是汉语分词过程中的关键问题之一,因此,很多专家认为未登录词的识别与歧义切分应该是一体化处理的过程,而不是相互分离的。所以这种基于改进的信道信源模型的分词方法被提出了。

 

  为了给自动分词任务一个明确的定义,J.Gao等人(2003)对文本中的词给出了一个可操作的定义,把汉语词定义成下列4类:

  • 待切分文本中能与分词词表中任意一个词相匹配的字段为一个词
  • 文本中任意一个经词法派生出来的词或短语为一个词
  • 文本中被明确定义的任意一个实体名词(如:日期、时间、货币、百分数、温度、长度、面积、体积、重量、地址、电话号码、传真号码、电子邮件地址等)是一个词。
  • 文本中任意一个专有名词(人名、地名、机构名)是一个词。

 

  假设随机变量S为一个汉字序列,W是S上所有可能的词序列结果,所以经过贝叶斯公式转化,我们求的就是:

浅谈自然语言处理基础

  为了把4类词纳入同一个统计语言模型框架,一般把人名(PN)、地名(LN)、机构名(ON)各作为一类,实体名词中的日期、时间、百分数、货币作为一类处理,简称实体名,词法派生词(MW)个词表词(LW)每个词单独作为一类。那么词序列W可以被我们转换成一个词类序列C:

浅谈自然语言处理基础

  P(C)就是我们熟悉的语言模型,P(S|C)我们可以称之为基于词的生成式模型。

 

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

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