機(jī)器學(xué)習(xí) —— 社交媒體的“測謊儀”

時(shí)間:2017-11-09

來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:在本文中,作者利用一個(gè)“真假新聞”的數(shù)據(jù)集和一個(gè)NaiveBayes分類器,成功開發(fā)了一個(gè)文本分類模型,該模型能夠根據(jù)文本中的內(nèi)容信息迅速判斷文章的真假。

在本文中,作者利用一個(gè)“真假新聞”的數(shù)據(jù)集和一個(gè)NaiveBayes分類器,成功開發(fā)了一個(gè)文本分類模型,該模型能夠根據(jù)文本中的內(nèi)容信息迅速判斷文章的真假。

“還沒等真話準(zhǔn)備好,謊話就已經(jīng)跑遍大半個(gè)世界了。”

——溫斯頓丘吉爾

自2016年美國總統(tǒng)大選以來,“假新聞”就一直是政界的主導(dǎo)性話題。很多政治權(quán)威人士稱,政治偏見和不實(shí)的新聞報(bào)道對選舉結(jié)果產(chǎn)生了極大的影響。然而,斯坦福大學(xué)和紐約大學(xué)研究者們則對此言論表示懷疑。但不論如何,不實(shí)的新聞報(bào)道的確是利用了Facebook等社交媒體在網(wǎng)絡(luò)上得到了廣泛傳播。

l“什么是假新聞?”

“假新聞”指的是那些具有明顯誤導(dǎo)性的新聞。但最近,社交媒體和社交用語的發(fā)展正在改變這一定義?,F(xiàn)在,有些人會用“假新聞”這個(gè)詞來反駁那些有悖于他們觀點(diǎn)的事實(shí),最突出的例子就是美國總統(tǒng)特朗普。因此,這樣一個(gè)定義非常模糊的詞語其實(shí)是很容易被惡意使用的。

數(shù)據(jù)科學(xué)界已經(jīng)采取了實(shí)際行動(dòng)來應(yīng)對“假新聞”的挑戰(zhàn)。最近出現(xiàn)了一種Kaggle風(fēng)格的競賽,叫做“假新聞挑戰(zhàn)”;Facebook也正采用人工智能將虛假的新聞報(bào)道從用戶信息中過濾掉。事實(shí)上,打擊虛假新聞實(shí)際上是一個(gè)非常典型的文本分類任務(wù),需要的解決問題也十分簡單,即開發(fā)一個(gè)能夠分辨新聞?wù)婕俚哪P汀?/p>

而這也正是我打算要做的事情。我收集了一些新聞報(bào)道作為模型開發(fā)的數(shù)據(jù)庫,這些新聞報(bào)道有真有假,魚龍混雜。為了開發(fā)能夠辨別文章真假的模型,我還在訓(xùn)練中利用了一個(gè)NaiveBayes分類器。

l數(shù)據(jù)收集

我的訓(xùn)練數(shù)據(jù)包括“真新聞”和“假新聞”,數(shù)據(jù)收集的流程也分為真、假兩個(gè)部分,其中假新聞的收集非常簡單。Kaggle曾發(fā)布了一個(gè)假新聞的數(shù)據(jù)集,該數(shù)據(jù)集中包括了發(fā)表于2016年大選期間的一萬三千篇新聞報(bào)道,因此假新聞的來源完全可以從這個(gè)數(shù)據(jù)集中獲取。

然而,真新聞的獲取就困難多了。為了獲得真實(shí)可靠的新聞報(bào)道,我使用了一個(gè)叫做“AllSides”的網(wǎng)站。這個(gè)網(wǎng)站是專門發(fā)布政界的新聞報(bào)道和評論文章,因此其新聞的真實(shí)性相對有保證。AllSides網(wǎng)站上的文章都是按照主題(環(huán)境、經(jīng)濟(jì)、生育等)和政治偏向(左派、右派和中間派)劃分的。之所以使用AllSides,是因?yàn)檫@個(gè)網(wǎng)站能讓我從眾多政見不同的媒體報(bào)道中,直接獲得上千篇相對真實(shí)的文章報(bào)道。除此之外,AllSides還支持下載文章全文,而《紐約時(shí)報(bào)》就不行了。經(jīng)過一段時(shí)間的數(shù)據(jù)收集,我最終收集到了5279篇“真新聞”。這些“真新聞”都是2015至2016年間,發(fā)表于紐約時(shí)報(bào)、華爾街日報(bào)、美國國家公共電臺等媒體機(jī)構(gòu)的。

