曹政(caoz@baidu)谈到的观点:
蜘蛛算个鸟技术
分词,索引这块是最复杂的。
搜索引擎技术门槛很高的,特别是亚洲语言,分词算法的难度高过英文1000倍!
技术普及一下
分词索引,将文章按照分词的方式切分,并建立词索引,windows的index server在中文这里是字索引,效率根本不可能支撑有规模的搜索引擎。
oracle在intermedia里虽然提供了基于utf-8的分词索引,但是分词效果和扩展性只能说是入门级别的,国际上有开源的全文索引工具,名字我忘了,在E文世界还是有一定影响力的,和apache结合的很好,蜘蛛,索引全是可以的,但是上中文根本没戏,因为英文的空格是天然分词符号,而中文断句在英文中根本没有可对应的技术。
数以亿计的网页,数以百亿计的分词索引表,在分布存储上也需要非常强的技术。
而前端查询接口反而是简单技术。
分词的基本技术思路是常用词表的对比,但是仅仅依靠常用词表只能提供弱智级别的分词效果,上下文自动判断分词也非常重要,举个简单例子,人名就是无法用词表去处理的一种分词需求。这样的例子数不胜数。
两三个个人技术精英,如果做一个英文搜索引擎,还不算很困难。如果想做中文的,没有一整套技术团队,几乎不可能有什么成就。
目前国内在这个领域最有实力的,是北京大学自然语言研究实验室。你当是学了点开发语言就能搞定的东西?
发表回复