搜索引擎的分类有哪些(搜索引擎的分类有哪些 各有什么特点)

前沿拓展:

搜索引擎的分类有哪些

可分为三种 搜索引擎分类 搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。 全文搜索引擎 全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。 从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。 目录索引 目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词(Keywords)查询,仅靠分类目录也可找到需要的信息。目录索引中最具代表性的莫过于大名鼎鼎的Yahoo雅虎。其他著名的还有Open Directory Project(DMOZ)、LookSmart、About等。国内的搜狐、新浪、网易搜索也都属于这一类。 元搜索引擎(META Search Engine) 元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。


目前搜索引擎技术已经迭代很多年了,从纯字面的匹配、到统计特征的匹配,再到神经网络的匹配,虽然一直在小步快走,但仍然没有跳出现有的Pipeline框架:即先召回、再排序。

召回是指从海量数据中筛出一小批可能的候选,排序是从一小批候选中找出最终的答案并进行排序。现有的Pipeline大多是在召回侧用字面或者浅层网络,不然数据量太大了根本处理不过来,而排序侧因为数据量小,会上更多的特征和模型。

这种架构的一个关键问题是,召回代表着天花板,如果召回阶段没把对的文本选出来,那排序再怎么排都没用。而召回又不能上太大的在线模型,只能离线挖掘出更多的feature,比如能代表文档主题的内容标签,来提升召回的效果。但这样就意味着更多的人力成本。

目前比较优雅的方法,是用双塔模型,离线把海量数据压缩成一个个embedding,线上来一个query,双塔encoder只用把这一个query映射到相同的空间,就能通过浅层匹配或者cosine相似度的方式召回。但这个方法还有个问题,就是跟排序模型虽然目标差不多,但还是各做各的,排序模型在优化目标时没有把梯度传给召回模型。近几年也有学者提出联合训练的方法,比如ORQA[1]和REALM[2]

但你懂的,最优雅的还是用一个模型把一切都端到端化。

同时输入query和候选肯定是不可能的,等检索完GPT100都出来了,那有没有可能让模型提前把候选记住,搜索时只输入一个query,模型直接输出所有结果?

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

一、死记硬背?

最直接的想法,就是输入query文本,输出答案文本。

在EMNLP20有一篇谷歌文章[3],直接在预训练后的T5上用问答数据精调,发现在不访问外部知识的情况下,预测结果可以接近当时的SOTA模型,证明T5本身在预训练就记住了很多知识。

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

然而这篇研究很快就被别打脸了[4],因为作者使用的数据集的train和test有很大一部分重合,很多答案在精调时都见过了,所以记得住。

接下来,浙大在ACL21的一篇工作[5]更严格地探索了模型的记忆能力,作者模拟老师教书的过程:

1. 让学生看书,用LM的目标对知识库进行训练

2. 让学生考察是否记住书上的知识点,把一些答案span遮盖掉,让模型去预测,强化知识点的记忆

3. 问学生一些问题,用训练数据进行生成式精调,输入问题,输出答案

4. 期末测验,问一些问题,评估预测结果

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

这个方式看起来还蛮科学的,但结果却惊掉了我的下巴。

在只有20条SQuAD知识的封闭域内,答案只能做到20%的Exact match,而当时榜单的SOTA有90% 。

二、Differentiable Search Index

直接生产答案的方法是行不通了,而且就算可以,生成模型的速度也太慢了,等生成完GPT200都出了。

那换另一个思路行不行呢?让模型自己把知识记住,并且编码成索引,输入query后生成候选索引?

这就是谷歌最近一篇文章的思路:Transformer Memory as a Differentiable Search Index[6]。

这篇文章让模型做了两件事情:

1. 建索引:训练时输入文本内容,输出docid,让模型记住该内容,并映射到索引ID上

2. 检索:训练时输入query,输出多个docid,相当于做了一个排序

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

不过实际做的时候,还有不少细节:

1. 把整个文档都输入也太慢了,最终发现只输入文档的前L个token就可以

2. DocId应该怎么表示?给每个文档都分配一个唯一id,这个值是离散的,最后需要一层softmax分类,有巨大的词表,而且不利于增删,最终发现把文档按照额外的语义向量进行聚类,再整理成一个层级结构的效果是最好的,如图

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

最终模型的效果非常惊喜,居然碾压了双塔的召回方式:

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

不过这个对比还有点不公平,既然是要做端到端的检索,应该跟双塔+排序去比较更有说服力。

三、总结

以上是我最近关注的一个小方向,可以看到,模型对离散知识的记忆能力真的太差了,但对于它自己编码的「连续」知识表现却还不错,感觉也是可以持续深入(shui)的一个topic。

融合外部知识是通用模型必须跨过的坎儿,而采用外挂还是记忆,目前为止还没有一个完美的答案。

参考文献

[1] Latent Retrieval for Weakly Supervised Open Domain Question Answering:

https://arxiv.org/abs/1906.00300

[2] REALM: Retrieval-Augmented Language Model Pre-Training:

https://link.zhihu.com/?target=https%3A//kentonl.com/pub/gltpc.2020.pdf

[3] How Much Knowledge Can You Pack Into the Parameters of a Language Model?:

https://aclanthology.org/2020.emnlp-main.437/

[4] Question and answer test-train overlap in open-domain question answering datasets:

https://arxiv.org/abs/2008.02637

[5] Can Generative Pre-trained Language Models Serve as Knowledge Bases for Closed-book QA?:

https://aclanthology.org/2021.acl-long.251.pdf

