• 沒有找到結果。

基於貼文分享之臉書粉絲頁關聯性分析 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "基於貼文分享之臉書粉絲頁關聯性分析 - 政大學術集成"

Copied!
124
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系 Department of Computer Science National Chengchi University. 碩士論文 Master’s Thesis. 立. 政 治 大. ‧ 國. 學. 基於貼文分享之臉書粉絲頁關聯性分析. ‧. Nat. y. Exploring the Relationships between Facebook Pages via. n. er. io. al. sit. Post Sharing. Ch. engchi. i n U. v. 研 究 生:張瑋庭 指導教授:陳. 恭. 中華民國一百零四年六月 June 2015 i.

(2) 基於貼文分享之臉書粉絲頁關聯性分析 Exploring the Relationships between Facebook Pages via Post Sharing. 張瑋庭. 指導教授: 陳. 恭. Advisor:Kung Chen. 政 治 大. 國立政治大學. 學. ‧ 國. 立. Student:Wei-Ting Chang. 資訊科學系. Nat. y. ‧. 碩士論文 A Thesis. sit. 研 究 生:. a. er. io. submitted to Department of Computer Science. n. v l C Chengchi University National ni U. h. e n gofcthe h i Requirements in partial fulfillment for the degree of Master in. Computer Science. 中華民國一百零四年六月 June 2015 ii.

(3) 誌謝. 努力了多年,終於抵達最後的目標,回想這些年在資科所學習的點點滴滴, 無論是課堂上體驗新的資訊理論,或者是同學之間的技術交流,都讓我獲益良多。 尤其是此次論文研究內容以最新的社群網路為主體,更令我對虛擬世界的人際網 路有多方的啟發。 首先要感謝我的指導教授─陳恭教授,在跟隨教授的學習這段時間裡,教授 總能在我困惑時提供新的觀念,導引我正確的研究方向。另一方面,教授更讓我. 治 政 學習到,除了新穎的技術外,要如何有條理的論述才能讓人接受新技術帶來的好 大 立 處,也是我在教授身上學到非常重要的經驗。 ‧ 國. 學. 除了指導教授之外,同時也要感謝水火計劃的鄭宇君教授以及陳百齡教授。. ‧. 兩位教授以傳播學上的專業來指導此次研究,讓我有機會學習以傳播學的角度來. sit. y. Nat. 研究資訊如何社群網路傳遞,並提供相當多寶貴的建議,使得本論文能順利完成;. io. al. n. 術上專長。。. er. 同時也要感謝 PLSM 實驗室一同學習的學弟妹們共同的努力,互相交流彼此技. Ch. engchi. i n U. v. 最後我要感謝的我的女友小比以及我的父母與家人們,很感謝你們一直以來 的支持以及鼓勵,每當我陷入低潮時總會適時的給我加油與鼓勵,讓我能順利完 成研究所學業。並期盼自己在畢業後於工作上發揮在校所學,不負諸位教授多年 來的教導。. iii.

(4) 基於貼文分享之臉書粉絲頁關聯性分析 摘要 隨著網路科技的進步,線上社群網站已成為許多人快速分享資訊的新興平台。 在所有社群網站中,Facebook 為目前市佔率最高的網站,而粉絲頁在 Facebook 上擔任了重要的訊息傳播角色。粉絲頁就像個人新聞台一樣,站主可對其所屬粉 絲發送訊息,進行線上溝通。此外,粉絲頁間也可透過分享轉發貼文的方式,使 得各粉絲頁的廣大粉絲群皆能透過這樣的分享行動,快速接收到相關訊息,進而. 政 治 大. 產生一傳十,十傳百的社群影響力。在特殊公共事件發生時,這種分享行為更為. 立. 普遍。. ‧ 國. 學. 本研究即以粉絲頁間的貼文分享為出發點,尋找公共事件發生時,粉絲頁間 的透過分享而產生的關聯性。為了驗證此一論點之可行性,我們設計與實作了一. ‧. 套「臉書粉絲頁貼文分享關聯性分析系統(Posts Sharing Analyzer of Facebook. sit. y. Nat. Pages Relationships) 」,讓使用者可以針對其關注之公共事件設定種子粉絲頁及. al. er. io. 指定資料蒐集期間及相關參數。系統會透過 Facebook 公司提供的應用程式介面. v. n. 自動蒐集種子粉絲頁指定期間資料。每一次資料蒐集完成後系統會自動分析是否. Ch. engchi. i n U. 具有符合使用者指定條件的新粉絲頁,並將之加入種子粉絲頁的行列。透過滾雪 球的方式,逐次推導出完整的粉絲頁關聯性。 本研究特別以太陽花學運期間相關粉絲頁作為實驗對象,透過我們的系統分 析種子粉絲頁裡的分享貼文,逐次找出多個性質相近的粉絲頁,為日後進一步建 立粉絲頁分享關聯性的探討奠定了良好的基礎。. iv.

(5) Exploring the Relationships between Facebook Pages via Post Sharing Abstract With advances in Internet technology, online social network sites has become a new platform for many people share information quickly. In all social network sites, Facebook is currently the largest one. Among other services, the fan pages play an important role of information dissemination. A fan page is like a personal news station as it sends specific messages to its fans regularly. In addition, fan pages may also post messages originally posted in other fan pages, resulting in a chain of message transmission from one fan page to many others. It is very likely that, through this kind of transmission, some messages may reach to a mass population in a short period of time. This is not uncommon when major public event occurs.. 立. 政 治 大. ‧ 國. 學. ‧. In this thesis, we propose to investigate the relation among fan pages developed by such "post sharing" activity between fan pages during public events. Toward this goal, we have designed and implemented a system for analyzing posts sharing among Facebook fan pages. It allows users to set seed fan pages, related parameters and duration of collection on the public events they concerned. The system will collect specified information of seed pages al automatically through Facebook graph API. After thei vdata collection period, n new pages fit the user Ch U the system will analyze automatically whether the engchi specified criteria, and adding the page into the seeds. Through snowball the way, the system will collect a set of fan pages related by post sharing.. n. er. io. sit. y. Nat. As a validation of our system, we conduct an experiment by setting the seed two popular fan pages in the student movement of sunflowers as the seeds, and collect many other fan pages related by post sharing in the snowball way. Among them, we identify several similar fan pages by analyzing the data in the posts shared by the seed pages. These results has laid a good foundation for. future investigation of the network analysis of fan pages related by post sharing.. v.

(6) 目錄 第一章. 緒論............................................................................................................ 1. 1.1 前言.................................................................................................................. 1 1.2 研究動機.......................................................................................................... 3 1.3 研究目的.......................................................................................................... 4 1.4 研究成果.......................................................................................................... 5 1.5 論文大綱.......................................................................................................... 6 第二章. 相關研究與技術背景................................................................................ 7. 2.1Facebook 資料蒐集 .......................................................................................... 7. 政 治 大. 2.1.1Graph API .............................................................................................. 7. 立. 2.1.2Facebook SDKs ................................................................................... 10. ‧ 國. 學. 2.1.3Facebook Login ................................................................................... 12 2.1.4Facebook Application .......................................................................... 13. ‧. 2.1.5RestFB API .......................................................................................... 14. y. Nat. 2.2 資料庫及存取技術........................................................................................ 14. sit. 2.2.1 MySQL ............................................................................................... 15. n. al. er. io. 2.3 前端頁面技術................................................................................................ 16. i n U. v. 2.3.1 ASP.NET ............................................................................................. 16. Ch. engchi. 2.3.2 JQuery ................................................................................................. 17 2.3.3 AJAX................................................................................................... 18 2.3.4 High Charts ......................................................................................... 18 2.4 作業排程技術................................................................................................ 19 第三章. 系統設計與架構...................................................................................... 20. 3.1 如何建構粉絲圈............................................................................................ 20 3.2 系統設計理念................................................................................................ 24 3.2.1 動態消息資料格式分析..................................................................... 25 3.2.2 使用者操作流程設計......................................................................... 31 vi.

(7) 3.2.3 排程工作機制設計............................................................................. 32 3.3 系統設計與實作............................................................................................ 33 3.3.1 使用者操作模組................................................................................. 34 3.3.2 資料展示介面模組............................................................................. 35 3.3.3 粉絲頁資料蒐集模組......................................................................... 42 3.3.4 粉絲頁資料解析模組......................................................................... 44 3.3.5 粉絲頁貼文分享分析模組................................................................. 45 3.4 資料儲存機制設計........................................................................................ 46 3.4.1 資料表設計......................................................................................... 46 3.5 資料蒐集方法設計與實作............................................................................ 50. 政 治 大. 3.5.1 資料蒐集方法需求分析..................................................................... 50. 立. 3.5.2 資料蒐集方法設計與實作................................................................. 51. ‧ 國. 學. 3.6 資料蒐集異常處理機制設計與實作............................................................ 54 3.6.1 資料蒐集異常處理需求分析............................................................. 55. 系統功能驗證與成果展示...................................................................... 61. y. Nat. 第四章. ‧. 3.6.2 資料蒐集異常處理設計與實作......................................................... 57. io. sit. 4.1 系統驗證計畫設計與評估方法.................................................................... 61. n. al. er. 4.1.1 驗證計畫設計..................................................................................... 61. i n U. v. 4.1.2 評估方法............................................................................................. 63. Ch. engchi. 4.2 驗證計畫執行成果........................................................................................ 63 4.2.1 蒐集結果分析..................................................................................... 64 4.3 成果展示畫面................................................................................................ 98 第五章. 結論與建議............................................................................................ 107. 5.1 結論.............................................................................................................. 107 5.2 未來發展與建議.......................................................................................... 109 參考文獻.................................................................................................................... 112. vii.

