ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:46.74KB ,
资源ID:2149233      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2149233.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(假新闻引发的愤怒非算法视角对自我学习的搜索排序算法和选择偏差的一些解读.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

假新闻引发的愤怒非算法视角对自我学习的搜索排序算法和选择偏差的一些解读.docx

1、假新闻引发的愤怒非算法视角对自我学习的搜索排序算法和选择偏差的一些解读假新闻引发的愤怒非算法视角对自我学习的搜索排序算法和选择偏差的一些解读最近有条很火的新闻。美国大选刚刚落下帷幕,却余波不断。其中一条新闻就是,Google 被指责利用搜索结果(假新闻)左右民意。可是事情到底是怎么回事呢?SAN, FRANCISCO/WASHINGTON Googles search engine is highlighting an inaccurate story claiming that President-elect Donald Trump won the popular vote in last

2、 weeks election, the latest example of bogus information spread by the internets gatekeepers.The incorrect results are shown in a two-day-old story posted on the pro-Trump “70 News” site. On Monday, a link to the site appeared at or near the top of Googles influential rankings of relevant news stori

3、es for searches on the final election results.原文不翻译了,大意是,在 Google 搜索大选相关信息的时候,“popularity vote”第一条结果是一个 “洋葱新闻” 网站 70News。显然 Google 的算法认为这个网站是最相关的,结果无数的网民就天真地点击过去了,然后愤怒地发现这是一条假新闻(相似的例子可能还有XX医疗广告问题)。可见人们潜意识里对搜索引擎有一种莫名的信任排在前面的应该就是我想要的信息。可是,搜索引擎背后也只是一堆堆的机器学习模型,而模型也是需要不断改进的。要改进模型就要告诉模型什么时候判断错了,然后进行参数修正。最

4、近看到 Google research 放出来的一篇论文:Learning to Rank with Selection Bias in Personal Search。这篇论文是跟排序算法相关的,虽然跟上面的 “假新闻” 事件没啥直接关系,但殊途同归之处不少。正巧园主前些时日涉足了一些相关的问题,加之标题中的选择偏差(selection bias),一下子引起园主的好奇心,遂通读此文。读完之后感觉有些想法很新颖,只是术语习惯等等和园主习惯的方式有所区别,所以打算以一个非算法的视角来解读一下这篇文章,谈谈园主的一些理解。(注:本文非直接翻译,技术细节建议阅读原文)一些背景:网站是如何评价搜索结

5、果的?(下述内容是园主另加的,熟悉相关做法的读者可以直接跳过)先说一下背景。Google 众所周知,做的就是对各种内容的排序。Google search 自然是对各种互联网上的内容的排序(称之为大众搜索,或网页搜索),而其他产品诸如 gmail,Google drive 等,排序的时候就是针对每个用户自己的内容,故称之为个人搜索(personal search)。这篇文章虽然着重的是后面一种情形下的排序,从园主的角度来看其实也不仅限于后者。互联网各大公司其实都有相同的问题:如何优化站内搜索,比如在淘宝搜索商品。其实,在现在的环境下,大家不仅仅要优化自然搜索算法(基于内容),也要优化付费搜索和自

6、然搜索的关系(毕竟一个网页就那么多内容,多了付费搜索、自然搜索就看不到了)。这其中,很重要的一个业界的衡量指标就是:关联度 (Relevance),说白了就是返回的搜索结果是不是用户想要的。关联度的评价办法有不少,其中大家广泛采用的就是人工评价(human judgement)。人工评价的过程就是雇佣一群人,然后在电脑上给他们陈列搜索语句和对应的结果,让他们逐条打分是不是相关。这种方法虽然简洁有效,问题也是显而易见的:1)每条数据的获取都是有人工成本的,因为往往受限于成本而只有有限的数据量,只能针对有限的搜索语句进行评价。2)每个人对于同样的语句和评价标准的理解都是有偏差的,所以人工评价难逃因

