主题:Google与百度的语言处理技术比较 -- vanzolo
这里只是比较两个搜索引擎对语言的处理能力,不涉及后台的其他技术。
Google是从以词语为单位的自然分词语言发展过来的,处理大多数外语都很有经验。
Baidu是从以字为单位的非自然分词语言发展过来的,处理中文这样的语言经验丰富。
Google很早就开始国际化,所以处理多语言混合的内容要比Baidu成熟许多。Baidu现在还是主要以中文或者类似的东方语言(如日语)为主要方向,对西方语言和多语言混合处理起来笨拙很多。
中文这样需要分词的语言处理起来和西方语言有很大不同,如果是中西混合的内容,复杂程度又要增加很多。
两个搜索引擎对不同语言支持程度的不同也使不同用户有了不同的印象:IT工作者很多时候都是在使用英文词汇,甚至有时候很难找到对应的中文词汇来表达,所以这些人会感觉Google好很多;而对于主要使用中文搜索的用户,当搜索关键词比较复杂(比如长句)的时候,百度的优势就会显示出来了。
例子1:搜索关键词:Concurrency with Python, Twisted, and Flex (我找的是JavaEye的帖子,这里是英文原文)
Google直接就找的了英文原文这对于专业人员很重要
第一页的结果基本上都靠谱或者沾边
Baidu也不错,把英文原文放在了第二位。但是从结果上看,不如Google的好。
这一局Google小胜
例子2:搜索关键词:是否可以考虑放弃浏览器另起炉灶 (河里的帖子)
这个例子搜索的关键词是一个中文长句。
Google给的第二个结果已经很不靠谱啦:
第一页10个结果有6个不靠谱
Baidu第一页只有最后一个不沾边:
Baidu搬回一局
例子3:搜索关键词:使用 Optim Data Privacy 解决方案在开放平台上定制数据转换 (IBM developerWorks中国的文章)
Google准确命中目标
但是。。。只限于前两个结果(包括这两个结果所属网站的其他结果),第一页后面的结果就有点不知所云啦
Baidu没有找到靶心
但是。。。第一页的所有结果都跟搜索关键词有或多或少的关系
怎么比呢。。。算是平手吧
在这样三个不同类型的测试中两个搜索引擎基本上部分高下。但是这是在三种类型关键词出现概率相同的条件下。如果用户日常搜索的关键词偏向于某一类的话,用户的到的体验就完全不一样啦。
所以出发点不同,导致结果不同。每个人都可能对搜索结果有自己直观的感受,每个人的感受都可能不同,单纯从自己的角度评论搜索引擎的语言处理技术水平不能说明什么问题。
本帖一共被 1 帖 引用 (帖内工具实现)
只是看到大家因为Google退出中国炒得一塌糊涂,就想说点自己知道的、看到的,有什么不对的地方,还希望大家多指正
这也许是第二个例子结果更加靠谱的原因?
不知道对搜索结果是否也进行手工整理。
我搜索中文的时候还是主用百度,google出来的不靠谱的似乎要多一些。
主要是他的搜索结果可以花钱买,甚至勒索,导致可信度低。
应该是对于搜索引擎判断不好的情况进行了手工切割,同时更新了词典。搜索引擎判断不好的情况既可能来自关键词,也可能在算法在处理网页时遇到。而后者应该占大多数。而词典的维护很大程度上是一种人工介入。
在中文自然语言处理中,词典非常重要,百度应该投入了很大力量(包括人力)维护词典。对于比较规整的句子,使用好的词典能够得到很好的结果。
词典维护包括新词添加,词性标注,调整权重等等工作。随着语言的变化发展,要不断补充词汇,调整权重,修改标注,优化算法,才能保持比较好的搜索体验。
词典对中文自然语言处理非常重要是因为现代汉语里面词汇以多字词为主,而对句子进行分析必须先把句子分割成合理的词汇组合,也就是要先分词。这是对面向西方语言的自然语言处理里面所不需要的。
百度的词典做得好,算法对中文有进行充分的优化,同时也在不停地改进,所以百度敢说”我们更懂中文“。Google主要面向的内容还是以西方语言为主,所以它的算法在处理起中文来回有些拘束,不能完全显示出他的技术实力来。
另外词典的维护很大程度上是一种人工介入。虽然有很多算法是面向生词识别的,但是没有人工的介入对算法发现的生词进行判断,基本上没有多大利用价值。Google一直号称他的算法是没有人工介入的,所以对词典的使用上有些忌讳。当然完全没有人工介入是瞎扯,要是不对算法的参数进行人工调整,怎么会出现PR值发生突变的情况。而且Google也有对网站PR值直接调整的机制。google.jp因为犯错就被Google处罚了(现在好像已经刑满释放啦)。搜索引擎完全是一个黑箱,现在还没有谁能监督搜索引擎的公平性。
当面对一个很难使用现代汉语词典分词的句子(比如古文)时,搜索引擎就可以采取一种以字为单位分析的方法。这时候中文的处理方式就和西语处理没有太大区别啦,甚至会更加简单粗暴一些:直接依据字的排列顺序搜索而不考虑里面的语法关系、词性权重等等。这是因为大多数搜索引擎面对的是现代语言,而现代语言和古代语言在语法和词性词义上有很大区别,依据现代语言建立起来的模型在面对古代语言的时候很难发挥出多大左右,越是对现代语言优化的模型越是这样。
所以,在Google和百度上搜索古文时经常会不相上下。比如搜索”言举斯心加诸彼而已“(《孟子·梁惠王章句上·第七章》)
我猜他们都是在使用以字为单位的切词方法来处理这句。现代汉语词典面对这样的古文基本上只能缴械投降啦
本帖一共被 1 帖 引用 (帖内工具实现)
这里只是讨论搜索引擎中自然语言处理方面的技术。搜素引擎包括很多技术,自然语言处理只是一方面。但是自然语言处理能对用户的搜索体验有直接的影响(搜到的结果靠不靠谱)。所以从普通用户的角度来看,谁的结果更靠谱谁就是好引擎。
这里所做的实验是在理想环境中,即排除了自然语言处理技术以外的其他因素的影响。结果中的广告、搜索排名这些都不在这个讨论的范围之内。
面对一个复杂事物我们很难下一个直接的判断肯定或者否定它。最后的办法是剖析一下,先来个庖丁解牛,找的容易比较的。然后再从整体的角度综合起来。
第二条是 39癌症疾病_中国第一专业肿瘤疾病网站
google的第一条是 39癌症疾病_中国第一专业肿瘤疾病网站
第二条是 癌症-肿瘤中国最权威的癌症(肿瘤)资讯平台-搜狐健康
看起来google这个结果更像买来的。。。。
搜索时请把长句加上引号.then
例子2: Google 和 baidu 均给出很好的结果,都仅指向西西,不相干的都省略了.
例子3: Google 准确命中,baidu表示抱歉.Google给出5个网页,2个IBM,2个ITPUB, 1个西西:楼主的帖子.
Web
Hide optionsShow options...
Results 1 - 5 of 5 for "使用 Optim Data Privacy 解决方案在开放平台上定制数据转换". (0.11 seconds)
Search Results
1.
使用Optim Data Privacy 解决方案在开放平台上定制数据转换
- [ Translate this page ]
2010年1月15日 ... 在客户环境中,我们经常会需要对一些敏感数据进行保护,IBM Optim Data Privacy 解决方案中,提供了综合数据屏蔽技术,使用各种屏蔽选项以及更高级的 ...
www.ibm.com/developerworks/cn/data/library/.../dm.../index.html - Cached
2.
IBM developerWorks 中国: Information Management 专区- Information ...
- [ Translate this page ]
使用Optim Data Privacy 解决方案在开放平台上定制数据转换. 在客户环境中,我们经常会需要对一些敏感数据进行保护。本文通过使用三种不同的方法,以身份证数据转换为 ...
www.ibm.com/developerworks/cn/db2/ - Cached - Similar
Show more results from www.ibm.com
3.
ArtCode的个人空间- ITPUB个人空间- powered by X-Space
- [ Translate this page ]
使用Optim Data Privacy 解决方案在开放平台上定制数据转换. 2010-01-19 13:56:06. 数据载入中,请稍等... 查看(4) 评论(0) 收藏 分享 圈子 管理 ...
space.itpub.net/15082138/ - Cached
4.
关闭窗口推荐给好友
标题: 使用Optim Data Privacy 解决方案在开放平台上定制数据转换地址: http://space.itpub.net/?viewspace-625475 希望你能喜欢。 推荐给好友.
space.itpub.net/batch.common.php?action=emailfriend&itemid... - Cached
Show more results from space.itpub.net
5.
Google与百度的语言处理技术比较文章内容- ccthere.com
- [ Translate this page ]
2010年1月21日 ... Baidu搬回一局 F 例子3:搜索关键词:使用Optim Data Privacy 解决方案在开放平台上定制数据转换(IBM developerWorks中国的文章) ...
www.ccthere.com/article/2674403
In order to show you the most relevant results, we have omitted some entries very similar to the 5 already displayed.
If you like, you can repeat the search with the omitted results included.
当文字顺序作为最高优先级的时候,词典的作用就基本被忽略啦,可以和以字为单位进行切割的情况。而以字为单位的情况可以参考这里。
在搜索引擎对网页中的一个句子进行处理的时候,都会产生不同级别的分词结果,其中就包括完全以字为单位进行切割的结果。处理算法会的不同的结果打分,尽量选取最优的结果。但是并不是说其他结果就都会被抛弃掉。很多时候以字为单位的切割结果都会保留下来,为的就是能够支持关键词完整匹配模式,也就是使用引号的情况。
不使用引号时,搜索引擎会先对关键词分词,去掉其中的停用词(不过现在流行不去掉停用词啦,为的就是能够得到更优的结果,代价就是算法的复杂度增大和耗费的时间增多)。然后在对关键词分词的结果去和倒排索引中的条目进行匹配,再对匹配处理的条目进行汇总打分排序,得到最后的结果。这个计算过程中起最大作用的是词(字)本身的属性,也就是权重、词性、词义等,而词(字)在关键词和网页内容中的位置参数属比较次要的位置,对最后的结果影响较小。
使用引号时,搜索引擎认为词(字)的位置信息更重要。能够和完整的关键词完全匹配的结果能够得到高分。而词典中的词汇属性就退居次要地位啦。
对于例子2,使用引号得到的结果可以参考这里的说明。这时两个引擎的中文语言处理功力基本上没有发挥的余地。
对于例子3,使用引号的结果说明百度对中西混合的内容处理上有欠缺。因为“使用 Optim Data Privacy 解决方案在开放平台上定制数据转换”中的英文部分包括了空格,而空格是英文词汇的天然分隔符。这对英文处理已经炉火纯青的Google来说可以说是小菜一碟,但是对于从中文处理发展起来的Baidu来说就是不小的麻烦啦。应该说Baidu在这方面还有很多事情要做。
对于引号的使用,百度给出了解释:
如果输入的查询词很长,百度在经过分析后,给出的搜索结果中的查询词,可能是拆分的。如果您对这种情况不满意,可以尝试让百度不拆分查询词。给查询词加上双引号,就可以达到这种效果。
例如,搜索 上海科技大学 ,如果不加双引号,搜索结果被拆分,效果不是很好,但加上双引号后,“上海科技大学”,获得的结果就全是符合要求的了。
书名号是百度独有的一个特殊查询语法。在其他搜索引擎中,书名号会被忽略,而在百度,中文书名号是可被查询的。加上书名号的查询词,有两层特殊功能,一是书名号会出现在搜索结果中;二是被书名号扩起来的内容,不会被拆分。 书名号在某些情况下特别有效果,例如,查名字很通俗和常用的那些电影或者小说。比如,查电影“手机”,如果不加书名号,很多情况下出来的是通讯工具——手机,而加上书名号后,《手机》结果就都是关于电影方面的了。
这里明确说明了括号会“让百度不拆分查询词”。所以使用引号会把搜索引擎分词能力给掩盖掉。
BTW,Google能够很快给出指向这个帖子的结果(荣幸一下),得益于他高效的爬虫、快速的建立索引的能力和强大的计算平台的支持。这方面,Baidu就差的多了(当然也和西西河的服务器不再国内有关系,Baidu的爬虫更多的是面向国内的网站)。好像记得Google在准备推出即时搜索功能,也就是说这里这里刚刚把帖子发出来,他的爬虫就已经把网页抓走啦(好可怕)呵呵,一定的时延应该还是会有的,但是对于一般的网站已经足够强大啦。这个功能对于使用Google Site Search的网站非常有用,基本上可以用Google代替传统的站内搜索啦。
当然,这些Google的强项不是在中文语言处理方面的,也就不是这个帖子讨论的主要方面啦。Google还有很多技术上的优势,即使是自然语言处理上也是数得着的。如果搜索关键词是“八国联军”,百度那就死得不是一般惨啦所以百度从来都是在强调自己在中文处理上的能力而只字不提其他语言也是不得已的。
中文自然语言处理的能力需要比较复杂的环境来体现。Google黑板报对中文分词做了很好的说明,有兴趣可以看一看。
如果有50%的人提交的搜索是lz测试的这个样子,做搜索引擎的人都可以失业了。你提交的这些搜索,如果专门去优化,其实是很好做的。这样的搜索只要把查全率做上去,基本上就解决了。如果你真的做个搜索方面的研究就知道,查全率要做上去很容易,只要解决速度问题,语言上不需要太多处理,用带子句内位移的单字索引即可做得很好。
事实上,90%以上的搜索只有1-2个词,还往往是非常通用的词,其匹配的结果可能上百万页。此时查全率没有任何意义,精度也没有任何意义,传统的评价搜索结果好坏的标准完全失效。这才是PageRank发挥威力的地方。由于短查询如此之普遍,现在所有的搜索引擎都是针对短查询优化的。计算机技术的特点(其实大多数技术都如此),就是优化某一方向必然导致另一方向的劣化。所以,现在的搜索引擎对长查询往往结果不太理想。
另外,搜索引擎目前的一个重要的核心技术和语义还没有任何关系,就是反SEO(Search Engine Optimization: 搜索引擎优化)。SEO就是针对PageRank之类的排序算法,把特定的目标网页的排名优化到最前面的技术。这类技术显然是破坏搜索引擎排序算法准确程度的,所以搜索引擎要获得好的结果,要把这些SEO制造的垃圾数据从真正有用的互联网数据中去除再进行网页排序计算。
所以,要比较搜索引擎的技术,主要应当比较对短查询的处理能力和反SEO的水平。
但是你说的比较搜索引擎的技术是从整体上来比较,而这个这里在讨论的主要是搜索引擎中用到的中文自然语言处理方面的技术。SIGHAN是针对这方面的讨论组。SIGHAN组织一些专门针对汉语分词的测试评比来比较各种相关的研究。
而PageRank的核心思想是跟自然语言处理没有关系的。自然语言处理针对的是单个内容(网页),是局部的;而PageRank针对的是网页直接的结构关系,是面向全局的。两者考量的级别是不同的。在实现中,自然语言处理的结果往往是PageRank算法中对网页打分的一个因子。所以拿PageRank和自然语言处理来比较有点关公战秦琼啦
其实Google是希望用户使用更长更多的关键词的,因为他们认为自己只有在更复杂的关键词上才能体现出比别人强的技术优势来。李开复曾经说过这么一个故事:Google为了让用户输入更长更多的关键词,在内部发动群众运动集思广益,最后是一个工程师想到了一个非常简单实用的主意:把首页中的搜索框拉长