(8) 圖次 圖 1- 1 傳播演進示意圖................................................................................................ 2 圖 1- 2 社群網站使用者數量統計................................................................................ 2 圖 1- 3 粉絲頁相互運作方式........................................................................................ 3 圖 2- 1 GRAPH API 概念示意圖 .................................................................................... 8 圖 2- 2 FB JAVASCRIPT SDK 使用範例 ....................................................................... 11 圖 2- 3 FACEBOOK LOGIN 示意圖 ................................................................................ 12 圖 2- 4 FACEBOOK APPLICATION 畫面 .......................................................................... 13 圖 2- 5 ASP.NET 流程架構 ......................................................................................... 17. 政 治 大. 圖 2- 6 QUARTZ 作業示意圖 ........................................................................................ 19. 立. 圖 3- 1 正向分享示意圖.............................................................................................. 21. ‧ 國. 學. 圖 3- 2 正向分享擴展示意圖...................................................................................... 22 圖 3- 3 反向推導示意圖 ............................................................................................. 23. ‧. 圖 3- 4 反向擴展示意圖.............................................................................................. 24. y. Nat. 圖 3- 5 JSON 格式原始資料範例 ............................................................................... 29. sit. 圖 3- 6 JSON 格式已解析資料範例 ........................................................................... 30. n. al. er. io. 圖 3- 7 POSTS 資料欄位分析示意圖 ............................................................................. 31. i n U. v. 圖 3- 8 使用者操作流程.............................................................................................. 32. Ch. engchi. 圖 3- 9 臉書粉絲頁貼文分享關聯性分析系統技術架構圖...................................... 34 圖 3- 10 使用者操作介面功能 ................................................................................... 35 圖 3- 11 貼文內容資料呈現示意圖 ........................................................................... 36 圖 3- 12 詳細貼文蒐集內容資料呈現示意圖 ........................................................... 37 圖 3- 13 留言次數成長曲線圖呈現示意圖 ............................................................... 42 圖 3- 14 粉絲頁資料蒐集流程 ................................................................................... 43 圖 3- 15 粉絲頁貼文分享分析流程 ........................................................................... 46 圖 3- 16 混合式資料蒐集流程 ................................................................................... 53 圖 3- 17 混合式資料蒐集機制 ................................................................................... 54 viii.

(9) 圖 3- 18 FACEBOOK 所回傳之錯誤範例 ...................................................................... 56 圖 3- 19 授權碼延長時效機制 ................................................................................... 59 圖 3- 20 異常問題處理機制 ....................................................................................... 60 圖 4- 1 門檻值 1 貼文分享網路圖 1 .......................................................................... 68 圖 4- 2 門檻值 2 貼文分享網路圖 1 .......................................................................... 69 圖 4- 3 門檻值 1 貼文分享網路圖 2 .......................................................................... 69 圖 4- 4 門檻值 2 貼文分享網路圖 2 .......................................................................... 70 圖 4- 5 門檻值 1 貼文分享網路圖分析 A .................................................................. 70 圖 4- 6 門檻值 2 貼文分享網路圖分析 A .................................................................. 71 圖 4- 7 門檻值 1 貼文分享網路圖分析 B .................................................................. 71. 政 治 大. 圖 4- 8 門檻值 2 貼文分享網路圖分析 B .................................................................. 72. 立. 圖 4- 9 門檻值 1 貼文分享網路圖分析 C .................................................................. 73. ‧ 國. 學. 圖 4- 10 門檻值 2 貼文分享網路圖分析 C ................................................................ 73 圖 4- 11 門檻值 1 貼文分享網路圖分析 D ................................................................ 74. ‧. 圖 4- 12 門檻值 2 貼文分享網路圖分析 D ................................................................ 74. y. Nat. 圖 4- 13 門檻值 1 貼文分享網路圖分析 A1 .............................................................. 76. io. sit. 圖 4- 14 門檻值 2 貼文分享網路圖分析 A1 .............................................................. 76. n. al. er. 圖 4- 15 門檻值 1 貼文分享網路圖分析 A2 .............................................................. 77. i n U. v. 圖 4- 16 門檻值 2 貼文分享網路圖分析 A2 .............................................................. 78. Ch. engchi. 圖 4- 17 門檻值 1 貼文分享網路圖分析 A3 .............................................................. 78 圖 4- 18 門檻值 2 貼文分享網路圖分析 A3 .............................................................. 79 圖 4- 19 門檻值 3 貼文分享網路圖 ........................................................................... 80 圖 4- 20 門檻值 2 前 8 次新增種子工作貼文分享網路圖 ....................................... 81 圖 4- 21 門檻值 2 前 8 次新增種子工作貼文分享核心網路圖 ............................... 82 圖 4- 22 第一輪貼文分享分析示意圖 ....................................................................... 84 圖 4- 23 第二輪貼文分享分析示意圖 ....................................................................... 87 圖 4- 24 第三輪貼文分享分析示意圖 ....................................................................... 90 圖 4- 25 門檻值 3 各粉絲頁使用者每日留言統計資料 ........................................... 94 ix.

(10) 圖 4- 26 門檻值 3 各粉絲頁使用者每日按讚統計資料 ........................................... 94 圖 4- 27 資料正確性比對示意圖 ............................................................................... 97 圖 4- 28 專案管理頁面 ............................................................................................... 98 圖 4- 29 專案管理頁面 ............................................................................................... 99 圖 4- 30 粉絲頁設定頁面 ......................................................................................... 100 圖 4- 31 分析結果展示頁面 ..................................................................................... 101 圖 4- 32 詳細蒐集內容展示頁面 ............................................................................. 101 圖 4- 33 分享次數排行榜展示頁面 ......................................................................... 102 圖 4- 34 留言次數排行榜 ......................................................................................... 103 圖 4- 35 留言次數成長圖 ......................................................................................... 104. 政 治 大. 圖 4- 36 按讚次數排行榜 ......................................................................................... 105. 立. 圖 4- 37 按讚次數成長圖 ......................................................................................... 106. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. x. i n U. v.

(11) 表次. 表 2- 1 GRAPH API 相關物件說明表 ............................................................................... 9 表 3- 1「FEED」物件欄位資料表 ................................................................................ 26 表 3- 2 粉絲頁類別功能表.......................................................................................... 37 表 3- 3 貼文內容欄位表.............................................................................................. 38 表 3- 4 分享次數排行榜紀錄資料欄位表.................................................................. 39 表 3- 5 留言次數排行榜紀錄資料欄位表.................................................................. 40 表 3- 6 按讚次數排行榜紀錄資料欄位表.................................................................. 40. 政 治 大. 表 3- 7 詳細蒐集內容資料欄位表.............................................................................. 40. 立. 表 3- 8 專案屬性資料表.............................................................................................. 47. ‧ 國. 學. 表 3- 9 專案種子粉絲頁資料表.................................................................................. 48 表 3- 10 原始紀錄資料表 ........................................................................................... 49. ‧. 表 3- 11 資料統計資料表 ........................................................................................... 49. y. Nat. 表 3- 12 JSON 格式錯誤原因彙整表 .......................................................................... 55. sit. 表 3- 13 FACEBOOK 官網所提供之錯誤訊息代碼說明 ................................................. 56. n. al. er. io. 表 4- 1 專案資料分析紀錄表...................................................................................... 64. i n U. v. 表 4- 2 門檻 1 新增種子資料蒐集統計分析表 ......................................................... 65. Ch. engchi. 表 4- 3 門檻 2 新增種子資料蒐集統計分析表 ......................................................... 66 表 4- 4 門檻 3 新增種子資料蒐集統計分析表 ......................................................... 67 表 4- 5 預設種子粉絲頁動態消息分析表 1 .............................................................. 83 表 4- 6 第二輪種子粉絲頁動態消息分析表.............................................................. 85 表 4- 7 第三輪種子粉絲頁動態消息分析表.............................................................. 88 表 4- 8 第四輪種子粉絲頁動態消息分析表.............................................................. 91 表 4- 9 門檻值 3 粉絲頁使用者行為分析統計資料 1 .............................................. 92 表 4- 10 門檻值 3 各粉絲頁使用者每日留言/按讚統計資料 .................................. 95 表 4- 11 種子粉絲頁動態消息抽樣對照表 ............................................................... 96 xi.

