找回密码
 加入怎通
查看: 1028|回复: 8

[站长八卦] 百度的分词算法!

[复制链接]
alvintony 发表于 2013-01-17 23:58:41 | 显示全部楼层 |阅读模式
首先,讲讲百度的分词时机或者条件问题,是否是个中文字符串百度就拿来切一下呢?非也,要想被百度的分词程序荣幸的切割一下也是要讲条件的,哪能是个字符串就切割啊?你当百度是卖锯条的么?
1 z5 R' p" `1 S, v. u4 X# u" R3 U0 ~8 F( _- A9 g0 _
那么什么样的字符串才满足被切割的条件呢?简单说来,如果字符串只包含小于等于3个中文字符的话,那就保留不动,当字符串长度大于4个中文字符的时候,百度的分词程序才出马大干快上,把这个字符串肢解掉。
* A6 ^% u7 k) a- K" ~
" S8 w2 p; D' i" @$ b  h' ^怎么证明呢?我们向百度提交“电影下载”,看看返回结果中标为红字的地方,不难看出来,查询已经被切割成《电影,下载》两个单词了,说明分词程序已经开工了,如果是比4个中文字符更长的字符串,那分词程序就更不客气了,一定大卸八块而后快。我们来看看三个字符的情况,提交查询“当然择”,看起来这个查询不伦不类,那是因为我希望看到这个字符串被切分为《当然,择》,返回结果365篇相关页面,翻到最后一页,发现标红的关键字都是” 当然择”连续出现的情况,好像没有切分,但是还不确定,那么再提交人工分好的查询“当然 择”看看,返回结果1,090,000篇,基本上可以确定没有进行分词了,当然另外一种解释是:对于三个字符先切分,然后将切分后的结果当作一个短语查 询,这样看到的效果和没有切分是相似的。但是我倾向于判断百度对于少于3个字符的串没有切分,奥卡姆不是说了么“如无必要,勿增实体”,干吗做无用功呢。 那么如果没有切分,会有一个随之而来的问题,怎么从索引库里面提取未切分的字符串呢?这牵扯到索引的问题,我觉得百度应该采取了两套索引机制,一种是按照 单词索引,一种是按照N-GRAM索引,至于索引的具体问题,以后在详细论述。
" g+ B' n# J& N2 P  q8 U4 s3 A2 ]  A
0 ]) o) {1 D) K4 e# X下面我们看看百度是采取的何种分词算法,现在分词算法已经算是比较成熟了,有简单的有复杂的,比如正向最大匹配,反向最大匹配,双向最大匹配,语言模型方 法,最短路径算法等等,有兴趣的可以用GOOGLE去搜索一下以增加理解。这里就不展开说了。但是要记住一点的是:判断一个分词系统好不好,关键看两点, 一个是消除歧义能力;一个是词典未登录词的识别比如人名,地名,机构名等。

暂时无法加载帖子列表

回复

使用道具 举报

劲风 发表于 2013-01-18 07:56:30 | 显示全部楼层
还有这么一说啊,不说我不知道 知道吓一跳
回复

使用道具 举报

 楼主| alvintony 发表于 2013-01-19 12:51:48 | 显示全部楼层
劲风 发表于 2013-1-18 07:56 + E/ `' @# g; |$ p1 B& M1 t" P
还有这么一说啊,不说我不知道 知道吓一跳
: y1 A) p3 T: a- n  ?: {
百度分词是一个很重要的算法,值得好好研究的啊。
回复

使用道具 举报

2870462056 发表于 2026-03-15 22:55:54 | 显示全部楼层
分析得很透彻,很多细节都说到点子上了~
回复

使用道具 举报

feiying12345 发表于 2026-03-24 04:09:30 | 显示全部楼层
楼主辛苦了,整理这么多内容,必须点赞收藏
回复

使用道具 举报

天明才子 发表于 2026-05-04 01:34:40 | 显示全部楼层
刚好遇到类似问题,看完这个帖子心里有底了
回复

使用道具 举报

卟顽正 发表于 2026-05-21 09:43:43 | 显示全部楼层
说得很实在,没有夸大其词,这种真实分享太难得了
回复

使用道具 举报

zhangdong001 发表于 2026-08-05 11:08:49 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复

使用道具 举报

不告诉你 发表于 2026-08-22 09:00:02 | 显示全部楼层
楼主太厉害了,整理得这么详细,必须支持
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-9-14 07:00 , Processed in 0.081811 second(s), 29 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表