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

世界上有許多難以精確測(cè)算的事物,表情包的流行程度就是其中之一。有時(shí)我們只能盡量追求最優(yōu)解。筆者討論了在這一工作中使用的5項(xiàng)原則,一言以蔽之,即:在著手開(kāi)始之前,仔細(xì)考慮項(xiàng)目的每個(gè)步驟。