(12) 第一章. 緒論. 1.1 前言 自古以來,人們傳遞訊息的方式不斷的演進。從最早的面對面傳遞訊息,到 近代藉由新聞媒體的一對多廣播的方式。隨著網際網路的出現,人們開始使用電 腦快速交換訊息。隨著近幾年手機上網的普及化,加速了社群網路的發展,許多. 政 治 大 機會以廣播的方式對社會大眾發表言論。如圖 1-2,Kate Mulcrone 於 2014 年底 立. 人開始透過社群網路平台快速傳遞訊息,除了一對一傳遞訊息外,也讓每個人有. ‧ 國. 學. 調查顯示 Facebook 即為目前市佔率最高的社群網路平台。. Facebook 除了常見的社群網路功能之外,其粉絲頁 1扮演了重要的訊息傳播. ‧. 角色。每個粉絲頁擁有不少的粉絲,少則數千,多則數百萬,粉絲及粉絲的朋友. sit. y. Nat. 皆能接收到該粉絲頁所發表的訊息。在粉絲頁上,常見的功能如發表貼文、貼文. er. io. 分享、留言、按讚。其中相關聯的粉絲頁彼此可以透過貼文分享的方式交互轉發. al. v i n Ch 給大量粉絲,使得相關聯的粉絲頁群組能進一步產生對社會的影響。例如近期的 engchi U n. 貼文,使得各粉絲頁的龐大粉絲皆能收到相同訊息。透過不斷發送同類型的訊息. 白衫軍運動、太陽花學運、香港佔中運動,及縣市長選舉皆顯現出 Facebook 粉 絲頁群組在社群網路重要的影響力。. 1. 粉絲頁可協助企業、品牌和組織分享動態,與用戶連結。與個人檔案一樣,可以透過發佈動態、 舉辦活動、新增應用程式或其他方式來自訂粉絲專頁。對粉絲專頁按讚的人和他們的朋友可在動 態消息中收到粉絲頁的更新。. 1.

(13) 立. 政 治 大 圖 1- 1 傳播演進示意圖. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 1- 2 社群網站使用者數量統計 引用來源: http://www.asbpe.org/blog/2014/10/20/using-demographics-to-simplify-your-social-media-strategy/. 2.

(14) 1.2 研究動機 Facebook 粉絲頁就像是個人新聞台,每個新聞台皆有其所屬觀眾,這些觀 眾皆會接收到其所放送之新聞。當這些個人新聞台注入了社群網路快速串聯的科 技力量,這些單打獨鬥的個人新聞台得以透過網路實現互相串聯的強大能力。當 個人新聞台相互透過網路串聯,使他們所擁有的觀眾皆能收看到彼此所播放之節 目時,這些聯集而成的觀眾群即成為一股強大的社會影響力,如下圖 1-3 所示。 要在融合了創新的現代科技與複雜的人際關係之 Facebook 粉絲頁中挖掘粉絲頁. 政 治 大. 間如何透過貼文分享的方式傳播其理念的途徑便成為了一個相當值得深入研究. 立. 的議題。. ‧ 國. 學 ‧. 1.每個粉絲頁皆有所 屬粉絲. er. io. sit. y. Nat. v. 2.透過分享貼文使擴大粉絲群. n. al. Ch. engchi. i n U. 3.社會運動 期間相同 粉絲頁會 互相轉發 同類型貼 文. 4.多個粉絲 頁相互 聯集 影響社會 輿論. 圖 1- 3 粉絲頁相互運作方式 3.

(15) 在論文研究過程中,我們參考了一篇香港大學新聞與傳媒研究中心,傅景華 博士與博士研究生陳仲康於 2014-12-14 刊載於香港明報之,通識導賞﹕佔領時 代的 facebook 專頁版塊。其研究自 2014-07-01 起至 2014-11 共蒐集了 885 個香 港佔中運動相關粉絲頁的資料,於其研究中為了理解香港專頁之間的各種關係, 建構並分析了關於佔領時代香港 facebook 專頁的分享網絡。據此深入探索社會 運動中粉絲頁間轉發貼文的中介度與同群粉絲頁間的隱藏板塊的相關資訊。此篇 專刊對於本研究為了解粉絲頁之間關係有相當重要的啟發。. 1.3 研究目的. 政 治 大. 立. ‧ 國. 學. 為了研究 Facebook 粉絲頁間如何透過貼文分享的方式使彼此間的粉絲皆能 收到彼此間所發表之訊息便成為本論文最主要的研究目的。要在複雜的 Facebook. ‧. 社群網路中找出粉絲頁間彼此分享的關聯性,我們需透過 Facebook 應用程式介. Nat. sit. y. 面來蒐集 Facebook 特定時間區間的指定粉絲頁群之動態消息,待資料蒐集完成. n. al. er. io. 之後過濾出其中符合指定條件之貼文分享資料,並以所蒐集之粉絲頁資料推導出. i n U. v. 相關聯之粉絲頁群之關聯性。以此為基礎概念設計並實作一個可以穩定且快速地. Ch. 蒐集大量粉絲頁資料之系統。. engchi. 在實作系統的設計方面,為了區隔不同使用者,避免使用者間互相干擾,我 們需考量使用者身份認證機制以區隔不同使用者所使用之分析專案。另一方面, 要穩定且快速的蒐集大量的 Facebook 粉絲頁資料,資料蒐集模式為相當重要的 研究重點,因粉絲頁群組資料量相當龐大,單一熱門粉絲頁每月按讚量即可能多 達數十萬筆,若需等待每一則完整貼文資料含留言及按讚收取完成再收下一則需 花費相當長的等待時間。除蒐集模式之外,蒐集方法也是一個需要仔細研究評估 的重點,蒐集方法可分為兩種,其一為「循序式蒐集」,另一則為「多執行緒蒐 4.

(16) 集」。要如何快速且穩定的蒐集粉絲頁動態消息資料是件相當重要的工作。除此 之外,Facebook 應用程序介面在傳送資料上發生資料擷取異常的狀況需要訂定 相關對應規則以處理意外發生時資料補正的程序;以及資料蒐集完成後的資料展 示及系統架構皆為本研究探討的重點項目。 最後,在完成研究專案資料蒐集與粉絲頁的貼文分享關聯性分析之後,我們 將進一步分析系統所蒐集回來的資料,並以此進一步探討太陽花學運期間相關粉 絲頁之間的關聯性、不同門檻值之間的差異以及粉絲頁之間貼文分享的訊息傳播 網路。. 政 治 大. 立. ‧ 國. 學. 1.4 研究成果. ‧. 為了找出粉絲頁間透過貼文分享的複雜關係,我們實作了一套蒐集 Facebook. sit. y. Nat. 粉絲頁群組資料之「臉書粉絲頁貼文分享關聯性分析系統」以實現本研究中所探. io. er. 討的粉絲頁貼文分享之關聯性理論,本研究之實作系統採用使用者設定相關參數 的方式,透過所蒐集之 Facebook 粉絲頁動態消息資料分析其貼文分享之規則以. n. al. Ch. 逐層找出相關聯之粉絲頁群組。. engchi. i n U. v. 為了可同時進行多個專案分析工作。本實作系統之設計採取可同時執行多個 專案的方式,又每個專案可同時蒐集特定時間區間裡的多個粉絲頁,且經系統每 次分析之後能找出新的相關粉絲頁群。由於熱門粉絲頁資料量相當多,當粉絲頁 群關係複雜時,常常能找出上百個關聯粉絲頁。要同時蒐集如此巨量之粉絲頁資 料對系統來說是一大考驗。因此在資料蒐集模式設計上以優先蒐集種子粉絲頁貼 文資料為主,依次由貼文資料中找出符合使用者定義之新粉絲頁,並將該粉絲頁 加入種子粉絲頁群組中,於下一輪蒐集排程啟動時蒐集相關資料,若該專案達成. 5.

(17) 使用者所設定之參數條件或找不到其它相關聯之新粉絲頁時接著蒐集所有粉絲 頁貼文之留言及按讚資料,以節省蒐集時間,有效提升蒐集效率。 在本研究之實作系統建置完成後,我們即以 2014 年台灣所發生之重要社會 運動太陽花學運為主題並加入二個重要種子粉絲頁:反黑箱服貿協議及黑色島國 青年陣線作為驗證系統是否能有效的依研究規則蒐集相關種子粉絲頁貼文資料, 並且以種子粉絲頁分享其它粉絲頁之貼文次數,分別以門檻值一次;二次,及三 次建立專案並比較三個專案所蒐集到之資料是否能有效的分析出相關聯之粉絲 頁。在經過逐次蒐集分析之後,由一開始的二個種子粉絲頁越滾越大,最後由數. 政 治 大 在實作系統的輔助下得以快速驗證其論點。 立. 千個粉絲頁成功的分析出十五個發表相關貼文之同質粉絲頁。使得本研究之推論. ‧ 國. 學 ‧. 1.5 論文大綱. y. Nat. io. sit. 本論文主要分為五個章節,第一章緒論,其內容為介紹本論文研究的由來與. n. al. er. 研究成果,包含前言、研究動機、研究目的、研究成果及論文大綱;第二章,介. Ch. i n U. v. 紹實作系統開發設計所使用相關研究與技術背景;第三章,說明本研究之實作系. engchi. 統的系統設計與架構,包含了資料分析、前端頁面、操作流程、排程作業、異常 處理機制等;第四章,說明本系統的功能驗證與關聯性分析成果,透過建立實驗 專案的方式蒐集 Facebook 粉絲頁資料並驗證專案中粉絲頁貼文分享最後的關聯 性分析結果;最後,於第五章提出本論文的結論與未來可能的發展。. 6.

