分享好友 最新动态首页 最新动态分类 切换频道
百度的分词算法
2024-12-25 11:12

这篇文章主要参考中科院软件所张俊林先生在2005年11月写作的《搜索引擎设计实用教程》的分词部分,提供的查询关键词范例也源于该文。


搜索引擎本身并不提供信息,因此用户需要在搜索引擎的搜索框键入关键词进行查询以获取信息,然而由于中文信息检索存在的自身特点,比如中文语词之间没有空格,中文的语法分析和语义理解与英语相比更为困难。因此搜索引擎在信息索引前都要对用户所查询的语词进行切分。


并非任何一个查询词百度都会进行切分,如果关键词组仅仅包含小于等于3个中文字符就保留不进行切分,大于4个中文字符的时候,百度的分词程序便会开始运行,这时候才是百度分词的真正时机。当然,如果是完全匹配的话,不管几个词,一般情况看起来都似乎没有进行切分,这是因为百度拥有一个全世界最庞大的中文分词词库,这个词库不断增加用户最新的查询词,比如“我是谁的谁”,这个原本要进行分词,但是因为词库中存在,百度就知道这是黄征的一首歌,于是就不予切分,但其实仍然是有进行切分的,只是百度将切分后的结果当做一个短语进行查询,看到的效果就跟没有切分是一样的。


分词算法也有简单难易之分,比如正向最大匹配、反向最大匹配、双向最大匹配、语言模型方法、最短路径算法等等。


张俊林先生假设百度因为考虑到速度问题,不会采取比较复杂的算法,因此判断百度采用的是双向最大匹配算法。他提交了一个查询“毛泽东北京华烟云”以测试百度的分词是如何消歧以及是否有词典未登录词的识别功能。我们知道这个查询如果是正向最大匹配算法的话,那么应该输出为“毛泽东/北京/华/烟云”,反向最大匹配算法的话,则会输出“毛/泽/东北/京华烟云”,百度分词结果却是“毛泽东/北/京华烟云”,因此有可能是双向最大匹配算法。


这个分词结果还告诉我们百度分词可以识别人名,也可以识别“京华烟云”这种词典未登录词的功能。

 


我们一起来看下具体的百度分词过程


1,先查找内部的特殊分词词典,专用词典先切分,剩余关键词再交由普通词典来切分。


百度的这个词典应该包含了一些独有的人名、部分地名以及一些普通词典没有的新词。按照这样的方法,“毛泽东”被首先解析出来,剩下“北京华烟云”,通过反向最大匹配的分词结果,再次分为“北/京华烟云”。为了证明这时候百度分词采用了反向最大匹配,作者再次提交查询了“发毛泽东北”,百度没有输出正向最大匹配的“发毛,泽,东北”,而是输出“发,毛泽东,北”。而有时候比如查询“古巴比伦理”,则输出为正向最大匹配的结果“古巴比伦,理”,而非反向最大匹配的“古巴,比,伦理”,因此我们判断百度可能采用双向最大匹配分词算法。


这里附加说下,根据张俊林先生后来写的补充文章,结论应该是百度采取了正向最大匹配算法。例子说明见下


从例子“山东京城”百度切分为“山东,京城”说明“东京”是在普通词典里,再次查询“陈晓东京华烟云”,这两个词汇都在专有词典里面,因此百度切分为“陈晓东,京华烟云”。


说明对于专有词典词汇,百度分词算法采取正向最大匹配或者双向最大匹配。
查询“陈晓东方不败”,关键词“陈晓东”“东方不败”都在专有词典,正向切分应为“陈晓东,方,不败”,反向切分则应为“陈,晓,东方不败”,百度切分结果是第一种,说明还是采用正向最大匹配。


2,当正向和反向匹配分词结果一致时,百度直接输出切词结果,不一致的则采用最短路径方法,即切分的片断越少越好,比如“古巴,比,伦理”和“古巴比伦,理”相比选择后者,“北京,华,烟云”和“北,京华烟云”相比选择后者。


3,当正向反向匹配分词不一致,并且最短路径也相同时,比如提交查询“遥远古古巴比伦”,这个查询被百度切分为“遥远,古古,巴比伦”,说明词典里面有“巴比伦”,但是否有“古巴比伦”这个词汇不确定,此时看不出是正向切分还是反向切分得出的结果。换查询“遥远古巴比伦”,此时被切分为“遥远/古巴比伦”,说明词典里面有“古巴比伦”这个词汇,这说明“遥远古古巴比伦”是正向最大匹配的结果。为什么“遥远古古巴比伦”不会被反向切分为“遥/远古/古巴比伦”呢?百度在这种情况下,可能选择单字少的那组切分结果。


4,当切分后单字也一样多,比如查询“王强大小”,百度的分词结果是“王/强大/小”,是正向切分的结果,而非反向的“王/强/大小”,这说明有歧义而且单字也相同则选择正向切分结果。


