創造家庭大和諧,用 AI 給爹媽做個闢謠助手

  • 2019 年 11 月 30 日
  • 筆記

這些標題在具有一定科學素養的年輕人看來,根本不用點開,就知道是謠言或者過度誇張,但這些文章卻在父母輩的微信群和朋友圈裡每天瘋傳着。

虛擬世界的消息難以判定來源和真假,尤其對於父母,只要某篇文章中提到複雜的科學知識或者生僻的科學機構,甚至再加上一些愛國、感性情緒的煽動,他們就更容易被謠言迷惑,甚至成為傳播中的一環。

很多平台都在用想方設法建立闢謠機制,這種機制在過去主要是投訴+人工審核,但是以人工的形式,依然是杯水車薪。

同一個世界,同一個謠言

這個問題在美國同樣發生着, 國內常說的「謠言」,英文往往翻譯為「Rumor」,實際上這個詞是流言、傳聞的意思,比較嚴謹的新聞機構可能會將其翻譯為「False Rumor」,即虛假傳聞。

有趣的是,當我們想要比較哪類謠言最容易被廣泛傳播,發現全球的謠言製造者都選擇了名人死亡新聞。

金庸先生幾乎每年都會被去世

類似的謠言在美國也不少見

用 AI 凈化新聞

在美國,有一位工程師 Aaron Edell 通過 AI 完成了一個「FakeBox 假新聞探測器」,雖然正確率還相對高,但是這些內容首先是英文語境不適用於中文體系,其次是如果真付諸於商用,還有很大的提升空間。不過他的研究過程肯定對從事類似方面研究的專業人士有很大的參考價值。

「FakeBox 假新聞探測器」的設計過程也並非一帆風順,成功的最重要的轉折點在於,他把目標從判斷假新聞變成判斷真新聞 —— 真相總是一致,而假象則多種多樣。

以下,是他在設計 FakeBox 時的心路歷程:

第一個問題:如何定義假新聞 我遇到的第一個困難比較出乎意料。在研究一些假新聞之後,我發現假新聞也不全是假的,有些新聞是過度誇張,有些新聞是未經證實。多以其實假新聞也應該分為不同類型:明顯錯誤、真假參半、完全偽科學、偽新聞評述等等。 所以,假新聞必須全面篩查逐個剔除。

第一次實驗:用情緒分析模型解決問題 一開始,我自己先做一個小工具,使用爬蟲來抓取文章標題,描述,作者和內容,並將結果發給情緒分析模型。我使用了Textbox,它可以快速反饋結果,非常方便。每一篇文章,Textbox 都會反饋一個分數,5 分以上就是正向反饋,5 分以下就是負面反饋。我還做了一個小算法來分別計算文本的標題、內容,作者等的分數,並將它們加在一起,來確保平分是全面和綜合的。 起初它還運行得很好,但在我測試第7或第8篇文章後就不行了。不過這個設計雛形,距離我想像中的謠言探測系統很接近了。 不過結果是失敗。

第二次實驗:用 NLP 模型解決問題 我朋友 David Hernandez 推薦我對文本本身進行模型訓練。我試圖理解假新聞中的特徵,比如網站來源、作者名字,看看能否快速建立一個數據集來訓練模型。 我們搜集了幾天大量的不同種類的數據集,看似對訓練模型都很有用。我們自認為數據集足夠大,但其實數據集的內容從最開始就沒有被正確分類,因為有些被標記為「假」或「誤導」的網站有時也會有真實的文章,或者只是轉發別的網站的內容,所以結果也不太理想。 我開始親自閱讀每一篇文章,花費很長時間處理數據,雖然這個過程非常的辛苦,我在這些天中看到這些虛假、惡意甚至暴力的新聞時,會對網絡催生出的文明產生懷疑,但也希望更多的人可以通過更好的工具避免自己被謠言荼毒。在我介入了人工審核之後的數據集,在測試中大約達到了 70%的準確度。 但這種方式有一個致命的短板,我們嘗試用數據集之外的文章抽查之後,依然無法正確的判斷信息真偽。 所以還是失敗。

第三次實驗:別找假新聞做數據集,找真的 這件事成功的轉折點是 David 的一個建議點醒了我:建議提高準確度的關鍵可能是簡化問題。也許我們要做的不是檢測假新聞,而是檢測真實新聞。因為真實新聞更容易分類——文章都是事實和重點,幾乎沒有多餘的解釋,並且有大量的資源去確認新聞的真實性。於是我開始重新收集數據。 我只將新聞分為兩個標籤:真實的和非真實的(real and notreal)。 不真實的包括諷刺、評論文章、假新聞以及其他沒有以純粹的事實方式寫作的文章。 這次我們成功了,並且準確度高於95%。

這個模型被起名為 Fakebox ,它會給每篇文章打分,如果得分非常低,那可能意味着文章是假的、評論文章、諷刺文章或其他。而且 Fakebox 還擁有一套 REST API,你可以將它集成到任何環境中,也可以部署 Docker 上。

但是它依然有一個短板:如果文章太短,或者主要包含其他人的觀點或引語,那麼它可能很難判斷出真假。

所以,Fakebox 並不是最終的解決方案,但 Aaron Edell 希望這個模型會對需要被辨別真假的文章有幫助。