• 沒有找到結果。

第三章 研究方法與設計

第三節 系統流程與系統架構

二、 資料分析

(一) 列表建置

由於本論文的研究對象主題較為特殊,如欲快速篩選出一留言的立場,就 需自行建置支持與不支持詞彙的列表。列表建置完成之後,便可透過從 MySQL 資料庫撈取留言的語料並進行判斷。本論文的判斷方法為檢查每一則貼文中是 否含有在支持與不支持列表中的詞語,如果有的話就判斷為支持或是不支持;

如果這一則留言中同時出現支持與不支持的詞語,則會被同時判斷為支持與不 支持;如果一則留言中沒有詞語出現在支持與不支持的列表中,則不標記。

關於列表建置部分,首先先選取明顯可辨識為支持的詞彙新增至列表中,

為了要驗證詞彙列表中的詞彙的準確度,每新增完一批詞彙,就會將已由受試 者標記判斷過後的語料交由詞彙列表進行判斷,如詞彙列表判斷出的結果與受 試者判斷結果相同的數量越多,才代表詞彙列表的建置越完整。詞彙列表判斷

的結果以準確率及召回率評估。其中,除了明顯可辨識為支持與不支持的詞彙

Facebook 中,許多使用者也會使用表情符號表達情緒,不同於 Facebook 內建的

貼圖,這些表情符號可轉為 unicode,例如「 」會被轉為「U+1F604」並被 爬取下來,因此在語料庫中,也會使用表情符號作為判斷支持與不支持的依

據。例如在留言中出現「 」即可判斷為支持;若出現「 」就可判斷為 不支持。

「透過觀察民眾留言新增的詞彙」部分,為透過觀察無法被語料庫判斷的 留言,挑選出關鍵字。其中,大部分的關鍵字都與事件有關,由於政治人物常 常會受政治事件的影響而與某些詞彙產生關聯,因此透過觀察無法被語料庫判 斷的留言,可大概抽取出這些因事件而產生的詞彙。例如以蔡英文的粉絲專頁 為例,「菜 8 趴」即為諷刺蔡英文的執政滿意度只有 8%。

本論文的列表形式為 Python 的列表,每個政治人物粉絲頁面皆有兩組分別 為支持與不支持的列表,其詞彙列表最終的詞彙數量如表三-7 所示。

表 三-7 各粉絲頁面支持與不支持語料庫數量

粉絲頁面名稱 支持詞彙列表詞彙量 不支持詞彙列表詞彙量

蔡英文 45 80

柯文哲 73 20

朱立倫 71 14

以下呈現各個政治人物的支持與不支持詞彙列表建置過程中的召回率與準 確率。其中,三位政治人物的不支持詞彙列表的召回率皆相當低,觀察得到的 原因為,不支持留言的表達方式很多,較不能建置如同支持列表般顯而易見的 詞彙。蔡英文的支持與不支持詞彙列表建置部分,各階段的的召回率、準確率 與詞彙列表的數量如表三-8 所示,其 PR 圖如圖三-5、三-6 所示。支持部分的召 回率在第三次新增後停止成長,但到第八次與第十次新增召回率皆有上升,觀 察剩餘未被詞彙列表判斷出的語料後,可增加的詞彙有限,因此停止新增。在

不支持詞彙列表的部分,在九次新增方面準確率皆為 100%,雖然召回率在每一

圖 三-9 蔡英文不支持詞彙列表之 PR 圖

5 31.40% 91.70% 38 26.70% 100.00% 17 6 31.40% 91.70% 43 26.70% 100.00% 20 7 31.40% 78.60% 51

8 31.40% 78.60% 57 9 31.40% 78.60% 59 10 31.40% 78.60% 73

圖 三-10 柯文哲支持詞彙列表之 PR 圖

圖 三-11 柯文哲不支持詞彙列表之 PR 圖

朱立倫的支持詞彙列表建置部分,各階段的的召回率、準確率與詞彙列表

圖 三-12 朱立倫支持詞彙列表之 PR 圖

圖 三-13 朱立倫不支持詞彙列表之 PR 圖

政治人物的部分語料庫與實際留言舉例如表三-11 所示,只要留言中含有一 個或以上的辭彙出現在語料庫中,即會被評斷為支持或不支持。其完整語料庫 請見附錄。

表 三-11 支持與不支持語料庫詞彙舉例

粉絲專頁名 支持語料庫 支持留言舉例 蔡英文 小英當選、蔡英文

加油、新政府加油

小英加油

(10152419666556065_10152420040461065) 柯文哲 柯P 好棒、柯 p 辛

(564904723611512_564907536944564) 朱立倫 朱立倫加油、挺立

(10154663643780128_10155270598130128)

粉絲專頁名 反對語料庫 反對留言舉例

(10153063518041065_10153064587941065) 柯文哲 白癡市長、柯屁、 (567971709971480_568403949928256)

朱立倫 砂石倫、剪綵、悲

(10156407725400128_10156408924805128)

(二) 使用者資料庫建置

一旦留言可被判斷為支持或是不支持後,便可獲知這位使用者對於這個粉 絲頁面的立場。於是本論文依此結果建置一個使用者資料庫,資料表架構如表 三-8 所示,以 user_id 為主鍵,如為支持一粉絲頁面,則將其立場寫為 100,如 為不支持,則寫為-100,如沒有立場,則留為空值。

表 三-12 使用者資料庫資料欄位與種類

列名稱 立場 種類

user_id 1011851178863500 text; PK Tsai_stand 100 int Ke_stand null int Chu_stand -100 int

本研究之系統架構圖如圖三-11 所示,共分為四個部分,分別為資料庫層 級、功能層級、初步結果層級與應用層級做說明。

「資料庫層級」存放著由 Facebook Graph API 抓取下來之原始資料,清理後 之資料庫存放著篩掉留言為空值與使用者留言次數小於一次之留言。「功能層 級」為詞彙列表辨別留言為支持或是不支持的立場之功能,詞彙列表的建置需 透過「初步結果層級」的結果增減,「初步結果層級」包含了詞彙列表可辨別 出立場與無法辨別出立場之兩種類別,透過觀察無法辨別出立場之留言內容,

可新增在「功能層級」中詞彙列表中的詞彙,以提高可辨識率。可辨識出之留 言,則可透過將相同的留言者合併,製作出「應用層級」中的使用者資料庫,

由此資料庫可看出在一粉絲專頁中支持的使用者數量與不支持的使用者數量,

並可進行跨粉絲專頁之比對。

圖 三-14 本研究之系統架構圖

相關文件