Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

贝叶斯推断及其互联网应用(三)拼写检查

贝叶斯推断及其互联网应用(三)拼写检查

贝叶斯推断及其互联网应用(三)拼写检查2014-10-20 阮一峰 (这个系列的第一部分介绍了贝叶斯定理,第二部分介绍了如何过滤垃圾邮件,今天是第三部分。)使用Google的时候,如果你拼错一个单词,它会提醒你正确的拼法。比如,你不小心输入了seperate。Google告诉你,这个词是不存在的,正确的拼法是separate。这就叫做"拼写检查"(spelling corrector)。有好几种方法可以实现这个功能,Google使用的是...
基于用户投票的排名算法(一)Delicious和Hacker News

基于用户投票的排名算法(一)Delicious和Hacker News

基于用户投票的排名算法(一)Delicious和Hacker News2014-10-20 阮一峰 互联网的出现,意味着"信息大爆炸"。用户担心的,不再是信息太少,而是信息太多。如何从大量信息之中,快速有效地找出最重要的内容,成了互联网的一大核心问题。各种各样的排名算法,是目前过滤信息的主要手段之一。对信息进行排名,意味着将信息按照重要性依次排列,并且及时进行更新。排列的依据,可以基于信息本身的特征,也可以基于用户的投票,即让用户决定,...
基于用户投票的排名算法(二)Reddit

基于用户投票的排名算法(二)Reddit

基于用户投票的排名算法(二)Reddit2014-10-20 阮一峰 上一次,我介绍了Hacker News的排名算法。它的特点是用户只能投赞成票,但是很多网站还允许用户投反对票。就是说,除了好评以外,你还可以给某篇文章差评。Reddit是美国最大的网上社区,它的每个帖子前面都有向上和向下的箭头,分别表示"赞成"和"反对"。用户点击进行投票,Reddit根据投票结果,计算出最新的"热点文章排行榜"...
基于用户投票的排名算法(三)Stack Overflow

基于用户投票的排名算法(三)Stack Overflow

基于用户投票的排名算法(三)Stack Overflow2014-10-20 阮一峰 上一篇文章,我介绍了Reddit的排名算法。它的特点是,用户可以投赞成票,也可以投反对票。也就是说,除了时间因素以外,只要考虑两个变量就够了。但是,还有一些特定用途的网站,必须考虑更多的因素。世界排名第一的程序员问答社区Stack Overflow,就是这样一个网站。你在上面提出各种关于编程的问题,等待别人回答。访问者可以对你的问题进行投票(赞成票或反对票),表示这个问题...
基于用户投票的排名算法(四)牛顿冷却定律

基于用户投票的排名算法(四)牛顿冷却定律

基于用户投票的排名算法(四)牛顿冷却定律2014-10-20 阮一峰 这个系列的前三篇,介绍了Hacker News,Reddit和Stack Overflow的排名算法。今天,讨论一个更一般的数学模型。这个系列的每篇文章,都是可以分开读的。但是,为了保证所有人都在同一页上,我再说一下,到目前为止,我们用不同方法,企图解决的都是同一个问题:根据用户的投票,决定最近一段时间内的"热文排名"。你可能会觉得,这是一个全新的课题,伴随着互联网而...
基于用户投票的排名算法(五)威尔逊区间

基于用户投票的排名算法(五)威尔逊区间

基于用户投票的排名算法(五)威尔逊区间2014-10-21 阮一峰 迄今为止,这个系列都在讨论,如何给出"某个时段"的排名,比如"过去24小时最热门的文章"。但是,很多场合需要的是"所有时段"的排名,比如"最受用户好评的产品"。这时,时间因素就不需要考虑了。这个系列的最后两篇,就研究不考虑时间因素的情况下,如何给出排名。一种常见的错误算法是:得分 = 赞成票 - 反对票假定有两...
基于用户投票的排名算法(六)贝叶斯平均

基于用户投票的排名算法(六)贝叶斯平均

基于用户投票的排名算法(六)贝叶斯平均2014-10-21 阮一峰 上一篇介绍了"威尔逊区间",它解决了投票人数过少、导致结果不可信的问题。举例来说,如果只有2个人投票,"威尔逊区间"的下限值会将赞成票的比例大幅拉低。这样做固然保证了排名的可信性,但也带来了另一个问题:排行榜前列总是那些票数最多的项目,新项目或者冷门的项目,很难有出头机会,排名可能会长期靠后。以IMDB为例,它是世界最大的电影数据库,观众可以对每部电...
<< 231 232 233 234 235 236 237 238 239 240 >>