(18) 第二章. 相關研究與技術背景. 本章節主要係介紹本研究所參考及使用的相關研究與技術背景。本研究的重 點在於透過 Facebook 應用程式介面來蒐集粉絲頁動態消息資料再加以分析粉絲 頁間的關聯性。首先,需了解如何使用 Facebook 應用程式介面來蒐集 Facebook 動態消息資料,才有辦法順利蒐集 Facebook 粉絲頁之動態消息資料,以達成後 續粉絲頁關聯性的分析。 為了達成符合使用者自建專案並且蒐集專案中種子粉絲頁之動態消息資料. 治 政 以分析出相關粉絲頁的功能。本研究實作之臉書粉絲頁貼文分享關聯性分析系統 大 立 以 ASP.NET 網站技術之 Web Form 架構 搭配 JQuery 等頁面技術來開發使用者操 ‧ 國. 學. 作的網站介面;並且以 Java 語言開發 Quartz-Scheduler 排程技術及 RestFB 來執. ‧. 行資料蒐集工作的後端資料蒐集分析功能。. y. Nat. n. er. io. al. sit. 2.1Facebook 資料蒐集. i n U. v. Facebook 公司為了吸引更多開發人員開發其相關應用,因此 Facebook 提供. Ch. engchi. 了許多易於開發人員使用的工具。在本研究之實作系統中,為了使用 Facebook 提供的應用程式介面來達成蒐集 Facebook 粉絲頁動態消息資料的目的,因此必 須先了解 Facebook 應用程式介面提供了哪些相關服務,每樣服務提供了哪些功 能,以及要如何將這些服務應用在實作系統上。在全盤了解相關知識後,才能使 系統開發的過程更加順利。. 2.1.1Graph API 「Graph API」是 Facebook 所推出的一種技術標準,是 Facebook 平台的核心。. 7.

(19) Graph API 提供了相當友善的使用介面,使開發人員能透過簡易的指令即可操作 應用程式讀取和寫入數據到 Facebook 上、例如發表貼文、上傳照片影片按讚等 常用功能。 Graph API 的核心概念是「物件與連結」。整個 Facebook 就是透過這些物件 與連結建立而成的 Social Graph。Facebook 所提供存取的介面,就稱為「Graph API」 。Graph API 以 Facebook 用戶為主體,其中每個物件代表著該用戶關連的人 事物,如發文紀錄、喜歡的音樂、相簿、等等,在下圖 2-1Graph API 概念示意 圖中,我可以經由黑色島國青年陣線的 ID(物件 " lslandnationyouth" ) -> Graph. 政 治 大. API(連結) -> 取得照片、影片、網誌、貼文等。而其中的關聯即為各物件間的連. 立. 結。. ‧. ‧ 國. 學 Photo. n. al. Ch. engchi. er. io. sit. y. Nat. Profile. i n U. Feed. vVideo. Like Note. 圖 2- 1 Graph API 概念示意圖. 8.

(20) Graph API 提供了許多社群網路相關之物件主題,如下表 2-1 Graph API 相關 物件說明表所示。本研究之實作系統中所使用的核心物件為粉絲頁/page,在後 續章節的開發過程中我們將透過 Graph API 取得系統專案指定之種子粉絲頁的相 關動態消息資料進行關聯性分析工作。表 2-1 列出目前 Graph API 提供應用的物 件及說明: 表 2- 1 Graph API 相關物件說明表引用來源:Facebook Graph API doc. nodes. Represents. 政 治 大. /achievement. Represents a user gaining a game achievement in a Facebook App.. /achievement-type. ‧ 國. A photo album. A Facebook app.. ‧. /app. Facebook App.. 學. /album. 立 A games achievement type created by a. An app link object created by an app.. /comment. A comment published on any other node.. y. sit. io. al. n. /event. A web domain claimed within Facebook Insights.. /friendlist. er. /domain. Nat. /app-link-host. An event.. Ch. i n U. v. A grouping of friends created by someone on Facebook.. engchi. /group. A Facebook group.. /group doc. A Doc within Facebook group.. /link. A link shared on Facebook.. /message. A Facebook message.. /milestone. A Facebook Page milestone.. /notification. A Facebook notification.. /object/comments. A set of comments on a particular object.. /object/likes. A set of likes on a particular object.. /object/sharedposts. The shares of a particular object.. /object/insights. Usage metrics for several types of object.. /offer. An offer published by a Page. 9.

(21) /page. A Facebook Page.. /payment. Details of a payment made via Facebook.. /photo. A photo published to Facebook.. /place-tag. An instance of a person being tagged at a place in a photo, video, post, status or link.. /post. A post published to Facebook.. /profile. Profile.. /request. An individual game request. /review. A review of a Facebook app.. /status. A status message or post published to Facebook.. /test-user. A test user created by a Facebook app.. /thread. A message thread in Facebook Messages.. /user. A person using Facebook.. 政 治 大. 立 Information related to shares, Open Graph,. /?id=url. ‧ 國. 學. /video. and App Links about a URL.. A video published to Facebook.. ‧. 2.1.2Facebook SDKs. Nat. sit. y. 由於 Facebook 所支援的平台環境眾多,各環境平台皆有其所屬之程式語言。. n. al. er. io. 例如各類行動裝置、網站等。Facebook 為讓所有不同的平台皆能順利使用 Graph. i n U. v. API,因此 Facebook 提供開發人員各類平台相對應的 SDK(Software Development. Ch. engchi. Kit,軟體開發工具),包含行動裝置常見的 iOS 2及 Android 3,網站上常見的 JavaScript 4、PHP 5等;Facebook SDK 包含下列幾項主要功能:. 2. iOS:由蘋果公司為行動裝置所開發的作業系統。. 3. Android:由 Google 公司所推出,是一個以 Linux 為基礎的開放原始碼行動裝置作業系統。. 4. JavaScript:一種直譯式程式語言,是一種動態類型、弱類型、基於原型的語言,內建支援類別。 它的直譯器被稱為 JavaScript 引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言。. 5. PHP:Hypertext Preprocessor,是一種開源的通用電腦手稿語言,尤其適用於網路開發並可嵌 入 HTML 中使用。. 10.

(22) 1.. 允許您的個人網站可以使用 Facebook Like 按鈕或其他附加元件 (Social Plugins)。. 2.. 允許您的個人網站可以使用 Facebook Login 功能以提供使用者簡易 地註冊您的網站。. 3.. 讓您簡單的使用 Graph API。. 4.. 讓你可以客製化發佈貼文的對話框。. 5.. 促進程式開發人員於開發 Facebook 遊戲或開發程式時與 Facebook 間的溝通。. 政 治 大 本研究所開發之實作系統主要使用 Facebook JavaScript SDK 裡的 Facebook 立. ‧ 國. 學. 帳號登入功能以簡化實作系統之帳號管理,以及透過 Graph API 取得粉絲頁資料。 在使用此 SDK 時,只需在 JavaScript 程式碼中載入並初始化此 SDK 即可,如下. n. al. er. io. sit. y. Nat. 服務功能。. ‧. 圖 2-2 FB JavaScript SDK 使用範例,完成前述步驟後,即可使用 Facebook Login. Ch. engchi. i n U. 圖 2- 2 FB JavaScript SDK 使用範例 11. v.

(23) 2.1.3Facebook Login 由於 Graph API 在使用上類似我們以瀏覽器輸入網址打開指定之頁面的方式, 在瀏覽器網址欄直接使用 Graph API 指令也可得到回傳 JSON 格式之資料,但實 務上如果直接在瀏覽器輸入指令直接存取 Graph API 將會發現 Facebook 平台回 傳的錯誤訊息"An access token is required to request this resource."。這是因為沒有 使用 Facebook 帳號登入授權的關係,因此在使用 Graph API 前必須先讓使用者 透過 Facebook Login 功能登入 Facebook 並取得一組授權碼(Access Token),接著 才能透過此授權碼操作 Graph API 相關功能,如下圖 2-3 Facebook Login 示意圖。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 2- 3 Facebook Login 示意圖. 由於本研究所開發之系統結合 Facebook Login 功能。Facebook Login 功能採 用 OAuth2.0 6協定作為辨識用戶的基礎,也因此本系統之使用者只要擁有. 6. OAuth2.0:OAuth(開放授權)是一個開放標準允許用戶讓第三方應用訪問該用戶在某一網站 上存儲的私密的資源(如照片,影片,聯繫人列表) ,而無需將用戶名和密碼提供給第三方應用。. 12.

(24) Facebook 帳戶即可使用 Facebook Login 功能簡單的登入本系統操作該帳號所屬 之研究專案,且因本研究主要目的為蒐集分析粉絲頁資料。粉絲頁皆為公開資料, 故使用者登入不需提供額外權限授權。. 2.1.4Facebook Application 基於 Facebook 平台使用規定,所有應用程式只要使用 Facebook 服務所提供 之功能,都必須向 Facebook 註冊該 Application,此一註冊行為主要是為了與 Facebook 平台互相連接,例如常見的許多網路遊戲軟體都是使用 Facebook Login 服務作為 Facebook 使用者簡易登入使用。同樣的本研究所開發之實作系統也依. 治 政 大 Facebook 平台規定申請建立一組專屬的 Application,目前所使用的 Application 立 畫面如下圖 2-4: ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. 圖 2- 4 Facebook Application 畫面 13. v.

