对与百度的分词研究原来也没有在意,但有一次我在作优化时无意中发现一个词也就是差了一个字,结果排名大不相同。我作的是二手房的关键词,但是我的页面上的关键词设置却是“二手房源”,可能有的朋友会说,这个没什么问题啊,“二手房源”不是包含了二手房这个关键词吗?如果没有仔细对百度的分词进行研究,大家可能看不出这两个词会有什么区别,不过大家只要稍微留心一下搜索出来的结果,就可以看出端倪了,百度在对“二手房”和 “二手房源”这两个词分词出来是不一样的,百度自己建立有自己的词库,所以他会把“二手房“这个词当作一个整体,但是对于”二手房源“这个词,百度则拆分成了”二手“和”房源“两个词,自然别人在搜索二手房这个关键词的时候就找不到我的页面了。通过这个小细节,我觉得有必要对百度的分词进行一下深入的研究,我大概地总结出了以下这么几点:
1、百度分词是根据内容中,第一次出现关键词相关词为标准来分的。例如”今日新开热血江湖sf“这个词
如果你的正文中第一个出现的是”今日“这个词,那么你的页面上的关键词就会被拆分成”今日”和“新开热血江湖sf“两个词,标题中一定要包含关键词,但不一定要完全匹配,但内容中出现的关键词是要跟百度分词完全匹配的,在完全匹配中又会根据文件URL路径的深度来进行排序,在关键词都完全匹配的情况下,比如说目录比文件有优先权,根目录下的文件要比二级目录下的文件有优先权,完全匹配的会排在前面,然后再是部分匹配的。
2、在关键词没有完全匹配的情况下,如果有分词,比如说:游览器下载
这个关键词,有一个网页里第一次出现的关键词是游览器,并且有较高的关键词密度,但是这个网页中却没有”下载“这个关键词
而另一个网页里第一次出现的关键词是下载,那么这个网页的关键词就会被拆分成 游览器 下载 两个词,虽然第二个网页里包含有“游览器” “下载” 但是第一个网页还是会排在第二个网页的前面,这说明关键词的前面部分是最重要的。
1、百度分词是根据内容中,第一次出现关键词相关词为标准来分的。例如”今日新开热血江湖sf“这个词
如果你的正文中第一个出现的是”今日“这个词,那么你的页面上的关键词就会被拆分成”今日”和“新开热血江湖sf“两个词,标题中一定要包含关键词,但不一定要完全匹配,但内容中出现的关键词是要跟百度分词完全匹配的,在完全匹配中又会根据文件URL路径的深度来进行排序,在关键词都完全匹配的情况下,比如说目录比文件有优先权,根目录下的文件要比二级目录下的文件有优先权,完全匹配的会排在前面,然后再是部分匹配的。
2、在关键词没有完全匹配的情况下,如果有分词,比如说:游览器下载
这个关键词,有一个网页里第一次出现的关键词是游览器,并且有较高的关键词密度,但是这个网页中却没有”下载“这个关键词
而另一个网页里第一次出现的关键词是下载,那么这个网页的关键词就会被拆分成 游览器 下载 两个词,虽然第二个网页里包含有“游览器” “下载” 但是第一个网页还是会排在第二个网页的前面,这说明关键词的前面部分是最重要的。
原文见:http://blog.fulin.org/2009/08/lucene_chinese_analyzer_compare.html,更多讨论请去原文处。
1. 基本介绍:
paoding :Lucene中文分词“庖丁解牛” Paoding Analysis
imdict :imdict智能词典所采用的智能中文分词程序
mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器
ik :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式
1. 基本介绍:
paoding :Lucene中文分词“庖丁解牛” Paoding Analysis
imdict :imdict智能词典所采用的智能中文分词程序
mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器
ik :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式
目前最新版本的lucene自身提供的StandardAnalyzer已经具备中文分词的功能,但是不一定能够满足大多数应用的需要。
另外网友谈的比较多的中文分词器还有:
CJKAnalyzer
ChineseAnalyzer
IK_CAnalyzer(MIK_CAnalyzer)
还有一些热心网友自己写的比较不错的分词器在此就不说了,有兴趣的可以自己研究研究。
以上三个中文分词器并不是lucene2.2.jar里提供的。
CJKAnalyzer和ChineseAnalyzer分别是lucene-2.2.0目录下contrib目录下analyzers的lucene-analyzers-2.2.0.jar提供的。分别位于cn和cjk目录。
IK_CAnalyzer(MIK_CAnalyzer)是基于分词词典,目前最新的1.4版本是基于lucene2.0开发的。以上分词器各有优劣,比较如下:
另外网友谈的比较多的中文分词器还有:
CJKAnalyzer
ChineseAnalyzer
IK_CAnalyzer(MIK_CAnalyzer)
还有一些热心网友自己写的比较不错的分词器在此就不说了,有兴趣的可以自己研究研究。
以上三个中文分词器并不是lucene2.2.jar里提供的。
CJKAnalyzer和ChineseAnalyzer分别是lucene-2.2.0目录下contrib目录下analyzers的lucene-analyzers-2.2.0.jar提供的。分别位于cn和cjk目录。
IK_CAnalyzer(MIK_CAnalyzer)是基于分词词典,目前最新的1.4版本是基于lucene2.0开发的。以上分词器各有优劣,比较如下: