豆瓣创始人杨勃(阿北)一篇日志 曝光豆瓣电影打分规则 简单粗暴

当人们需要对一部电影的好坏做出评价的时候,通常会查找这部电影在影视行业通用标准下的得分。在全球,参考标准一般来说是IMDb(Internet Movie Database),而在国内大部分人都会相信豆瓣电影和时光网。

你可能以为,来自这些评分标准机构的专业人士们,会使用复杂的加权机制、算法,抑或多重计算标准,来对一部电影进行多维度的立体打分,得出最客观的,最符合大众观影者认知的一个分数。

这的确没错,但并非所有的人们信赖的机构都是这样!如果不是因为今天豆瓣创始人杨勃(阿北)的一篇日志,大部分人可能永远不知道,豆瓣电影居然有着一个简单到不能更简单的评分计算机制:分数加总之后除以人数

在日志的开头阿北这样写道:

我是豆瓣的创始人,也一直是豆瓣的CEO。我还写过计算豆瓣评分的最早的几版代码(不难,加起来除下人数)。

在文章的第一个章节他具体解释了豆瓣电影的评分标准。仍然没多难,跟“最早的几版代码”几乎没什么区别:

比方说一部电影有42万用户打分。我们的程序把这42万个一到五星换算成零到十分,加起来除以42万,就得到了豆瓣评分。

很难想象,豆瓣电影这样一个在影视行业影响力如此之大的平台,评分机制竟然如此简单,简单到了粗暴的程度……

阿北进一步解释,这个评分会自动出现在豆瓣的各个需要豆瓣电影分数出现的地方,没有审核机制,更没有编辑干预,程序每过一段时间会自动重跑一遍,将新打分者打出的分数加入到计算当中。在他看来,豆瓣一亿多人的大众评审团的意义就在于此。

曾经作为豆瓣用户主力的中国文艺青年,数量显然比一亿多人要少。而这样的评分机制,使得豆瓣电影评分已经不再体现文艺青年的喜好,而是更能反映出大众对于电影的观点看法。一部文艺电影的得分高很正常,因为文艺青年们看过并都打了较高的分数。然而普通用户因为得分高也去看这部电影,结果觉得并不好看,进而觉得豆瓣电影不靠谱。

过去数年时间里豆瓣用户量剧增的同时,无论文青用户还是普通用户都有这样的感触。自己喜欢的电影得不到高分、自己不喜欢的电影得了高分,用户们因此产生了想法,认为豆瓣电影评分规则背后有阴谋。阿北指出,豆瓣电影并没什么阴谋,普遍观点和个人观点之间的不重合,恰恰是用户有主见的体现。

跟豆瓣相比,IMDb作为中国大陆以外的观众最常参考的电影评分机构,在评选TOP250电影的时候却采用了一种繁琐的排名制度:

加权排名= [经常投票者投票人数÷(经常投票者投票人数+进入TOP250需要的最小票数1250)]×普通方法计算出的平均分+[最小票数1250÷(经常投票者投票人数+最小票数1250)\×目前所有电影的平均得分

通过这个复杂无比的计算公式,IMDb的TOP250榜单能够排除掉那些只有极少数投票者且得分极高的电影,但又不会给那些投票者较少的优秀小众电影关上入选榜单的大门。

同时,如何将刷票行为排出到最终的分数外,关键点就在于“经常投票者投票人数”这个值上。具体来说,当粉丝为一部电影拉票的时候,号召非用户在IMDb上新注册用户并给一部电影打分,这些新增的用户,和IMDb上经常打分的老用户是存在区别的,前者打的分数可以显示出来,但只有后者的打分才能被有效计入到最终的榜单当中。

互联网技术专家和学者阮一峰曾经在他的博客整理过Hacker News、Reddit等一众带有非简单的贴文排名功能的社区产品,其背后所依赖的排名算法。

比如,Delicious曾经的热门书签排行榜,曾经使用过去一个小时内被收藏的次数进行排名,每小时重新计算一次。而Hacker News的机制类似,但算法稍微复杂一些:

(帖子得票数–1)÷【(距离发帖的小时数+ 2)的1.8次方】

其中,1.8次方被称为重力因子,代表着老帖子(无论排名高低)排名下降的速度,重力因子越大,排名下降越快。

此外,阮一峰还总结了基于曾由牛顿提出的冷却定律公式衍生出的排名更新规则。

无论是用极其复杂的算术公式来优化掉所有的干扰因素,还是粗放生硬地使用平均数来反映整体意见,排名规则最终总是要达到两个目的:

1)按照社区的定位,能够体现最广泛或最核心用户的真实想法