(25) 2.1.5RestFB API RestFB API 是一套以 Java 程式語言為基礎所開發之 Facebook SDK 的第三方 函式庫,RestFB API 為開放原始碼軟體,使用 RestFB API 讓開發人員在操作 Facebook SDK 時更為簡便,RestFB API 具有下列特點: 1. 對應 Facebook SDK 最精簡的 API。 2. 操作與配置上相當簡易最豐富的可擴充性。 3. 可彈性應用 Facebook API。 4. 簡易的使用配置。. 治 政 大 Facebook SDK 常用 RestFB API 在使用上相當友善,其提供開發人員相當多 立 的功能,讓開發人員省下大量的精神與時間去處理與 Facebook 之間介接的細節, ‧ 國. 學. 例如常見的資料擷取,資料搜尋,資料統計,發表貼文,發表照片,打卡,錯誤. ‧. 處理。RestFB API 都可以幫忙自動處理;此外還提供 Facebook Graph API 中各 節點的資料模型,可協助將回傳的資料直接依此模型轉換成該節點的資料格式供. y. Nat. io. sit. 開發者運用等等優點,因此在與 Facebook API 間的介接工作可以透過此函式庫. n. al. er. 來協助處理,讓開發者得以專注於網頁開發及其它資料分析上的工作。. Ch. 2.2 資料庫及存取技術. engchi. i n U. v. 在了解如何經由 RestFB API 自 Facebook 資料庫中取回所需資料後,接下 來的重點就是蒐集回來的資料該存放在哪,且要怎麼存放。因研究經費的限制, 本研究所開發之實作系統僅參考免費軟體的資料庫軟體,例如 MySQL 或 MongoDB 7等。因我們在透過 RestFB API 向 Facebook 資料庫取回 JSON 資料的. 7. MongoDB:是一種檔案導向資料庫管理系統,由 C++撰寫而成,以此來解決應用程式開發社群. 14.

(26) 同時已做好資料解析的處理,經處理後的資料接著再存入本系統之資料庫中供後 續資料分析使用。所以在比較這些免費的資料庫系統並對照本研究的使用需求考 量後續維護上的便利性,本研究選擇常見的 MySQL 作為實作系統上之資料庫管 理系統。. 2.2.1 MySQL MySQL 原本是一套開放原始碼的關連式資料庫管理系統,原開發者為瑞典 的 MySQL AB 公司,該公司在 2008 年被昇陽公司(Sun Microsystems)收購。於 2009 年,在 Oracle 公司收購昇陽微系統公司之後, MySQL 因此成為 Oracle 旗 下的其中一項產品。. 立. 政 治 大. ‧ 國. 學. MySQL 的特色在於其效能高、成本低、可靠性好,是目前最多人使用的開 放源始碼的關聯式資料庫,也因其種種優點而被廣泛的使用在中小行系統或網站. ‧. 上。隨著 MySQL 的逐漸成熟穩定,甚至目前也有許多大規模的網站也開始使用. sit. y. Nat. MySQL 作為其資料儲存工具,例如維基百科 8、Facebook、Google 9等也都有使. io. er. 用 MySQL 作為資料儲存使用;常見的網頁程式語言(PHP)更結合 MySQL 推出一. al. 整套的開放、免費網站的解決方案套件 PHPMyAdmin 10,甚至在建置動態網站中. n. v i n Ch 所盛行的自由、免費網站的整體解決方案「LAMP」 e n g c h i U ,其中的「M」即代表 11. 中的大量現實問題。 8. 維基百科:是一個自由內容、公開編輯且多語言的網路百科全書協作計畫,透過 Wiki 技術使 得包括您在內的所有人都可以簡單地使用網頁瀏覽器修改其中的內容。 9. Google:是一家美國的跨國科技企業,業務範圍涵蓋網際網路搜尋、雲端運算、廣告技術等領 域,開發並提供大量基於網際網路的產品與服務。 10. PHPMyAdmin:是一個以 PHP 為基礎,以 Web-Base 方式架構在網站主機上的 MySQL 的資料庫 管理工具,讓管理者可用 Web 介面管理 MySQL 資料庫 11. LAMP:一個是 Linux 作業系統上面,搭配 Apache + MySQL + PHP 等而達成,這個系統被稱為 LAMP。此為流行的自由軟體架構。. 15.

(27) MySQL。 雖然說在 Oracle 公司收購 MySQL 後,Oracle 大幅調漲 MySQL 商業版的售 價,但 MySQL 目前仍提供免費的社群版供所有開發人員選擇使用。本研究即選 擇 MySQL 5.6.21 版作為本研究實作系統之資料庫管理系統。. 2.3 前端頁面技術 無論是研究開始前的專案設定,種子粉絲頁設定,相關參數設定,乃至於資. 政 治 大. 料蒐集完成並寫入 MySQL 資料庫後的進一步的分析展示,使用者都需要透過一. 立. 個簡易好用的前端頁面作為與系統平台的溝通管道。因此本研究首先需要一個操. ‧ 國. 學. 作簡易,方便使用的前端頁面作為系統的進入點。微軟推出的.Net Framework 內. ‧. 含一整套完善的開發工具套件,因此在前端頁面開發部分即採用此整合套件之平 台以開發前端頁面,另外再搭配其它前端頁面的開發工具常用的套件如 JQuery、. y. Nat. n. al. er. io. sit. AJAX 及繪圖工具 HighCharts 等讓頁面呈現能更豐富完整。. 2.3.1 ASP.NET. Ch. engchi. i n U. v. ASP.NET 是微軟公司(Microsoft)以.Net Framework 框架為基礎所推出的 Web 網站開發工具。ASP.NET 可以運行在安裝好.Net Framework 的 IIS(Internet Information Services,網際網路資訊服務)伺服器 12上,包含一般的 Windows Server 13或是 Windows 系統的個人電腦,其運作架構如下圖 2-5,對開發人員來. 12 IIS(Internet Information Services,網際網路資訊服務)伺服器:是由微軟公司提供的基於運行。 Microsoft Windows 的網際網路基本服務的伺服器。 13. Windows Server:運行由微軟公司提出的伺服器作業系統。. 16.

(28) 說是一套很方便的網站開發平台,ASP.NET 主要用來開發動態的網頁,例如留 言版、部落格這些需要從資料庫撈取資料,產生出內容的程式語言。. 立. 政 治 大. ‧ 國. 學. 圖 2- 5 ASP.NET 流程架構 引用來源:https://msdn.microsoft.com. ‧ sit. y. Nat. 2.3.2 JQuery. io. er. 在微軟 ASP.NET 中所包含的 JavaScript 函式庫 JQuery,其可以用來簡化 HTML 14與 JavaScript 間的操作,JQuery 是目前最受歡迎的 JavaScript 函式庫。. al. n. v i n Ch JQuery 主要是用在 DOM 文件的操作,包含「快速選取元素(Element)」 ,有效 engchi U 提高開發人員的效率,JQuery 提供了給開發人員建立外掛模組的能力。這使開. 發人員可以對底層互動與動畫、高階效果和高階主題化的元件進行抽象化。模組 化的方式使 JQuery 函式庫能夠建立功能強大的動態網頁以及網路應用程式。也 因此 JQuery 幾乎成為了開發網頁中必備的重要函式庫。. 14. HTML:HyperText Markup Language,是為「網頁建立和其它可在網頁瀏覽器中看到的資訊」 設計的一種標示語言。. 17.

(29) 2.3.3 AJAX ASP.NET 中所整合的另一項重要技術,AJAX(Asynchronous JavaScript and XML, 非同步的 JavaScript 與 XML 技術) 是一套綜合了多項技術的網頁開發技 術。其重點在於有效減少網路傳輸上不必要的浪費。在舊有的 HTML 網站上, 當用戶端按下按鈕向伺服器端提出新需求時,即使只需改變一小塊頁面資料,伺 服器接受處理後一樣會回傳一個完整的頁面資訊給用戶端,但是前後兩個頁面中 的大部分 HTML 碼是相同的,這樣一再的重複傳送相同的資料,實在浪費了太. 政 治 大 資料即可,大約只有原來的 5%。換言之 AJAX 最大的優點,就是能在不更新整 立. 多的頻寬。因此 AJAX 的出現即改善這個情況,將傳送資料精簡至只傳送必要的. 個頁面的前提下更新用戶端頁面資料,如此一來使得 Web 應用程式能更快速地. ‧ 國. 學. 回應用戶端瀏覽器。. ‧ sit. y. Nat. 2.3.4 High Charts. er. io. High Charts 是一套以 JavaScript 為基礎且功能強大的 JQuery 圖表函式庫,. al. v i n Ch 表的方法。目前有提供曲線圖、區域圖、柱狀圖、散狀點圖、及綜合圖表。由於 engchi U n. High Charts 提供開發人員簡單快速的在網站開發上添加各式各樣常見互動式圖. High Charts 使用 JavaScript 程式語言的關係,所以不用像 Flash 等軟體需要安裝 額外的程式。High Charts 具有很好的相容性,市面上大部份的瀏覽器都可以直 接使用。具有個人用戶免費、相容性高、圖表類型多、操作簡單等多樣優點, High Charts 官方網站設計非常友善,提供快速教學及開發測試等多樣化功能。. 18.

(30) 2.4 作業排程技術 由於粉絲頁資料量相當龐大,因此在資料蒐集過程需使用作業排程的方式使 資料蒐集作業能自動化進行,因此本次實作系統上的工作排程技術採用目前 Java 程式語言中最熱門最穩定的 Quartz 套件,Quartz 是一套以 Java 程式語言為基礎 的 Open Source 框架,專門用來建立簡單或複雜的排程時間表。 Quartz 的核心主要由 Job、Trigger 及 Scheduler 所組成,Job 指要執行的作業, Trigger 是觸發作業方式,Scheduler 為控制 Trigger 的啟動與結束時間。圖 2-6 為 Quartz 執行示意圖。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 2- 6 Quartz 作業示意圖引用來源:http://www.bkjia.com/uploads/allimg/131115/1F501EF-0.png. 19.

