社群與資料分析模型建構方法

有鑑於新聞報導時常引發大眾社群討論。為了找出新聞與社群共同探討的突發事件且被熱烈討論的主題,我們參考了現行的分析方法後,建立分析模型建構方法,架構如下圖所示[1]

以下簡述此一分析模型之模組功能:

  1. RSS Feeds:為了方便取得源源不絕的新聞內容,使用者必須到各大新聞網站訂閱RSS,建立新聞列表,提供爬蟲程式抓取。
  2. 社群討論區:使用者必須從各大社群討論區,如Facebook,PTT, Mobile01等,建立相關討論區網址列表,提供爬蟲程式抓取。
  3. 網頁新聞蒐集模組以及社群文章蒐集模組:根據RSS發佈條目或是社群討論條目,使用現有的爬蟲程式如Jsoup[2],進行文章抓取,將文章標題、內容、URL、更新日期、作者等資訊放入資料庫。
  4. 新聞預處理模組:為了取得新聞報導中,對應的主題關鍵字,使用者需要透過新聞關鍵字擷取程序進行資訊擷取,例如使用Wikipedia專有名詞條目列表,進行文字比對,找出新聞關鍵字。
  5. 文章預處理模組:為了取得社群討論條目中,對應的主題關鍵字詞。由於社群的關鍵字詞較為大眾化,不像新聞報導的用字嚴謹。我們需要對文章進行分類以及文章字詞處理。可以先透過文章討論的條目,鎖定文章類別後,再將該文章分類中常見的字詞進行文字探勘(如使用斷詞工具分析),即可取得相對應的關鍵字詞及其字詞類別。
  6. 社群主題模組:計算頻道中文章的字詞權重,將每篇文章所保留下來的字詞,依照在不同頻道的文章所出現的頻率給予不同的權重,並且比對文章中詞類之語意相關度,轉換為代表文章的特徵向量。利用文章特徵向量計算文章之間的相似度,考慮文章包含的標題與內文能夠代表主題資訊的程度給予不同的權重進行加權,將文章依相似度進行主題分群。由主題分群中,計算每個不同群集中的文章回文速度,回文速度較快的主題群集即為突發主題。
  7. 新聞主題模型:我們可以透過LDA(Latent Dirichlet Allocation)模型[3],將新聞關鍵字進行主題關鍵字擷取。此外,也透過文章相似度分析,建立文章之間的相似度。並藉由相似度推導出與之相符合的主題。
  8. 社群與新聞之突發主題:透過社群主題模組取得的突發主題,搭配新聞主題模組取得的主題關鍵字,進行匹配後,即可取得這些突發事件中,被熱烈討論的主題。

為了實現以上模組,我們個別以專文介紹在各個模組中可套用的技術:

1. RSS Feeds、社群討論區、網頁新聞蒐集模組以及社群文章蒐集模組:Facebook Graph API, PTT 爬蟲

2. 新聞與文章預處理模組:JieBa(結巴)斷詞CKIP中文斷詞

3. 社群與新聞主題模組:文章相似度分析、LDA模型

備註:

[1] 本模型圖示部分參考自http://findicons.com/icon/64636/rss?id=352525

[2] JSOUP. URL: https://jsoup.org/

[3] Latent Dirichlet Allocation. URL: https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation