kenlistian

厚积薄发. 勤为桨,思为帆

   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理 ::
  73 随笔 :: 4 文章 :: 22 评论 :: 0 Trackbacks
  中文分词看似简单,但其实不是一个小课题,我想在中文分词上研究的绝不是一个两个人就可以搞定的事情,不过因时置地的开发适合自己用的分词也是不错的打算。不过能够借用别人的研究结果而最大化的达到效果则也是一种办法。
如果非要投入到中文分词的研究中,就不能单纯的在分词中分词.如很多时候我们自己读一篇难以歧义的句子,都是通过上下文来判断的,估计那个时候的分词则是人工智能的领域.

下面全面介绍下其中文分类的细节
 

1. 如何进行分词?

  最容易想到的办法是,用一个大词典,把所有的词都存入词典中,扫描输入的文本,查找所有可能的词,然后看哪个词可以做为输出。例如:

输入文本: 我是学生
词: 我/是/学生

  其实这样做了以后,可以解决60%的问题。总结起来,分词的算法分为:
1. 基于字符串匹配的分词方法
2. 基于理解的分词方法
3. 基于统计的分词方法

   关于这3种算法的详细介绍,可以查看中文分词技术.


2.分词的问题

 1.通用词表和切分规范
   信息处理中分词单位的定义比传统意义上的词更宽泛些。分词系统可以面向解决实际问题的需求和真实语料中使用的频繁程度来规定“分词单位”。而传统词语是可能不包含所有的词语的,例如,一些人名、地名、机构名、外国人译名,应予以识别和切分。一些动词和形容词重叠结构,如“高高大大”、“甜甜蜜蜜”等;一些附加词,如后缀,“亲和性”、“热敏性”等;都可以作为分词单位予以识别和切分。故对于一个分词系统而言,制定一个一致性的分词单位切分规范是需要考虑的.
2.歧义切分字段
  文本中歧义切分字段的判别。汉语中歧义切分字段最基本有两种类型:
  交集型歧义字段,如:“中国/人”,“中/国人”两种切分结果。 组合型歧义。如:“有/才能/”。“他/才/能/告诉/你”
3.未登录词识别(新词)
  语言的发展和变化,以及词的衍生现象非常普遍,不可能都收入辞典中。特别是人名、地名等专有名词,在文本中有非常高的使用频度和比例。
3.中文分词解决方法

 a.处理新词。

    如:2003年之前,没有人知道"非典 "。"非典"刚出现的时候,这就是新词。还有"超女", "三个代表","芙蓉姐姐"。识别新词的能力是评估一个分词系统的重要指标。在国际上每年进行的分词大赛中,识别新词的比赛也单独提出。2006年 SIGHAN的分词大赛中,就增添了对于机构名识别的比赛。

  识别新词是最近几年分词技术研究的重点。总结起来,无非分成两种:
1. 基于规则的方法。
2. 基于统计、机器学习。

   拿人名识别为例。你不可能把所有的人名都放入词典中,这决定了人名注定会是新词。从人名构造来说,很有规律:姓+名。张王刘李陈、天下一半人。也就是说可 能有一半的人,是这五个姓。名也有一定规律:建华/建国/志强.....等有许多经常用于名字中的汉字;对于地名识别也可以找出很多规则,省/县/村/镇 /湾/河等,都是很常用的后缀,如果他们出现,之前出现地名的可能性比较大。如果把这些规律转化成计算机能识别的算法,就是基于规则的算法。这种基于规则 的算法简单有效,而且发现规则可很方便加入。

   规则总会有例外,规则过多以后,如何去权衡这些规则,会是十分头疼的问题。人们试着告诉计算机目标,让计算机自己去尝试各种方法组合这些规则并得到最优参 数,这就机器学习。随着Machine Learning(机器学习)技术的不断进步,其应用范围也越来越广,中文分词算法也从中受益。ANN(人工神经网络), 最大熵模型, HMM(隐马尔可夫模型)等算法都在新词识别中有应用。

   通过机器学习识别新词的原理并不复杂。一般都是先定义一些特征,然后利用训练语料进行学习,建立模 型。还是以人名识别为例,可以定义姓名前面的字、姓、名、姓名后面的字做为特征,通过利用标注好姓名的语料库进行学习训练。

   机器学习识别新词的好处在于自动寻找一些识别新词的特征,其准确度和召回率都能达到比较高的水平。但机器学习算法需要有足够多的训练语料,人工准备准确的 大规模的训练语料也会十分困难。另外,机器学习算法一般速度会比较慢,优化速度,使之用于海量数据处理,也是使用机器学习的一个关键点。


