iT邦幫忙

2022 iThome 鐵人賽

DAY 2
2
AI & Data

那些在科技公司和 app 背後的資料科學系列 第 2

[Day 2] Facebook 如何排序推薦內容(上)- 使用者調查

  • 分享至 

  • xImage
  •  

一個風和日麗的上午,Skylar 慵懶地躺在沙發上,滑著 Facebook,漫不經心地瀏覽動態。他看到 Toby 更新自己的衝浪影片、Wade 和自己的狗狗的自拍照。Skylar 不禁會心一笑,心想「這隻狗狗真可愛」,並按下愛心。他看到自己加入的攝影社團中,有人放上幾張自己的攝影作品。另外,他追蹤的新聞粉絲專頁轉貼一則新聞,告知日本的邊境似乎快要鬆綁了。他興奮地按下「Wow」,並點進新聞,暗自盤算可以規劃一趟日本旅遊了。再跳回 Facebook,竟然馬上出現機票廣告,Skylar 無奈地想著「Facebook 真的是會讀心術耶」,手指還是情不自禁地點進廣告。

以上情境可能發生在你我的日常,但是,我們每個人、每天看到的內容都截然不同,Facebook 是如何產生推薦及排序內容的呢?讓我們一起來窺視推薦系統(recommendation system)的秘密吧!


Facebook 的推薦系統會分成兩篇介紹:
(1) 上篇:推薦系統名詞介紹、Facebook 的使用者調查
(2) 下篇:Feed aggregator 的運作方式


推薦系統的初步介紹

首先,先來介紹幾個在推薦系統常見的名詞。

Information retrieval
Information retrieval 分為兩階段:candidate generation 和 candidate selection。

  • Candidate Generation:根據使用者外顯(如有按讚或追蹤行為)或內隱(演算法預測)的興趣,收集所有用戶可能會感興趣的內容。
  • Candidate Selection:使用一個排序演算法以挑選最終要呈現給使用者的內容。

Facebook 會搜集使用者的行為特徵,觀察每則貼文是否能夠為使用者帶來長期價值。
搜集的行為特徵如下:

  • 按讚、分享、朋友是否留言、最近是否和發文者互動。
  • 比較常觀看影片、文章或照片。
  • 追蹤的粉絲專頁、加入的社群。

例子:如果 Skylar 很喜歡看影片,且很常跟 Toby 互動,則推測比起 Wade 的照片,Skylar 會更喜歡 Toby 的影片,因此將 Toby 的影片放在前面。

Facebook 依照以上特徵設計演算法,進而推薦內容給用戶,並希望能夠帶給用戶長期價值。不過,內容是否有價值還是被使用者定義的,因此,Facebook 做了幾個調查,以更加了解使用者的想法。


Facebook 的用戶調查

調查方式

使用者調查

(1) 小型的質性研究:直接向使用者進行訪談,規模較小。研究人員會直接邀請民眾進行一對一訪談,或是請他們以寫日記的方式紀錄使用 app 的經驗。
(2) 大型的量化研究:邀請較大規模的民眾進行研究,直接使用 Facebook 的 app 本身進行調查
結合這兩個研究,可以了解使用者在乎的內容及原因,優化產品,使其更貼近使用者需求。

案例:

  • 觀察用戶是否喜歡新上線的功能
  • 觀察用戶比較喜歡使用按讚、留言還是分享的功能

不過,要如何集合大量使用者的回饋,並真正理解使用者的深層需求也是關鍵。

Facebook 在早期一直被使用者要求要新增「不喜歡」的按鈕,但是在深入瞭解後,研究者發現用戶並非單純只是想表達不喜歡,而是單單「喜歡」無法表達人們的想法。因此他們在 2016 年增加五個新功能:愛心、哈哈、哇、傷心和生氣。

five images

觀察用戶在 app 的使用行為

Facebook 非常早期時,用戶唯一能夠上傳照片之處只有頭像。研究人員觀察到用戶會非常頻繁地更換自己的頭像照片,甚至一小時就換一張。他們推論使用者希望能夠多分享自己的生活狀態,因此,Facebook 在 2005 年推出上傳照片並建立相簿的功能。


實際調查案例

為了更加了解用戶行為,Facebook 在 2019-2020 年間,分別進行幾種研究:

2020 年

  • 目標:降低出現用戶不想看到的內容之可能性。
  • 做法:觀察用戶在看到不同內容,例如文章、貼文、影片及照片時,是否會選擇隱藏貼文,或甚至檢舉貼文,以預測哪些內容是他們不想看的。
    這是非常需要客製化的行為,因為對某些人來說可以接受的內容,對其他人來說可能不適合。

2019 年

關於粉專和社群

  • 目標:如何排列朋友、社群和粉專發文的優先順序。
  • 背景:用戶除了朋友發布的內容外,也會想關注社群或粉絲專頁的貼文。但是,並非直接增加許多社群和粉專的發文即可,而是排列優先順序。
  • 作法
    • 使用者調查:研究對於用戶而言,(1) 對於追蹤的粉絲專頁,他們多感到興趣,以及 (2) 他們加入的社團對他們而言有多重要。
    • 觀察用戶行為的指標:追蹤此粉絲專頁的時長、多頻繁和此粉絲專頁或社團互動,以及此粉絲專頁和社團有的發文頻率。

關於朋友

  • 目標:讓用戶看到他們想要看到的內容。
  • 方法:了解用戶都對什麼內容按讚、留言和分享。
  • 新的演算法:
    • (1) 優先顯示用戶比較可能會想要接觸的朋友內容。
      • 特徵:較常互動的朋友、有較多共同好友的朋友、標記為緊密朋友的人。
      • 調查:直接請用戶列出他們視為親近好友的名單,再觀察這些族群的特徵,例如是否很常被標記在同一張照片中、頻繁地互動、對相同貼文留言和按讚、很常在同一個地方打卡。
      • 利用觀察到的結果訓練演算法,且會不斷地更新。不過,這並不代表只會看到這些朋友的內容,只是會放在比較前面。
    • (2) 優先顯示對於一個用戶可能比較有價值的內容:詢問關於用戶哪些內容對他們比較重要。

最後,綜合以上調查,資料科學家會採用這些行為特徵,使用 feed aggregator 產出貼文順序。

今天的介紹先在這邊告一個段落,推薦系統 feed aggregator 是如何運作的?歡迎明天回來,一起一探究竟。


謝謝讀到最後的你,如果喜歡這系列,別忘了按下訂閱,才不會錯過最新更新,也可以按讚給我鼓勵唷!
並歡迎到我的 medium 逛逛!


Reference:


上一篇
[Day 1] 前言 - 動心起念和文章主題介紹
下一篇
[Day 3] Facebook 如何排序推薦內容(下)- Feed Aggregator
系列文
那些在科技公司和 app 背後的資料科學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言