前沿重器[48] | 聊聊搜索系统1:开篇语

前沿重器

栏目主要给大家分享各种大厂、顶会的论文和分享,从中抽取关键精华的部分和大家分享,和大家一起把握前沿技术。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。(算起来,专项启动已经是20年的事了!)

2023年文章合集发布了!在这里:又添十万字-CS的陋室2023年文章合集来袭

往期回顾

RAG在整个大模型技术栈里的重要性毋庸置疑,而在RAG中,除了大模型之外,另一个不可或缺的部分,就是搜索系统,大模型的正确、稳定、可控生成,离不开精准可靠的搜索系统,大量的实验中都有发现,在搜索系统足够准确的前提下,大模型的犯错情况会骤然下降,因此,更全面、系统地了解搜索系统将很重要。

听读者建议,像之前的对话系统一样(前沿重器[21-25] | 合集:两万字聊对话系统),我也会拆开揉碎地给大家讲解搜索系统目前业界比较常用的架构、技术方案,目前的计划是分为这几个模块讲解:

  • 开篇语(本期):给大家简单介绍一下搜索系统的概况,以及现在大家比较关注在大模型领域的发展情况。

  • 搜索系统的常见架构:经过多代人的探索,目前探索出相对成熟可靠,适配多个场景、人力、生产迭代等因素的综合性方案。

  • 文档内容处理:对原始文档内容、知识的多种处理方案。

  • Query理解:对query内容进行解析,方便后续检索使用。

  • 索引和检索、粗排:使用query理解的结果,从海量数据中找到所需的信息。

  • 精排:对检索的内容进行进一步的精筛,提升返回的准确性。

  • 其他搜索的附加模块:补充说明一些和搜索有关的模块

开篇语主要是和大家介绍一下搜索系统的概况,包括他的具体场景,以及在目前大模型环境下的地位以及使用场景区别。

目录:

  • 搜索系统概念的理解。

  • 搜索系统的场景。

  • 大模型场景下搜索系统的理解。

搜索系统概念的理解

所谓搜索系统,大家比较普遍认可的概念是,能从海量的信息中找到所需要的内容的方案,都可以被称为搜索,除了大家所熟知的百度搜索外,在图书馆里找一本书,在音乐软件里找一首音乐,在美团上找一家外卖,这些背后的事,都可以被称为搜索。有几个角度希望和大家展开说一下。

首先是,搜索并不是一个很新的概念,而是一个发展比较久的学问了。北大有图书馆学情报学系,清华大学也有“信息管理与信息系统专业”,虽说所属方向略有差别,但其内部有一个关键的目标就是对信息的优化管理以及使用,其本质和搜索系统非常匹配,这么看搜索的研究可以说是历史悠久了。

第二,搜索的内容并非局限,而且各自的技术也非常丰富。搜索不能局限在百度这样的大搜上(一般而言大搜是指开放域,比较广泛的搜索),刚才提了几个例子,搜图书、搜音乐、搜外卖、搜商品,这些都算是搜索,而且实际上也已经渗透到大家生活的方方面面了,往高端的说法,可以说是“多模态”,当然可能也不局限在多模态,类似商品、外卖这种异构信息的搜索,就已经超出了常规的文本、图片、声音、视频的简单模态范畴了,尽管多模态和异构的研究看似有些陌生或者不成熟,但也已经在自己的领域非常满足用户的需求,因此,在对问题进行研究、分析的时候不能把搜索问题局限在文本之类的简单信息上。

第四,必要强调搜索和推荐的核心区别。在SIGIR相关的顶会,有说过搜索和推荐在匹配上的类似点,搜索是文档和query的相似,推荐是物料和用户的相似,但实际从产品层面,用户对匹配的要求是不一样的,在大部分情况下,用户对搜索系统的要求更高更严格,其背后的根本原因是用户在使用搜索系统的时候是有明确目标的,相关都不见的足够,毕竟类似复述query的答案、高频文档不见得有意义,要求要所答即所问,在张俊林比较出名的搜索上书籍《这就是所搜索引擎》里同样也强调了“准”的重要性。

搜素系统的场景