4.目前分词广泛的方法

1.基于词表的分词-最大匹配(MM)
  这是一种有着广泛应用的机械分词方法,该方法依据一个分词词表和一个基本的切分评估原则,即“长词优先”原则,来进行分词。这种评估原则虽然在大多数情况下是合理的,但也会引发一些切分错误。根据我们小规模测试的结果,其正确率为95.422%,速度为65,000字/分钟。
这种切分方法,需要最少的语言资源(仅需一个词表,不需要任何词法、句法、语义知识),程序实现简单,开发周期短,是一个简单实用的方法。

2.基于统计的分词
 这种方法首先切分出与词表匹配的所有可能的词,这种切分方法称为“全切分”,运用统计语言模型和决策算法决定最优的切分结果。
这种方法的优点是可以发现所有的切分歧义,但是解决歧义的方法很大程度上取决于统计语言模型的精度和决策算法。需要大量的标注语料,并且分词速度也因搜索空间的增大而有所缓慢。根据我们小规模测试的结果,其正确率为96.252%。分词速度为:40,000字/分钟。

3.基于规则和基于统计相结合
  这种方法首先运用最大匹配作为一种初步切分,再对切分的边界处进行歧义探测,发现歧义。再运用统计和规则结合的方法来判别正确的切分,运用不同的规则解决人名、地名、机构名识别,运用词法结构规则来生成复合词和衍生词。 

  这段话来自微软开发分词的一段.







posted on 2007-09-18 17:54 kenlistian 阅读(1699) 评论(3)  编辑 收藏 引用

评论

# 补充下3种分词的方法 2007-09-18 18:05 kenlistian
来源于http://www.dedecms.com/html/chanpinxiazai/20061229/3.html
1、 基于字符串匹配的分词方法
  这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:
  1)正向最大匹配法(由左到右的方向);
  2)逆向最大匹配法(由右到左的方向);
  3)最少切分(使每一句中切出的词数最小)。
  还可以将上述各种方法相互组合,例如,可以将正向最大匹配方法和逆向最大匹配方法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/169,单纯使用逆向最大匹配的错误率为1/245。但这种精度还远远不能满足实际的需要。实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用各种其它的语言信息来进一步提高切分的准确率。
  一种方法是改进扫描方式,称为特征扫描或标志切分,优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再来进机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,并且在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。
  对于机械分词方法,可以建立一个一般的模型,在这方面有专业的学术论文,这里不做详细论述。
  
2、 基于理解的分词方法
  这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。
  
3、 基于统计的分词方法
  从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻共现的频率或概率能够较好的反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。但这种方法也有一定的局限性,会经常抽出一些共现频度高、但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。  回复  更多评论
  

# re: 中文分词介绍1 2007-09-20 16:49 kenlistian
学校学费要一次性交一千元
长春市长春节致词
我在长春市长春药店买药
我看到长春市长春药店买药
刘善根本来就没来

这几个切的准确的化,就说明分词很好了.  回复  更多评论
  

# re: 中文分词介绍1 2008-08-23 20:36
这有个免费的中文分词系统,貌似还不错,好像还在测试中说是要公开呢,不知道以后有开源的用没
http://dev.8jiao.com/index.php/Wb_cws_index  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理