推荐系统和搜索引擎存在着本质的区别

什么是推荐系统:通过上述的几种推荐方式,不难看出推荐系统是通过一定的方式在物品、内容与用户之间建立联系,这与搜索引擎本质任务有很大的不同

推荐系统和搜索引擎存在着本质的区别

我们在打开任意一个门户网站的时候都会发现网站中都会有站内搜索,也就是站内检索,其作用就是帮助用户快速的找到我们想要的信息,然而在我们打开一条信息的时候在这个页面我们还会看到有相关的推荐信息让我们用户去选择。然而这站内检索和信息推荐的作用都是为了更好的提高网站的用户体验度,不知道大家有没有想过这两者到底有没有什么相互联系呢?

检索这个功能在很早的时候就出现了,相信大家应该都是非常熟悉了,那么我们下面就来重点的介绍下这个后来出现的推荐功能,我们必须要充分的了解推荐所具有的特点才能更好的看出这两者直接到底有什么优缺点已经相互直接的关系。

什么是推荐系统

搜索引擎或检索系统诞生的历史背景基本是用户在面对信息过载时,如何能快速的寻找到自己需要的部分。例如,需要购置一台新的服务器以满足使用需要,我们应该怎么做?假设附近有一家HP的代理商,可以直接电话或在他的店中转一圈,找到适合的机型。又或者如果我们不愿意出门,也可以打开HP或Dell的官网,在他们的产品分类列表中找到服务器,或者直接在检索栏中查找服务器。在这两个例子中,采购事实上都面临了一些信息过载,只是专卖店可能很小,找到相应的机型不需要额外的帮助,在网站上则由于有很多不同的机型可供选择,访问者就需要依靠分类信息或者检索栏找到自己需要的机型了。这里的两个例子的核心不在于过载程度的高低,关键的节点在于用户或访问者自身有一个明确的需求,至少访问者可以自主的形容这类信息。

但是,如果访问者或用户没有明确的需求呢?比如,我在写这篇文字的时候,想找点背景音乐,但是如果我直接打开某个音乐网站,比如百度的mp3频道时,面对成千上万的专辑时,很难说我还能有很明确的选择方向,往往会不知所措,不知道该从何开始。这时,我面临的还是一个信息过载的问题,本质上还是一个很严重的很广泛存在的信息过载,但搜索引擎或检索系统已经很难给我直接有效的帮助。这时,我需要的是一个自动化的工具,可以从我的音乐历史数据出发,从庞大的音乐库中为我找到那些符合我听音习惯和偏好的歌曲供我选择,这个工具可以称之为推荐系统。

与搜索引擎的本质区别

为了解决信息过载的问题,无数工具和解决方案被发明出来,到目前为止,做得比较好的,真正得到大部分用户认同的方法可以分为两类:分类目录和搜索引擎。分类目录通过人工或半人工的方式对互联网上的网站进行分类以方便检索者了解某些行业的信息,但显然以人脑的速度是远远无法跟上互联网的发展速度的。搜索引擎让用户以关键词的形式查找自己需要的信息,固然解决了无法全网匹配的问题,但是仍旧面临着需要用户启动的问题,即如果用户不能准确描述自己的需要时,搜索引擎便无法工作或只能以很低效的方式工作。

推荐系统与分类目录和搜索引擎的目标一致,他也是一种帮助用户更快速的发现有用信息的工具,但与搜索引擎不同的是,推荐系统不需要用户提供明确的需求,推荐系统会自己从用户的历史行为数据出发,为用户的需求和兴趣建立模型,从而以之为依据从更大量的信息中匹配符合用户需要的部分。所以,从这个角度来讲,搜索引擎和推荐系统是本质上互补的两种工具,搜索引擎满足用户有明确需求时的主动查找需要,推荐系统则满足用户在没有明确需求时的信息发掘需要。

推荐系统是如何工作的

为了更好的理解二者的区别,我们有必要对推荐系统的基本工作原理做一个简单的介绍,我们从回顾现实生活中我们是如何面对多种选择做出决定(信息过载情况下的判断)的过程,来说明推荐系统的基本工作原理。下面仍旧以听音乐为例,一般来说我们可能采用下述几种方法中的一种或集中来解决这个问题:

向我们认为更专业的朋友、同事咨询。我们也许会和常听音乐的朋友聊一聊,问问他最近有没有什么很棒的专辑面世,问问他们有没有什么可以推荐的,当然如果我们的粉丝足够多,足够活跃,我们也可以在自己的微博上发一条“请推荐好听过的音乐给我!”,然后等待粉丝的帮助。这是可能是我们最常用的推荐方法,在推荐系统中被称为之社会化推荐,即让好友给自己推荐物品。

