閱讀進度0%
  • 新聞幕後

【記者筆記】用機器學習研究 twitter 如何刪除網軍帳號

2019/09/19 閱讀時間 4 分鐘
  • 記者
    簡信昌

其實已經是三個禮拜前了,那時候第一時間看到 Twitter 公布了他們刪除了九百多個跟中國網軍相關的帳號,直覺就覺得裡面應該有不少有趣的東西可以研究。當時記者手上還有其他工作,所以就由我先進去看看有什麼可能有趣的點。

因為想要趕即時新聞的時效,也沒想太多,直接就把所有帳號合併,去看看這些 tweets 裡面有什麼不一樣的。最後還是記者提醒,可以從所有發文中去看看跟反送中相關的內容,再找出發這些相關內容的帳號,從這個角度去看,所幸我們終於即時發出了第一時間的分析。討論了這一百多個帳號從韓飯轉變為網軍的狀況。

第一篇報導發出去之後,我們還在繼續討論這份資料,因為實在有太多有趣的點了。我們找到的一百多個曾經發過反送中相關內容的帳號,都是在 Twitter 釋出的第一群資料中。至於第二群的資料,用人工簡單瞄過,發現有大量的阿拉伯文內容,相對來說,反而比較少中文(簡體中文)的內容,那中國因素怎麼來得呢?

以前還在網路公司上班時,就常常會想著要怎麼對付一堆機器人帳號、垃圾訊息、色情訊息等等,更不用說像 Twitter 這樣規模的網路平台。那麼,Twitter 公布了兩群資料,第一群有七百多筆,裡面包含了我們團隊用人工判斷出來曾經發表過跟反送中相關貼文的帳號;第二群則只有一百多筆使用者,可是Twitter 同時又說它們停權了二十多萬筆的可疑帳號。這有什麼可能性呢?最簡單的猜測,應該就是 Twitter 公布的第一群帳號是由他們人工判斷、確認是網軍的帳號。然後透過這七百多個帳號的特徵,去掃描所有的使用者內容,最後發現一百多個的特徵比對可能幾乎是完全一樣,而另外二十多萬筆則是分數很高,但是又沒有高到可以直接判定,所以就先停權處理。

這個作法在一般科技公司是很常見的,那麼有沒有可能逆向透過這些線索來找出網軍的特徵?跟一些資料科學家討論之後,雖然未必有非常高的準確率(因為 Twitter 可能沒有公布完整的資料,例如使用者被修改個人檔案的過程等等),但可能可以看出一些脈絡。看來透過機器學習是一條可以嘗試的路。

不過手上只有 Twitter 公布的資料,也就是只有單一分類,雖然可能可以找出其中的特徵,但還是覺得有點不踏實。為了讓我的機器學習有其他不同分類的資料,就上了kaggle(機器學習的專門網站)去找了一批 twitter 帳號跟他們的貼文下來用。但從分出出的特徵看來,這份資料也是 kaggle 上某個分類後的結果,對於電腦來說,要完全分辨這兩群似乎不是難事,得到的結果似乎是有

所幸我們團隊同時也在進行這些反送中相關帳號跟其他人的互動關係,我就利用 twitter API 去抓了這些被標注的帳號資料跟他們的貼文,而且這些被網軍標注的帳號中,有絕大多數其實是沒有跟他們互動的,所以某種程度來看,型態接近隨機帳號。我們就用這三百多萬筆資料隨機取出適合的樣本,再把這些資料丟進訓練模型中,發現分類的成功率還是非常高。

這讓我們開始懷疑資料的多樣性。雖然這兩次的樣本讓人感覺有點過度學習(overfitting),但是出來的特徵其實還滿類似的。且理論上,這些使用者已經相當隨機,但從另一個角度來看,會被這些網軍挑上的帳號可能也比較有人氣,而聚集人氣的方式可能也透過某些特定行為達成?但我們還是決定再去收集第三次樣本來進行機器學習的過程,而且既然第二次收集過程中已經把處理Twitter API 的程式寫好了,相對容易得多。

第三次的收集,我們再一次到 kaggle拿了曾經發表過跟奧斯卡金像獎有關 tweets 的使用者,取得他們的 id 之後,再丟去 twitter API 拿到貼文,取回將近七萬筆資料。這些人幾乎沒有什麼固定的交集,唯一的相同點大概就是都發表過對於奧斯卡的想法。最後我們合併了這三次的訓練樣本,希望它們可以有更多樣性,避免特徵太過一致。

最後,我們主要用來作為訓練特徵的項目,除了使用者的個人檔案資料(包含地點、使用語言,註冊時間等等),還將每個使用者所發過的 tweets 做完統計成為新的欄位(例如每個使用者一天 24 小時發文的比例,每個人總共發文量,使用不同語言發文的比例等等),而訓練模型則使用了 DecisionTree,RandomForest 跟 XGBoost 三種模型,並且試了排除一些可能會影響判斷的欄位。其實以結果來看,最終機器學習得到的分類器看來還是滿一致的,而通常都是發文時間佔了最重要的因素,接下來就是這些帳號跟其他人的互動情況。也就是說,這些帳號雖然不是機器人帳號,但是還是會有相當制式的行為模式,他們大多數都只在「需要」工作的時間發文,然後他們的工作也許需要透過具有人氣的人來提升自己的能見度,但是卻並不想要和其他人互動。

第一次自己動手作機器學習,幸好一路上有很多好朋友幫忙。而且無論是臺灣或是國外,好像也是難得看到透過機器學習來分析資料而寫成的報導,很高興我們做了這樣的嘗試,雖然中間處理過超過上千萬筆的資料。但是這樣的過程才能透過比較全面的分析來確定各個面向的重要性,畢竟這些網軍的判斷也不可能是單一因素就可以定論,所以雖然中間過程這麼繁雜,但是應該可以讓這篇分析更具有可信度。

贊助 READr 一起媒體實驗改革