2)不易被主观带有恶意的规则破坏者所利用

这样来看,豆瓣的规则的确在第一条上做的很好。阿北也在前面提到的日志里解释,在针对有组织的非正常打分行为上,豆瓣也在使用程序来中和这些打分的体现效果。

反刷分早已经是豆瓣电影日常工作的一部分,不少同事借助更多的程序一直默默在做。

OFDM(正交频分复用)是一种高效的多载波通信技术,它将高速数据流拆分为多个低速子流,并通过多个并行的低带宽子载波传输。这种技术具有高频谱效率、强抗多径衰落能力和灵活的带宽分配优势。 OFDM系统利用大量正交子载波传输数据,子载波间的正交性可有效避免码间干扰(ISI)。其数学表达为多个离散子载波信号的线性组合,调制和解调过程通过FFT(快速傅立叶变换)和IFFT(逆快速傅立叶变换)实现。其关键流程包括:数据符号映射到子载波、IFFT转换为时域信号、添加循环前缀以减少ISI、信道传输、接收端FFT恢复子载波数据和解调原始数据。 Matlab是一种广泛应用于科研、工程和数据分析的高级编程语言和交互式环境。在OFDM系统设计中,首先需掌握Matlab基础,包括编程语法、函数库和工具箱。接着,根据OFDM原理构建系统模型,实现IFFT/FFT变换、循环前缀处理和信道建模等关键算法,并通过改变参数(如信噪比、调制方式)评估系统性能。最后,利用Matlab的绘图功能展示仿真结果,如误码率(BER)曲线等。 无线通信中主要考虑加性高斯白噪声(AWGN),其在频带上均匀分布且统计独立。通过仿真OFDM系统,可在不同信噪比下测量并绘制BER曲线。分析重点包括:不同调制方式(如BPSK、QPSK)对BER的影响、循环前缀长度选择对性能的影响以及信道估计误差对BER的影响。 OFDM技术广泛应用于多个领域,如数字音频广播(DAB)、地面数字电视广播(DVB-T)、无线局域网(WLAN)以及4G/LTE和5G移动通信,是这些通信标准中的核心技术之一。 深入研究基于Matlab的OFDM系统设计与仿真,有助于加深对OFDM技术的理解,并提升解决实际通信问题的能力。仿真得到的关键性能指标(如BER曲线)对评估系统可靠性至关重要。未来可进一步探索复杂信道条件下的OFDM性能及系统优化,以适应不同应用场景
51单片机是电子工程领域常用的入门级微控制器,广泛应用于小型电子设备,例如电子时钟。本项目将介绍如何利用51单片机设计一款简单的电子时钟,并通过Keil软件进行程序开发,同时借助Proteus仿真工具进行电路模拟,帮助初学者掌握51单片机的基础应用。 51单片机基于Intel 8051内核,集成了CPU、RAM、ROM、定时器/计数器和I/O端口等功能模块,具有易于编程和性价比高的优势。在电子时钟项目中,主要利用其定时器实现时间的精确计算。Keil μVision是51单片机的常用开发环境,支持C语言和汇编语言编程。开发时,需编写代码以控制单片机显示和更新时间,包括初始化时钟硬件、设置定时器中断、编写中断服务程序以及与LCD显示屏交互等步骤。关键环节如下:一是初始化,配置时钟源(如外部晶振)设定工作频率;二是定时器设置,选择合适模式(如模式1或模式2),设置计数初值以获得所需时间分辨率;三是中断服务,编写定时器中断服务程序,定时器溢出时更新时间并触发中断;四是显示控制,通过I/O端口驱动LCD显示屏显示当前时间。 Proteus是一款虚拟原型设计软件,可用于模拟硬件电路,帮助开发者在编程前验证电路设计。在Proteus中,可搭建51单片机、LCD模块、晶振及电阻、电容等元件,形成电子时钟电路模型。运行仿真后,可观察程序在实际电路中的运行情况,及时发现并解决问题。 实际项目中,51单片机电子时钟还涉及以下知识点:一是时钟信号产生,定时器通过计数外部时钟脉冲实现时间累计,可通过调整晶振频率和定时器初始值设置不同时间间隔;二是LCD接口,需理解LCD的命令和数据传输协议,以及如何控制背光、显示模式、行列地址等;三是中断系统,了解中断概念、中断向量及程序中中断的启用和禁用方法;四是数码管显示,若使用数码管而非LCD,需了解其显示原理及段选、位选的驱动方式。 本项目融合了单片机基础、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值