(31) 第三章. 系統設計與架構. 本研究之實作系統之出發點是為了設計一個能自動蒐集 Facebook 指定時間 區間的特定粉絲頁動態消息資料,並依使用者設定之參數條件加以分析其貼文分 享之間的關聯性,再以關連性分析之結果找出相關聯的粉絲頁。經由多次如滾雪 球般地循環分析計算後,系統能找出某一社會事件期間相關粉絲頁的傳播路徑。 因此在系統設計時,為了對應龐大的粉絲頁資料,於需求分析階段需與使用者完 善的討論資料蒐集程序上的細節,以及資料蒐集完成前後使用者所需使用的操作. 政 治 大. 介面,另外在系統設計階段於粉絲頁資料蒐集分析模組的設計上也考量到系統穩. 立. 定性及系統效能的問題、未來維護與調整,及研究後續的發展等要素。. ‧ 國. 學. 3.1 如何建構粉絲圈. ‧ sit. y. Nat. 為建立同質性粉絲頁群組,首先需了解 Facebook 粉絲頁的貼文分享過程是. er. io. 以何種方式進行。在一般使用情形下,當看到喜歡的貼文時,我們只需按下貼文. al. v i n Ch 到有多少人分享此篇貼文,以及有哪些人分享這篇貼文 e n g c h i U ,如圖 3-1,透過左下角”16 n. 下方的分享按鈕即可分享該篇貼文。以蒐集資料的角度來說,由貼文下方即可看. 個分享”連結即可看到有哪些人分享此篇貼文。. 20.

(32) 學. ‧ 國. 立. 政 治 大 圖 3- 1 正向分享示意圖. ‧. Nat. sit. y. 此種正向蒐集的方式蒐集分享者資料其優點為,可以找出所有分享者,但由. n. al. er. io. 於分享者多數為一般使用者,且一般使用者資料通常有權限限制,因此需再加以. i n U. v. 過濾並排除。此外,出發點最好為熱門粉絲頁,因熱門粉絲頁通常為輿論主導者,. Ch. engchi. 分享其貼文的樣本會比小型粉絲頁多很多。如圖 3-2 所示。. 21.

(33) 立. 政 治 大. ‧ 國. 學. USER. Nat. er. io. sit. y. ‧. 圖 3- 2 正向分享擴展示意圖. al. 另一方面,因 Facebook 應用程式介面並沒有提供正向分享所需資料。若要. n. v i n Ch 以正向分享的方式蒐集粉絲頁群組資料需配合 i U 網頁版面開發相符之爬 e n g c h Facebook 蟲程式。但若 Facebook 網頁程式改版即會造成蒐集失效的問題。本研究在 Facebook 應用程式介面所提供的資料中發現,我們可以藉由分析粉絲頁發表貼 文的內容找出其貼文分享來源,如下圖 3-3 圖上方”黑色島國青年陣線分享了全 國關廠工人連線的貼文”,即可知道此篇貼文的來源。. 22.

(34) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 3- 3 反向推導示意圖. 因此本研究採取此一反向推導作為實作系統推導相關粉絲頁群組的方法。因 粉絲頁通常為輿論發起者,因此反向推導的另一個優點為,其分享來源多同樣是 粉絲頁,Facebook 應用程式介面因隱私問題並不提供一般使用者資料,因此較 不需另外過濾來源,如下圖 3-4 所示。. 23.

(35) 立. 政 治 大. ‧ 國. 學. USER. ‧. 圖 3- 4 反向擴展示意圖. y. Nat. sit. 此外為了排除偶發性分享的情形發生,我們另外設計了可以過濾分享次數之. al. n. 增加研究的可用度。. er. io. 門檻值的方式供使用者加以使用,透過門檻值調整的方式以排除不相關的粉絲頁,. Ch. engchi. i n U. v. 3.2 系統設計理念 本研究之實作系統在系統設計階段於粉絲頁資料蒐集分析模組的設計上考 量到系統穩定性及系統效能的問題、未來維護與調整,及研究後續的發展等要素。 因此在系統設計上考量了以下項目: 1.. 模組化設計,為考量後續的擴充性,在各功能模組開發上讓其獨立化,無論. 24.

(36) 是前端頁面,後端資料蒐集,資料分析及工作排程皆可獨立執行。其架構如 下圖 3-9 臉書粉絲頁貼文分享關聯性分析系統架構。 2. 資料蒐集方面,因資料量相當龐大,為確保資料完整性,蒐集工作上採用蒐 集項目分層蒐集設計,並搭配工作排程工具進行。 3. 考量到蒐集效能問題,在多粉絲頁資料蒐集上採用多執行緒的方式以提升資 料蒐集速度。 4. 友善的圖形化操作介面,使用者可透過簡易的操作設定各專案相關參數,並 經由各類統計分析圖表進一步了解經系統分析後的最終結果。. 立. 政 治 大. 3.2.1 動態消息資料格式分析. ‧ 國. 學. 要了解某社會事件中粉絲頁如何透過貼文分享的方式來傳播訊息給社會大 眾,首先要作的就是取得粉絲頁貼文資料加以分析。本研究主要透過 Facebook. ‧. 提供的 Graph API 取得特定粉絲頁在指定時間區間所發表的相關貼文為重點,因. y. Nat. n. al. er. io. 使用。. sit. 此我們必需先了解取得之粉絲頁貼文資料裡包含了哪些可用的資訊供我們後續. Ch. i n U. v. 因本研究以分析貼文分享的關聯性以找出相關聯的粉絲頁為主題。所以我們. engchi. 要作的就是透過 Graph API 取得 Facebook 資料庫裡的粉絲頁貼文資料。依 Graph API 說明文件指出,動態消息係指粉絲頁在 Facebook 上發表貼文、上傳照片、 上傳影片、分享連結等各種使用行為,也因此我們必須透過 Graph API 取得動態 消息資料(Feed)作為後續的關聯性分析使用。動態消息物件中包含了粉絲頁散落 於 Facebook 資料庫裡各類重要的物件, 「links」 、 「posts」 、 「statuses」 , 「feed」等, 因此取得粉絲頁動態消息物件資料即可達成本研究資料蒐集目標。 緊接著我們要了解動態消息物件包含了哪些可用資料欄位,才能在我們資料 庫中建立相對應的資料表以儲存相對應之資料內容。Facebook 所公布的動態消 25.

(37) 息物件欄位資訊如下表 3-1,Facebook 說明文件所公布的欄位資料中僅包含該物 件主要的欄位資料,但在實際蒐集資料的過程中仍需注意其他如發佈者資料、發 布時間、更新時間等通用性資料。 表 3- 1「feed」物件欄位資料表 引用來源: https://developers.facebook.com/docs/graph-api/reference/v2.3/page/feed/. 名稱. 描述. message. 型態. The main body of the post, otherwise called the status. string. message. Either link, place, or message must be supplied. link. 政 治 大. The URL of a link to attach to the post.. 立. string. Either link,place, or message must be supplied.. ‧ 國. The action links attached to the post. Action links are. y. beside Likeand Comment.. sit. Page ID of a location associated with this post.. string. er. Eitherlink, place, or message must be supplied.. io. al. n. tags. object[]. ‧. any other links shown below the feed story. Nat. place. 學. actions. Additional fields associated with link are shown below.. i n U. v. C h cannot specify this field without also this post. You engchi. csv[string]. Facebook ID for an existing picture in the person's. string. Comma-separated list of user IDs of people tagged in. specifying a place. object_attachment. photo albums to use as the thumbnail image. They must be the owner of the photo, and the photo cannot be part of a message attachment. targeting. Object that limits the audience for this content. Anyone not in these demographics will not be able to view this content. This will not override any Page-level demographic restrictions that may be in place.. 26. object.

(38) countries. Values of targeting countries. You can specify up to 25. string. countries. Use ISO 3166 format codes. locales. Targeted locales. Use type of allocale to find Targeting. int[]. Options and use the returned key to specify. regions. cities. feed_targeting. Values for targeted regions. You may specify up to 200. list<unsigned. regions.. int32>. Values for excluded cities. Use type of adcity to find. list<unsigned. Targeting Options and use the returned key to specify.. int32>. Object that controls news feed targeting for this content.. object. 政 治 大. Anyone in these groups will be more likely to see this content, those not will be less likely, but may still see it. 立. anyway. Any of the targeting fields shown here can be used, none are required.. ‧ 國. 學. Whether a story is shown about this newly published. ‧. displayed in News Feed. This field is not supported. y. when actions parameter is specified. Unpublished posts can be used in ads.. io. sit. Nat scheduled_publish_time. bool. object. Default is true which means the story is. er. published. Time when this post should go live, this can be any date. n. al. i n U. v. timestamp. between ten minutes and six months from the time of. Ch. the API call. backdated_time backdated_time_granularity. engchi. Specifies a time in the past to back-date this post to.. timestamp. Controls the display of how a backdated post appears.. enum{year,. For example, if you pick month posts will be displayed. month, day,. as 2 months ago. instead of an exact date.. hour, minute}. child_attachments. Use to specify multiple links in the post. Minimum 2. array of link. and maximum of 5 objects. If you set. objects. multi_share_optimized to true, you can upload a maximum of 10 objects but Facebook will display the. 27.

