你的鄉民指數有多高? 標題 作者 B04106003 圖資一 蔡孟穎 R03625007 森林碩二 陳乃維 LADS Final Project > 第五組 你的鄉民指數有多高? 標題 作者 B04106003 圖資一 蔡孟穎 R03625007 森林碩二 陳乃維 R03146003 華教碩二 李慧君 R02142006 語言碩二 黃資勻 R01323034 經濟碩三 張竣堯
Chapter I 前言 Introduction
CH 1.1 動機 隨著網路越來越發達,越來越多人透過網路來表達自己想法。 但是,有一群人,漸漸受到大家的關注,他們講話總是引起廣大迴響。 那就是 : 鄉民。
CH 1.1 動機 我們好奇他們的說話模式,是否比其他社群平台上的人們的發言,更政治狂熱、用詞鮮明、充滿情緒呢? 因此,我們試圖研究說話模式有什麼特色,並比較一般社群平台使用者的差別。
CH 1.2 定義與假說 鄉民: PTT使用者,情緒強烈、擅長酸文、使用表情符號、語句多不完整 (後面詳細說明) 一般社群平台:非PTT的社群平台,呈現相反情況,以FB為例
CH 1.3 目的 研究: 了解鄉民講話的方式和特色 應用: 使用者介面,有趣的data product。
CH1.3 方法 觀察 爬資料 確定標記&假說 觀察FB和PTT上政治貼文的回文,有什麼特色?觀察pattern在哪裡。 藉由觀察結果,確定標記內容和分析的維度。 爬資料 從FB和PTT爬最近政治相關文章的回文
CH1.3 方法 斷詞&詞頻 決策樹 標記 打爬下來的內容進行斷詞,建立詞頻表,觀察兩種不同回文的詞彙選擇與使用。給予文字分數以進行機器學習 標記文中的情緒等等,增加分析的維度。 決策樹 用SVM,產生一個Model可以判斷這篇回文是來自PTT還是FB。
CH1.3 方法 應用: UI 做一個可以讓使用者輸入回文的介面,分析這個回文後回傳使用者是鄉民或不是鄉民。
DEMO taco助教跟第六組的hannah看了之後做了回應… 他們到底是不是ptt鄉民呢?
Chapter II 專案過程 Process
Step1: 觀察&假說 經過觀察,我們分析出幾個維度: 詞頻分數: 鄉民的用詞跟一般社群媒體不一樣,所以詞頻會不一樣 情緒強度: 鄉民的用詞的情緒強度會較一般媒體強 酸度: 鄉民擅長酸文的使用 表情符號的有無: 鄉民使用表情符號來輔助情緒的表達 完整度: 鄉民的句子的完整程度較低 特殊用語: 鄉民特殊用語(火星文、取諧音等)的使用量通常較一般社群媒體多 最後,我們會再回來看這些假說是否符合
Step2: 資料爬蟲 FB PTT 全部約一萬筆 朱立倫粉絲團 11-12 月份的主回文 蔡英文粉絲團 11-12 月份的主回文 11-12 月份政治/八卦版討論朱立倫的主回文 11-12 月份政治/八卦版討論蔡英文的主回文 全部約一萬筆
Stopwords處理 「這種」、「那種」、「那群」、「這些」、「有人」、「整個」等詞性類似的詞 ,卻不難想像其實際在語句中使用時所帶的預設或立場態度,於是似乎不應刪去 「超」、「很會」、「很大」等詞
Stopwords處理 但「終於」、「明明」、「竟然」、「根本」、「有夠」、「早就」等,語氣及預設立場強烈,似乎需要保留
Stopwords處理 Stopwords的刪除方法(要刪/不刪) 不刪!!!
Step3: 斷詞&詞頻 FB、Ptt 各一做詞頻表 選出前5000個詞彙給予評分 建立一個data.frame 回文的原始內容 詞頻分數:依據詞頻給分、計分 情緒分數…等
Step4: 標記 data.frame內容 接著我們會逐一介紹標記的標準 raw data freq_score emotion_standard sour_score emotion completeness_score specialword_score 0 - 5 0 - 2 0 - 1 1 - 3 1: extremely weak 2: weak 3: middle 4:strong 5:extremely strong 0: 無 1: 小酸酸 2: 硫酸 0: 沒有 1: 有 1. long sentence 2. complete 3. incomplete 0:未使用 1:使用量少(1個) 2:使用量多(2個(含)以上)
emotion standard 1. extremely weak: 描述性(描述情況) 問句(詢問資訊) ex: "所以誰是甘道夫 誰是佛羅多" "柯P講過" 2. weak: cue 人 期許 生理描述(描述對象寫法沒有改變) 模仿台詞 ex: "咕嚕表示:" "朱:笑罵由人 反正咕嚕不是我" "希望小英明年上台好好處理這塊" " my precious" "我的寶貝"
emotion_score 3. middle: 直接性支持 反對的用詞 第二人稱(你/妳(們)) 生理描述(描述對象寫法改變->史麥戈變成屎麥戈) 命令句 代指:泛藍泛綠 呼籲, 正面單詞 ex: "那你也要戒除空心菜的壞毛病" " 朱立倫 長的很像屎麥戈" " kmt黨產應該放我這" "請勿負面選舉" "推推” 推 " 4. strong: 單詞、單個注音符號 嗆 單一表情符號 頻率詞:偶爾 類比對象較不強烈 酸度=1 ex: "喔", "哦。" " My Precioussss ㄟ( ̄﹁ ̄ㄟ) " "咕嚕會生氣!XD"
emotion_score 5. extremely strong: ex:"推,ㄧ堆白痴689被太監朱剝奪,還傻傻的力挺" 注音符號+表情符號兩個或以上 髒話、情緒性詞彙 頻率詞:老是,總是 酸度=2 類比對象強烈程度高 ex:"推,ㄧ堆白痴689被太監朱剝奪,還傻傻的力挺" "魔戒啊魔戒,請問誰是世界上最不要臉的人呢?" 類比 : "老K就左傾文字包裝極右的資產經營 骨子裡是法西斯的控管"
sour_score 0: non 1: weak (嗆人如空心菜等等這些不為酸文) 直接酸 問句+XD(XD似乎有讓酸度降低的功能) 換字(民進黨->閩進黨) ex: 模仿:"my precious... " "馬區長估計要看明天報紙才知道"
sour_score 2: strong: ex: "這次要賣土地合計7000坪土地才賣14億,根本是牙簽" 越隱晦的酸,酸度更強烈 反諷(說正地表示反的) 是問句但其實是肯定句 不直接指涉,使用代名詞(有一個人/某人...) ex: "這次要賣土地合計7000坪土地才賣14億,根本是牙簽" "(● ω ●)與我簽下契約,成為國民黨黨工吧!" "用黨產買單真好!“ "促統?? 區區邏輯真他媽的神奇" "棒棒哦,台灣錢淹腳目啊。" "小豬因為便利商店收悠遊卡更加普及而受影響,零錢減少,看來還是捐鈔票好了" "薪資漲,房價終於有理由漲了!!!!讚讚讚好的循環" "啊,我忘了要他們瞭解,大概比緣木求魚更不可能吧"
情緒強烈≠酸度強 Ex."推,ㄧ堆白痴689被太監朱剝奪,還傻傻的力挺" 情緒強度 5, 酸度 1 用詞強烈(白痴、太監),但不夠隱晦
completeness_score 若句子有兩部份,看較完整(級數較低)的部份 1 .long sentence: 有連結詞,形成副句--條件句,關係子句…等: 你的責任就是國民黨在你這任倒掉啦 連投票這種基本的權益都不行使 以後就別再靠北政府爛 果然是空心菜,若要跟東協合作,那應該鼓勵大學增設東南亞語學系,培養語言人才
completeness_score 2. complete: 句子有明顯主詞/主題+事件動作+(受詞): 空心朱一開口就會說謊 見人就是矯情! 這人真噁 馬來西亞的經濟在東南亞裡算是最好的 黨工加油好嗎 你們的噓點很弱 小英坦蕩蕩,朱連選個總統都要黑箱換柱更何況是錢
completeness_score 3. incomplete: 省去主語或其他部份,含祈使句,單用名詞、形容詞、語氣詞、成語: ex.白痴!/ 馬的咧 啊這八年來 中小企業的需求咧?/好噁!/言而無信/哈哈!/哦/ 加油! /凍蒜! /幹! /滾! /再見!/麥虎爛哦/還沒選完就知道要花多少喔 拜託回去讀小學再來好嗎/叫朱立倫也公布阿 比照辦理 不要只會放額頭發亮的影片/演不膩啊? /有坐好坐滿嗎? /補噓。/ 深夜無車(節錄原文)/還有時間看球/沒錯啊但不是你/推/又在說謊了/ 抓到了 高達七千萬 下台/所以我才會投蔡英文啊 傻了嗎?/講得真好聽,怎麼這七年多國民黨都做不到?
specialword_score special word包含火星文、取諧音、台語直翻等等 Ex.支那、八嘎囧、假掰、美賣、蝦毀、~der、BJ4、Wwww、塊陶阿、洗洗睡、~(茶/菸)、OP、放大絕、搶頭香、打臉、踹共、推、+1、kmt、英狗、~2.0、鬼島、死魚、my縫、五毛、CD、阿不就好棒棒、…等
標記遇到有趣的事情 有時候沒有表情符號情緒更強: "加倍奉還" vs "加倍奉還!!!" 2. 字數越少越嗆:”喔“ "好“ 驚嘆號有時候指的是聲量 "偉哲!!!!“ 2. 字數越少越嗆:”喔“ "好“ 支持的推 好像沒有"喔"來的一個字強烈 (單詞的力量,負面>正面) 3. 有些表情符號有弱化但同時也具備酸人的功能 a.負面評論+XD b. 負面評論 + ~~~
標記遇到有趣的事情 4. 句號的力量: 5. 一字強 二弱(疊字) 三強 四弱(雙疊字) (偶數都有可愛化的現象) 。 "這次絕對要去投票讓毒瘤一刀斃命。" "高。下。立。判。" 5. 一字強 二弱(疊字) 三強 四弱(雙疊字) (偶數都有可愛化的現象) 。 6.政治評論幾乎找不到0情緒。 7. 有時候詞頻分數為0更能看出差異性,可能為雜訊或是更可以拿來判斷不同。
標記遇到有趣的事情 8. fb留言重覆的比例奇高,有時使人懷疑是不是爬蟲有問題。但可見有人專門生產樣板宣言,三不五時四處張貼。 9. 有些留言直覺是酸文,但其實又很難百分之百否認其「認真」的可能: a. 朱主席凍蒜!把中華民國呵護好、建設好,爭取給祖國大陸樹立今後民主社會一個好樣板 b. http://news.ltn.com.tw/news/politics/breakingnews/1548206 朱主席 加油 我支持你.總統這一票投給你 你走的 統一路線 沒有錯!!!期望你能儘早帶領 台灣 回歸組國的懷抱 加油!!!
標記遇到有趣的事情 10. ptt留言幾乎都僅一兩句話,語句多不完整(incomplete) fb留言常寫的落落長,又愛附相關新聞或評論網址,一開始會定義屬long sentence 但後細看發現有些這類留言夾雜不完整語句或由幾個不完整語句所組成。
標記遇到有趣的事情 11. ptt多使用暱稱(如:空心菜、砂石輪、死魚),或許因為這樣,所以縱使是嗆/罵/酸的留言,也不會覺得那麼「認真」 但fb則不少留言是指名道姓,不論支持或反對留言,感覺其認真程度相對高許多。
Step5: 決策樹 overfitting,只要freq_score 小於某數值,就是ptt,其他的維度就變成沒有存在的空間。
Step5: 決策樹
Step5: 決策樹 使用情緒分數、酸度、完整度、特殊字使用程度 結論是第一層是透過有沒有使用特殊字,可以確認出有27%的來源為ptt 第二層透過完整度來分流,分數小於1.5可以確認20%為FB 也就是說: 沒有使用特殊字,越複雜的句子來源及為FB,兩層幾乎分出將近一半,後面也是以此類推直到分到最後。
結果 猜猜我們的準確率 有點欣喜也有點哀傷… 64%
Step6: Test 測試結果準確率64%,測試包括25篇ptt+25篇FB,機器正確判斷出32篇的來源。 1~25 是FB評論,標記應為0,25~50是ptt,標記應為1。
Chapter III 展望與反思 Future & Reflections
未來展望: UI 時間因素,還沒有開始動工 希望建立一個有趣的簡單互動界面, 介面內容會出現一個主文和一個對話筐 受試者可輸入他們的回文 結果會顯示該名受試者的回覆較容易出現在哪個頻道(ptt or not)
感想 這是一個反覆的過程 受限於技術,太多人工的部分 標記的標準 甚至人工標記到一半,又會發現新維度的可能 無法標記太多文本 標記不小心加入主觀 受限於會的套件才使用SVM,應更謹慎
感想 主文跟回文的關係應該也要被討論 這條路還很長,做UI之前要提高準確度
反思 爬文 標記 一般社群平台不再限於FB 不限朱、蔡的討論串 時間範圍擴大 還有哪些分析的維度 探討標準是否適切 如何把工作從人工轉至電腦 (標記崩潰)
反思 標記 還有哪些分析的維度 探討標準是否適切 如何把工作從人工轉至電腦 (標記崩潰) 分析方法 除了決策樹,還可以怎麼做?
DEMO 讓我們來看看taco跟hannah的結果:
DEMO 恭喜!兩位都是鄉民喔!
分工 爬蟲:Willy 標記:惠君、乃維、資勻 樹:資勻 4. ptt + presentation: 孟穎
Thank you for listening!