然而通过上述的几种推荐方式,不难看出推荐系统的本质是通过一定的方式在物品、内容与用户之间建立联系,这与搜索引擎的本质任务有很大的不同。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月4日
下一篇 2024年5月4日

相关推荐

  • java声明定义区别,java声明和定义的区别

    java接口声明的方法与抽象类声明的方法有什么区别 1、抽象类可以在不提供接口方法实现的情况下实现接口。Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量。Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。 2、另一个区别是在Java中可以实现多个接口,但是只…

    2024年5月18日
    3700
  • dpdk和linux报文转发的区别,linux udp转发

    编译和运行DPDK示例程序 1、-m string 配置端口到逻辑核的映射关系,使用类似BNF类语法.映射的逻辑核要与 [EAL options]中的逻辑核要一致。 2、DPDK为多核设计,但skeleton为单核实例,设计初衷是实现一个最简单的报文收发示例,程序可用于平台的单核报文出入性能测试。 3、编译命令,将java源文件编译成.class字节码文件。…

    2024年5月18日
    3900
  • 红色黑客学习壁纸手机高清,红客黑客区别

    请问这个手机壁纸那个动漫人物呀? 1、我的是猫和老鼠 这部动画片《猫与老鼠》是由制片人弗雷德·昆比、导演威廉·汉娜和约瑟夫·巴贝拉于1939年创作的。继第一部动画短片《猫得到靴子》的成功之后,米高梅在25年内制作了100多部猫和老鼠的动画片。 2、Pixiv 图片ID:60467270——画师:藤原(画师ID :27517)应该是画师原创人物。图片如下:右键…

    2024年5月17日
    3400
  • c和c语言和java的区别是什么,c语言跟java有什么区别是什么意思

    Java是什么?和C语言有什么区别? 1、Java是一门编程语言,是一门连接人与计算机的语言。 2、Java语言是属于面向对象的语言,所有的方法和数据都需要保证类的一部分。在基本数据类型以外,数据主要用作对象数据,每个对象都能够表现出自己的特色。 3、java和c语言两者的区别如下:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语…

    2024年5月17日
    4000
  • phpc语言语法区别,php语言和c语言的区别

    编程各个语言之间的区别很大吗? 首先,易语言,易语言作为编程中的另类,由于里面中文较多,有利于国人学习,坏处却是写出来的软件往往破洞百出,且部分会被报毒。 要你怎么看了,语法上他们肯定不同,语法关系到他们的学习成本c的比较简单,c++的最复杂。开发效率python的效率最高,性能c的性能最好。 而asp,php是用于网页方面编程的,VC就是VC++,只是说法…

    2024年5月16日
    3200
  • java数组list区别,javalist和数组

    java中队列,数组和list集合的区别 1、List和ArrayList的区别在于:在编程语言中ArrayList类是.Net Framework提供的用于数据存储和检索的专用类。List 类可以简单视之为双向连结串行,以线性列的方式管理物件集合。List类是ArrayList类的泛型等效类。 2、对JAVA的集合的理解是相对于数组,区别:\x0d\x0a…

    2024年5月16日
    3200
  • javatcp和udp,javatcp和udp的区别

    Java的多线程和网络UDP和TCP怎么理解?它们有什么联系? 不过UDP的速度是TCP比不了的,而且UDP的反应速度更快,QQ就是用UDP协议传输的,HTTP是用TCP协议传输的,不用我说什么,自己体验一下就能发现区别了。 TCP是面向连接,UDP面向非连接,资料不复制,在这里简单说下:\x0d\x0aTCP建立连接时需要传说的三次握手,服务端与客户端需要…

    2024年5月16日
    3900
  • cc语言的区别,cc开发语言

    ae带cc和不带cc有什么区别 1、渲染引擎、版本。渲染引擎,AECC2017更新了一个新的渲染引擎,ae cc2017是没有的,C4D渲染引擎,还把原有的光线追踪模式更新了。版本的不同,版本越高的相对而言各方面比以前的版本工具更俱全。 2、是CC插件里最好的一款例子插件。他同样很强大。同样也是,包括发射,例子,物理系统等等,但是这个要比particle简略…

    2024年5月16日
    4400
  • javaweb与java的区别,javaweb和javaswing

    java和javaWeb一样吗? 1、java和javaweb的区别有应用领域不同、所需技术栈不同、开发复杂度不同等。 2、java和javaWeb的区别、关系具体如下:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。 3、javaweb和java的区别:JavaWeb是来开发web应用(如网站、API),而java是用来开发桌面应用程序(如电…

    2024年5月16日
    4100
  • javafloat转byte,JAVAfloat和int的区别

    Java中强制类型转换问题 map中只能插入side类型的。而你的side方法不允许使用float。遇到这样的时候一般用泛型,来支持多种类型。强制类型转换会丢失精度。 在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子…

    2024年5月15日
    3200

发表回复

登录后才能评论



关注微信