中国信息港旗下网站    《中华人民共和国增值电信业务经营许可证》(ICP)编号:京B2-20070158(ISP) 京ICP证050145号     企业在线客服QQ:800015119
第一万维网
第一万维网
纯技术文章
注册域名|虚拟主机|企业邮箱|服务器|网页设计|优化推广|业界新闻|网站建设经验|网站赚钱经验|公司公告|ASP技术|PHP技术|ASP.NET技术|
JAVA技术|设计理念|Dreamweaver教程|Fireworks教程|Flash教程|Divcss教程| FrontPage教程|Photoshop教程|Web标准|数据库|
您现在的位置: 第一万维网 >> 优化推广 >> 正 文

百度分词算法详解

来源:第一万维网 更新时间:2010-2-20 0:28:28
内容简介:
>百度预治理阶段的查询治理和中文分词两项技术进行了论述、小结,如果你对数据结构、算法有特定了解的话,理解兴起会相对困难些;匹夫感觉,得出正向最大匹配算法不够准确,不论是专用操典还是普通操

">百度预治理阶段的查询治理和中文分词两项技术进行了论述、小结,如果你对数据结构、算法有特定了解的话,理解兴起会相对困难些;匹夫感觉,得出正向最大匹配算法不够准确,不论是专用操典还是普通操典里的词,都是有不同权重的,这根搜索频率应该有特定关系,基于这点,在出现多个专用操典里的词时,是欲望采用双向最大匹配算法来检测完全哪一度专有词汇应该先被切出来,千万,这是匹夫推测,有待讲究。

理解分词技术对SEO职业具有极大意义,合格从科学的立场来分析根本词,并构想根本词部署计策;如果正向最大匹配算法的建议是正确的,那根本上合格判断,切词后的分词的权重是依照正向排序的

我还想搞明白的是专用操典和普通操典,哪一度权重会更高?