7、为评价人本身带来的误差。3)人工评价适用于大众搜索,如手机,明星等等,而对于专业领域则显得较为困难,不太可能雇佣到具有专业领域知识的人进行人工评价,因而评价范围受限。然而在另外一个很相近的领域,互联网广告,对于广告的排序业界则有一套常见的基于点击率的算法模型。其核心就是,点击率越高的带来的利润越高,故而把此类内容排序提升。这样的算法潜在的一个假设就是,点击实际代表了用户对于内容的一个主观评价,类似于投票,所以点击数据本身就携带了对于算法的评价信息。从这个角度来说,放着大量的用户点击数据不用,即使是对自然搜索的评价都是浪费的。所以,近几年先后出现了很多基于用户点击数据的关联度评价模型。这篇文章也

8、是在此大背景上,针对个人搜索的一些特殊性,开发出来的关联度评价模型。(注:原文表述为一个 learning-to-rank 的机器学习模型;而从非算法的视角,园主觉得最核心的就是对关联度的定性评价,故此处称之为评价模型,在后文中会详细解释)原文亦列出了个人搜索相比于网页搜索的特殊性:1) 点击数据的稀疏化:网页搜索的时候,较热门的关键词和结果集往往会有成千上万的点击量数据;而相比而言,个人搜索的时候,搜索的文档对象往往是每个用户独有的(比如一封电子邮件仅属于少数用户),故而给定关键词和结果、对应点击数据就少的可怜了。因此,个人搜索的点击数据呈现高度稀疏化。2)个人搜索难以进行人工评价:出于隐私

9、保护,真实的个人搜索的数据是不能开放给第三方进行人工评价的,所以通过人工评价能获得结果有限(比如基于标准的文档库)。利用点击数据来评价搜索结果假如我们是用户,那么在我们搜索的时候面对一系列返回结果,是怎么给出自己的判断的呢?当然,点击行为由很多因素影响,比如用户的个人偏好、搜索的场景等等。但不可忽略的是,我们往往只看排名靠前的几条结果,然后判断哪个更相关值得点进去看看。在本文起始的 “假新闻” 事件中, 正是因为大量用户过于相信排序在前的结果,所以造成了假新闻被大量点击和阅读。可怕的是,由于用户长期对于搜索引擎的路径依赖,他们会不由自主地相信排在前面尤其是第一位第二位的结果。用函数的形式表示,

10、则每个返回结果的点击率会取决于如下几个因素:某条结果的点击率 = function(排序位置,该结果的关联度,搜索语句特征,其他)前面说过,最简单的得到关联度的办法就是,利用前文提到的人工评价(human judgement)来直接进行评分。如果不考虑人工评价,我们是否可以确定上述函数里面各因素的系数,从而当数据中给定点击率、排序、搜索语句特征等,就可以直接计算出来关联度呢?很多童鞋大概都有体会,做数学题的时候,很重要的一个技能就是,“猜”。先猜一个答案出来,然后看看能不能行得通。所以这里,最简单的想法就是我们先忽略其他因素,假设一个简单的函数形式,然后就可以计算求解关联度了。(园主问题 1:

11、园主不理解为什么通篇他们没有利用任何人工评价的信息来确定函数形式,而是如后文所述直接假设一个简单的相乘关系。难道是因为在 personal search 情境下,人工评价完全不可行?)假设我们数据库里有如下的数据(暂时不管其他用户或者搜索相关变量):某条结果的点击率 = 排序位置的影响关联度 (对应原文 4.1 章)从而,我们倒推得到:关联度 = 某条结果的点击率 / 排序位置的影响所以,得到关联度的关键就是,我们知道排序位置的影响(原文称之为 “排序位置系数”)。排序位置系数的直接估计排序位置系数其实很大程度上反映了用户的一些行为习惯,如他们潜意识里面对于搜索结果的信任,或者如园主一样就是没

