AI事實查核中心
撰文/Balboa Crenshaw(現職為數據科學家)
改寫語句
在深入這項議題之前,我們先來看看如果要用AI自動分辨一句話的真假,需要下哪些功夫?
首先,你需要具備專業知識的科學家,將想要查核的訊息以及用來查對的資料庫中艱澀的論文句子改寫成機器可以讀懂的形式,且又不失其原意。這麼做的原因是:現今AI的自然語言處理技術(Natural Language Processing,NLP)雖說足以應付一般日常生活中的句子,但學術論文因為包含大量引用(citations)、句型與用詞也與日常不同,所以必須先將它們「轉化」成機器較容易閱讀的形式。換句話說,讓欲查核的訊息與用以查對的論文兩者所使用的語句越接近越好,如此一來才能提高準確率。
再者,AI讀懂句子之後,還需要有比較分析的能力。也就是說,它要能比對讀者輸入的訊息,是否與資料庫中(由論文改寫成)的句子有著相似或相異的內容,還是無法判別?培養這種能力的方式,就是依靠機器學習裡的「分類」(classification)演算法了。因此,運用AI來查核事實,其實是一門綜合語言學處理(NLP)、分類,以及很多前置「人工處理」作業的大工程。
SciFact資料庫
事實查核其實早已有先例,像是PolitiFact、Emergent、LIAR等都是提供事實查核的資料庫,但是SciFact資料庫則是首個運用學術論文而創建的事實查核資料庫,由於主要運用生醫領域的期刊論文,因此在此次疫情中起了相當大的作用。
SciFact是由美國西雅圖艾倫人工智能協會(Allen Institute for Artificial Intelligence,AI2)的科學家所建立。它的操作介面直覺、簡單:讀者只要輸入一段想要查核的句子,系統便會找出支持或者反對這個論點的論文,甚至列出每篇論文摘要中支持或反對的理由(rationale sentences)。
SciFact的建立主要有三個步驟:準備「語料庫」(corpus)並標記(labelling)、訓練「分類」模型與測試。
準備「語料庫」是整個資料庫的起點。SciFact選擇了生醫領域著名的期刊論文,例如Cell、Nature、JAMA(the Journal of the American Medical Association)等等,來作為它的語料庫。先前提過,因為論文特有的語句形式,所以語料庫裡面的句子必須再透過專家改寫。除了論文裡原本的句子外,專家也必須同時改寫出該句的「反義句」,一正一反,支持與反對的兩種語料形成一個論點。除了句子的改寫外,專家們也會由每篇論文的摘要中,「標記」出表達支持(support)或反對(refute)的「理由句」。這是之後機器學習「分類」的基礎,也是讓讀者信服模型判斷的「證據」。
第二步,則是機器「監督式學習」(supervised learning)的過程,改寫過的語料庫會被隨機分成三堆:訓練集(training set)、驗證集(validation set)與測試集(test set)。後兩者會用來測試機器,目的是讓機器的分類與人工標記的結果之間的誤差能夠縮小,達到模型最佳化。機器學習中「分類」有很多種作法,常用的如類神經網路(neural network)與隨機森林(random forest)等,SciFact所使用的模型為VeriSci,它是建立在一種稱作「轉換器雙向編碼陳述」(Bidirectional encoder representations from transformers,BERT)的類神經網路模型之上。你當然可以運用其他方式或現成的模組達到同樣的目的,但最終還是必須要通過測試,確定你的模型能夠給出正確的分類。
SciFact總共運用了1,409個(改寫後的)論點,其中809個用來訓練模型,600個用來測試用(驗證與測試集),最終大概有一半左右的準確率(F1=46.5%、Precision=46.6%、Recall=46.4%,如何解讀這些數字可參閱)。也許在某些AI專家的眼中這還遠遠不夠,但是對於運用學術論文為基礎的事實查核,這已經是很不錯的成果了!
有關疫情
因為SciFact有很多源自生醫期刊的語料庫,所以對於查核此次疫情相關的訊息有很大的幫助。研究團隊額外測試了36條與疫情相關的訊息,並同時使用機器與人工查核它們的正確性。其中23條,機器的判斷結果與人工相符,這與上述所說模型的準確率(約一半)相吻合。
下表是一些你可能最近常聽到的消息。多少真?多少假?你心目中多大比例的訊息可能有問題呢?
此外,還有一點,SciFact無法查核帶有強烈主觀意見、觀點或規範性的論述。所以像「Sars-CoV-2的繁殖率(R)大於1」是一個對SciFact而言有效的論述,而「政府應該規定人民保持1.5公尺以上以遏止COVID-19的傳播」則沒有辦法由SciFact分辨真偽。
未來挑戰
提升SciFact的準確率無疑是其團隊的首要目標。增加語料庫的數目是最直接的方法,但那是在高變異(variance)的情況下才有效。
一種方式為增加標記的種類,從現在的三類(支持、不詳與反對),增加為五類(支持、部分支持、不詳、部分反對與反對)。這種作法可以避免內容相似但是主題不同的情況發生,例如「高脂肪飲食的(人類)患者,如果服用抗生素(殺死某些腸道菌),可以降低自由脂肪酸的含量」與「如果以抗生素治療疑似感染偽膜性結腸炎的老鼠,可以減低腸道菌落內的自由脂肪酸含量」,雖然這兩個論點相似,但前者是臨床治療的觀察,後者為實驗中老鼠的結果,這類論點應被標記為「部分支持」較佳。
「證據合成」(evidence synthesis) 也是另外一個可以努力的方向,也就是加入查對論文的其他資訊,例如可信度或是發表時間等。但是這些額外資訊的加入,也許會使得模型整體的準確率變差,所以VeriSci目前並沒有採用這個方式的規劃。
雖然有關疫情的訊息查核有其急迫性,但SciFact還需要更多時間來達到更完美的性能。
參考資料
- D. Wadden et al., “Fact or Fiction: Verifying Scientific Claims“, arXiv.org, 2020.
- J. DeYoung et al., “ERASER: A Benchmark to Evaluate Rationalized NLP Models“, arXiv.org, 2019.
- K. Hao, “AI could help scientists fact-check covid claims amid a deluge of research“, MIT Technology Review, 2020.
(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)