[6] Transformer Memory as a Differentiable Search Index

https://arxiv.org/abs/2202.06991

本文来自:公众号【李rumor】

作者:rumor

Illustration by Natasha Remarchuk from icons8

-The End-

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

3.19 周六上午10点

忌赖床,忌发呆

宜来B站-旷视直播间

看直播,听分享

👇👇

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门技术社群以及将门创投基金。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:

下一代的搜索引擎是什么样子?神经网络真的能「死记硬背」吗?

⤵一键送你进入TechBeat快乐星球

拓展知识:

搜索引擎的分类有哪些

可分为三种 搜索引擎分类 搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。 全文搜索引擎 全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。 从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。 目录索引 目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词(Keywords)查询,仅靠分类目录也可找到需要的信息。目录索引中最具代表性的莫过于大名鼎鼎的Yahoo雅虎。其他著名的还有Open Directory Project(DMOZ)、LookSmart、About等。国内的搜狐、新浪、网易搜索也都属于这一类。 元搜索引擎(META Search Engine) 元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等(元搜索引擎列表),中文元搜索引擎中具代表性的有搜星搜索引擎。

搜索引擎的分类有哪些

全文索引

全文搜索引擎是名副其实的搜索引擎,国外代表有Google,国内则有著名的百度搜索。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果。

根据搜索结果来源的不同,全文搜索引擎可分为两类,一类拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,能自建网页数据库,搜索结果直接从自身的数据库中调用,上面提到的Google和百度就属于此类;另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果,如Lycos搜索引擎。

2.目录索引

目录索引虽然有搜索功能,但严格意义上不能称为真正的搜索引擎,只是按目录分类的网站链接列表而已。用户完全可以按照分类目录找到所需要的信息,不依靠关键词(Keywords)进行查询。目录索引中最具代表性的莫过于大名鼎鼎的Yahoo!、新浪分类目录搜索。

3.元搜索引擎

元搜索引擎(META Search Engine)接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中具代表性的是搜星搜索引擎。在搜索结果排列方面,有的直接按来源排列搜索结果,如Dogpile;有的则按自定的规则将结果重新排列组合,如Vivisimo。

其他非主流搜索引擎形式

(1)集合式搜索引擎:该搜索引擎类似元搜索引擎,区别在于它并非同时调用多个搜索引擎进行搜索,而是由用户从提供的若干搜索引擎中选择,如HotBot在2002年底推出的搜索引擎。

(2)门户搜索引擎:AOL Search、MSN Search等虽然提供搜索服务,但自身既没有分类目录也没有网页数据库,其搜索结果完全来自其他搜索引擎。

(3)免费链接列表(Free For All Links,简称FFA):一般只简单地滚动链接条目,少部分有简单的分类目录,不过规模要比Yahoo!等目录索引小很多。  

【工作原理】

1、抓取网页

每个独立的搜索引擎都有自己的网页抓取程序(spider)。Spider顺着网页中的超链接,连续地抓取网页。由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页。 

2、处理网页 

搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引文件。其他还包括去除重复网页、分析超链接、计算网页的重要度。 

3、提供检索服务 

用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。

搜索引擎的分类有哪些

搜索引擎主要分类,及特点:
一、全文索引
全文搜索引擎是目前广泛应用的主流搜索引擎,国外代表搜索是Google,国内则有最大中文搜索百度。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果。
根据搜索结果来源的不同,全文搜索引擎可分为两类,一类拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,能自建网页数据库,搜索结果直接从自身的数据库中调用,上面提到的Google和360搜索就属于此类;另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果,如Lycos搜索引擎。
二、目录索引
目录索引也称为:分类检索,是因特网上最早提供WWW资源查询的服务,主要通过搜集和整理因特网的资源,根据搜索到网页的内容,将其网址分配到相关分类主题目录的不同层次的类目之下,形成像图书馆目录一样的分类树形结构索引。目录索引无需输入任何文字,只要根据网站提供的主题分类目录,层层点击进入,便可查到所需的网络信息资源。
三、元搜索引擎
元搜索引擎(META Search Engine)接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中具代表性的是搜星搜索引擎。在搜索结果排列方面,有的直接按来源排列搜索结果,如Dogpile;有的则按自定的规则将结果重新排列组合,如Vivisimo。
四、垂直搜索引擎
垂直搜索引擎为2006年后逐步兴起的一类搜索引擎。不同于通用的网页搜索引擎,垂直搜索专注于特定的搜索领域和搜索需求(例如:机票搜索、旅游搜索、生活搜索、小说搜索、视频搜索等等),在其特定的搜索领域有更好的用户体验。相比通用搜索动辄数千台检索服务器,垂直搜索需要的硬件成本低、用户需求特定、查询的方式多样。
五、集合式搜索引擎
集合式搜索引擎:该搜索引擎类似元搜索引擎,区别在于它并非同时调用多个搜索引擎进行搜索,而是由用户从提供的若干搜索引擎中选择,如HotBot在2002年底推出的搜索引擎。
六、门户搜索引擎
门户搜索引擎:AOLSearch、MSNSearch等虽然提供搜索服务,但自身既没有分类目录也没有网页数据库,其搜索结果完全来自其他搜索引擎。
七、免费链接列表
免费链接列表(Free For All Links简称FFA):一般只简单地滚动链接条目,少部分有简单的分类目录,不过规模要比Yahoo!等目录索引小很多。
希望可以帮助到你~望采纳哦~谢谢~ 看评论

本回答被提问者采纳