自然语言处理中的中文分词技术

现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

1、基于字符串匹配的分词方法

这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:

1)正向最大匹配法(由左到右的方向);

2)逆向最大匹配法(由右到左的方向);

3)最少切分(使每一句中切出的词数最小)。

还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。

一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。

对于机械分词方法,可以建立一个一般的模型,在这方面有专业的学术论文,这里不做详细论述。

2、基于理解的分词方法

这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

3、基于统计的分词方法

从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。

到底哪种分词算法的准确度更高,目前并无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,都需要综合不同的算法。笔者了解,海量科技的分词算法就采用“复方分词法”,所谓复方,相当于用中药中的复方概念,即用不同的药才综合起来去医治疾病,同样,对于中文词的识别,需要多种算法来处理不同的问题。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理 合工大17级 课件 李宏芒老师的课件 包含以下章节 第一章 引论  1.1 什么叫编译程序  1.2 编译过程概述  1.3 编译程序的结构  1.4 编译程序与程序设计环境  1.5 编译程序的生成 第二章 高级语言及其语法描述  2.1 程序语言的定义  2.2 高级语言的一般特性  2.3 程序语言的语法描述 第三章 词法分析  3.1 对于词法分析器的要求  3.2 词法分析器的设计  3.3 正规表达式与有限自动机  3.4 词法分析器的自动产生 第四章 语法分析——自上而下分析  4.1 语法分析器的功能  4.2 自上而下分析面临的问题  4.3 LL(1)分析法  4.4 递归下降分析程序构造  4.5 预测分析程序  4.6 LL(1)分析的错误处理 第五章 语法分析——自下而上分析  5.1 自下而上分析基本问题  5.2 算符优先分析  5.3 LR分析法  5.4 语法分析器的自动产生工具YACC 第六章 属性文法和语法制导翻译  6.1 属性文法  6.2 基于属性文法的处理方法  6.3 S-属性文法的自下而上计算  6.4 L-属性文法和自顶向下翻译  6.5 自下而上计算继承属性 第七章 语义分析和间代码产生  7.1 间语言  7.2 说明语句  7.3 赋值语句的翻译  7.4 布尔表达式的翻译  7.5 控制语句的翻译  7.6 过程调用的处理  7.7 类型检查 第八章 符号表  8.1 符号表的组织与作用  8.2 整理与查找  8.3 名字的作用范围  8.4 符号表的内容 第九章 运行时存储空间组织  9.1 目标程序运行时的活动  9.2 运行时存储器的划分  9.3 静态存储分配  9.4 简单的栈式存储分配  9.5 嵌套过程语言的栈式实现  9.6 堆式动态存储分配 第十章 优化  10.1 概述  10.2 局部优化  10.3 循环优化  *10.4 数据流分析 第十一章 目标代码生成  11.1 基本问题  11.2 目标机器模型  11.3 一个简单的代码生成器  11.4 寄存器分配  11.5 DAG的目标代码  11.6 窥孔优化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值