【BigData】Netflix如何猜到你喜欢看什么电影?
奇妙电视将开台,现在还有多少香港人看电视?自大学时期,笔者已经是Netflix的用户。那时的Netflix,不像现在一样,提供互联网影片串流服务。那时仍然是租DVD的年代,选好想看的电影,DVD会连一个回邮信封寄到家中,看毕后寄回。每次选电影时,Netflix会推敲观众喜欢的电影,就如 Spotify 会估计听众想听甚么歌,ASOS会提供衣服配件作参考,Amazon会猜读者想看甚么书一样,所以才有“购买这本书的读者,亦会购买那一本书”,务求促成下一次交易。
全个地球每分每秒均有人在为电影评分,Netflix的自家程式Cinematch把这大量的数据收集,组成一个很大的矩阵(matrix),这个矩阵不断在变,而且内存的数据不断增加,Cinematch务求帮观众找出“喜欢这出电影的人,亦觉得那套好看”。这种在大量数据中找关联的方式,称为data mining,常见于数学、统计或电脑的大学课程。Netflix其中一个创办人Reed Hastings本科时主修数学,曾当数学教师,所以data mining于他而言,不会陌生。
评分系统误差严重
过去,Netflix以五星评分,这种评分是很个人化的,即重点是系统推测你会认为某电影所值的评分,而非电影所值的真正评分,所以科幻电影爱好者看到“星球大战”的评分,与非爱好者看到的会不一样。Netflix程式Cinematch与Amazon一样,使用data mining中常见的一个技巧,称为k-nearest-neighbor algorithm (中译“最近邻居法”,简称k-NN)。2006年,Cinematch的误算为0.9525(其实是root mean square error,RMSE),很接近1,即以5星为满分,如果Cinematch推测你会认为Guardians of the Galaxy Vol. 2值4星,那事实上可能是3星或5星。
百万美元比赛减误差
因为误差大,所以他们推出一个一百万美元的比赛,以减低这个误差。要取得百万美元,需要把误算降至0.8563。参赛者来自世界各地,当中有大学的教授与学生。2009年,由包括AT&T Labs科学家的队伍BellKor's Pragmatic Chaos以0.8567胜出,这些科学家最先亦是从k-NN出发,致胜一招为Singular value decomposition (SVD),SVD不是他们发明的,在大学一年级修线性代数(linear algebra)基本上必读,而且应用甚广。只是大部分人均以为课本——特别是数学课本的内容,与世事无关。他们的致胜秘笈可见这连结 。类似Netflix的比赛经常出现,NASA早前推出了一个15,000美元的比赛,目的亦是加快他们的FUN3D软件。
五星改按赞功能
纵然Netflix曾经以“超过一半的用户曾为最少五十出电影评分”为宣传,许多人误以为自己看到的星星评分是一个大家投票后,电影所值分数的平均数,故此不愿投票。其实用户评分可以帮忙系统更了解他的喜好,让以后的推算更加准确。故此Netflix最近把这系统改为“按赞”即俾like功能,Netflix会依据用户过去的浏览及搜寻历史、观看片种,以及与用户选择喜好相似的观众来提供一个百分比,就如交友网推算合衬度一样。这项改变让愿意评分的人多了两倍,然而,目前许多人仍未习惯新的评分系统,抱怨声音不绝,看来,Netflix要加把劲收集大众喜好的资讯。
识玩一定玩Data
谈电脑讲程式,许多人会以为只是coding。事实上,Coding是把数学逻辑以电脑明白的方式写出来,方法要快推算要准仍是以数学技巧取胜。这世代识玩data,从大量数据中找关联,可能已经是必要技能,而data scientist 亦为市场渴求的人才,基本上所有科技公司均会罗致大量data scientists,LinkedIn 或Facebook的data scientists年薪最少为百万港元。上述提及的数学如SVD,必须先读矩阵(Matrix)。DSE中的矩阵范围不多,若大学数学并非热门学科,香港学生未有机会修读高等数学。港大刚取消的天文,其实亦会教授数据分析,试想想,望远镜接收外太空来的大量讯息,要从中找出关联,就离不开数学。NASA及SETI(寻找外太空文明)亦会借用民间电脑,分析数据。大学短视,未来实在很难培训人才发展高科技。
(文章纯属作者意见,不代表香港01立场。)