政治角力 - 新舊媒體猜一猜

AUTHOR

語言分析語資料科學 Group1

  • 徐瑞陽
  • 鍾豪
  • 李佳臻
  • 陳家葦

Topic

分析新媒體與傳統媒體之間的文本差異

MOTIVATION

近幾年公民參政勢力明顯增加,新型態的媒體也隨這波公民參政的力量而出現。

我們想要比較傳統的主流媒體,在「立場」、「用詞」、「新聞產生來源(專業記者or公民記者)」、「文風」上與新型態的媒體的差異。

例如:我們認為新媒體傾向即時性發佈新聞於網路平台、在用詞上較為新穎且直接、撰寫角度頃向以公民利益為基礎,可能因此產生了了不同於舊媒體的事件描述角度及立場,我們想藉由這個計畫實驗是否結果與假設相符,進而藉由立場差異自動偵測新舊媒體政治文本。

DEFINITIONS

  • 新媒體 : 自2013年7月洪仲丘事件後開始受到關注的媒體。
      如: 風傳媒、新頭殼、民報、Nownews…etc
    
  • 舊媒體 : 傳統媒體
      如:自由、中時、蘋果、聯合…etc
    

HYPOTHESIS

舊媒體 新媒體
媒體 蘋果、自由、中時 風傳媒、新頭殼、民報
平台 報紙 網路
發布頻率 定期 即時
記者 專業記者 公民記者
立場 較親某黨派或某事件主角 較中性,以「看故事發展」角度撰寫
語言 用語較制式 較摘要性事件描述 似流水帳,多事件細節(人物情緒描述)新用語較多

HYPOTHESIS EXAMPLES

根據特定事件(蔡英文回應媒體追問她是否有炒地皮一事)觀察新、舊媒體的文本。

文本顯示新媒體傾向以流水帳方式撰寫,並多描述事件場景中主角當時的情緒或行為。而舊媒體則是簡短摘要事件主角針對議題的回應。

  • 新頭殼

  • 風傳媒

  • 中時

  • 蘋果

DATA SOURCE

  • 網路爬蟲 由第八組羅偉航同學熱心協助抓取六大媒體網路新聞文章.
  • 來源
    • 新媒體 : 風傳媒、民報、新頭殼
    • 舊媒體 : 自由、中時、蘋果
  • 語料蒐集時間及數量 自2015.12.29 前收集風傳媒、新頭殼、民報、自由、中時、蘋果等六大家媒體,各一千篇,共六千篇政治新聞文本。

    DATA PREPROCESSING

  • 前處理 清除 noise、 stopwords,與文風無關用字。如:相關報導、即時新聞、記者的名字。
  • 斷詞 ( using jiebaR )
  • 詞頻探索並製圖

EXPLORATORY DATA

各家媒體對各政黨候選人的提及次數

  • 舊媒體中我們發現特定兩政黨被提及次數遠多於第三個政黨。
  • 對於副手的提及次數相對都較少,讓我們聯想到是否有偶像化特定人物。
  • 提及各政黨或副手的次數都較新媒體少。

  • 新媒體中我們看到正、副手被提及的次數高出許多,如「王如玄」,我們就會聯想到新媒體可能較不偏重特定人物,反而事件的發燒程度與人物被提及次數成正比。
  • 新媒體中我們也發現「民報」的平均字數較多,但是提及個政黨或人物卻沒有比較多。

綜合以上,我們可以發現利用詞頻(word frequency)能達成區分新舊媒體的目標。

CLASSIFICATION ALGORITHM

我們使用兩種方式來建立分類模型(by scikit-learn)

  • 建立6000篇新聞的 document-term matrix $$M{dt}$$ , where $$ M{dt} \in M_{6000\times60321}$$
  • 對 $M_{dt}$$ 中每一個feature做tf-idf indexing,考慮其在語料及在文本中適當的權值。
  • 因$$M{dt}$$的維度太大,無法考慮詞與詞之間的關係,所以我們利用主成份分析(Principal Component Analysis)將 $$M{dt}$$ 降維( $$M{dt} \in M{6000\times1000}$$ ),而此時這 $1000$ 維的向量,代表了原先文本中某些詞的distribution,考慮了詞與詞之間的互動。
  • 利用 $M_{dt}$ 訓練一個linear kernel的 SVM 二元分類器
    tr_corpus , tr_labs = loadData()
    M_dt = BOWtransform(stopwords='chinese')
    M_dt = PCA(M_dt,n_components=1000)
    svm_model = svm_train(tr_labs,M_dt,'linear')
    svm_save_model(svm_model)
    
  • validation accuracy : 86.3% :+1:

    DIFFICUITY WE ENCOUNTERED

  • 我們有嘗試使用non-linear的SVM kernel(e.g RBF),去考慮詞與詞之間的互動,而不是直接降維,但實驗的結果,過度擬合的情形很嚴重。

    Repository

    https://github.com/sunprinceS/TaiwanNews_classifier