小編注:前段時(shí)間,小屋介紹了吳恩達(dá)老師近期發(fā)起的以數(shù)據(jù)為中心的 AI 競(jìng)賽。吳恩達(dá)老師認(rèn)為:工業(yè)界已經(jīng)具備較為成熟的算法和代碼體系,現(xiàn)在更加缺少的是一套成熟的構(gòu)建工業(yè)化數(shù)據(jù)集的方法論。然而,正如圖靈獎(jiǎng)得主 Judea Pearl 教授所質(zhì)疑的那樣:“在不知道什么是質(zhì)量更好的數(shù)據(jù)的基礎(chǔ)上提升數(shù)據(jù)質(zhì)量是不太現(xiàn)實(shí)的”。對(duì)于這個(gè)問(wèn)題,本文作者由關(guān)系抽取任務(wù)說(shuō)起,探討了一些可能的答案——我們究竟需要怎樣的數(shù)據(jù)?
前段時(shí)間,我的項(xiàng)目正在準(zhǔn)備開(kāi)源發(fā)布,補(bǔ)充項(xiàng)目在一些任務(wù)上的表現(xiàn),以作為開(kāi)源之后可以宣傳的點(diǎn)。我們項(xiàng)目的一大特點(diǎn)是十分擅長(zhǎng)應(yīng)對(duì)挖掘任務(wù),因而我們自然也就想蹭波熱度,在某關(guān)系抽取評(píng)測(cè)任務(wù)上試了一下效果。
在此之前,我們的項(xiàng)目在一些其他挖掘任務(wù)上的表現(xiàn)一直是可以的,但是在那個(gè)關(guān)系抽取數(shù)據(jù)上,我們就翻車了,無(wú)論是我們的 baseline 還是增強(qiáng)模型,都無(wú)法打出來(lái)差異化的分?jǐn)?shù)。其實(shí)簡(jiǎn)單來(lái)講,就是:?jiǎn)渭兪褂脴?biāo)注方法,怎么樣都無(wú)法提升了。
數(shù)據(jù)之殤
實(shí)際上,對(duì)于幾乎所有的公開(kāi)評(píng)測(cè)任務(wù),我都會(huì)本能地懷疑它的數(shù)據(jù)是什么樣子的,尤其在我看到了榜單之后。例如細(xì)粒度實(shí)體識(shí)別任務(wù) CLUENER。它的 baseline 評(píng)測(cè)在某些類別上,連 BiLSTM+CRF 的結(jié)果都已經(jīng)超過(guò)了人類(甚至可以說(shuō)是遠(yuǎn)超)。當(dāng)我看到了這個(gè)榜單,自然就會(huì)本能地懷疑這個(gè)數(shù)據(jù)是有問(wèn)題的。CLUENER 數(shù)據(jù)集暫且按下不表,我們繼續(xù)說(shuō)關(guān)系抽取數(shù)據(jù)集。
對(duì)于讓我的項(xiàng)目遭遇了滑鐵盧的那個(gè)關(guān)系抽取數(shù)據(jù)集,它的主要的問(wèn)題則是:無(wú)論我在模型上做什么樣的改變,效果的差異都是不穩(wěn)定的(更換了隨機(jī)種子之后,不同模型結(jié)構(gòu)的rank也會(huì)改變)。那我自然也要去看一看數(shù)據(jù)有什么問(wèn)題了。
隨機(jī)抽取了 train 和 dev 評(píng)估之后,果然印證了我的思想。在 train 和 dev 上,在單條數(shù)據(jù)粒度上,分別存在 42% 和 37% 的數(shù)據(jù)錯(cuò)誤,其錯(cuò)誤包括關(guān)系錯(cuò)誤、關(guān)系不全,以及句子中不存在的關(guān)系被標(biāo)注成了答案。而我無(wú)論怎么更換模型結(jié)構(gòu),方法也都是簡(jiǎn)簡(jiǎn)單單的標(biāo)注算法,就必然會(huì)存在標(biāo)簽上的沖突。對(duì)于模型來(lái)講,尤其是“學(xué)習(xí)了一些知識(shí)”的預(yù)訓(xùn)練語(yǔ)言模型來(lái)講,自然就 confuse 了。
當(dāng)然我也理解這種數(shù)據(jù)會(huì)出現(xiàn),因?yàn)殛P(guān)系抽取數(shù)據(jù)在構(gòu)造的時(shí)候,基本都是用已有的圖譜 SPO 數(shù)據(jù)去反查文本,通常 S 和 O 在某一個(gè)句子里面共現(xiàn)了,就認(rèn)為該句中存在這種關(guān)系了。
注:SPO 指
這種數(shù)據(jù)構(gòu)造方法當(dāng)然一定是有問(wèn)題的。這個(gè)數(shù)據(jù)的質(zhì)量一看也自然是未經(jīng)review的。甚至說(shuō),在學(xué)界,大家在打榜的絕大多數(shù)公開(kāi)數(shù)據(jù),可能都或多或少存在著不可忽視的噪音問(wèn)題,例如最近在比的某領(lǐng)域比賽的某一個(gè)數(shù)據(jù)之中,就存在這種東西。這讓我不禁有了一個(gè)疑問(wèn):當(dāng)數(shù)據(jù)有不可忽視的噪音問(wèn)題的時(shí)候,榜單上的高分導(dǎo)向的就是更好的模型嗎?如果答案是否定的,那這些比賽的意義在哪里呢?只是在消耗多余的算力,擠占業(yè)務(wù)的用卡時(shí)間嗎?
我們需要什么樣的數(shù)據(jù)
關(guān)系抽取數(shù)據(jù)中存在這樣一個(gè)例子:
汪涵曾多次在天天向上中展示自己高超的廚藝。
這句話,數(shù)據(jù)中標(biāo)出來(lái)的答案是S:天天向上,P:主持人,O:汪涵。乍一看好像沒(méi)有問(wèn)題。但是我們仔細(xì)想一想:如果排除掉所有的背景知識(shí),我們看這個(gè)句子會(huì)得到怎樣的理解?是否真能推斷出“主持人”這一關(guān)系?
排除背景知識(shí),只看句子本身:汪涵貌似是一個(gè)人,天天向上似乎是一個(gè)節(jié)目——汪涵可能參加過(guò)天天向上。這個(gè)是我們通過(guò)中文的常識(shí)知識(shí)和句式知識(shí)能夠推斷出來(lái)的信息。
更進(jìn)一步,即使我們給出一些特化信息,即“汪涵是著名主持人”,天天向上是綜藝節(jié)目”。在帶有這樣的先驗(yàn)下,我們又能推斷出來(lái)什么信息呢?汪涵是一個(gè)主持人,但主持人參加綜藝節(jié)目未必就是主持綜藝節(jié)目。比如主持人馬東參加過(guò)脫口秀大會(huì),但他只是嘉賓。所以,對(duì)于“汪涵”和“天天向上”這兩個(gè)個(gè)體,我們從這句話中還是只能推斷出參加關(guān)系。
那模型怎樣才能知道這個(gè)關(guān)系?看上去只有通過(guò)這個(gè)訓(xùn)練樣本,讓模型自己強(qiáng)行記住這個(gè)關(guān)系了。(當(dāng)然還有一種可能是:模型從別的句子里面學(xué)到了“汪涵主持天天向上”的知識(shí),然后在這個(gè)句子里面應(yīng)用到了。但如果是這樣,那這個(gè)訓(xùn)練樣本的用處是什么呢?)
或許有的朋友會(huì)反駁說(shuō):在訓(xùn)練關(guān)系抽取任務(wù)的時(shí)候,就是想讓模型去過(guò)擬合一些東西的。也就是說(shuō),直接將汪涵和天天向上兩個(gè)實(shí)體完全綁定起來(lái),形成主持關(guān)系,這樣在榜單上就可以打高分了。然而,如果以這樣的方式去擬合S和O的名字,就要保證測(cè)試集和真實(shí)使用場(chǎng)景中一定會(huì)出現(xiàn)類似的情況。
如果過(guò)擬合這個(gè)句式里面出現(xiàn)的S和O一定是主持,一定會(huì)在其他場(chǎng)景中遇到問(wèn)題。比如下面這個(gè)例子:
張杰也多次在快樂(lè)大本營(yíng)上表現(xiàn)了對(duì)謝娜的愛(ài)意。
這句話和“汪涵曾多次在天天向上中展示自己高超的廚藝”的句式十分相像。那張杰和快樂(lè)大本營(yíng)又是什么關(guān)系呢?實(shí)際上,數(shù)據(jù)中甚至可能會(huì)標(biāo)注出張杰和謝娜的夫妻關(guān)系,以及謝娜是快樂(lè)大本營(yíng)的主持人。但這兩條關(guān)系在這句話中都沒(méi)有直接的體現(xiàn)。
我們?cè)倏碈LUENER中的一個(gè)例子:
去年我們憑借《現(xiàn)代戰(zhàn)爭(zhēng)1》大獲成功,其輝煌業(yè)績(jī)讓眾多業(yè)界老手大跌眼鏡。
其中,現(xiàn)代戰(zhàn)爭(zhēng)1被標(biāo)注成為了游戲。
這個(gè)例子,我想我沒(méi)有必要做過(guò)多的解釋了。人沒(méi)打過(guò)這游戲的,確實(shí)標(biāo)不出來(lái)。同理,沒(méi)了解過(guò)賽博朋克2077的人,可能也不太會(huì)知道波蘭蠢驢這個(gè)名字。
(實(shí)際上這個(gè)問(wèn)題也有提到issue里面,但是權(quán)威大佬們也沒(méi)有理會(huì)我......)
另外,還有在研究中文分詞的時(shí)候經(jīng)常會(huì)舉的一個(gè)所謂疑難雜癥般的例子:
南京市長(zhǎng)江大橋
實(shí)際上,這句話兩種切分方式都是合理的,都符合我們的常識(shí)認(rèn)知,只不過(guò)可能有一個(gè)不是事實(shí)。那么其實(shí)我認(rèn)為,對(duì)于模型來(lái)講,就不必過(guò)分糾結(jié)于這條數(shù)據(jù)會(huì)被切分成哪一個(gè)。
模型真正要去區(qū)分的,其實(shí)是下面兩個(gè)句子:
南京長(zhǎng)江大橋位于南京市鼓樓區(qū)下關(guān)浦口區(qū)北之間
南京市長(zhǎng)江大橋因嚴(yán)重違紀(jì)違法問(wèn)題被立案檢查
舉了那么多例子,其實(shí)是想說(shuō):我們?cè)诤饬恳粋€(gè)數(shù)據(jù)好壞時(shí),似乎應(yīng)該遵循這樣一個(gè)邏輯——如果僅利用任務(wù)規(guī)則中允許我們用到的知識(shí),人類能否有能力得到該樣本中給出的答案?如果能,則這條數(shù)據(jù)是一個(gè)好的數(shù)據(jù);如果不能,則一定會(huì)對(duì)模型形成誤導(dǎo)。所以在判定一條數(shù)據(jù)的時(shí)候,我們應(yīng)該去回顧這幾乎本能做出判斷背后的思考過(guò)程。如果我們不知道答案,通過(guò)思考也得不到這個(gè)答案,為什么要讓模型去得到這個(gè)答案呢?
我們?cè)谟脭?shù)據(jù)和任務(wù)的形式去建模這個(gè)世界,并基于此去指導(dǎo)模型去學(xué)習(xí)。這一過(guò)程其實(shí)與我們教育人類幼崽的方式、或者我們自己去理解新知識(shí)的方式,是類似的。畢竟,我們現(xiàn)在還不具備憑空描述知識(shí)的能力,只能把人類一直在經(jīng)歷的學(xué)習(xí)過(guò)程加諸到模型身上。
在預(yù)訓(xùn)練的階段,我們貌似讓模型學(xué)到了部分語(yǔ)法知識(shí),以及通過(guò)大量的事實(shí)知識(shí)讓模型部分學(xué)到了常識(shí)知識(shí),但遠(yuǎn)遠(yuǎn)沒(méi)做到讓模型去記憶事實(shí),實(shí)際上也記憶不過(guò)來(lái),又怎么指望模型在任務(wù)中直接就能搞定那些僅僅包含事實(shí)的判定呢?
題外話,由于我是做解析的,所以實(shí)際上我是沒(méi)有那么支持領(lǐng)域預(yù)訓(xùn)練的。因?yàn)榫唧w領(lǐng)域和所謂通用域的區(qū)別,更多是在于專名(命名實(shí)體、術(shù)語(yǔ)等)的區(qū)別,但表達(dá)是相對(duì)固定的。還是類比人類,哪怕一個(gè)人不是醫(yī)生,他看到自己的病歷的時(shí)候,除了可能看不懂疾病、臨床表現(xiàn)、藥物,醫(yī)療程序等等的專業(yè)術(shù)語(yǔ),也能大概能看懂這個(gè)病歷的一些意思。無(wú)論領(lǐng)域?qū)I(yè)性多強(qiáng),它也是“人話”。在做解析挖掘的時(shí)候,我們也應(yīng)讓模型著重去看懂人話的部分,而不是依賴那些專業(yè)的部分。是否不需要讓模型見(jiàn)過(guò)那些專業(yè)的東西,也能做到效果不錯(cuò)?當(dāng)然這個(gè)思路比單純?nèi)プ瞿P头爆嵉枚?,產(chǎn)出也慢得多。
任務(wù)回歸應(yīng)用
回歸到更本源的問(wèn)題,關(guān)系抽取任務(wù)是為了做什么的?
其實(shí)最初關(guān)系抽取任務(wù)是為了輔助構(gòu)造結(jié)構(gòu)化知識(shí)。隨著知識(shí)圖譜越來(lái)越多,關(guān)系抽取模型已然可以基于已有數(shù)據(jù)知道一些知識(shí)了。此時(shí),我們的需求可能就變成了“通過(guò)新的事實(shí)描述文本去挖掘補(bǔ)充新的知識(shí)”。更準(zhǔn)確地說(shuō),我們希望:模型能夠基于已有知識(shí)圖譜中的信息,從新的文本中挖掘出新的關(guān)系,從而與時(shí)俱進(jìn)地補(bǔ)充和更新現(xiàn)有知識(shí)圖譜。
當(dāng)然這種“新的關(guān)系”不是類似于“爸爸的爸爸是爺爺”的關(guān)系。工業(yè)應(yīng)用已經(jīng)證明了,這種關(guān)系寫(xiě)規(guī)則更香。需要補(bǔ)充的是真正的新關(guān)系,比如新婚,比如新參演電影,比如新主持節(jié)目等。
所以其實(shí)在定義任務(wù)的時(shí)候,應(yīng)該詢問(wèn)這樣幾個(gè)問(wèn)題:
這個(gè)任務(wù)想要導(dǎo)向什么樣的模型?
這個(gè)任務(wù)做好了之后能干什么?
這個(gè)任務(wù)能不能做?
而不是直接拍腦門(mén)想出來(lái)了這么個(gè)任務(wù),然后就隨手弄一波數(shù)據(jù)發(fā)出來(lái)了。這樣只會(huì)讓學(xué)界與工業(yè)界越來(lái)越剝離,只會(huì)讓研究越來(lái)越?jīng)]有用,只會(huì)讓頂會(huì)做的這種種事情越來(lái)越變成消耗多余的電力。
同時(shí)在數(shù)據(jù)上,也應(yīng)該有上面所提到的思考。給出的數(shù)據(jù),也應(yīng)該符合實(shí)際會(huì)應(yīng)用到的需求?,F(xiàn)在看來(lái),部分領(lǐng)域任務(wù)或許能做到這個(gè)。
否則,最終也只會(huì)導(dǎo)向越來(lái)越無(wú)意義的卷。
所幸,或許,業(yè)界有去重新思考數(shù)據(jù)的趨勢(shì),例如Ng老師的新比賽。但,前路茫茫,不知這束光,是否長(zhǎng)久。
責(zé)任編輯:lq6
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7256瀏覽量
91884 -
模型
+關(guān)注
關(guān)注
1文章
3521瀏覽量
50427
原文標(biāo)題:在錯(cuò)誤的數(shù)據(jù)上,刷到 SOTA 又有什么意義?
文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
單向光閘:用光束筑起數(shù)據(jù)安全的“光之墻”
PLC數(shù)據(jù)采集之全自動(dòng)薄膜橫切機(jī)物聯(lián)網(wǎng)解決方案

AI時(shí)代企業(yè)需要怎樣的數(shù)據(jù)存儲(chǔ)

DLP NIRscan Nano GUI只是采集光譜數(shù)據(jù)?導(dǎo)出的數(shù)據(jù),需要自行建模嗎?
DLP4710LC開(kāi)發(fā)模塊數(shù)據(jù)的加載方式是怎樣的?
ADS1298R PACE_OUT1和PACE_OUT2這兩條引腿究竟是輸入還是輸出?有什么用?怎樣使用?
ADS1291讀取到的數(shù)據(jù)不知是否是溫度數(shù)據(jù),而且給芯片加熱后數(shù)據(jù)沒(méi)有變化,為什么?
ADS803是如何工作的?怎樣將數(shù)據(jù)采集回來(lái),并讀出來(lái)?
定制鋰電池究竟需要幾天時(shí)間

評(píng)論