我们来看下张俊林先生对百度分词算法的总结:首先查询专用词典(人名、部分地名等),将专有名称切出,剩下的部分采取双向分词策略。如果两者切分结果相同,说明没有歧义,直接输出分词结果;如果不一致,则输出最短路径的那个结果;如果长度相同,则选择单字词少的那一组切分结果;如果单字也相同,则选择正向分词结果。


如果百度是采用正向匹配的话,那么我们应该重新归纳一下百度的分词系统:首先用专有词典采用最大正向匹配分词,切分出部分结果;剩余没有切分交给普通词典,同样采取正向最大匹配分词,最后输出结果。这样更为简单,不过文章中的观点距离现在已经有4年多,目前百度的分词算法我们应该通过自己的SEO实践重新得出。


判断一个分词系统好不好,关键看两点:一个是消除歧义能力;一个是词典未登录词的识别,比如人名、地名、机构名等。百度的分词算法仍然未能非常好地消除歧义,不过其庞大的分词词典在业内确是没有任何一家搜索引擎能够领先,虽然从第一来看百度的分词算法似乎并不像其在宣传中的“你不知道我知道”的高深莫测,但由于其拥有的庞大分词词典,我们仍然可以说百度的分词算法是目前所有搜索引擎最为成熟的。

最新文章
网站建设:企业SEO关键词排名方法
目前的搜索引擎排名优化中,同行业竞争力度颇大,不知道大家是否也一样正在为一家竞争激烈的企业做具有高竞争力高价值的关键词做排名优化呢?要知道我们SEO策略应适合我们的业务需求,因此如果我们的网站页面很多并且传统的SEO策略不能满足
【爱国卫生月】共绘健康体重同心圆
全国第 36 个爱国卫生月启动暨 2024 年度“爱卫新征程 健康中国行”首站活动开启了以“夯实慢病防控战略支点 共绘健康体重同心圆”为主题的圆桌对话。在北京师范大学社会学院教授刘冰的主持下,中国疾病预防控制中心慢性非传染性疾病预防控
使用宝塔面板搭建个人网站(博客)超详细2023
一直有一个执念想搭一个自己的网站,今天才付出行动,分享给同样想法的鼠鼠 个人网站地址:https://ooooooooooooooooooooooo.ooo/ooooοооoοᴏοoοᴏοoοᴏoooᴏооoоᴏᴏoоᴏᴏoᴏοοoᴏoooоᴏоoᴏоοoᴏo
仙桃企业数字化转型,网络推广优化,共筑线上线下融合新篇章
仙桃网络推广优化服务,助力企业实现线上线下无缝融合,推动品牌形象升级,开拓全新发展篇章。随着互联网的飞速发展,网络推广已经成为企业营销的重要组成部分,仙桃,这座历史悠久的江南水乡,也正迎来网络推广及优化的新机遇,本文将深入
名推,品牌影响力引擎,助力企业飞跃
名推致力于打造品牌影响力,通过专业服务助力企业实现腾飞。我们提供定制化网站解决方案,提升企业在线形象,增强市场竞争力,助力企业实现品牌价值的跨越式增长。随着互联网的飞速发展,越来越多的企业开始重视,将其视为企业发展的关键环
免费AI写文章:人工智能驱动的高效创作与未来潜力
近几年来,人工智能取得长足进步。大量新颖实用的产品诞生,而其中,最令人瞩目的莫过于一款名为“免费AI写文章”的软件。它凭借精准快捷的内容创建能力获得了广泛用户的热烈欢迎与赞誉。 1.文章质量保证: 这款采
天津seo
天津网站优化排名推广天津怎么免费做网络推广:利用百度谷歌搜狗等搜索引擎和知乎新浪等大型网站的天津板块发布文章或者天津当地门户网站,利用网站高权重属性发布文章;天津网站推广优化、在百度知道、百度贴吧、百度百科、百家号、文库、
恐怖电影《祭屋出租》解说文案/片源下载
(古娜拉黑暗之神  降临吧)欢迎来到白天全是腿晚上全是鬼系列之2023泰国最新R级惊悚片《祭屋出租》本片改编自泰国民俗传说由恐怖大师索分沙达菲斯亲自操刀电影上映当月就以8000万的成绩连续4周霸榜泰国影院这么刺激的电影怎么能在白天看
SEO专业公司为企业带来新客户
SEO专业公司为企业带来新客户的策略随着互联网的发展,越来越多的企业意识到SEO的重要性。SEO(搜索引擎优化)不仅能提高网站的曝光率,还能帮助企业吸引更多潜在客户。本文将探讨SEO专业公司如何通过有效的策略为企业带来新客户,包括关键
#经典 [PHP]Flarum轻论坛网站 v1.6.0
Flarum是使用php+MySQL进行开发的论坛类网站。Flarum是新一代论坛软件,它使网上讨论变得乐趣。它简单,快速,而且免费。它使论坛变得简单。特点:快速不臃肿、不复杂、不过度依赖。几分钟之内构建属于自己的社区。Flarum 基于 PHP 构建,
相关文章
推荐文章
发表评论
0评