電視節(jié)目的火爆程度可以根據(jù)尼爾森收視率排名(Neilsen ratings)來衡量,但是表情包呢?目前仍然沒有什么獨(dú)立指標(biāo)能用以評(píng)估表情包(memes)的瀏覽人數(shù),所以筆者自己摸索出了一些方法!
本文將說明如何用約43000張圖片的數(shù)據(jù)集和五項(xiàng)數(shù)據(jù)科學(xué)原則,來計(jì)算得出表情包的火爆程度排名。
1. 明確定義估算對(duì)象
對(duì)文字信息的理解因人而異。筆者不知見識(shí)過多少次這樣的場景:二人在對(duì)話中就項(xiàng)目的目標(biāo)達(dá)成了一致,之后卻發(fā)現(xiàn)彼此對(duì)關(guān)鍵詞的理解大相徑庭。因此,如果在項(xiàng)目開始時(shí)徹底厘清每個(gè)詞的定義,就能省下不少時(shí)間。
例如,假設(shè)你要估算“2019年的英國人口數(shù)量”。這是指2019年初、年末還是年中的人口數(shù)量?還是三者的平均值?這里的“人口”是指常住居民,還是包括游客和臨時(shí)居民在內(nèi)的所有人?
回到表情包的話題上。首先聲明,筆者要討論的并非表情包的學(xué)術(shù)定義,而是網(wǎng)絡(luò)表情包(結(jié)合了網(wǎng)上流行的圖像和文字)。更具體地說,筆者感興趣的是找出最流行的表情包模板(表情包的背景圖像)。因此筆者所謂的“最火表情包”其實(shí)指的是:瀏覽人次最多的表情包模板(通過累加所有使用該模板的網(wǎng)絡(luò)表情包的瀏覽量來計(jì)算得出)。
明確了這一點(diǎn)之后,就要開始收集數(shù)據(jù)。
2.以最小化偏差的方式采樣數(shù)據(jù)
尼爾森排名系統(tǒng)不可能監(jiān)測每臺(tái)電視機(jī),同樣,筆者也無法全部下載網(wǎng)絡(luò)上的每個(gè)表情包。因此,這兩種情況都必須要經(jīng)過采樣。
如果一個(gè)數(shù)據(jù)樣本真正代表了更廣泛的群體,那么我們稱其為無偏見數(shù)據(jù)。但在很多情況下,這是不可能的。通常,我們必須以盡可能合理的方式最小化偏差,然后在分析數(shù)據(jù)時(shí)盡最大努力修正偏差。
本項(xiàng)目中的表情包采集自Reddit,它是世界上最大的圖片分享網(wǎng)站之一。使用一個(gè)爬蟲工具在一天中多次查看該網(wǎng)站與表情包有關(guān)的幾個(gè)部分,并且抓取前100張最受歡迎的圖片。
其中的許多表情包都托管在Imgur上,該網(wǎng)站公開了表情包瀏覽數(shù)據(jù)。因此交叉引用這些數(shù)據(jù)可以讓我們推斷出Reddit上圖片的瀏覽量。通過Reddit和Imgur的應(yīng)用程序接口(API),只需寥寥幾行python代碼就可完成該采樣。
接下來的問題是:這一采樣方法真的能夠最小化偏差嗎?Reddit只是網(wǎng)站中的一個(gè)個(gè)例,所以并不能真正代表整個(gè)互聯(lián)網(wǎng)。我們可以對(duì)其他網(wǎng)站(如instagram或Facebook)上的表情包進(jìn)行采樣,以減少偏差。
然而,這些網(wǎng)站公開的數(shù)據(jù)有限,無法進(jìn)行比對(duì)。比對(duì)這些網(wǎng)站數(shù)據(jù)的唯一的方法是做出大膽的假設(shè),但此舉可能會(huì)為最終估計(jì)值引入更多的偏差。
沒有十全十美的答案。有時(shí),我們只能接受這一點(diǎn)。筆者認(rèn)為應(yīng)當(dāng)從一個(gè)最優(yōu)的數(shù)據(jù)來源進(jìn)行采樣,而不是將多個(gè)數(shù)據(jù)來源合并起來得到一個(gè)不可靠的數(shù)據(jù)集。筆者之所以稱Reddit是最好的來源,是因?yàn)樗亲畲蟮膱D像共享網(wǎng)站,從中(通過交叉引用Imgur的數(shù)據(jù))可以推斷出精度合適的瀏覽量。
3. 復(fù)雜模型只適用于復(fù)雜問題
我們需要確定數(shù)據(jù)集中每個(gè)表情包所使用的圖像模板。這是一個(gè)圖像分類問題,并且屬于一個(gè)簡單的圖像分類問題。如果簡單的方法就足以見效,那么就沒必要選擇復(fù)雜的解決方案。
近來最先進(jìn)的圖像分類器,比如那些在Image-Net比賽中名列前茅的分類器,都是能夠不受角度、光線或背景的影響而正確識(shí)別物體的深度神經(jīng)網(wǎng)絡(luò)。觀察一個(gè)表情包并識(shí)別其圖像模板則容易得多,因此需要的東西遠(yuǎn)非100層神經(jīng)網(wǎng)絡(luò)那么復(fù)雜。
表情包圖像模板的數(shù)量有限,并且都具有獨(dú)特的顏色模式。我們僅需要計(jì)算像素并將結(jié)果傳遞給線性支持向量機(jī),就能精確地分類表情包。訓(xùn)練支持向量機(jī)僅需幾秒,而神經(jīng)網(wǎng)絡(luò)則需要數(shù)天。
4. 審核(有條件時(shí)引入人工)
很多時(shí)候,躊躇滿志的年輕數(shù)據(jù)科學(xué)家跑來找到筆者,自豪地公布一個(gè)偉大的發(fā)現(xiàn),卻在被問及如何審核結(jié)果時(shí)面露怯色。通過基本的審核發(fā)現(xiàn)重大紕漏后,所謂的偉大發(fā)現(xiàn)往往將黯然退場。
在審核圖形分類模型的結(jié)果時(shí),人眼是無可替代的(至少目前如此)。你或許認(rèn)為,驗(yàn)證圖形分類器在這個(gè)數(shù)據(jù)集(約有43000張圖像)上的結(jié)果需要很長時(shí)間,但有許多工具能加速這一過程。
借助標(biāo)注工具,筆者平均使用20秒就能夠?qū)徍?00張圖像(在10x10的格子中瀏覽),因此,全部審核完43000張圖像只花費(fèi)了不到3小時(shí)。這樣的事情日常做大概吃不消,但一年一次還可以忍受。
5. 仔細(xì)考慮每個(gè)假設(shè)
統(tǒng)計(jì)模型有賴于數(shù)據(jù)和假設(shè)。通常情況下,原始數(shù)據(jù)無法優(yōu)化,但假設(shè)可以改進(jìn)。工作的最后一步是獲取數(shù)據(jù)集,并提取出每個(gè)表情包模板的瀏覽數(shù)據(jù)。由于數(shù)據(jù)具有局限性,這一分析需要一些額外的假設(shè)。
第一個(gè)假設(shè)涉及到缺失值。如果數(shù)據(jù)集中的某個(gè)條目出現(xiàn)了缺失值,那么最好是移除該條目(因而將減小樣本)呢,還是推測該缺失值是什么(因而或?qū)⒁胝`差)呢?
這取決于數(shù)據(jù)集中缺失值的比例。如果比例較低,通常最好直接丟棄缺失值。而如果比例較高(該表情包數(shù)據(jù)集就是如此),那么丟棄所有缺失值可能會(huì)大大降低樣本的代表性。因此,筆者認(rèn)為盡可能準(zhǔn)確地填充這些缺失值是更好的做法。
第二個(gè)假設(shè)涉及修正我們的數(shù)據(jù)集對(duì)Reddit用戶的傾向性。筆者用下面的“傳播”假設(shè)來解決這一問題。筆者從Reddit的幾十個(gè)不同板塊進(jìn)行了采樣,以此來測量每個(gè)表情包模板在多少個(gè)板塊中出現(xiàn)過。筆者假設(shè),一個(gè)表情包在Reddit內(nèi)部傳播得越廣,說明它在Reddit之外的傳播范圍也越廣。為了反映這一點(diǎn),筆者擴(kuò)增了這些表情包的瀏覽次數(shù)。
對(duì)于假設(shè)來說,標(biāo)準(zhǔn)答案是不存在的。我們唯一的選擇就是做出能讓人信服的抉擇。
計(jì)算結(jié)果:最受歡迎的表情包模板(2018年)
該算法在2018年全年都在運(yùn)行,共下載了40萬張圖片,并識(shí)別出其中的43660張使用了250個(gè)最常見的表情包模板之一。
如你所見,歌星Drake的表情圖以極大優(yōu)勢奪得了2018年的流行之冠,共有1億5700萬次瀏覽量(該分析結(jié)果很有可能小于實(shí)際數(shù)據(jù))。
此外,頂層模板的總瀏覽量分布近似于帕累托分布(Pareto distribution)。
世界上有許多難以精確測算的事物,表情包的流行程度就是其中之一。有時(shí)我們只能盡量追求最優(yōu)解。筆者討論了在這一工作中使用的5項(xiàng)原則,一言以蔽之,即:在著手開始之前,仔細(xì)考慮項(xiàng)目的每個(gè)步驟。
責(zé)編AJX
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7233瀏覽量
90731 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
40文章
6764瀏覽量
115251 -
數(shù)據(jù)科學(xué)
+關(guān)注
關(guān)注
0文章
168瀏覽量
10349
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論