为了拓宽大家对搜索系统的理解,这里举几个比较典型的搜索系统场景,同时也和大家说一下这几个搜索场景内部具体的业务特性以及应对方法。

泛搜/大搜

比较常用的通用性搜索,常见的如百度、谷歌等,当然现在很多所谓的AI搜索,大都属于这个范畴里。对于早期版本,比较简单的方式就是不做很特别的处理,依赖通用baseline方案直接搜,直接用字面、向量等,当然大模型也是一定程度可依赖的,但实际上,也可能会有很多特别地问题,此时就要分意图、分领域针对性的处理,这个在之前的说法叫做意图识别,现在就是路由(route)或者是更潮的方案就是agent。

当然,不同的系统里面可能会有不同的结果,具体好不好,就见仁见智了。例如同样是搜索“六级词汇”,百度和号称AI搜索的天工AI的结果分别是这样的:

a1038c88e3d68d9501d64136d9f08b5f.png

百度搜索结果

5772b5002cc5417e6feaa62185b5435f.png

天工AI搜索结果

两者对比下来,可能百度的结果在多样性和有效性上会更高一些,天工的这个结果应该是经过了模型生成处理,内容上没什么毛病,不过基本上没有解决实际的问题,只是把内容拓展解释了一下,没有给出六级词汇表之类的。

音乐/视频搜索

音乐/视频搜索,这种搜索对物料的性质有很高的要求,而且用户在现实的使用上,更多倾向于标签或者某些关键字段的检索,同样举例子吧。

比较常见的,根据歌手返回音乐,下面是网易云音乐的结果:

84694921645344f8e6327110875a087d.png

网易云音乐搜索结果

这个没有想象中那么简单,对于用户的输入,我们需要首先识别到他是一个“歌手”,把他从歌名或者歌词中解区分出来,这里就需要大量的实体抽取的技术来实现,显然这不是直接字面检索或者向量检索就能准确稳定的实现的。

当然,音乐还有一种非常特别的技术——听歌识曲,这里的用户输入就很明显和其他的不同,这里输入的是一段音频了,如何把给定的片段表征好然后再曲库里检索,也同样非常有技术含量,这里推荐看这些文章,我自己并不擅长于此,就不班门弄斧啦。

  • 腾讯音乐的新一代歌曲识别技术:https://zhuanlan.zhihu.com/p/541450154

  • 这个系列的文章也值得推荐:https://zhuanlan.zhihu.com/p/75360272

商品搜索

商品搜索可以说是最接近推荐系统的一种搜索了。我们在淘宝、精通搜索的时候,往往都只会给很简单的一个实体名词,例如“电脑”,顶多会加一些补充说明的关键词,例如“4060”,或者是“i7”,但实际情况下,这些搜索词下都会有大量的商品,典型的还有就是服装类的,如“长裤”、“裙子”等,下面有数不尽符合这个query的产品,此时的排序显然就不能随机了,可以考虑依靠热度、用户偏好、最近活动、新品等信息来进行综合的评判,在这个情况下,就和推荐系统极为相似了。

在我很早的一篇淘宝的embedding的文章(前沿重器[18] | KDD21-淘宝向量检索)来看,这个性质就非常明显,在模型里,要兼顾query信息、短长期行为、产品信息等,综合起来完成表征,这里因地制宜的思想体现的很明确,背后也体现了作者对业务问题的理解深度,简单的生搬硬套向量匹配显然并不能解决这些问题。

在论文内,作者还简单介绍了淘宝搜索的技术架构,技术架构的事先不展开说,下一篇我会专门讲,大家可以提前感受一下:

4daa10b9371609d452474db8a197cb5d.jpeg

大模型场景下搜索系统的理解

NLP最常见的两个场景,就是搜索和对话,在大模型的新时代,也是如此,此时,搜索成为一个重要的NLP载体,让大模型上了船,而另一方面,大模型也让搜索系统更新换代,带来很多新的发展。这里,我来说说我的几个理解吧。