(39) top 5 multi_share_optimized. If set to true and only when the post is used in an ad,. boolean. Facebook will automatically select the order of links in child_attachments. Otherwise, the original ordering of child_attachments is preserved. Default value is true.. 在了解到我們所要蒐集的動態消息資料(feed)的欄位後,Facebook 會以哪種 資料格式透過 Graph API 回傳資料給我們?在 Facebook 說明文件中提到 Graph API 會以 JSON 格式回傳所需的資料,所以在接收到資料時會收到如下圖 3-5. 政 治 大 專用的解析工具加以整理才能辨識其內容,其整理後的資料如下圖 3-6。另外在 立 JSON 格式接收資料內容,要正確的解讀 JSON 格式資料內容,我們需要再使用. ‧ 國. 學. 實際解析 Graph API 所回傳之 JSON 格式資料時,需注意各式標籤及格式的對應, 以避免發生資料解析上的錯誤。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 28. i n U. v.

(40) 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. 圖 3- 5 JSON 格式原始資料範例. 29. v.

(41) 立. 政 治 大. ‧. ‧ 國. 學 y. sit. io. n. al. er. Nat. 圖 3- 6 JSON 格式已解析資料範例. Ch. i n U. v. 經由解析動態消息資料後,因本研究主要使用 posts 資料作為貼文分享推導. engchi. 使用。在了解其相關欄位定義後,我們發現到當 status_type 為 shared_story;story 為非空值;且 story 欄位含有 shared 字樣時即為貼文分享的情形,如下圖 3-7 ”Taiwan Association for Human Rights 台灣人權促進會分享了 g0v.tw 台灣零時 政府的貼文”。. 30.

(42) 政 治 大. 學. ‧ 國. 立. 圖 3- 7 posts 資料欄位分析示意圖. ‧ y. Nat. sit. 3.2.2 使用者操作流程設計. n. al. er. io. 為了區隔不同使用者,設計上透過 Facebook 身份認證機制以區隔不同使用. i n U. v. 者所使用之分析專案。每位使用者使用 Facebook 帳號登入後可依自身需求建立. Ch. engchi. 不同數量之專屬分析專案,每個專案內可由使用者選擇特定時間區間內所需觀察 之指定種子粉絲頁群組,並自行定義相關條件參數。設定完成後系統即透過 Facebook 應用程式介面蒐集該種子粉絲頁群資料並輔以相關參數條件依所蒐集 之資料推導出相關粉絲頁。若該粉絲頁被種子粉絲頁群內任意粉絲頁分享之總次 數符合使用者設定之被分享次數門檻值時,系統就會將新粉絲頁群組加入種子粉 絲頁之中,經由逐次蒐集資料,如滾雪球般地擴大相關粉絲頁群組,直到滿足條 件或無相關粉絲頁時停止。 在本研究之實作系統中主要提供兩項功能給使用者操作使用,一是建立「粉 31.

(43) 絲頁關聯性分析專案」 ,其次為檢視「粉絲頁關聯性分析成果」 。在使用者登入並 建立新的關聯性分析專案後,系統即會定時啟動工作排程並依該專案所設定之參 數條件開始進行資料蒐集及分析作業。使用者可隨時進入本系統檢視粉絲頁關聯 性分析作業的成果,其操作流程如下圖 3-8 使用者操作流程。. 新建專案 使用者首頁 FB登入. 立. 參數設定. 治 政 選擇專案 大. ‧. ‧ 國. 學. 圖 3- 8 使用者操作流程. 檢示成果. y. Nat. sit. 3.2.3 排程工作機制設計. n. al. er. io. 在使用者設定完專案的各類參數之後就要讓系統開始蒐集粉絲頁資料了。由. i n U. v. 於龐大的粉絲頁資料在蒐集上是一大難題,知道怎麼收的下一步即是規劃實作系. Ch. engchi. 統的自動排程架構。為了讓系統各項蒐集工作能夠順利進行,本研究之實作系統 的資料蒐集工作採用自動排程方式設計,讓各項蒐集工作能互不干擾地自動執行, 在本研究之粉絲頁資料蒐集工作中,我們將每項蒐集工作皆設計成獨立的工作 (Job),互相錯開工作執行的時間,以分散系統的負載,有效利用系統閒置效能。 本實作系統目前設定執行三個工作分別為「動態消息資料蒐集工作」 、 「貼文留言 資料蒐集工作」以及「貼文按讚資料蒐集工作」;在「動態消息資料蒐集工作」 中,主要工作是「蒐集各粉絲頁的動態消息(feed)資料」同時「檢查是否有符合 使用者預設參數條件的新粉絲頁」 ; 「貼文留言資料蒐集工作」是蒐集各動態消息 32.

(44) 資料裡所有粉絲的留言 15;「貼文按讚資料蒐集工作」是蒐集各動態消息資料裡 所有粉絲的按讚資料。 由於此三項工作有先後順序問題,因此在工作時程(Scheduling)設計上面, 需優先蒐集「動態消息資料蒐集工作」 ,待「動態消息資料蒐集工作」蒐集完成, 接著才能蒐集「貼文留言資料蒐集工作」 。至於「貼文按讚資料蒐集工作」 ,因其 資料量過於龐大,且在本研究中的重要性最低,因此排在整體工作的最後再執行。 最後考量到使用者多於白天檢視資料分析結果,所以將上述的工作安排在夜間執 行,因此設定每日 0 時 5 分執行「動態消息資料蒐集工作」 ;每日 3 時則執行「貼. 政 治 大. 文留言資料蒐集工作」,「貼文按讚資料蒐集工作」則安排在每日 5 時執行。. 學. ‧ 國. 立 3.3 系統設計與實作. ‧. 在完成需求分析與系統設計後,接下來開始切入本研究實作系統(臉書粉絲. y. Nat. io. sit. 頁貼文分享關聯性分析系統)之各項開發工作,主要分為:使用者操作模組、資. n. al. er. 料展示介面模組、粉絲頁資料蒐集模組、粉絲頁資料解析模組、粉絲頁貼文分享. Ch. i n U. v. 分析模組等開發工作。在開發工作上所採用之主要技術架構如下圖 3-9 臉書粉絲. engchi. 頁貼文分享關聯性分析系統技術架構圖。. 15. 本研究蒐集之貼文留言資料為貼文裡的第一層留言. 33.

(45) 資料展示 jQuery Ajax High Charts ASP.Net ODBC. 資料蒐集 Quartz RestFB. 貼文分享分析 Java. 使用者操作 jQuery Ajax ASP.Net ODBC. 資料解析 RestFB. Facebook DataBase. MySQL DataBase. 圖 3- 9 臉書粉絲頁貼文分享關聯性分析系統技術架構圖. 政 治 大. 立. ‧ 國. 學. 3.3.1 使用者操作模組. 使用者操作模組其主要功能為提供前端使用者圖形化的相關操作介面,使用. ‧. 者前端操作介面有其特定之應用流程,其重點在於如何配合使用者需求加以開發. sit. y. Nat. 出一套簡潔易用的操作介面。. n. al. er. io. 在使用者操作介面開發方面,為了避免各使用者誤改他人專案設定的情形發. i n U. v. 生,在這裡我們採用 Facebook Login 功能作為每一位使用者專屬的身份認證機制,. Ch. engchi. 並且針對其所設定的蒐集分析專案進行權限管控,在所有的操作過程系統也都會 加以記錄保存,此外需具備讓使用者可以依其需求建立專屬的蒐集分析專案的功 能,且資料分析成果檢視頁面,僅能由蒐集分析專案建立的使用者檢視,他人無 法檢視資料亦無法修改種子設定及參數設定。其使用者操作介面功能如下圖 3-10。. 34.

(46) 參數設定 新建專案 使用者首頁 FB登入. 種子設定 選擇專案 檢示成果. 圖 3- 10 使用者操作介面功能. 3.3.2 資料展示介面模組. 政 治 大. 資料展示介面模組之用途為使用者檢視粉絲頁資料分析結果之管道,本研究. 立. 之實作系統之資料展示介面主要分為以表格方式呈現所蒐集之粉絲頁統計分析. ‧ 國. 學. 資料,以及以動態圖表的方式呈現每日留言及按讚的成長曲線圖。. ‧. 在表格方式呈現部分,我們在實作系統上使用 ASP.NET 所內建之 GridView 功能,自 ASP.NET2.0 開始搭載改良自 ASP.NET1.1 之 DataGrid 的 GridView,因. y. Nat. er. io. sit. 其加入了 DataSource 資料來源控制項,如. (SqlDatasouce,ObjectDataSouce,AccessDataSource,...)等之輔助,使得資料可以直. n. al. Ch. i n U. v. 接由資料庫查出並呈現於頁面,其功能較前一代之 DataGrid 強悍很多。透過其. engchi. 簡易的操作方式能有效減少程式開發人員開發上的負擔。GridView 也是目前大 多數 ASP.NET 書籍第一介紹的「大型、全能控制項」 。在本研究之實作系統上, 我們將所蒐集到之所有粉絲頁資料加以統計分析之後,將較為重要的訊息我們顯 示於分析結果中第一層主要頁面各分頁之表格中,較次要資料另以子畫面的形式 呈現。以下圖 3-11 貼文內容資料為例,我們將重要資訊如「生活要事」 16、「分. 16. 生活要事(Story) :是用來將生活中的不同經驗加入動態時報。生活要事分為幾個類別(例如: 工作與學歷、家人與感情關係) ,可以利用這些類別來分享不同的重要時刻,例如訂婚、旅遊,. 35.

