中科院软件所张俊林:Baidu分词算法分析
作者:张俊林 来源:中科院 发布时间:2008-10-06 17:44:00
查询处理以及分词技术
随着搜索经济的崛起,人们开始越加关注全球各大搜索引擎的性能、技术和日流量。作为企业,会根据搜索引擎的知名度以及日流量来选择是否要投放广告等;作为 普通网民,会根据搜索引擎的性能和技术来选择自己喜欢的引擎查找资料;作为技术人员,会把有代表性的搜索引擎作为研究对象。 搜索引擎经济的崛起,又一次向人们证明了网络所蕴藏的巨大商机。网络离开了搜索将只剩下空洞杂乱的数据,以及大量等待去费力挖掘的金矿。
但是,如何设计一个高效的搜索引擎?我们可以以百度所采取的技术手段来探讨如何设计一个实用的搜索引擎。搜索引擎涉及到许多技术点,比如查询处理,排序算法,页面抓取算法,CACHE机制,ANTI-SPAM等等。这些技术细节,作为商业公司的搜索引擎服务提供商比如百度,GOOGLE等是不会公之于众的。我们可以将现有的搜索引擎看作一个黑盒,通过向黑盒提交输入,判断黑盒返回的输出大致判断黑盒里面不为人知的技术细节。
查询处理与分词是一个中文搜索引擎必不可少的工作,而百度作为一个典型的中文搜索引擎一直强调其“中文处理”方面具有其它搜索引擎所不具有的关键技术和优势。那么我们就来看看百度到底采用了哪些所谓的核心技术。
我们分两个部分来讲述:查询处理/中文分词。
一、查询处理
用户向搜索引擎提交查询,搜索引擎一般在接受到用户查询后要做一些处理,然后在索引数据库里面提取相关的信息。那么百度在接受到用户查询后做了些什么工作呢?
1、假设用户提交了不只一个查询串,比如“信息检索 理论 工具”。那么搜索引擎首先做的是根据分隔符比如空格,标点符号,将查询串分割成若干子查询串,比如上面的查询就会被解析为:《信息检索,理论,工具》三个子字符串;这个道理简单,我们接着往下看。
2、假设提交的查询有重复的内容,搜索引擎怎么处理呢?比如查询“理论 工具 理论”,百度是将重复的字符串当作只出现过一次,也就是处理成等价的“理论 工具”,而GOOGLE显然是没有进行归并,而是将重复查询子串的权重增大进行处理。那么是如何得出这个结论的呢?我们可以将“理论 工具”提交给百度,返回341,000篇文档,大致看看第一页的返回内容。OK。继续,我们提交查询“理论 工具 理论”,在看看返回结果,仍然是那么多返回文档,当然这个不能说明太多问题,那看看第一页返回结果的排序,看出来了吗?顺序完全没有变化,而GOOGLE 则排序有些变动,这说明百度是将重复的查询归并成一个处理的,而且字符串之间的先后出现顺序基本不予考虑(GOOGLE是考虑了这个顺序关系的)。
3、假设提交的中文查询包含英文单词,搜索引擎是怎么处理的?比如查询”电影BT下载”,百度的方法是将中文字符串中的英文当作一个整体保留,并以此为断点将 中文切分开,这样上述的查询就切为《电影,BT,下载》,不论中间的英文是否一个字典里能查到的单词也好,还是随机的字符也好,都会当作一个 整体来对待。至于为什么,你用查询“电影dfdfdf下载”看看结果就知道了。当然如果查询中包含数字,也是如此办理。
到目前为止,一切很简单,也很清楚,百度怎么处理用户查询的呢?归纳如下:首先根据分割符号将查询分开,然后看看是否有重复的字符串,如果有,就抛弃多余的,只保留一个,接着判断是否有英文或者数字,如果有的话,把英文或者数字当作一个整体保留并把前后的中文切开。
接着该干什么呢?该考虑分词的问题了。
猜你喜欢
- 写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的朋友请注意命令里面的空格是必须的,否则运行会
- 最近突然发现在虚拟机下没法通过长按方向键快速移动光标了,之前做的操作是升级了虚拟机从11至12,一开始就怀疑是不是虚拟机设置问题: 1, 经
- 如果您的网站正在投放 AdSense 推介,请您注意,近期 AdSense 推介计划将会进行调整。在新的调整中,对于北美洲、拉丁美洲和日本以
- 图为九城CEO朱骏11月18日消息,据知情人士称,九城目前与韩国多家知名游戏公司就游戏代理业务来往密切,继公司韩籍高管多次受邀前往韩国与多家
- “在查看您的帐户时,我们注意到您目前在展示 Google 广告时所采用的方式不符合我们的政策。例如,我们发现在类似 URL的网页上有违反 A
- 关闭SeLinuxsetenforce 0永久关闭:vi /etc/selinux/config关闭防火墙systemctl stop fi
- 1. 简要双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用的是bonding技术,在cento
- 本文介绍了20条简单有趣的技巧,让你告别以往费时费力的搜索习惯。从现在起,Tips你的“搜”能力吧!对上百万人而言,Google是一个每天都
- 什么是mdb数据库呢?凡是有点制作网站经验的网络管理员都知道,目前使用“IIS+ASP+ACCESS”这套组合方式建立网站是最流行的,大多数
- 大家好,我是杜晓帅~,做为一个后端开发,因为要学的技术比较多,而各种技术又必须要安装各种包或者配置环境,所以为了保护自己电脑的系统,不让他轻
- 在传统的金秋10月,也都是各大厂商推陈出新的时刻,作为民族软件旗帜的金山软件,旗下应用软件及游戏业务都将有诸多产品问世,其中《飞天风云》、《
- 前言大多数人可能在系统磁盘存储不足的情况下执行释放空间这个操作,也可能在 Linux 系统磁盘存储满了的情况下执行这个操作。它应该被经常执行
- 大家都知道pr马上就要更新了,亲爱的站长们,你们的友情链接在怎么做呢?站长A:为了在这次pr更新有个飞跃,我现在在疯狂的做外链,主要是交换友
- linux禁止ping的实现实例1、临时禁止PING操作的命令为:#echo 1>/proc/sys/net/ipv4/icmp_ec
- 在使用wordpress博客程序上传RAR格式的压缩文件时,通常会提示错误:文件类型不符合安全规则。wordpress默认是不支
- 近年来,价格战的加剧,随着我国IDC市场的大变革正在悄然发生,IDC行业正处于“清淤”阶段。国内领先的增值电信服务商阳光互联日前表示,国内I
- 连接到你的独立服务器,一般来说有两种方式:你可以使用一个基于网络的接口,如Plesk;或者你可以使用SecureShellprotocol(
- 一、什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 
- 北京时间10月16日消息,据国外媒体报道,Mozilla昨日向微软对欧盟反垄断机构提议的“浏览器选择屏&rdqu
- Godaddy是世界排名第一的域名注册商,成立于1997年,据多家监测机构显示