首先,要认清这两个名词的性质和所面临的问题。大模型的本质还是一项技术,或者说是一个工具,它能被用在很多场景,但既然是工具,就有被替代、不被选择的可能,直接说“大模型替代了XX”,显然是鲁莽的,相反,在面对实际问题的时候,我们应该把他和原有的方案放在一起,进行严格的对比分析再来进行选择,如果不好分辨,则可以进行相应的实验;而搜索系统,这个和推荐系统类似,都是一个系统,也可以说是一个产品,既然是系统或者产品,内部就是多个技术合力完成的,这里可以放大模型,也可以是别的模型,甚至精排至今还在高频使用估计已经被称为原始时代的机器学习模型,而另一方面类似推荐系统也仍旧有NLP的一席之地——内容理解。而为了成就一个优秀的产品,我们对技术的看法就不能简单的新不新、low不low,而还要考虑具体的算法效果,达成效果所需要的成本,以及用户应用时的性能体验。

其次,RAG是大模型的一个很好的应用,这里的R,可以把他拓展成一个五脏俱全的搜索系统,而在优化他的过程中,一个比较稳的方案,就是直接去参考类似的搜索系统常用方案,这里的架构也可以充分参考来构建,之所以说是稳的,是因为这都是前人已经踩平的路了,其他的可能多少也有尝试。当然,如果要创新,肯定还是要多想多尝试,沿着旧路肯定最多就只能第二了。

第三,在我的视角看,一些所谓的AI搜索,然后把这些东西和之前就有或者有了很久的搜索给割席,在技术视角看就像是一个运营话术,为了破圈让用户尝试而已。从我看的资料来看,不外乎就是用了大模型生成,或者就是用了所谓的自然语言处理技术而已,但这些技术老牌大厂百度、谷歌、必应之类的,就不能用吗,显然不是,而且真不是没有用到,下图就是百度的结果,那这个算不算AI搜索呢?至于自然语言处理技术,就更离谱了,类似的技术早就在搜索圈里广泛使用了,所以做技术的还是尽量不要被这种说法给带偏了,以为只有用啥才是AI,这样技术选型就被无关的内容限制了。

931f83024f05e204e1b7755ce6aa99f6.png

最后,搜索领域发展至今来看,一直是稳定的代表。从搜索的发展历史来看,搜索的顶峰似乎都不是很高,但是每次打的迭代都能让搜索喝到汤,从早年NLP起步,到百度等的搜索系统崛起,再到后续BERT、大模型等,虽并不耀眼,但一直在发光,而且人类对知识检索的需求一直都存在,因此搜索场景可能是一个相对稳定的领域方向吧,至少我自己是这个看法,且我的选择也在践行我的看法。

小结

开篇语没想到能写这么长,可能是自己还是有很强的归属感和亲切感吧,前面有几周鸽了,跟这小系列的规划有些关系,写这个我还是比较有热情的。这个的内容主要还是想和大家分享一下搜索系统世界的多样性和广阔性,搜索不止有百度谷歌,还有很多细小特别的场景,尽管我们没感知但是已经经常在用了,这里都有大量前辈们的智慧,也有大量的未知等待大家挖掘。

后面的文章,请大家继续期待,下面就真的开始讲技术了。

fac0b09f53aadf51e981abc15422999c.png

  • 26
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
大学生在线租房平台管理系统按照操作主体分为管理员和用户。管理员的功能包括报修管理、报修评价管理、字典管理、房东管理、房屋管理、房屋收藏管理、房屋留言管理、房屋租赁管理、租房论坛管理、公告信息管理、留言板管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java言,Spring Boot框架等技术进行编程实现。 大学生在线租房平台管理系统可以提高大学生在线租房平台信息管理问题的解决效率,优化大学生在线租房平台信息处理流程,保证大学生在线租房平台信息数据的安全,它是一个非常可靠,非常安全的应用程序。 管理员权限操作的功能包括管理公告,管理大学生在线租房平台信息,包括房屋管理,培训管理,报修管理,薪资管理等,可以管理公告。 房屋管理界面,管理员在房屋管理界面中可以对界面中显示,可以对房屋信息的房屋状态进行查看,可以添加新的房屋信息等。报修管理界面,管理员在报修管理界面中查看报修种类信息,报修描述信息,新增报修信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
基于hal库的OLED显示屏驱动C言实现源码.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip基于hal库的OLED显示屏驱动C言实现源码.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值