(47) 享粉絲頁名稱」、「按讚數」 17、「留言數」 18、「分享數」 19等訊息放置於第一層 主畫面表格中,另外以下圖 3-12 詳細貼文蒐集內容資料為例,相對較次要或較 複雜資料內容部分則另以子畫面的方式呈現,如「粉絲頁類別」20、 「粉絲頁 ID」 、 「貼文內容」等。. 立. 政 治 大. n. al. er. io. sit. y. ‧. ‧ 國. 學. Nat. 圖 3- 11 貼文內容資料呈現示意圖. Ch. engchi. i n U. v. 或是寶寶誕生或搬新家。 17. 按讚數:是用來表示網友對發文者的表態,發文者可以是個人、社團、公司、與粉絲專頁。 利用「讚」按鈕網友們對該頁面進行讚賞及表態。而其總數稱為按讚數。 18. 留言數:是用來表示網友對發文者發布的訊息回覆的功能。而其總數稱為留言數。. 19. 分享數:是用來表示該篇貼文被幾位網友所分享的功能。而其總數稱為分享數。. 20. 粉絲頁類別:依據粉絲頁類別的不同,粉絲頁的功能與其他粉絲頁也不盡相同。以下表格, 表 3- 2 粉絲頁類別功能表欄位表簡述不同粉絲專頁類別。. 36.

(48) 政 治 大. 圖 3- 12 詳細貼文蒐集內容資料呈現示意圖. 立. ‧. ‧ 國. 學 y. sit. Nat. 表 3- 2 粉絲頁類別功能表 引用來源:. io. er. https://www.facebook.com/help/918592541485077?sr=2&query=%E7%B2%89%E7%B5%B2%E5%B0 %88%E9%A0%81%E9%A1%9E%E5%88%A5&sid=1ihjtOzkpe0ulsxDf. n. al. Ch. engchi. i n U. v. 書籍及雜誌、品. 公司及. 本地. 電影、音. 人物、. 網站及部. 牌及產品. 組織. 企業. 樂、電視. 運動. 落格. 簡述. ✔. ✔. ✔. ✔. ✔. ✔. 網站. ✔. ✔. ✔. ✔. ✔. ✔. 37.

(49) 電子郵件. ✔. ✔. ✔. 電話. ✔. ✔. ✔. 地址. ✔. ✔. ✔. ✔. ✔. 地圖. 打卡. 政 ✔治 大. 學. 評分及評論. ‧ 國. 立. ✔. ✔. ‧ sit. y. Nat. 目前本研究之實作系統中主要頁面在資料展示上的內容部分,分別為「貼文. er. io. 內容」 、 「被分享次數排行榜」 、 「留言次數成長」 、 「留言次數排行榜」 、 「按讚次數. al. v i n Ch 料欄位如下表 3-3,分享次數排行榜所提供的資料欄位 e n g c h i U 3-4,留言次數排行榜所 n. 成長圖」及「按讚次數排行榜」,其中以表格方式呈現的,貼文內容所提供的資. 提供的資料欄位 3-5,按讚次數排行榜所提供的資料欄位 3-6,貼文內容中詳細 蒐集內容子頁面所提供的資料欄位如下表 3-7 所示:. 表 3- 3 貼文內容欄位表. 欄位名稱 粉絲頁名稱. 欄位說明 發表貼文之粉絲頁名稱. 38.

(50) 該貼文 Facebook 頁面連結,點選可開啟 Facebook 頁面. 原頁面. 此則貼文資料內容的物件型態 type{link, status,. 類別. photo, video, offer} 此則貼文資料的狀態更新的型態 statustype{mobile_status_update, created_note, added_photos, added_video, shared_story, created_group, created_event, wall_post, app_created_story, published_story, tagged_in_photo, approved_friend}. 狀態類別. 政 治 大 Story 發表於動態時報之生活中的不同經驗 立. 建立時間. 貼文發表時間. 生活要事. ‧ 國. 留言數. 此則貼文資料的留言總數. n. al. y. sit er. 此則貼文資料的被分享總數. io. 分享數. ‧. 此則貼文資料的按讚總數. Nat. 按讚數. 學. 分享粉絲頁 貼文被分享的粉絲頁 名稱. i n U. 詳細蒐集內 點選可開啟詳貼貼文內容頁面 容. Ch. engchi. v. 表 3- 4 分享次數排行榜紀錄資料欄位表. 欄位名稱. 欄位說明. 粉絲頁 id. 貼文被分享的粉絲頁 ID. 粉絲頁名稱. 貼文被分享的粉絲頁名稱. 被分享次數. 粉絲頁貼文被分享的總次數 39.

(51) 表 3- 5 留言次數排行榜紀錄資料欄位表. 欄位名稱. 欄位說明. 留言者 id. 貼文留言的留言者 ID. 留言者名稱. 貼文留言的留言者名稱. 留言次數. 該粉絲於此專案各貼文留言的總次數. 政 治 大. 表 3- 6 按讚次數排行榜紀錄資料欄位表. 立 按讚者 id. 貼文按讚的按讚者 ID. 按讚者名稱. 貼文按讚的按讚者名稱. ‧. ‧ 國. 欄位說明. 學. 欄位名稱. y. Nat. io. sit. 該粉絲於此專案各貼文按讚的總次數. er. 按讚次數. n. al. i n C7 h詳細蒐集內容資料欄位表 表 3engchi U. 欄位名稱. 欄位說明. 貼文 id. 該篇貼文於 Facebook 的 ID. From category. 貼文發表者之粉絲頁類別. From name. 貼文發表者名稱. From id. 貼文發表者 facebook id. 40. v.

(52) Story. Story 發表於動態時報之生活中的不同經驗. Shared id. 被分享者 facebook id. Shared name. 被分享者名稱. Message. 貼文內容. Link. 貼文連結. Caption. 貼文中該連結所屬網站 此則貼文資料內容的物件型態 type{link, status,. Type. photo, video, offer}. 政 治 大 statustype{mobile_status_update, created_note, 立 此則貼文資料的狀態更新的型態. ‧ 國. ‧. io. y. al. n. 分享數. sit. 此則貼文資料的留言總數 此則貼文資料的被分享總數. Ch. engchi. er. 留言數. 此則貼文資料的按讚總數. Nat. 按讚數. added_photos, added_video, shared_story, created_group, created_event, wall_post, app_created_story, published_story, tagged_in_photo, approved_friend}. 學. Statustype. i n U. 發佈時間. 此則貼文資料的發佈時間. 更新時間. 此則貼文資料的更新時間. 蒐集時間. 此則貼文資料被蒐集的時間標記. v. 另一方面,在動態圖表呈現部分,本研究之實作系統採用 JavaScript 繪圖工 具 High Charts 所提供之圖表功能,目前實作系統上提供貼文留言次數成長圖及 貼文按讚次數成長圖兩種,內含每日留言總數、累計留言總數、每日按讚總數、 累計按讚總數等資訊,其成長曲線圖方式呈現並提供圖表下載,如下圖 3-13 所 示。 41.

(53) 圖 3- 13 留言次數成長曲線圖呈現示意圖. 3.3.3 粉絲頁資料蒐集模組. 治 政 大 粉絲頁資料蒐集模組主要功能為蒐集粉絲頁動態消息資料(feed),留言及按 立 讚資料。蒐集流程大致可分為四個部分,「讀取蒐集專案資料」,「動態消息資料 ‧ 國. 學. 蒐集工作」、「貼文留言資料蒐集工作」以及「貼文按讚資料蒐集工作」,如下圖. ‧. 3-14 粉絲頁資料蒐集流程。. n. er. io. sit. y. Nat. al. Ch. engchi. 42. i n U. v.

參考文獻

相關文件

Flash 平台 Macromedia 公司宣佈全世界 97.3%的網路瀏覽器都有內建 Flash player 播放器,只要在 Internet Explorer 或 Netscape 瀏覽器,安裝了 Flash Player 播放程式,就可以播放

此位址致能包括啟動代表列與行暫存器的 位址。兩階段的使用RAS與CAS設定可以

●報名資料填寫完畢後,於首頁可點選欲列印之報名表,即可進入列印檢視頁面,請利用瀏覽器列

本課程共分為兩階段。第一階段由基本網頁概念介 紹開始,帶領學員循序漸進使用 FrontPage 2003 建 立個人網頁;第二階段著墨在 Flash

本課程共分為兩階段。第一階段由基本網頁概念介 紹開始,帶領學員循序漸進使用 FrontPage 2003 建 立個人網頁;第二階段著墨在 Flash

本課程共分為兩階段。第一階段由基本網頁概念介 紹開始,帶領學員循序漸進使用 FrontPage 2003 建 立個人網頁;第二階段著墨在

先從上頁「資料一線通 : 2019 冠狀病毒病的數據」網址下 載最新「本港疑似 / 確診 2019 冠狀病毒的個案詳情」的 數據。在這活動同學們將使用試算表分析數據並完成下表.

由於自簽的電子證書並非由知名憑證授權單位簽署,因此當使用者進入網 站時會被瀏覽器標注為不安全(例如使用 Google Chrome