Presentation is loading. Please wait.

Presentation is loading. Please wait.

湯明軒(Andrew) 秘書長 本簡報內容,如需引用請註明出處

Similar presentations


Presentation on theme: "湯明軒(Andrew) 秘書長 本簡報內容,如需引用請註明出處"— Presentation transcript:

1 湯明軒(Andrew) 秘書長 sulaxd@gmail.com 本簡報內容,如需引用請註明出處
Mining Facebook for Knowing a Person You Fancy 湯明軒(Andrew) 秘書長 本簡報內容,如需引用請註明出處

2 故事從一場x開始 圖片來源:葡萄藤

3 我多了幾個FB好友 與一個目標

4 但,我該如何走下一步棋呢? 剛認識的彼此,直接進入聊天階段沒什麼問題的。 但你敲的時機點,可能有問題。 透過FB聊天,最保險的時機點為何?
上班?上課? 休息?睡覺? 透過FB聊天,最保險的時機點為何? 估計是她平常會發文的時間點附近

5 從發文時間,了解她較常使用FB的時間 這個時間切入應該不錯~

6 人和 天時與地利Get!然後呢? Say Hello~她回應的機率應該提高了不少 但,下一句,該聊什麼呢? 從興趣下手,或許是不錯的選擇。
畢竟,話不投機半句多 從興趣下手,或許是不錯的選擇。 她加入的粉絲團類型,應該可以看出一些端倪! 說不定她因此覺得妳們很投緣。

7 從喜好粉絲團,了解她興趣之所在

8 再來,還有什麼值得一窺? 基本上,這應該足夠了。 真要再加強彼此的聯結性,那還是人和的部分 該如何看出誰是她的好友?
如果連她的好友、死黨都打點好,還怕熟不起來嗎? 該如何看出誰是她的好友? 透過回應她發文的頻率,越是頻繁者,關係應該不差。 把點讚的人也計算進來,可能只會找出愛點讚的朋友

9 從文字雲,了解她的交友圈

10 感謝各位耐心聆聽 今天的演講 接下來進入第二階段 Work Shop

11 以下 有點沉悶 忍住別睡 實作概述 以上三招該如何實現?接下來帶各位走一趟 認識 Facebook - Graph API Explorer
Posts資料 發文時間 回應者名稱 Likes粉絲團資料 粉絲團類型 導出三種統計之結果 以下 有點沉悶 忍住別睡

12 Facebook - Graph API Explorer
取得Facebook資料前,我們必須先認識它。

13 取得目標 ID or name 至目標之個人頁面即可看到如下之網址 取得後即可進入Graph API Explorer
取得後即可進入Graph API Explorer

14

15 1 2 3 4 5

16 1 2

17 1 2

18 目標對象的ID:321654651 Posts Data Posts 資料概述 文章ID:321654_3213135 1. From:
誰發的文name:湯咪 他的ID: 發文內容message: 1. 發文型態: 建立時間: 1. 按讚Like: Data: 按讚人ID: 按讚人name:Andrew 1. 回應 回應文的ID: _ 回應人ID : 回應人name : Mary Posts 資料概述

19 1 2 3 3 3

20 目標對象的ID:321654651 按讚的粉絲團: Like 資料概述 Data: 類型:”Product/service”
粉絲團名稱:手創工坊 類型:”Company” 粉絲團名稱:福星機車行

21 接下來,寫程式把資料導入 R 有人知道怎麼寫嗎?

22 老實說,我也不會寫 從來沒學過程式怎麼寫 不會寫?那就問。 從前是念商管,第一個接觸的程式語言就是R
幸好R語言真的不難(某些層面有點像excel) 不會寫?那就問。 R 語言搭配Google使用 借力使力-讓一切都變得簡單了

23 Step 1-Google it ! 先來下個關鍵字:「R data facebook」 太多結果可以參考了!

24 第一個搜尋結果 Apply R

25 Copy

26 準備一、導入facebook函數 Paste

27 準備二、導入存取代碼(access token)
Copy Paste

28 範例一、發文時間統計

29 範例1.1、導入post資料 目標對象ID 存取代碼 欲查詢資料

30

31 範例1.2、挑出發文時間 執行此行即可得第一篇之發文時間 PostResult$posts$data[[1]]$created_time
若需取得總共三十篇之發文時間則 result <- NULL for(i in 1:30){ result <- c(result ,PostResult$posts$data[[i]]$created_time) }