以下为转载的原文:
查询治理以及分词技术
随着搜索经济的崛起,众人开始越加关注全球各大搜索引擎的性能、技术和日流量。作为企业,会证据搜索引擎的声望度以及日流量来选择是不是要投放广告等;作为普通网民,会证据搜索引擎的性能和技术来选择自己喜欢的引擎查找资料;作为技术人员,会把有专人性的搜索引擎作为分析事物。搜索引擎经济的崛起,又一次向众人证书了网络所蕴藏的巨大商机。网络离开了搜索将只剩下实际整齐的数据,以及大量等待去费力挖掘的金矿。
但是,如何设计一度高效的搜索引擎?我们合格以百度所采取的技术手段来探究如何设计一度实用的搜索引擎。搜索引擎牵连到许多技术点,相似查询治理,排序算法,页面抓取算法,CACHE机制,ANTI-SPAM等等。这些技术细节,作为商业公司的搜索引擎服务欲望商相似百度,GOOGLE等是决不会公之于众的。我们合格将旧部分搜索引擎看作一度黑盒,越过向黑盒提交贸易,辨别黑盒返回的输出大致辨别黑盒里面不为人知的技术细节。
查询治理与分词是一度中文搜索引擎必不可少的职业,而百度作为一度垂范的中文搜索引擎不断强调其“中文治理”范围具有其它搜索引擎所不具部分关头技术和优势。这样我们就来看看百度完全采用了哪些叫做的关键技术。
我们分两个部分来叙述:查询治理/中文分词。
一、查询治理
用户向搜索引擎提交查询,搜索引擎一般在接受到用户查询后要做一些治理,然后在索引数据库里面提取相关的信息。这样百度在接受到用户查询后做了些什么职业呢?
1、假设用户提交了不只一度查询串,相似“信息检索 理论 机器”。这样搜索引擎首先做的是证据相隔符相似空格,标注记号,将查询串分割成若干子查询串,相似范围的查询就会被解析为:三个子字符串;这个规律简单,我们接着往下看。
2、假设提交的查询有重复的内容,搜索引擎哪里治理呢?相似查询“理论机器理论”,百度是将重复的字符串当做只出现过一次,也就是治理成等价的“理论机器”,而GOOGLE显然是没有进行合并,而是将重清查询子串的权重增大进行治理。这样是如何得出这个建议的呢?我们合格将“理论机器”提交给百度,返回341,000篇文档,大致看看第一页的返回内容。
OK。进行,我们提交查询“理论机器理论”,在看看返回原因,仍然是这样多返回文档,千万这个不能介绍太多题目,那看看第一页返回原因的排序,看出来了吗?顺序完全没有变化,而 GOOGLE 则排序有些变动,这介绍百度是将重复的查询合并成一度治理的,并且字符串之间的先后出现顺序根本不予着想(GOOGLE是着想了这个顺序关系的)。
3、假设提交的中文查询包含英文单纯词,搜索引擎是哪里治理的?相似查询”电影BT下载”,百度的方法是将中文字符串中的英文当做一度整体保留,并以此为断点将中文切合并,这样上述的查询就切为,不论中间的英文是不是一度字典里能查到的单纯词也好,还是随机的字符也好,都会当做一度整体来招呼。至于为什么,你用查询 “电影dfdfdf下载”看看原因就知道了。千万如果查询中包含数目字,也是如此办理。
到目前为止,全部很简单,也很清楚,百度哪里治理用户查询的呢?归纳如下:首先证据分割记号将查询合并,然后看看是不是有重复的字符串,如果有,就戒除必要的,只保留一度,接着辨别是不是有英文或者数目字,如果部分话,把英文或者数目字当做一度整体保留并把始终的中文切片。
接着该为什么呢?该着想分词的题目了。
二、中文分词
首先,讲讲百度的分词时候或者环境题目,是不是是个中文字符串百度就拿来切一下呢?非也,要想被百度的分词程序荣幸的切削一下也是要讲环境的,哪能是个字符串就切削啊?你当百度是卖锯齿的么?
这样什么样的字符串才满足被切削的环境呢?简单说来,如果字符串只包含小于等于3个中文字符的话,那就保留不动,当字符串长度大于4个中文字符的时候,百度的分词程序才出马大干快上,把这个字符串肢解掉。
哪里证书呢?我们向百度提交“电影下载”,看看返回原因中标为红字的中央,不难看出来,查询已经被切削成两个单纯词了,介绍分词程序已经开工了,如果是比4个中文字符更长的字符串,那分词程序就更不客气了,特定大卸八块而后快。我们来看看三个字符的事情,提交查询“千万择”,看兴起这个查询不伦不类,那是因为我指望看到这个字符串被切分成,返回原因365篇相关页面,翻到最后一页,发觉标红的关头字都是” 千万择”继续出现的事情,好像没有切分,但是还不规定,这样再提交人力资分好的查询“千万择”看看,返回原因1,090,000篇,根本上合格规定没有进行分词了,千万此外一种解释是:对于三个字符先切分,然后将切分后的原因当做一度词组查询,这样看到的效果和没有切分是相似的。
但是我倾向于辨别百度对于少于3个字符的串没有切分,奥卡姆不是说了么“如无必要,勿增实体”,干吗做顶用功呢。这样如果没有切分,会有一度随之而来的题目,哪里从索引库里面提取未切分的字符串呢?这牵扯到索引的题目,我感到百度应该采取了两铁索引机制,一种是依照单纯词索引,一种是依照N-GRAM索引,至于索引的具体题目,以后在详细论述。
下面我们看看百度是采取的何种分词算法,现在分词算法已经算是观察成熟了,有简单的有单纯的,相似正向最大匹配,反向最大匹配,双向最大匹配,语言模型方法,最短途径算法等等,有兴趣的合格用GOOGLE去搜索一下以增多理解。这里就不展开说了。但是要记住小半的是:辨别一度分词系统好不好,关头看两点,一度是消灭歧义能力;一度是操典未登录词的识别相似人名,地名,机构名等。
这样百度用的是什么方法?我的辨别是用双向最大匹配算法。至于哪里推理得出的,让我们一步步来看。千万,这里首先有个假设,百度决不会采取观察单纯的算法,因为着悟出速度题目。
我们提交一度查询“毛泽东北京华烟云”,又一度不知所云的查询,只管不知所云但是自有它的规律,我想看看百度的分词是如何消歧以及是不是有操典未登录词的识别的功能,如果是正向最大匹配算法的话,这样输出应该是:”毛泽东/北京/华/烟云”,如果是反向最大匹配算法的话,这样输出应该是:”毛/泽/东北/京华烟云”,我们看看百度的分词原因:”毛泽东/北/京华烟云”,一度很正常的输出,跟我们的期望相差较多,但是从中我们合格获得如下信息:百度分词合格识别人名,也合格识别”京华烟云”,这介绍有操典未登录词的识别的功能,我们合格假设分词过程分成两个阶段:第一阶段,先查找一度特殊操典,这个操典包含一些人名,部分地名以及一些普通操典没部分新词,这样首先将”毛泽东”解析出来,剩下了字符串”北京华烟云”,而”北/京华烟云”,合格看作是反向最大匹配的分词原因。这样根本说得通。为了证书这小半,我们提交查询”发毛泽东北”,我们期望两种分词原因,一度是正向最大匹配,一度是上述假设的原因,事实上百度输出是第二种事情,这样根本能规定百度分词采取了至少两个操典,一度是普通操典,一度是专用操典(人名等)。并且是专用操典先切分,然后将足够的鳞爪交由普通操典来切分。
进行养殖,提交查询“古巴比伦理”,如果是正向最大匹配,这样原因应该是,如果是反向最大匹配,这样原因应该是,事实上百度的分词原因是,从这个事例看,好像用了正向最大匹配算法;于是还有一些事例表明好像是使用正向最大匹配的;但是且慢,我们看这个查询“北京华烟云”,正向最大匹配期望的原因是,而反向最大匹配期望的原因是,事实上百度输出的是后者,这介绍可能性采用的反向最大匹配;从这点我们合格猜测百度采用的是双向最大匹配分词算法,如果正向和反向匹配分词原因一致千万好办,直接输出即可;但是如果两者不一致,正向匹配一种原因,反向匹配一种原因,这时该如何是好呢?
从范围两个事例看,在这种事情下,百度采取最短途径方法,也就是切分的鳞爪越少越好,相似和相比选择后者,和相比选择后者。还有类似的一些事例,这样根本合格解释这些输出原因。
但是仍然存在的题目是:如果正向反向分词不一致,并且最短途径也相同,那什么样?输出正向的还是反向的原因?
我们再来看一度事例。提交查询“遥远古古巴比伦”,这个查询被百度切分成,介绍操典里面有”巴比伦”,但是是不是有”古巴比伦”这个词汇不规定,这时看不出是正向切分还是反向切分得出的原因,换查询为“遥远古巴比伦”,这时被切分成“遥远/古巴比伦”,这介绍操典里面有”古巴比伦”这个词汇,这介绍了“遥远古古巴比伦”是正向最大匹配的原因。那为什么“遥远古古巴比伦”决不会被反向切分成”遥/远古/古巴比伦”呢,百度的可能性选择是这种事情下选择单字少的那组切分原因。
千万还合格进行追问:如果切分后单字也一样多,那什么样?最后看一度事例,查询“王强大小:”,百度将其切分成“王/强大/小”,是正向切分的原因,如果是反向的会被切分成“王/强/大小”,这介绍有歧义并且单字也相同则选择正向切分原因。
OK,看到这里可能性头已经有些晕了,最后小结一下百度的分词算法,千万里面还是有猜测的因素,算法如下:
首先查询专用操典(人名,部分地名等),将专著名称切出,剩下的部分采取双向分词计策,如果两者切分原因相同,介绍没有歧义,直接输出分词原因。如果不一致,则输出最短途径的那个原因,如果长度相同,则选择单字词少的那一组切分原因。如果单字也相同,则选择正向分词原因。
百度不断宣传自己在中文治理范围的优势,从范围看,分词算法并无特殊之处,消歧效果并不理想,虽然百度采取比上述分词算法单纯些的算法也难以说成是优势,如果说百度有优势的话,唯一的优势就是那个很大的专用操典,这个专用操典登录了人名(相似大长今),称谓(相似老太太),部分地名(相似阿联酋等),估计百度采用学术界宣布的观察新的命名实体识别算法从语料库里面不断识别出操典未登录词,逐渐扩充这个专门操典。如果这就是优势的话,这样这个优势能够保持多久就是个很明显的题目。
Spelling Checker听写调查正确提示(以及拼音提示功能)
  
