所谓的专业搜索引擎既是指针对某一个专业领域进行专题搜索,比如对"软件工程"这个区域概念的搜索,它的一大特点是只需要访问很少部分的专业网站,并从中提取一定的信息,通过某种算法进行排序,最后将搜索结果表现在客户端.
我们今天常用的google或者百度,在其主页的查询接口都是普通搜索引擎的查询接口,而目前百度和google已经试验在某些领域进行专业搜索的尝试,比如google的"大学搜索",""学术搜索";百度的"法律搜索","地区搜索"等等,都是目前已经在使用的专业搜索.接下来,就让我们来小结一下目前做专业搜索引擎面对的一些技术难点,以及它相对于传统搜索引擎在技术上需要进行革新的地方.
首先,专业搜索引擎服务于特殊的人群.比如说,专业的"软件工程"搜索引擎可能它服务的最大人群就是软件开发者,同时还包括一些其他领域的信息工作者.他们通过搜索引擎需要了解的是某些技术的发展,定义;特定语言的代码;特定编程工具或者环境的使用等等信息,而不是"软件"应该怎么用,或者建筑"工程"如何进行.这样带来的第一个问题就是如何确定领域词库,以及某一类知识应当分为什么哪一个知识门类,这些工作或许看起来应该由一些社会学家来完成,但是对于日益革新的信息技术,像"office高级使用"应当归于"软件工程"还是"办公自动化"或者别的门类,这可能就不是社会学家能够解决的问题了.这样也就引入了专业搜索引擎的下一个问题.
其次,专业搜索引擎与传统搜索引擎运行方式完全不同.
对于这个问题,首先是几个关键算法需要重写.
一,遍历算法.传统的搜索引擎一般采用深度或者广度优先算法,网络蜘蛛贪婪的无选择的扒网页,这种遍历算法无法应用于专业搜索引擎,因为找到的多数信息可能与用户需要的根本不沾边.
二,排序算法.百度和google的排序基本算法都是建立在"连接热点"的基础上,综合一些其他因素进行排序.所谓连接热点说直白一点就是网络被连接次数比较多的页面.这种算法最直接的结果就是排在前面若干页面的节点可能与主题相关性极小,还有一些作弊的节点(现在很多节点作查询优化,用来售卖在搜索引擎上的排名已经成为一种新的互联网职业).所以在专业引擎的设计中,排序算法必须革新.
相对于算法,分词方面的难度就更高一些.
首先,在某个专业领域,需要一些领域专家来做词库,词库里的关联关系系数需要部分重写,权重也需要重新确定,而且如何让词库学会自我学习,或者说通过某个机器人程序定期向词库里面加词这也是一个需要解决的问题.因为像在"软件工程"这种领域,每天有无数新词汇冒出,要确定哪些是新的技术热点,哪些是暂用词,都是分词方面需要解决的问题.
基本的也就总结这一点,更多的更专业的问题,以后有时间再进行补充.