32 範例1.3、發文時間統計 將字串格式改為時間格式 只取「小時」 針對結果做次數分配表 以次數分配表畫出長條圖
TIME <- strptime(result,"%Y-%m-%dT%H:%M:%S%z") 只取「小時」 hour <- format(TIME,"%H") 針對結果做次數分配表 以次數分配表畫出長條圖 barplot(table(hour))

33 範例1.4、發文時間長條圖

34 範例二、回應發文者統計

35 範例2.1、挑出回應發文者名稱 執行此行即可得第一篇之第一個回應發文者名稱
PostResult$posts$data[[1]]$comments$data[[1]]$from$name PostResult$posts$data[[1]]$comments$data[[1]]$from$name

36 範例2.2、第一篇所有回應發文者名稱 若需取得總共第一篇之所有回應發文者名稱則 result <- NULL
for(i in 1:length(PostResult$posts$data[[1]]$comments$data)){ result <- c(result , PostResult$posts$data[[1]]$comments$data[[i]]$from$name) } 第一篇有幾筆回應資料

37 範例2.3、所有發文之回應發文者名稱 若需取得所有發文(此例為10篇)之回應發文者名稱之所有回應發文者名稱則
result <- NULL for(j in 1:length(PostResult$posts$data)){ for(i in 1:length(PostResult$posts$data[[j]]$comments$data)){ result <- c(result , PostResult$posts$data[[j]]$comments$data[[i]]$from$name) }

38 範例2.4、回應發文者名稱統計 針對結果做次數分配表 儲存結果為.csv檔
Write(result, file=“comments.csv”)

39 範例2.5、回應發文者名稱文字雲製作 因文字雲常以空格為斷字標準
先以excel打開.csv檔,將英文之空格以取代之功能消去 線上HTML5文字雲輕鬆做 R也有文字雲之套件,但目前之中文字體我較不喜歡,所以…

40 範例2.5、回應發文者名稱文字雲 兩次以上的人才會出現

41 範例三、粉絲團分類統計

42 範例3.1、導入Likes資料 目標對象ID 存取代碼 欲查詢資料

43

44 範例3.2、挑出目標對象按讚之粉絲團分類 執行此行即可得第一個按讚粉絲團分類
LikesResult$likes$data[[1]]$category 若需取得總共三十個之按讚粉絲團分類 result <- NULL for(i in 1:30){ result <- c(result, LikesResult$likes$data[[i]]$category) }

45 範例3.3、粉絲團分類統計 針對結果做次數分配表

46 範例3.3、粉絲團分類長條圖 以次數分配表畫出長條圖 barplot(table(result),las=2)

47 範例結束,歸納一些結論

48 掌握資料的人將掌握一切 本次主題實作: 未來分析方向:
透過發文時間-得知目標之經常在線時間 透過回文者名稱-得知目標之好友圈 透過按讚粉絲團-得知目標之喜好 未來分析方向: 好友圈加入時間與性別參數-得知潛在情敵 透過發文內容-得知目標之情緒狀況 由此主題可知,只是玩個Facebook就可以洩漏 許多個人訊息。所以,請小心管理您的個人資料 與小心使用社群網站。 例如: 定期隱藏歷史動態 跟資料科學家當FB好友前三思

49 近期活動 延續 R Taiwan 2013 的經驗 活動名稱:2014資料科學與產業應用研討會 (Data Science and Industrial Applications 2014) 主辦單位: 活動時間:103/5/23(五) 活動概述: 資料科學與產業實務的結合 邀請分享產業資料分析之專業人士演講 免費,人數限制100人 未來 R Taiwan 與 Data Science and Industrial Applications 將定期舉辦

50 資料來源 Mining Facebook Data: Most "Liked" Status and Friendship Network
Crawling facebook with R HTML5 文字雲

51 Q&A 謝謝您的耐心聆聽 資料科學是一門需要想像力的技術

52 實作可能出現之問題

53 除錯 狀況一 解決辦法:修改部分facebook函數並重新執行 狀況二 解決辦法

54 除錯 狀況三 解決辦法:至Graph API Explorer更新存取代碼

55 除錯 狀況四 長條圖下方之名稱超出顯示範圍 解決辦法: 先執行下面第一行,其中15值越大會將圖越往上移
op <- par(mar=c(15,4,2,2)) barplot(table(result),las=2)

56 除錯 狀況五 時區錯誤 解決辦法: TIME <- as.POSIXct(as.numeric(strptime(TIME,"%Y-%m- %dT%H:%M:%S%z"))+28800, origin = ISOdatetime(1960,1,1,0,0,0))


Download ppt "湯明軒(Andrew) 秘書長 本簡報內容,如需引用請註明出處"

Similar presentations


Ads by Google