听写调查正确提示是搜索引擎都具备的一度功能,也就是说用户提交查询 给搜索引擎,搜索引擎调查看是不是用户贸易的听写有正确,对于中文用户来说一般造成的正确是贸易法造成的正确.这样我们就来分析看看百度是 哪里完成这一功能的.
我们分析听写调查系统关注以下几个题目:
(1)系统如何辨别用户的贸易是有可能性出现正确的查询呢?
(2)如果辨别是可能性正确的查询贸易,如何提示正确的词汇呢?
  
这样百度是如何做的呢?百度辨别用户贸易是不是正确的标准,我感到应该是查字典,如果发觉字典里面不包含这个词汇,这样很有可能性是个正确的贸易,这时启动正确提示功能,这个很好辨别,因为如果是一度正常词汇的话,百度一般决不会有正确提示,而你特意贸易一度操典不可能性包含的叫做词汇,这时百度一般会提示你正确的检索词汇.
这样百度是哪里提示正确词汇的呢?很明显是越过拼音的方式,相似我贸易查询

[1][2]下一页


(第一万维网责任编辑:郑朝辉)

本文关键词:百度分词算法详解,搜索优化
本文编辑: 万维阳光
最新图片新闻文章
网友正在看下面的相关文章
业界新闻
第一万维网公告
本站最新图片文章
第一万维网QQ客服
为了给您提供更加方便快捷的服务请选
择您的服务专员,点击QQ号码即可。
企业在线客服QQ:800015119
公司简介 | 公司新闻 | 付款方式 | 联系我们 | 有问必答 | 网站备案