您的請求陌生人是否會答應? 
-  不同情境下人們是否願意捐贈披薩

情境

「今天是我丈夫的生日,我想帶他出去吃晚餐但沒有足夠的錢,如果能有披薩當晚餐,讓他驚喜一下就好了!」面對這樣的請求,你會想送一片披薩給這位想給丈夫驚喜的妻子嗎?

披薩的隨機行為(Random Acts of Pizza)平台上,人們將自己的故事放在平台上尋求協助,而其他人可以選擇最觸動自己的故事,完成他們的願望。這個點子源自於 Daniel Rogers 在失業期間的靈感,「那時我感覺和社會脫節,並伴隨著消沉、抑鬱。」也正因為如此,平台上的故事通常十分動人。

然而,越動人的故事,真的能讓人捐贈的意願越高嗎?

目標

為了知道哪些內容、用何種方式呈現的故事最感動人心,華盛頓大學的教授在Kaggle上提供完整資料集,讓參賽者得以用來預測文章是否會獲得披薩的捐贈。

解決方法

在本篇文章中,我們將先簡介資料集與初步的資料處理,接著介紹用來預測的模型與其特性。

1. 資料簡介

資料由華盛頓大學的教授 Tim Althoff 所提供,來自 Reddit 的 Random Acts of Pizza 版位,總共包含 5,671 筆資料,其中訓練資料有 4,040 筆,測試資料有 1,631 筆,每筆資料為每位求贈者的貼文,資料集欄位包含:披薩捐贈者是否匿名、求贈者發布貼文的各項指標,以及最終是否成功受贈等等。如圖1. 所示。

  圖1. 每筆披薩請求所包含資訊

讓我們直接來看看這則留言:

Hi I am in need of food for my 4 children. We are a military family that has really hit hard times and we have exhausted all means of help just to be able to feed my family and make it through another night is all i ask. I know our blessing is coming so whatever u can find in your heart to give is greatly appreciated.

這則留言給你的感覺是什麼呢?是不是合情合理、值得同情的一個家庭,應該會有人捐贈披薩給他們吧?但結果卻是沒有收到。

讓我們再來看看另外一則留言:

I’ve been unemployed but working odd jobs. I worked a job yesterday which I thought paid up front — it did not. Now I’m sitting at home dreaming of pizza (literally, I took a nap and dreamt there was pizza in my fridge, but woke up to nothing but leftover pasta). Will pay forward when I get a chance!

除了搞笑、理由正當之外,這則留言還包含 “Will pay forward when I get a chance” 這句話,造成他和上一則留言關鍵性的不同。

這個現象並非個案,在成功獲得披薩捐贈的留言中,約有 7、8 成都有提到有機會的話會回報,而沒有獲得捐贈的留言中,幾乎都沒有提到「報答」這件事,可見人們比較喜歡幫助知恩圖報的人,即使沒有白紙黑字寫下回報的內容,表明願意回報意願的人普遍會得到更多幫助。

在了解資料結構之後,我們接著進行資料處理與模型訓練。

2. 資料處理

我們實際上會用到的欄位只有求贈者用於要求捐贈所使用的文字,也就是 「request_text_edit_aware」 欄位,以及該篇文章是否獲得捐贈,也就是 「requester_received_pizza」 欄位,如圖 1. 所示。而最終目的是根據求贈者所撰寫的文字,預測出一篇文章是否會獲得捐贈。

決定好要使用的欄位之後,下一步是將資料分為訓練和驗證兩個部分,目的是在模型訓練好之後,利用驗證資料驗證模型的準確性。

由於模型無法辨別,不能直接拿文字資料進行模型訓練,因此,我們在此必須先將文字轉成模型可以理解的向量資料,計算各個常見字詞在原始資料出現的頻率,才能做下一步的分析。

3. 模型訓練與驗證

接著,使用貝氏分類器,來預測文章是否會獲得捐贈。貝氏分類器奠基於貝氏定理(Bayes’ Theorem)之上,用於在多個可能的結果中,找出發生機率最高的,作為最終的預測結果,因此十分適合用在選擇題上,如:給定生物特徵,判斷屬於哪種物種。

應用在此情境,可能的預測結果有兩種:受到捐贈與未受到捐贈。貝氏分類器會分別計算各筆資料在兩種情形發生的機率,假設圖1. 的資料經計算後,受到捐贈的機率是 0.26,未受到捐贈的機率是 0.74,則貝氏分類器會將圖1. 的資料預測為未受到捐贈。

在模型訓練完畢之後,貝氏分類器將在訓練資料所學習到的資料,拿來預測驗證集的資料。

最終,驗證資料集的準確率是 75.12%

成果與應用

看完結果後,貝式分類器的功用不僅僅是讓你在肚子餓沒錢吃飯時,拿來換披薩吃,它還可以應用在其他地方。在新聞業,記者都希望自己撰寫的新聞稿創下高收視率,若是應用貝氏分類器,將結果分成高成效、中成效、低成效幾個類別,並藉由過往新聞與收視率兩項指標的訓練,便能得知哪些字詞能有效提高收視率。當今網路蓬勃發展、人人都可以當網紅明星的時代更是如此,無論想以影片、照片、還是文字內容吸引大批粉絲,都可以使用貝氏分類器統計出熱門的題材或關鍵字,並在其中挑選自己所擅長的來創作。

綜合上面所說,我們可以得知,傳統上被認為只能以人工創作、修改、評量的文字資料集,若是結合機器學習,不僅能判斷哪些文章、字詞打動人心的機率較高,若加以延伸,甚至在新聞業、甚至自媒體,都能有廣泛的應用。

參考資料

abc News: Random Acts of Pizza: How to Donate https://abcnews.go.com/US/random-acts-pizza-donate/story?id=13950694

Kaggle: 資料集
https://www.kaggle.com/c/random-acts-of-pizza

作者:趙熙寧(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)、劉加德(臺灣行銷研究特邀編審)

更多商普好文推薦

精準推薦是否真的有效?

精準推薦是否真的有效? 人工智慧已經應用在許多電商網站。當我們登入會員後,網站往往會根據我們先前的購物資料,再對比這次的購物清單後,推薦最可

閱讀更多 »
回到頂端