课外天地 李树青学习天地信息检索原理课件 → [转帖]百度中文分词方法


  共有25249人关注过本帖树形打印复制链接

主题:[转帖]百度中文分词方法

帅哥哟,离线,有人找我吗?
admin
  1楼 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 管理员
等级:管理员 帖子:1949 积分:26803 威望:0 精华:34 注册:2003/12/30 16:34:32
[转帖]百度中文分词方法  发帖心情 Post By:2009/3/17 21:16:21 [只看该作者]

首先根据分割符号将查询分开。“信息检索 理论 工具” 分词后 <信息检索,理论,工具>
然后看看是否有重复的字符串,如果有,就抛弃多余的,只保留一个。“理论 工具理论”分词后<工具理论>,GOOGLE不考虑这个并归计算
接着判断是否有英文或者数字,如果有的话,把英文或者数字当作一个整体保留并把前后的中文切开。查询”电影BT下载”分词后<电影,BT,下载>
如果字符串只包含小于等于3个中文字符的话,那就保留不动,当字符串长度大于4个中文字符的时候,百度的分词程序才出马大干快上,把这个字符串肢解掉。
分词算法类型正向最大匹配,反向最大匹配,双向最大匹配,语言模型方法,最短路径算法判断一个分词系统好不好,关键看两点,一个是消除歧义能力;一个是词典未登录词的识别比如人名,地名,机构名等。
百度分词采取了至少两个词典,一个是普通词典,一个是专用词典(人名、地名、新词等)。而且是专用词典先切分,然后将剩余的片断交由普通词典来切分。
百度用分词算法类型采用的是双向最大匹配算法
例子:查询“毛泽东北京华烟云”,百度的分词结果:”毛泽东/北/京华烟云”
百度分词可以识别人名,也可以识别”京华烟云”,这说明有词典未登录词的识别的功能
首先查询专用词典(人名,部分地名等),将专有名称切出,剩下的部分采取双向分词策略,如果两者(正向最大匹配,反向最大匹配)切分结果相同,说明没有歧义,直接输出分词结果。
如果不一致,则输出最短路径的那个结果,也就是切分的片断越少越好,比如<古巴,比,伦理>和<古巴比伦,理>相比选择后者,<北京,华,烟云>和<北,京华烟云>相比选择后者。
如果长度相同,则选择单字词少的那一组切分结果。“遥远古古巴比伦”,这个查询被百度切分为<遥远,古古,巴比伦>,而不是切分为”遥/远古/古巴比伦”
如果单字也相同,则选择正向分词结果。查询“王强大小:”,百度将其切分为“王/强大/小”,而不是反向切分为“王/强/大小”
百度一直宣传自己在中文处理方面的优势,从上面看,分词算法并无特殊之处,消歧效果并不理想,即使百度采取比上述分词算法复杂些的算法也难以说成是优势,如果说百度有优势的话,唯一的优势就是那个很大的专用词典,这个专用词典登录了人名(比如大长今),称谓(比如老太太),部分地名(比如阿联酋等),估计百度采用学术界公布的比较新的命名实体识别算法从语料库里面不断识别出词典未登录词,逐渐扩充这个专门词典。
Spelling Checker拼写检查错误提示(以及拼音提示功能)
[此贴子已经被作者于2010-12-14 09:33:16编辑过]

 回到顶部