论坛首页 Java企业应用论坛

介绍:最新的一种中文分词方式——由字构词

浏览 21681 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-10-08  
现有的中文分词方法基本上都是采用基于词表的正向最大匹配法进行词语切分。不过这种分词方法具有一个最大的问题,对于未登录词(也就是在词表中并未录入的词)的切分具有先天的不足,一般的解决方法是在基于正向最大匹配法切分模块后再加入一个未登录词模块,用于处理对于未登录词的切分。而在中文分词技术中,对于未登录词的切分错误极大的影响到了整体分词的召回率。现在主流的分词算法对于未登录词的召回率仍然在0.6 左右。
最新的一种分词算法叫做“由字构词”的分词方法,关于“由字构词”分词方法的最早的一篇论文发表在2002 年第一届SIGHAN 研讨会上,紧接着Xue 在ME 模型上实现了由字构词的分词系统参加了Bakeoff2003 的评测,获得了封闭测试项目的第二名,让人瞩目的是,它对于未登录词的召回率高达0.7以上。而在Bakeoff2005 的各项赛事中,基于由字构词方法的分词系统几乎囊括了开放和封闭测试的全部冠军!而到了Bakeoff2006,由微软亚洲研究院采用基于CRF 模型实现的由字构词分词系统,获得了参加的六项评测中的四个第一,两个第三。
由字构词的分词方法和以往的分词方法不同,它是把分词视为一个字的分类问题。在微软亚洲研究院的系统中,他们把字分成了六类:S(单独成词)、B(词首)、B2(词中第二个字)、B3(词中第三个字)、M(词中)、E(词尾)。比如以下的分词结果,可以将字标注为以下形式:
/上海/计划/到/本/世纪/末/实现/人均/国内/生产/总值/五千美元/。/
上/B海/E计/B划/E到/S本/S世/B纪/E末/S实/B现/E人/B均/E国/B内/E生/B产/E总/B值/E五/B千/B2美/B3元/E。/S

那么最后可以形成一个字库,规定每个字的词位标记中某一个词位超过50%,那么就认为这个词位是这个字的主词位,否则就认为这个字是自由字。在现有的资料中,语料库中总字量为5147 个,有主词位的字为3920 个,占据总字量的76%。
个人感觉由字构词的分词方法有两个优点:
1、能很好的切分未登录词,而使中文分词切分召回率得到显著提高
2、词表非常小,中文中172个汉字就占据了所有中文用字的50%以上,常用汉字也就2000多个,比起基于最大匹配法所用到的词表小了非常多。

上面只是一个简单的介绍,希望有兴趣的同学可以一起研究研究:)
   发表时间:2007-10-08  
的确只是一个最简单的介绍,那么基于这种原理的分词算法应该如何设计呢?
0 请登录后投票
   发表时间:2007-10-08  
重造字典?
一句话中所有的主词抽出
在字典中匹配?

如果那样子的话还可以扩展到一个动词所对应的名词群,
或一个名词所对应的动词群。。。。。

很开扩眼界。
0 请登录后投票
   发表时间:2007-10-08  
robbin 写道
的确只是一个最简单的介绍,那么基于这种原理的分词算法应该如何设计呢?

最重要的是构建一个字表,基本形式如下:
的 S
一 B
是 S


剩下的处理过程就和基于词表的正向最大匹配过程一样了,采用EM 或者 HMM 模型,对字窗中的字进行切分

ps:附件中为黄昌宁教授的关于由字构词的方法的一份ppt
0 请登录后投票
   发表时间:2007-10-08  
跟住楼主的文章中的介绍,大概知道这种算法的核心是统计模型的实现,是基于概率(统计)的分词算法,优点主要体现在词表较小,分词速度快,但是要完善这个算法关键是要加入一个动态学习的过程,无论是人工干预的还是在分词过程中自动丰富学习,这样才能有效地保证计算一个字符串是否切分为一个词的值更准确,更能识别出新词、未登录词……

PS:多谢楼主的共享,先把资料看看了解后,好好研究一番
0 请登录后投票
   发表时间:2007-10-09  
基于词频或者字频统计的分词算法优点是速度快,缺点也很明显,就是自学能力差,新词猜测成功率低。应用在关键字搜索上是够了。但是应用在文章自动分类,自动关联等方面时就不尽如人意。
期待有真正自然语言识别能力的算法出现.....不知道还要多久....
0 请登录后投票
   发表时间:2007-10-11  
timerri 写道
基于词频或者字频统计的分词算法优点是速度快,缺点也很明显,就是自学能力差,新词猜测成功率低。应用在关键字搜索上是够了。但是应用在文章自动分类,自动关联等方面时就不尽如人意。
期待有真正自然语言识别能力的算法出现.....不知道还要多久....

由字构词的方法解决的就是新词(未登录词)的猜测成功率,基于词表的大概在60%-70%左右,而此方法可以高达80%-90%甚至更高。
现在语言学界对于分词以及语意识别一般有两种取向,基于统计和基于规则。而事实验证,可行的方式只有以统计为主,在时间日期、命名实体(组织机构名或者人名、地名)上面辅助以规则的分词对于分词的准确率以及分词效率是最高的。
由于英语类的语言没有分词的困扰,所以国外在语意识别方面研究的比国内更深。但是主流的方式还是基于统计。但是可以考虑一下Chomsky 的句法结构、生成语法这种基于规则的语意识别方式,也算是一种研究方向。
0 请登录后投票
   发表时间:2007-10-11  
对于其猜测新词成功率能达到80%-90%我表示怀疑。召回率和准确率可是两个概念。可以尝试让它对一篇古文分词,再来看看其分词准确率。

我个人认为,应该同时基于词库和规则进行分词才能更准确,先由词库猜测句子主体构成,然后根据规则进行调整。但这种方式明显不适用于搜索应用的分词,因为太慢。但是却很适合于基于文章内容的分类和处理,因为其准确。

不同应用应该会有不同的分词方法,基于字频的算法肯定有其适用的地方。
0 请登录后投票
   发表时间:2007-10-13  
对古文应该不通用,因为古文很多都是一元词,而且很多又是多义字(词),而词频分词法要识别为词至少是要二元词,识别率肯定低。
分词的目的是为了日常应用,不应该拿古文这些东东来专牛角尖。再说古文连很多自然人都读不通,更不要说机器来分析语义了。
0 请登录后投票
   发表时间:2007-10-13  
timerri 写道
基于词频或者字频统计的分词算法优点是速度快,缺点也很明显,就是自学能力差,新词猜测成功率低。....


你说的是 基于字典词库匹配的分词方法 吧?

词库和词频分词法的优缺点刚好是反过来的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics