Upgrade to Pro — share decks privately, control downloads, hide ads and more …

黑特東華在黑特什麼_網路、社會與文字探勘實務

tlyu0419
October 30, 2022

 黑特東華在黑特什麼_網路、社會與文字探勘實務

講題:黑特東華在黑特什麼? 網路、社會與文字探勘實務
主講人:游騰林(國泰世華銀行 數據生態營運部 資料科學分析師)
時間:111年11月24日(四) 早上10:00 ~ 12:00
地點:人社二館 D105
講座說明:
黑特東華(Hate NDHU) 粉絲專頁自 2014 年成立至今已經累積了超過 15,000 個讚與 11,000 篇貼文,在粉絲專頁中的貼文涵蓋了學生對於學校各個面向的抱怨。如能善用這些資料進行分析,我們將能從中找出許多有價值資訊並提供學校具體的管理建議。然而要分析這些資料將有兩個不易克服的難點,其一是這些貼文資料並未開放批次下載,我們並不易取得粉絲專頁上的貼文資料。其二是這些貼文屬於非結構化的文本資料,分析時需要採用自然語言處理(NLP)的分析技術才能從中萃取出有價值的資訊。在這次的演講中我除了會說明要如何克服上面提到的兩個難點之外,也會和你/妳分享我的分析發現,也期待你/妳能搭配社會學的視角一起幫忙處理就近自己身邊的大小事。

tlyu0419

October 30, 2022
Tweet

More Decks by tlyu0419

Other Decks in Technology

Transcript

  1. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 校長 接到

    教育部 的指示 請學校要改善學生對學校的滿意度 2 2022.11.24 今天先假設學生的滿意度是學校、系所評鑒考核的重要指標>”<
  2. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分析目的 1.

    黑特東華在黑特哪些事情? • 通過數據技術來對貼文自動分群(取代傳統的人工逐一檢視&歸類) 2. 不同議題的黑特文各自有多少數量? • 透過數量來評估問題的重要性 3. 收斂分析洞察和建議 • 將分析結果回饋給學校作為管理建議 5
  3. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 游騰林 國泰世華銀行

    | 數據部 | 資料科學分析師 Facebook: https://www.facebook.com/tlyu0419 SD: https://speakerdeck.com/tlyu0419 Github: https://github.com/TLYu0419/ 6
  4. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 8
  5. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 資料介紹 •

    黑特東華分析專頁 • 15K likes • 16K followers • 11,000+ posts • 黑特東華 NDHU Hate | Facebook • 來自各方的黑特文 • 教、職、員、工、生、店家 • 可以將黑特文視為客訴, 天生就適合用來找出學校的問題 9 在實際的工作中, 一項重大客訴的處理成本要高達 3,000 元
  6. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 資料收集方式 10

    • Github: TLYu0419/facebook_crawler • Publish Date: 2021-06-14 • Stars: 205 / Forks: 43 簡單 高效 免登入
  7. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 資料內容 總共

    11,468 則貼文,資料時間範圍: 2014 ~ 欄位說明: • NAME: 粉絲專頁名稱 • POSTID: 貼文ID • TIME: 貼文時間 • MESSAGE: 貼文內容 • REACTIONCOUNT: 總互動數(LIKE, HAHA,WOW…) • COMENTCOUNT: 留言數 • SHARECOUNT: 分享數 • LIKE, HAHA, WOW, SAD, LOVE, CARE: 各種情緒的數量 11
  8. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 文字雲(不分類) •

    將黑特東華上的所有貼文 做 斷詞 後,根據出現次數 設定為詞的大小,藉此繪 製出的文字雲 15 如果未預先對文本進行分群/分類, 繪製出的文字雲將沒有任何意義! (也看不出個所以然)
  9. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 斷詞 (前面省略)

    … 不如 / 買 / 一兩台 / 救護車 / 然後 / 設個 / 24hr / 救護站 / 讓 / 喜歡 / 在 / 外環 / 飆車 / 出 / 車禍 / 的 / 可以 / 得到 / 即時 / 的 / 救護 / 即便 / 手腳 / 截肢 / 都要 / 讓 / 飆車 / 的 / 活下來 / 讓 / 他 / 享受 / 生命 / 的 / 價值 16 斷詞是為了將非結構化資料轉為結構化資料的方式 通過 統計、模型或領域知識都能幫忙提升斷詞的效果 範例貼文
  10. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 斷詞 –

    範例 17 來 東 華 就 是 要 到 東 華 牛 排 吃 牛 排 將 東華牛排 當成一個詞 將 東華 和 牛排 當成兩個詞 東華, 牛排 和 東華牛排 分別都指涉了截然不同的意義 將文本適當的斷詞能減少許多後續分析的困難度
  11. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 找出文本中的代表關鍵詞 18

    小量的樣本可以用人工的方式挑關鍵詞 文本數量較多時則需要通過演算法來處理
  12. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 找出文本中的代表關鍵詞 –

    範例 19 斷詞結果 [ 這是 / 早上 / 五點 / 整個 / 外環 / 一盞 / 路 燈 / 都沒有 / 可能 / 會有 / 人 / 說 / 照片 / 可 能 / 看起來 / 很亮 / 但 / 真的 / 是 / 爆幹 / 黑 / 的 / 不知道 / 這 / 到底是 / 什麼 / 心態 / 反 正 / 路上 / 都沒 / 車就 / 關燈 / 省電 / 反正 / 出事 / 了 / 就 / 先 / 檢討 / 被害人 / 一定是 / 自己 / 不注意 / 一定是 / 自己 / 不檢點 / 反 正 / 都不會 / 是 / 你 / 的 / 錯]
  13. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 找出文本中的代表關鍵詞 –

    範例 20 [ 這是 / 早上 / 五點 / 整個 / 外環 / 一盞 / 路 燈 / 都沒有 / 可能 / 會有 / 人 / 說 / 照片 / 可 能 / 看起來 / 很亮 / 但 / 真的 / 是 / 爆幹 / 黑 / 的 / 不知道 / 這 / 到底是 / 什麼 / 心態 / 反 正 / 路上 / 都沒 / 車就 / 關燈 / 省電 / 反正 / 出事 / 了 / 就 / 先 / 檢討 / 被害人 / 一定是 / 自己 / 不注意 / 一定是 / 自己 / 不檢點 / 反 正 / 都不會 / 是 / 你 / 的 / 錯] 斷詞結果 TF-IDF 結果 [ 出事 / 五點 / 路燈 / 心態 / 檢討 / 都不會 / 黑 / 錯 / 看起來 / 都沒]
  14. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 階段性流程回顧 21

    • 步驟1: 斷詞 • 新增 SEG_MESSAGE 欄位 • 步驟2:找出代表關鍵詞 • 新增 TFIDF_KWS 欄位 • 步驟3: 抽取文本向量 • 新增 DOC_VECTORS • 步驟4: 分群模型 • 新增 CLUSTER 欄位
  15. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 22
  16. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 文本轉向量 23

    [-1.27, -3.76, … , 0.05, -0.57] [深夜在校園遇到…] [ 0.08, -1.25, … , -5.52 , 0.13] [這是一個真實的…] [ 0.57, 0.17, … , -0.63, 0.03] [就在今天我在…] [ 0.21, 0.91, … , -0.14 ,0.22] [……] 語言模型 11,468 則貼文 文本特徵 [-1.27, -3.76, … , 0.05, -0.57] [ 0.08, -1.25, … , -5.52 , 0.13] [ 0.57, 0.17, … , -0.63, 0.03] [ 0.21, 0.91, … , -0.14 ,0.22]
  17. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 透過文本向量進行分群 24

    此處以 2 維空間示意 (在這個分析案中用了 512 維) 分群流程說明 1. 透過轉換後的文本向量進行分群 1. 想像不同的文本是不同的人,X 和 Y 軸分別 代表身高和體重 2. 我們可以將人依據身材分成不同的群 2. 跑分群模型,測試不同分群數時的效度 3. 解析分群的結果與意義 問題的關鍵在於轉換出的文本向量好不好 理論上語義相近的文本的距離要接近,反之較遠
  18. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 所以具體要怎麼將文本轉向量? 25

    對於社會系的學生來說下面的流程會有些陌生 先把注意力放在各階段的產出即可
  19. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 早期的方式(2013) :

    詞向量模型 • 以詞的共現關係來訓練模型 • Cbow • Skip-gram • 取得詞向量 • 經過模型訓練後,可以將每個詞 轉換為 K 維的數值 • 後續應用 • 以詞向量取代詞本身進行分析 26 Ref: 通俗易懂理解——Skip-gram和CBOW算法原理 通常會將 K 值設定在100 - 400維 具體會再根據文本數量、複雜度調整 詞向量的訓練方式 – window size = 1
  20. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 早期的方式(2013): 詞向量模型

    – 範例 • 這是 word2vec 模型 通過 黑特東華 11,000 則貼文後,學習到的詞向量 • 取得各個詞之後我們就能計算不同詞之 間的距離,並通過距離還衡量兩兩間的 相似度 • 詞向量的結果會跟主觀經驗有一些落差,因 為模型能學習的資料僅限於這些貼文 • 然而即使是人,在評估不同詞之間的相似度 其實也會存在落差 27
  21. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 近期的方式(2020): 🤗

    Transformers • Hugging Face (github.com) • Hugging Face 官宣 1亿美元C轮 融资,估值20亿美元 28 Ref: Transformers: State-of-the-Art Natural Language Processing
  22. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Sentence-Transformer 使用方式

    1. 安裝套件 2. 載入模型 3. 將文本轉向量 29 Ref: Sentence-Transformer的使用及fine-tune教程 Sentences 即是我們抓取的貼文,將其放入 Sentence-Transformer 的模型抽取文本的向量
  23. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 抽取文本向量 30

    以簡化的 2 維空間示意 經過 Sentence-Transformer 將貼文都轉成向量 後面就能再接分群模型對文本做分群 [-1.27, -3.76, … , 0.05, -0.57] [ 0.08, -1.25, … , -5.52 , 0.13] [ 0.57, 0.17, … , -0.63, 0.03] [ 0.21, 0.91, … , -0.14 ,0.22]
  24. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分群模型 •

    Kmeans 分群演算法 1. 決定要將資料分為 k 群 2. 隨機初始化 k 個點在資料空間的位置 3. 計算每個樣本最靠近哪個k點 4. 計算群中心,並更新 k 的點的位置 5. 反覆做 3 – 4 的步驟直到收斂 31 Kmeans 分群迭代過程 但是問題的關鍵在於 k 值如何決定?
  25. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分群模型 –

    如何決定分群組數 • 如何決定合適的分群組數 • By 統計指標 • Elbow • Silhouette • Gap statistic • By 領域知識 • 分群組數沒有絕對的對或錯 • 顆粒度粗: 模型可能會說有一群貼文都在討論學生宿舍的議題 • 顆粒度細: 模型可能會再將宿舍議題拆分成 宿舍的環境 的問題、宿舍的安寧等等的問題 32 Ref: 2.3. Clustering — scikit-learn 1.1.2 documentation 分群的顆粒度太粗會看不出東西, 分的太細也會增加後續分析的工作量,喪失分群的目的 Elbow point
  26. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 整體流程回顧 •

    步驟1: 斷詞 • 新增 SEG_MESSAGE 欄位 • 步驟2:找出代表關鍵詞 • 新增 TFIDF_KWS 欄位 • 步驟3: 抽取文本向量 • 新增 DOC_VECTORS • 步驟4: 分群模型 • 新增 CLUSTER 欄位 33
  27. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 34
  28. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 各分群貼文數的長條圖 •

    在這次的分析中我共分了 40 群,X軸是不同的分群結果,Y軸為數量 • 如下圖的觀察,有些議題的貼文數較多,有些議題則較少 35
  29. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 黑特議題 37

    交通安全 1,383 則貼文 宿舍環境 983 則貼文 性別問題 451 則 我先挑出幾個數量較多的議題做討論, 後面還有其他許多類型但數量相對較少的貼文
  30. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 東華大學的組成成員 38

    學校一/二級主管 1 2 2 3 學生 家長 店家/房東 其實還有 畢業校友 / 地方居民…等等不同角色 稍後要請大家切換到不同身份來想事情 • 校長 / 學務長 / 教務長 / 學院院長 • 各系所主管/教授 • 行政單位員工 • 各系所學 / 碩 / 博士班學生 • 學生家長 • 校內外餐飲店家 • 校外房東
  31. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 交通安全 •

    交通安全的子議題 • 增設教學區停車場 • 麵包坡 • 機車進內環 • 區間測速 • 背後的關係人與關心的事情 • 學校&家長: 校園安全 • 學生: 交通便利 39 Cluster Num: 19, 30, 37, 16, 21
  32. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 麵包坡 41

    • 學生要的是能討論的空間, 不要被轉來轉去最後不了了之 • 但學生也要思考 有沒有將意見傳遞給正確的人
  33. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 機車進內環(支持意見) 43

    • 公平性的角度出發 • 懲罰到遵守規則的同學 (不超速、不違規、沒噪音)
  34. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 區間測速 44

    • 為了確保交通安全,學校裝設區間測速有其必要性 • 但是學校可以邀請學生一起討論要設定多少來當速度的上限 • 另外也要公平執法,不能只抓特定族群(學生)
  35. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 宿舍環境 45

    • 宿舍安全的子議題 • 垃圾分類 • 公共衛生 • 生活習慣 • 背後的關係人與關心的事情 • 學校: 垃圾分類&回收 • 學生: 室友作息不要和自己有太大的落差 Cluster Num: 3, 9, 22, 28
  36. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 垃圾分類 46

    從以前的垃圾子母車,到後來轉為垃圾車 丟垃圾流程的轉換其實背後都有一些原因和故事
  37. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 生活習慣 48

    有沒有機會在抽宿舍的系統中預先做調查 依照玩遊戲、早睡、講電話的需求分宿舍(?
  38. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 性別問題 49

    • 性別問題的子議題 • 分手 • 性騷擾 • 背後的關係人與關心的事情 • 學校: 不要有性騷擾的事件 (含老師和學生) • 學生: 感情問題 Cluster Num: 27, 29
  39. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分手 50

    基於許多原因 95% 的大學情侶都不會走到最後 在一起時認真對待另一半,分手後也不用覺得遺憾或受傷
  40. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 性騷擾 51

    尊重不同性別的同學, 不論是在學校或線上都不要開不適當的玩笑
  41. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 52
  42. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分群總覽(1/2) 53

    分群0 分群1 分群2 分群3 分群4 分群5 分群6 分群7 分群8 分群9 分群10 分群11 分群12 分群13 分群14 分群15 分群16 分群17 分群18 分群19
  43. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 分群總覽(2/2) 54

    分群20 分群21 分群22 分群23 分群24 分群25 分群26 分群27 分群28 分群29 分群30 分群31 分群32 分群33 分群34 分群35 分群36 分群37 分群38 分群39
  44. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 資料內容 55

    歡迎同學來信索取這份資料(進行分析/期末報告) 一起幫學校找出問題&想解決方案
  45. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 56
  46. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 總結 •

    實務面 • 除了傳統的問卷調查,網路上也有許多資料能用來幫我們分析、理解問題 • 文本分析的技術除了能幫我們了解有哪些問題外,還能跟我們說問題有多少數量(評估重要性) • 傳統會用人逐一檢視貼文,理解內容後再進行分類,但缺點是會花費大量時間, 而資料科學的方法則是反過來,先將文本根據相似度進行分群,接著再理解群的內容 • 這樣的分析方法可以帶到以後的工作上,如用來分析客訴、公文、新聞…等等 • 社會學面 • 社會學的學生應該要能夠看到問題背後的問題,不能只有看到表面的問題 • 特別是要多從結構、家庭、階層、制度、角色等等不同的角度去思考問題以及解決方案 • 要有改變社會、制度的企圖心,多問自己為什麼會這樣,以及(我)做些什麼會不會更好 57
  47. 游騰林 TENG-LIN YU | Mail: [email protected] 黑特東華在黑特什麼? 網路、社會與文字探勘實務 Outline •

    分析目的 • 資料介紹 • 分析方法 • 分析發現 • 分群總覽 • 總結 • 程式 Demo 58