分析百度的中文分词结果

简介: 本结果是基于20000次以上的搜索分析百度而的来的,如有不当请指正,希望我们能够一起来揭开百度分词的面纱。 在大家的心目中可能百度的分词是极其复杂的,他代表了中国分词领域的最高水平,其实不然,简单最好,裸体最美,当我们拨下百度的衣服,既然会发现百度的分词是如此的简单,可能正应了一个名人的某一句话:当用户输入查询关键字的时候我们要准确的知道用户在想什么!这正是百度所追求的,他把所有的工作都放在了处理用户查询关键字的时候。
本结果是基于 20000 次以上的搜索分析百度而的来的,如有不当请指正,希望我们能够一起来揭开百度分词的面纱。

在大家的心目中可能百度的分词是极其复杂的,他代表了中国分词领域的最高水平,其实不然,简单最好,裸体最美,当我们拨下百度的衣服,既然会发现百度的分词是如此的简单,可能正应了一个名人的某一句话:当用户输入查询关键字的时候我们要准确的知道用户在想什么!这正是百度所追求的,他把所有的工作都放在了处理用户查询关键字的时候。

本分析结果也是无意得到的。www.sj110.com搜价110Handsome man Eunge带领下的一个项目,因我是pwqzc老鼠,老鼠吗,就是打点小洞,所以我负责词库这一块,为了词库的精确,在处理词库的时候经常查询百度,查多了,想多了,问题就出来了,竟然发现对百度的分词稍微有了点了解,这个是我无意撞上的,就如一个送水的汉子,碰上了一个要水的少妇,而这个少妇的男人三年前出门至今未归,此MM鸡渴难耐,于是和那个送水的汉子发生了不该发生的事,呵呵,都是撞上的。

下面是我的一些分析结果,凡是我可以肯定的,我都注明了。

1.百度的蜘蛛爬到的文档索引入库的时候是只进行了简单的分词处理(我可以肯定),也就是只是简单的把中文单个字单个字的分开,要证明这点很简单,你只需要搜索“地”或者“书”或者“脑”。。。。。。等单个词就可以了,当然,你也可以找一些莫名其妙的两个字或者三个字组合在一起搜索百度看,你就会明白他入库的时候只进行了简单的把单个中文分开的处理。他把复杂的分词逻辑放到了处理用户输入查询关键字的时候。仔细一想,其实这样做能够最大限度的消除歧义!!!

2.当用户输入两个字和三个字的词进行搜索的时候百度也没有进行任何处理的(我可以肯定),也只是把他们简单的按照单个字分开,然后查询的时候条件是这两个字或者这三个字必须连接在一起,中间没有任何其他的字。要证明这点也很简单,大家只要输入任意两个字的词或者三个字的词进行搜索就可以了,甚至你可以搜索“甘新哦”,“春天气”,“哦人无”等毫无意义的词进行查询,看是不是出来的搜索结果要么是没有找到任何内容,要么是包括你输入了的任何字,而且这些字都是连接在一起的,虽然这些字他们之间的组合是毫无意义,这也同时证明了百度在索引入库的时候是只进行了简单的按照单个中文分开。

3.百度如何处理四个字?我们输入“李宇春天”搜索,结果是被分成了“李宇”和“春天”,这给我们带来了两个疑问:第一,如果李宇春已经收录到了词典里面,那么肯定肯定百度是正向分词。第二,如果李宇春没有被收录到词典里面,那么可能是正向分词也可能是逆向分词。那么到底是那种呢?我们先判断百度处理查询关键子的时候是逆向分词还是正向分词。我们再输入“笔畅通行”来搜索他被分成了“畅通”,我想笔畅应该不会被收进词典,按此分析应该是正向分词;我们再输入“笔畅通知”,很明显被分成了“笔畅”和“通知”,这看起来是逆向分词的结果,如果是正向的话那也会被分成“畅通”的;我们再输入“桃李宇春”搜索,结果被分成了“桃李”和“宇春”,这看起来象正向分词,当然这也不能够证明就是逆向,因为如果李宇春没有收进词典,这逆向分词也会得到同样的结果。那么百度到底是正向还是逆向呢?我们抛开名字吧,因为我们还不感肯定象李宇宙春之类的词是不是在百度的词典里面,现在我们输入“神彩票啊”,很明显被分成了“彩票”,再输入“光彩票啊”,很明显也被风成了“彩票”,再输入“啊中国家”,结果被分成了“国家”,再搜索“啊国家庭”,被风成了“家庭”,我们再输入“风岁月亮”搜索,被分成了风岁和月亮,再输入“风岁月球”,被分成了“分”,“岁月”和“球”,再输入“风岁月份”,被分成了“分色”和“月份”,这样的结果看起来真的很让我们郁闷!!!极度郁闷!!更郁闷的是还在后头啊,我输入“笔畅通过”搜索,第一次的所有结果是全部把这四个字搜索出来,而且他们都是连接在一起的,而且这四个字之间没有任何其他的字!!但是我们过几分钟再次搜索,结果竟然截然不同!!!“笔畅通过”被分成了“畅通”!!!!这里我不敢乱下结论,如果是我,那我应该怎么样去处理四个字的关键字呢?

