什么是网络搜索引擎?
网络搜索引擎是一种专门的计算机服务器,用于搜索网络上的数据。用户查询的搜索结果会以列表形式显示(称为命中结果)。命中结果可能包括网页、图像和各种类型的文件。
各种搜索引擎还可以搜索和返回公共数据库或开放目录中可用的数据。搜索引擎与网络目录的区别在于,网络目录由人工编辑维护,而搜索引擎则通过算法或算法与人工输入相结合的方式运作。
网络搜索引擎是大规模数据挖掘应用程序。所有搜索引擎的各个组成部分都使用了多种数据挖掘技术,从抓取(例如,决定哪些页面需要抓取以及抓取频率)到索引(例如,选择要索引的页面以及确定索引的构建程度),再到搜索(例如,决定如何对页面进行排名,添加哪些广告以及如何自定义搜索结果或创建“上下文感知”)。
搜索引擎给数据挖掘带来了巨大的挑战。首先,它们必须管理海量且不断增长的数据。通常,这些数据无法使用几台机器进行处理。相反,搜索引擎需要使用云计算,这包括数千甚至数十万台协同挖掘海量信息的计算机。在云计算和高度分布式数据集上扩展数据挖掘方法是一个研究应用方向。
其次,网络搜索引擎必须处理在线记录。搜索引擎无法在大型数据集上离线构建模型。它可以创建一个查询分类器,根据查询主题将搜索查询映射到预定义的元素。无论模型是否离线构建,模型的在线软件都应该能够快速实时地解决用户查询。
另一个挑战是支持和增量刷新快速增长的数据流上的模型。例如,查询分类器需要持续地进行增量维护,因为新的查询不断增加,预定义的元素和数据分布也会发生变化。一些当前的模型训练方法是离线和静态的,因此在这种方法中无法使用。
第三,网络搜索引擎必须处理仅被少量查询请求查询的情况。假设搜索引擎需要支持上下文感知的查询指令。当用户提出查询时,搜索引擎会尝试使用客户资料及其查询历史记录来推断查询的上下文,以便在极短的时间内返回更个性化的答案。