12、耐心、手快。可是换一个场景,比如园主前段时间突然对犹太教和穆斯林的历史感兴趣,然后逛书店的时候想买一本相关的书籍,园主只能一排排的从历史类的书架扫过去,然后通过标题和简介判断哪本书可能是最相关的。这个时候,园主知道书架的排序并不是按照我的嗜好来的,所以我只能一本本从左到右或者从右到左扫视。同理,如果为了估计用户的行为习惯的影响,最直接的办法就是做个 “乱序” 实验。想法很简单,我们只要固定一个因素来检测另一个因素的变化就好了嘛。乱序的情况下,返回的结果跟用户的搜索其实并没有什么关系(或者返回一些基本匹配的结果),所以无论结果本身跟索索语句的关联度如何,其出现在每个位置的概率都一样。这样,大量用

13、户点击行为反映出来的就仅仅是排序位置的影响,从而我们得以排除关联度的干扰,直接估计排序位置系数。原文第 5 章即利用了这种想法来进行数据训练。好了,如果通过 “乱序” 这个实验,我们测出来排在第一名的影响因素为 0.5, 排在第二名的影响因素为 0.3,排在第三名的影响因素为 0.1,那么我们重新把用排序算法排过的数据呈现给用户,就可以计算出来每条结果的关联度了。不过这种方法显然用户体验非常糟糕,所以实践中仅用于验证,不用来直接做计算。后文会提到一宗巧妙的办法,来利用点击率数据修正排序算法。让机器自动学习起来:Learning-to-rank 模型既然上面证实了通过点击数据来计算关联度的可行性

14、,我们接下来就可以让机器自己变得越来越聪明:用户反馈关联度高的,下次往上排;用户反馈关联度低的,下次降下来。这样随着用户反馈越来越多,一定是最关联的结果在最上面。这个过程的实现便是下文要说的 Learning-to-rank 模型。Learning-to-rank 模型的损失函数与大部分机器学习模型一样,Learning-to-rank 的核心就是定义一个损失函数。这里想法大概就是,如果一个排序算法把洋葱新闻排到第一位,而火眼金睛的用户点击的是第二位的真新闻,则损失 1 分。可见,这里并不直接计算关联度本身,而是利用与关联度有关的数据计算损失函数。原文中的损失函数定义为:(加权)加总各种可能的

15、搜索结果从一个打分模型里面得出的分数的损失。具体实践中大家会利用一个特定的损失函数模型,比如原文中 3.1 章给出的配对型的损失函数 (2),惩罚如果后面的结果比前面的更加关联,其函数大致形如:(园主问题 2:用户不点击排名第一的结果和不点击排名第 100 位的结果,显然背后的考量是不同的。他可能看到了第一位的结果,心里嘀咕,八竿子打不着的结果你干嘛给我?而根本没看到第 100 位的结果。这种情况下,我们不应该惩罚排在第一位的结果吗?)可惜的是,损失函数 (2) 对第二种情形并没有进行直接的考量,所以造成了可用训练数据里面的选择性偏差(selection bias)现象,即能用的样本只有用户有

16、一个点击的情况。然而一条搜索语句返回的结果能不能可以进入训练数据集(即是不是至少有一个点击),则取决于每条排序结果是不是关联。简单说来,如果第一位的结果是关联的(好的情况)、用户给予了点击,则搜索语句所有返回结果符合条件、进入训练集;如果第一位的结果是不关联的(坏的情况),就算第二位是关联的,那么用户可能忽略所有搜索结果,没有任何点击,所以不符合进入数据集的条件。而这条数据的价值我们前面已经说过了,明明应该惩罚第一位的结果啊。在作者原文中,特称这种因为排序位置导致可用的训练数据有选择性样本的情况为“position bias”。这种选择性样本偏差存在的后果就是,Learning-to-rank 模型随着时间并不会收敛到越关联的数据排序越高的理想情况,而很大程度上取决于初始化的时候排序打分模型如何。我们显然想得到收敛结果一个跟初始化无关的优化过程(即初始化只影响收敛速度,而不影

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1