一,               首先取这四个字去匹配词典,如果匹配成功,则查询条件如ABCD,返回的结果必须包含ABCD,且ABCD必须连接在一起,中间没有任何其他字,在这里我首先假设索引入库的时候是只进行了简单的按照单个字切分,且搜索的时候能够判断索引文件里的A/B/C/D等文字中间有没有其他的文字。

二,               如果一匹配不成功,则截取前面两个字匹配词典,如果匹配成功,则如ABCD分成AB/CD,查询结果必须包含ABCDAB之间不能够有其他文字,CD之间也不能够有其他文字,ABCD之间可以出现其他文字;查询结果可以包含ABCD全部连接在一起四个字之间没有其他文字的结果,且其排序优先于AB/CD

三,               如果二匹配不成功,则截取最后面两个字匹配字典,如果匹配成功,采取和上面二一样的做法。

四,               如果三匹配不成功,则截取中间两个字匹配词典,如果匹配成功,则如ABCD查询的结果里面必须BC,且BC之间没有其他文字,结果也可以包含BCD,结果也可以包含ABC,结果也可以包含ABCD,结果排序优先规则(从最优开始):ABCD全部连接在一起的结果------BCD全部连接在一起的结果或ABC全部连接在一起的结果------BC全部连接在一起的结果。

五,               如果四匹配不成功,则可以肯定他是地名人名或者其他专有名词或者这四个字连起来没有任何意义,则采用一的方法。

暂时写到这吧,其他的慢慢来

目录
相关文章
|
自然语言处理 算法 搜索推荐
给全文搜索引擎Manticore (Sphinx) search 增加中文分词
Sphinx search 是一款非常棒的开源全文搜索引擎,它使用C++开发,索引和搜索的速度非常快,我使用sphinx的时间也有好多年了。最初使用的是coreseek,一个国人在sphinxsearch基础上添加了mmseg分词的搜索引擎,可惜后来不再更新,sphinxsearch的版本太低,bug也会出现;后来也使用最新的sphinxsearch,它可以支持几乎所有语言,通过其内置的ngram tokenizer对中文进行索引和搜索。
4097 0
|
自然语言处理 搜索推荐 算法
中文分词利器-jieba
中文分词利器-jieba
|
数据采集 搜索推荐 Python
扩展词库秘籍:Python利用百度搜索引擎实现以词搜词
在这篇文章中,我将教你如何使用百度搜索引擎来实现以词搜词的目的。无论是为了拓展词汇量、进行主题扩展,还是进行学习和研究,这个技巧都会让你更加高效地获取相关信息。利用百度搜索的工作原理和搜索算法,以便更好地理解搜索结果的生成过程。接下来,我会分享一个简单而有效的方法,让你能够通过一个关键词或短语来搜索到与之相关的词汇。
扩展词库秘籍:Python利用百度搜索引擎实现以词搜词
|
搜索推荐 程序员
助你掌握搜索神器,10个实用的Elasticsearch查询技巧
Elasticsearch是一个非常流行的搜索引擎,已经成为了许多企业的首选解决方案。然而,我们要想成为一个优秀的程序员,就必须掌握各种查询技巧。本文将向大家介绍10个实用ES的查询技巧。
|
存储 人工智能 自然语言处理
中文分词模型体验
中文分词任务就是把连续的汉字分隔成具有语言语义学意义的词汇。中文的书写习惯不像英文等日耳曼语系语言词与词之前显式的用空格分隔。为了让计算机理解中文文本,通常来说中文信息处理的第一步就是进行文本分词。
1162 32
中文分词模型体验
|
SQL 自然语言处理 Java
Elasticsearch连续剧之实战搜索文档
前几篇文章中,小编给大家介绍了一些es的基本操作,还有常用分词器的搭建,现在给大家来示范一下es的一些常见文档搜索方式
|
SQL 人工智能 自然语言处理
【Solr】之使用结巴分词模拟搜索商品1
【Solr】之使用结巴分词模拟搜索商品1
135 0
【Solr】之使用结巴分词模拟搜索商品1
|
存储 自然语言处理 搜索推荐
使用jieba分析小说太古神王中,男主更爱谁?去文章中找答案吧!
很多时候,我们会去统计一片文章中的高频词汇,以此来作为文章的关键词条,那么词频分析在python中,该用什么模块做?jieba! 第一次听到这个词就乐了,一个“结巴”,帮助我们统计词频...但仔细了解这个模块后,你会发现它的强大。怎么证明?来看看github。
255 0
|
机器学习/深度学习 搜索推荐 数据处理
这就是搜索引擎读书笔记-day3-5.检索模型与搜索排序
搜索结果排序融合了上百种排序因子,而重要两因素是:用户查询和网页内容相关性 及 网页链接情况。本节介绍内容相关性介绍网页排序
这就是搜索引擎读书笔记-day3-5.检索模型与搜索排序
|
自然语言处理 搜索推荐 程序员
让分词更懂你的搜索!海量分词-ES插件重磅发布!
海量中文智能分词v5.0-ES插件 发布!
3233 0