最終版的數(shù)據(jù)集總共包含了10558篇新聞報(bào)道,有著文章標(biāo)題、完整的文章內(nèi)容以及文章真假的標(biāo)簽。所有的數(shù)據(jù)內(nèi)容可點(diǎn)擊鏈接查看此github。

l目標(biāo)和期望

一開始我就知道這項(xiàng)建模任務(wù)很難做到盡善盡美。實(shí)際上,我們的任務(wù)就是開發(fā)一個(gè)辨別真假新聞的分類器,并且將開發(fā)過程中獲得的新發(fā)現(xiàn)用于建立更完備、準(zhǔn)確的模型。最初,我認(rèn)為辨別真假新聞其實(shí)跟檢測垃圾郵件差不多。

開發(fā)一個(gè)基于countvectorizer(計(jì)算詞匯的數(shù)量)的模型,或是“tfidf矩陣”(計(jì)算詞匯在數(shù)據(jù)集的其他文章中的使用頻率)的模型只能達(dá)到這種效果。這兩種模型一般會忽視“詞匯排序”和“全文布局”這些重要的因素,比如字?jǐn)?shù)相同的兩篇文章很有可能表達(dá)的是完全不同的內(nèi)容。我并不指望我的模型能熟練地處理文字重疊的新聞報(bào)道,比起這個(gè),我更希望能夠從這個(gè)建模過程得到一些有價(jià)值的見解和經(jīng)驗(yàn)。

l建模

由于這個(gè)模型是關(guān)于文本分類的,所以我使用了一個(gè)NaiveBayes分類器。

組建這樣一個(gè)模型真正需要做的是轉(zhuǎn)換文本(“countvectorizer”VS“tfidfvectorizer”)和選擇文本類型(標(biāo)題或全文),所以我需要處理四對重新配置的數(shù)據(jù)集。

下一步是給“countvectorizer”或“tfidfvectorizer”選擇最優(yōu)參數(shù),實(shí)際上就是用一些最常用的單詞或短語、小寫、刪除停頓詞(比如the、when、there)等。

為了更高效地測試多參數(shù)及其參數(shù)組合的性能,我使用了Sci-kitLearn的“網(wǎng)格搜索”功能。了解更多關(guān)于算法參數(shù)調(diào)優(yōu)的方法,請點(diǎn)擊文字查看教程。

經(jīng)過“網(wǎng)格搜索”的測試,我發(fā)現(xiàn)“countvectorizer”和全文的訓(xùn)練更適合我的模型。“countvectorizer”的最優(yōu)參數(shù)是“非小寫”、“雙詞短語”,詞語在文本庫中出現(xiàn)的最優(yōu)頻率是三次。

正如我在前文中提到的,我對這個(gè)模型的期望并不高。因此這個(gè)模型最終的輸出結(jié)果好的讓我驚訝,甚至有些疑惑。模型的交叉驗(yàn)證準(zhǔn)確度是91.7%,召回值為92.6%,AUC值為95%。

以下是該模型的ROC曲線圖:

如果讓我在這個(gè)曲線圖上選一個(gè)閥值,我會選FPR在0.08左右、TPR在0.90左右的閥值。因?yàn)樵谶@個(gè)點(diǎn)上FPR和TPR的權(quán)衡是相等的。

l結(jié)果及總結(jié)

這些分值其實(shí)并不是最重要的,對模型性能的真正考驗(yàn)讓它辨別非訓(xùn)練數(shù)據(jù)集中的新聞報(bào)道。

在假新聞數(shù)據(jù)集中剩下的5234篇新聞報(bào)道中,模型能夠正確識別出其中的88.2%,這個(gè)數(shù)字比我的交叉驗(yàn)證準(zhǔn)確度低了3.5%,但在我看來這已經(jīng)相當(dāng)不錯(cuò)了。

我曾做過這樣的假設(shè):模型很難對新聞報(bào)道進(jìn)行分類。事實(shí)證明,我的假設(shè)是錯(cuò)的。

盡管我開發(fā)的這個(gè)模型看起來還不錯(cuò),但是考慮到任務(wù)的復(fù)雜性,這很可能只是表象。

為了更好地理解,我們先看看數(shù)據(jù)中“最假”和“最真”的詞。

