我们今天来研讨下百度分词算法的原理。由于百度是一个商业性的搜索引擎所以他的算法是不会公开的。今天我们就把他的算法当成一个黑盒,我们通过一些输入然后根据百度的输出结果而来推测百度的分词算法。在推测之前我们先就要了解一下有哪些分词算法。
1分词算法的几种方法
a基于理解的分词方法
举例:有意见|面|对面地谈
有意见,我们根据理解会自动把“意”跟“见”组合成“意见”而不是跟“有”组合成有意;后面加“面”那么我们就会理解为“有意”;再加上“对面的谈”我们又会理解为“意见”。这就是一个基于理解的分词方法,但机器目前还无法模拟这种思维的理解。这种分词方法尚在研发当中。
b基于统计的分词方法
举例:百度搜索“课”我们看下会出现什么样的情况。

我们会发现这样一个很奇怪的事情,就是百度把课程也标红了,(大家都知道百度标红的词体就是你所搜索的关键词)那为什么我们只是搜索“课”而“课程”也会被百度标红呢?其实这是百度基于一个统计的分词方法。百度统计中在以往的搜索中 “课”字大量的跟随“程”一起出现,所以百度在你搜索“课”的时候就自认的把“课程”当成了一个关键词。基于一个这样的统计方法组成的词还有很多,这里简单举几个例子:查→查询;学→学习;题→题目等等。
C基于字符串匹配的分词方法:
字符串的匹配是分为:大小和正反2种情况。
首先,我们看看百度是采用的最大(从第一个字开始往下匹配一直到匹配出的不是词为止然后以这个字在继续往下匹配)还是最小(从第一个字开始只要匹配成词就停止在接着往下匹配)的匹配方法。
来看这个词:东京城市民国。我们先来看下最大匹配的分法应该是:东京城|市民|国。最小匹配的分法应该是:东京|城市|民国。
然后我们在百度搜索“东京城市民国”

我们发现百度给我们返回的结果是第一种结果。初步判定百度是最大匹配法。为了保证准确我们在看一个词:巴黎市长子孙。最大匹配:巴黎市|长子|孙。最小匹配:巴黎|市长|子孙。
然后我们在百度搜索“巴黎市长子孙”

这时候我们发现百度返回的结果还是第一种。所以在这里我们下个结论就是在最大与最小之间 百度选择了最大。
我们再来看下正向(从左往右匹配)与反向(从右往左)的匹配方法。
来看这个词:湖南大学堂屋顶。正向最大匹配方法:湖南大学|堂屋|顶 反向最大匹配方法:湖南|大学堂|屋顶
我们在百度搜索:湖南大学堂屋顶

百度返回的结果:湖南大学|堂屋|顶。采取的是第一种。同样我们在另外搜索一个词来证明。来看这个词:刘强大地方法。正向最大匹配:刘|强大|地|方法。反向最大匹配:刘|强|大地|方法。
我们在百度搜索:刘强大地方法

返回结果也是正向最大匹配。这时候我们是不是可以确认百度是采取正向最大匹配方法。我们的回答是否。来看下面一个词:追逐鹿中原。正向最大匹配分法:追逐|鹿|中原;反向最大匹配分法:追|逐鹿中原。百度搜索:追逐鹿中原
返回的结果是第二种,那么是不是我们上面的结论是错误的呢。但我们知道百度还是有一个专有词库的。如果逐鹿中原是专有词库的话那么就无法说明这种结果是采用了反向最大匹配。所以我们在后面再加上2个字:子弹。让他变成:追逐鹿中原子弹。正向最大匹配分法:追逐|鹿|中原|子弹。反向最大匹配方法:追逐|鹿|中|原子弹。我们百度搜索:追逐鹿中原子弹

返回结果:追|逐鹿中原|子弹。既不是正向也不是反向,说明逐鹿中原在百度词库里是一个不可分割的词。这就说明我们得出百度是最大正向匹配方法还是正确的。
这时候我们再来看另外一个词:湖南大学堂口腔。

返回结果:湖南|大学堂|口腔。这MS是反向最大匹配结果啊,但同时也可以认为是正向最大匹配结果。怎么回事呢,又没有不可分割词。这是一种什么情况呢,其实还是要用到我们上面讲到的一个基于统计的分词算法。我们认为百度会赋予一个关键词的权重(关键词的权重是指百度对某类型的关键词进行了一个优先选取权)。如果是不可分割词那么我们认为他的权重就是100分;如果无法组成词那么我们就认为他的权重就是0分。如果分词组法有多种形式,百度就会把每种分法分出来的词赋予一个总分再得出一个平均分,平均分高的给予输出结果。
对于这么一个基于字符串的匹配方法我们就在这里就可以进行一个简单的总结:百度对于一个长度在4字以上的短语先进行一个专有词库的匹配,如果有不可分割词直接赋予分词,再把剩下的进行正向最大匹配法;如无不可分割词就直接进行正向最大匹配法,如有多种分词分法则进行关键词平均得分的比较进行分词。
另外在文章的结尾我再提一个新鲜词:智能重复匹配。
什么叫智能重复匹配法,看下面这个词:指鹿为马到成功。
百度搜索结果:

我们会发现他把“马”进行了一个2次匹配。这就是一个智能重复匹配,我个人认为2个关键词权重得分差在5以下就进行重复匹配。
智能重复匹配是在用户搜索的词语中如果出现了歧义词,但又不能进行分割的时候就会进行智能重复匹配,比如“春之花好月圆”,那么他其实是产生了歧义词,“春之花”我们从用户搜索了解到他是属于一种零食同时也是一部电影名称。而“花好月圆”更是一个成语,所以如何分割就成为了一个难题,如是百度为了能够更好的为用户提供可供选择的匹配结果,他就进行了智能重复匹配,把花字进行了2词重复分词。分成了春之花和花好月圆。
总结:百度采用智能重复匹配解决了歧义问题,而关键词权重(关键词优先提取权)解决了大多数需求问题,从而保证了多数需求得到满足。
转载请保留出处 - http://jm.uucity.com.cn/baidu-segmentation-principle-quest/
上一篇:关键词布局需要自然更需要技巧
下一篇:SEO基础知识三:SEO主要工作
更多相关阅读
更多推荐阅读
- 暂无推荐文章

暂时还没有评论.