我利用了從“數(shù)據(jù)學(xué)院”的KevinMarkham借來一項(xiàng)技術(shù),在新聞報(bào)道數(shù)據(jù)集中找到了“最假”和“最真”詞。

這項(xiàng)工作是由一個(gè)兩列、10558行(文本庫中的詞數(shù))的表格開始的。第一列代表某個(gè)詞在一篇“假新聞”中出現(xiàn)的次數(shù),第二列代表某個(gè)詞在一篇“真新聞”中出現(xiàn)的次數(shù)。用某詞在“假新聞”中出現(xiàn)的總次數(shù)除以“假新聞”的篇數(shù),“真新聞”也是同樣的操作。

然后,我新建了一列用于表示“假新聞”和“真新聞”的比值(假新聞/真新聞)。為了避免結(jié)果中出現(xiàn)條件錯(cuò)誤(除數(shù)不能為零),我給所有數(shù)據(jù)值都加了1。這個(gè)比值確實(shí)能夠比較直觀地表示一個(gè)詞究竟有多“真“或者有多“假”,但這絕對不是最完美的。邏輯很簡單,如果一個(gè)詞出現(xiàn)在好多篇“假新聞”里,而只出現(xiàn)在少數(shù)的幾篇“真新聞”中,那么這個(gè)詞的比值就會非常大。

以下是在我的數(shù)據(jù)集中排行前二十的“最假詞”和“最真詞”。

這兩個(gè)圖表反映出的結(jié)果讓人非常疑惑——“最假詞”表中包含了一些典型的網(wǎng)絡(luò)用語,比如PLEASE,Share,Posted,html,還有一些根本不存在的詞,比如“tzrwu”。而“最真詞”主要是政論性文章中的高頻詞、政客的名字,這些詞占了60%。這20個(gè)詞語中7個(gè)有都是政客的名字。這就引發(fā)了一個(gè)問題:政治性文章更有可能是真的嗎?當(dāng)然不是,這些政論性文章中有很多都散布著關(guān)于政客的不實(shí)傳言。

這個(gè)建模過程還存在一個(gè)問題——這些話題會出現(xiàn)很大程度的重疊,正如我們在上面看到的,某個(gè)詞在“真新聞”里出現(xiàn)的頻率不如在“假新聞”中出現(xiàn)的頻率高,并不一定意味著包含這個(gè)詞的文章就一定是虛假的,這只能表示該詞在假新聞里更常見。

事實(shí)上,這些新聞報(bào)道的選取非常具有主觀性。模型使用的“真新聞”數(shù)據(jù)是我選的,“假新聞”是由DanielSieradski組建的“BSDetector”選的。所以在決定這些新聞報(bào)道的真假方面已經(jīng)有很強(qiáng)的主觀性了。政客名字之所以能進(jìn)入“最真詞”排行榜,是因?yàn)椤罢嫘侣劇睌?shù)據(jù)庫中的文章大多都是政治新聞報(bào)道,而且這些新聞報(bào)道的確是相對可靠的新聞來源。

總之,盡管一個(gè)標(biāo)準(zhǔn)的NaiveBayes文本分類模型的確能夠?yàn)榻鉀Q社交媒體發(fā)布不實(shí)消息的問題提供一些思路,但是從專業(yè)的角度看,還是應(yīng)該采用一個(gè)更強(qiáng)大的深度學(xué)習(xí)工具來抗擊假新聞和不實(shí)的言論。

分辨真假新聞給數(shù)據(jù)科學(xué)界帶來了一個(gè)全新的挑戰(zhàn)。在大多數(shù)機(jī)器學(xué)習(xí)任務(wù)中,各個(gè)類別的區(qū)分界限都是很明確的,但在這個(gè)案例中,真假新聞的界限非常模糊。這個(gè)案例再次證明了數(shù)據(jù)科學(xué)界的一個(gè)概念——有時(shí)候,對數(shù)據(jù)的敏感度和熟悉度甚至比模型和工具還重要。

中傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:

凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

關(guān)注伺服與運(yùn)動(dòng)控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動(dòng)公眾號獲取更多資訊

關(guān)注中國傳動(dòng)網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運(yùn)動(dòng)控制
  • 伺服系統(tǒng)
  • 機(jī)器視覺
  • 機(jī)械傳動(dòng)
  • 編碼器
  • 直驅(qū)系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機(jī)界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機(jī)器人
  • 低壓電器
  • 機(jī)柜
回頂部
點(diǎn)贊 0
取消 0