網(wǎng)上有很多關(guān)于pos機(jī)測(cè)試工作流程,用 CheckList 對(duì) NLP 模型進(jìn)行行為測(cè)試的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)測(cè)試工作流程的問題,今天pos機(jī)之家(m.dsth100338.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來看下吧!
本文目錄一覽:
pos機(jī)測(cè)試工作流程
引用
Ribeiro, M. T., Wu, T., Guestrin, C., & Singh, S.(2020). Beyond Accuracy: Behavioral Testing of NLP models with CheckList. Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics.
摘要
雖然傳統(tǒng)評(píng)估模型好壞的方法是在測(cè)試集上觀察精度指標(biāo),但它往往高估了 NLP 模型的性能,而評(píng)估模型的其他方法要么側(cè)重于個(gè)別任務(wù),要么側(cè)重于特定行為。受軟件工程中行為測(cè)試原則的啟發(fā),本文引入了 CheckList,一種測(cè)試 NLP 模型的任務(wù)無關(guān)的方法。CheckList 包括一個(gè)通用語言能力和測(cè)試類型的矩陣以及一個(gè)可快速生成大量不同的測(cè)試案例的軟件工具。本文將通過三個(gè)任務(wù)的測(cè)試來說明 CheckList 的效用,在商業(yè)和先進(jìn)的模型中識(shí)別關(guān)鍵故障。在一項(xiàng)用戶研究中,一個(gè)負(fù)責(zé)商業(yè)情感分析模型的團(tuán)隊(duì)在一個(gè)廣泛測(cè)試的模型中發(fā)現(xiàn)了新的可操作的 bug。在另一項(xiàng)用戶研究中,相較于沒有使用 CheckList 的用戶,使用 CheckList 的 NLP 使用者創(chuàng)建了兩倍的測(cè)試,并發(fā)現(xiàn)了近乎三倍的 bug。
1.介紹
訓(xùn)練 NLP 模型的主要目標(biāo)之一是泛化。由于其他測(cè)試集進(jìn)行測(cè)試是昂貴且不允許快速迭代的,所以評(píng)估的標(biāo)準(zhǔn)范式是劃分訓(xùn)練驗(yàn)證-測(cè)試集評(píng)估模型的準(zhǔn)確性。雖然在驗(yàn)證集的表現(xiàn)是一個(gè)有用的指標(biāo),但它通常并不全面,并且包含與訓(xùn)練數(shù)據(jù)相同的偏差,這樣其實(shí)際的表現(xiàn)可能被高估。此外,通過將性能總結(jié)為一個(gè)單一的統(tǒng)計(jì)量,就很難弄清楚模型的失敗之處,甚者也無法得知如何修復(fù)它。
目前已經(jīng)提出了一些評(píng)價(jià)方法,如評(píng)估對(duì)噪聲的魯棒性或?qū)剐宰兓⒐叫?、邏輯一致性,可解釋性,診斷數(shù)據(jù)集以及相互間的錯(cuò)誤分析。但這些方法要么關(guān)注個(gè)別任務(wù),如問答或自然語言推理,要么關(guān)注少數(shù)能力(如魯棒性),因此沒有為如何評(píng)估模型提供全面的指導(dǎo)。另一方面,軟件工程研究已經(jīng)提出了各種測(cè)試復(fù)雜軟件系統(tǒng)的范式和工具。特別是“行為測(cè)試”(也被稱為黑盒測(cè)試),它關(guān)注的是通過驗(yàn)證輸入輸出行為來測(cè)試系統(tǒng)的不同能力,而無需對(duì)內(nèi)部結(jié)構(gòu)有任何了解。
本文提出了 CheckList,一種新的評(píng)估方法和配套工具,用于對(duì) NLP 模型進(jìn)行全面的行為測(cè)試。CheckList 通過提供一個(gè)語言能力的清單,指導(dǎo)用戶進(jìn)行測(cè)試,這些能力適用于大多數(shù)任務(wù)。為了將潛在的能力故障分解成具體的行為,CheckList 引入了不同的測(cè)試類型,如在某些擾動(dòng)下的預(yù)測(cè)不變性,或在一組“sanity checks”上的表現(xiàn)。最后,本文對(duì) CheckList 的實(shí)現(xiàn)包括多個(gè)抽象,幫助用戶輕松生成大量的測(cè)試案例,如模板、詞典、通用擾動(dòng)、可視化和上下文感知建議。
本文使用 CheckList 對(duì)商業(yè)情感分析模型進(jìn)行了測(cè)試,其結(jié)果如圖 1 所示。潛力測(cè)試被結(jié)構(gòu)化為一個(gè)概念矩陣,能力為行,測(cè)試類型為列。作為對(duì)模型否定能力的測(cè)試,使用最小功能測(cè)試(MFT),即針對(duì)特定行為設(shè)計(jì)的簡(jiǎn)單測(cè)試案例(圖 1A)。用預(yù)先建立的詞庫生成大量簡(jiǎn)單的例子,填入一個(gè)模板(“I {NEGATION} {POS_VERB} the {THING}.”),并計(jì)算該模型在這些例子上的失敗率。命名實(shí)體識(shí)別(NER)是另一項(xiàng)能力,在圖 1B 中用不變性測(cè)試(INV)進(jìn)行測(cè)試—這是一種不改變模型輸出的擾動(dòng)測(cè)試。在這種情況下,改變位置名稱不應(yīng)改變情感值。在圖 1C 中,用定向預(yù)期測(cè)試(DIR)來測(cè)試模型的詞匯表--對(duì)已知預(yù)期結(jié)果的輸入進(jìn)行擾動(dòng)--添加負(fù)面短語并檢查情緒是否變得更加積極。正如這些例子所表明的,矩陣作為一個(gè)指導(dǎo),提示用戶用不同的測(cè)試類型來測(cè)試每個(gè)功能。
圖 1 CheckListing 一個(gè)商業(yè)情感分析模型。測(cè)試的結(jié)構(gòu)是一個(gè)概念矩陣,能力為行,測(cè)試類型為列(A、B 和 C 中每種類型的例子)
通過對(duì)三個(gè) NLP 任務(wù)的實(shí)例化來證明 CheckList 的實(shí)用性和通用性:情感分析、重復(fù)問題檢測(cè)和機(jī)器理解。雖然傳統(tǒng)的基準(zhǔn)表明,這些任務(wù)的模型與人類一樣準(zhǔn)確,但 CheckList 揭示了各種嚴(yán)重的錯(cuò)誤,商業(yè)和研究模型不能有效地處理基本的語言現(xiàn)象,如否定、命名實(shí)體、指代、語義角色標(biāo)簽等,因?yàn)樗鼈兣c每個(gè)任務(wù)有關(guān)。
2.CheckList
2.1能力
CheckList 鼓勵(lì)用戶考慮不同的自然語言能力在手頭的任務(wù)上是如何體現(xiàn)的,并創(chuàng)建測(cè)試來評(píng)估模型的每一項(xiàng)能力。例如,Vocabulary+POS 能力涉及到模型是否有必要的詞匯量,以及它是否能夠適當(dāng)?shù)靥幚砭哂胁煌Z篇的詞匯對(duì)任務(wù)的影響。對(duì)于情感分析的任務(wù),可能會(huì)想到檢查模型是否能夠識(shí)別帶有積極、消極或中性情緒的詞語,并進(jìn)一步驗(yàn)證其在“This was a good flight.”這樣的例子中的表現(xiàn)。對(duì)于 QQP,可能希望該模型能夠理解修飾語對(duì)問題的區(qū)分,例如(“Is John a teacher?”,“Is John an accredited teacher?”)。對(duì)于機(jī)器理解任務(wù),該模型需要將比較級(jí)和最高級(jí)聯(lián)系起來,例如(Context:“Mary is smarter than John.”,Q:“Who is the smartest kid?”,A:“Mary”)。
本文建議用戶至少要考慮以下能力。Vocabulary+POS(對(duì)任務(wù)來說重要的詞或詞的類型)、分類法(同義詞、反義詞等)、穩(wěn)健性(對(duì)拼寫錯(cuò)誤、不相關(guān)的變化等)、NER(適當(dāng)?shù)乩斫饷膶?shí)體)、公平性、時(shí)態(tài)(理解事件的順序)、否定、指代、語義角色標(biāo)簽(理解代理、對(duì)象等角色)和邏輯(處理對(duì)稱性、一致性和連詞的能力)。本文將在第 3 節(jié)提供如何測(cè)試這些能力的例子(表 1、2 和 3)。這個(gè)能力清單并不詳盡,但對(duì)于用戶而言是一個(gè)起點(diǎn),用戶還應(yīng)該提出針對(duì)他們的任務(wù)或領(lǐng)域的其他能力。
2.2測(cè)試類型
本文提示用戶用三種不同的測(cè)試類型(在可能的情況下)來評(píng)估每個(gè)功能:最小功能測(cè)試、不變性和定向期望測(cè)試(矩陣中的列)。
最小功能測(cè)試(MFT),受軟件工程中單元測(cè)試的啟發(fā),是一個(gè)簡(jiǎn)單的例子(和標(biāo)簽)的集合,用于檢查能力中的行為。MFTs 類似于創(chuàng)建小而集中的測(cè)試數(shù)據(jù)集,特別適用于檢測(cè)模型何時(shí)使用快捷方式處理復(fù)雜的輸入而不實(shí)際掌握功能。上一節(jié)中的 Vocabulary+POS 例子都是 MFTs。
本文還引入了兩個(gè)額外的測(cè)試類型,其靈感來自于軟件變形測(cè)試。不變性測(cè)試(INV)是指對(duì)輸入標(biāo)簽進(jìn)行擾動(dòng)時(shí),期望模型預(yù)測(cè)保持不變。不同的功能需要不同的擾動(dòng)函數(shù),例如,更改情感分析的 NER 功能的位置名稱(圖 1B),或引入拼寫錯(cuò)誤來測(cè)試魯棒性功能。方向期望測(cè)試(DIR)類似,只是標(biāo)簽預(yù)期會(huì)以某種方式改變。例如,如果在針對(duì)航空公司的推文末尾加上“You are lame.”,預(yù)計(jì)這種情緒不會(huì)變得更積極(圖 1C)。期望值也可能是一個(gè)目標(biāo)標(biāo)簽,例如,僅替換 QQP 中一個(gè)問題中的位置,如(“How many people are there in England?”,“What is the population of England -> Turkey?”),確保問題不重復(fù)。INVs 和 DIRs 允許在無標(biāo)簽的數(shù)據(jù)上測(cè)試模型--它們測(cè)試的行為不依賴于真實(shí)標(biāo)簽,而是依賴于應(yīng)用擾動(dòng)后預(yù)測(cè)之間的關(guān)系(不變性、單調(diào)性等)。
2.3生成大規(guī)模的測(cè)試案例
用戶可以從頭開始創(chuàng)建測(cè)試案例,或者通過擾動(dòng)現(xiàn)有的數(shù)據(jù)集來創(chuàng)建。從零開始可以更容易地為在原始數(shù)據(jù)集中沒有被充分表示或混淆的特定現(xiàn)象創(chuàng)建少量高質(zhì)量的測(cè)試用例。然而,從頭開始寫,需要極大的創(chuàng)造力和努力,往往導(dǎo)致測(cè)試的覆蓋率低,或者測(cè)試成本高、耗時(shí)長(zhǎng)。擾動(dòng)函數(shù)更難制作,但可以一次生成許多測(cè)試案例。為了支持這兩種情況,本文提供了各種抽象,以擴(kuò)大從頭開始的測(cè)試創(chuàng)建,使擾動(dòng)更容易制作。
模板:測(cè)試用例和擾動(dòng)通??梢员桓爬橐粋€(gè)模板,以便在更多的輸入上測(cè)試模型。在圖 1 中,用模板“I{NEGATION}{POS_VERB}the{THING}.”概括了“I didn’t love the food.”,其中NEGATION={didn’t,can’t say I,...},{POS_VERB}={love,like,...},{THING}={food,flight,service,...},并用笛卡爾乘積生成所有測(cè)試案例。
擴(kuò)展模板:雖然模板有助于擴(kuò)大測(cè)試案例的生成,但是它們?nèi)匀灰蕾囉谟脩舻膭?chuàng)造力來為每個(gè)占位符創(chuàng)建填充值。本文為用戶提供一個(gè)抽象,在這個(gè)抽象中,他們屏蔽模板的一部分,并獲得用于填充屏蔽的語言模型的建議,例如,“I really {mask} the flight”生成{enjoyed, liked, love, regret,…},用戶可以過濾成積極、消極和中性的填充列表,然后在多個(gè)測(cè)試中重復(fù)使用(圖 2)。有時(shí),RoBERTa 的建議可以不經(jīng)過濾而使用,例如,“This is a good{mask}”會(huì)產(chǎn)生多個(gè)不需要過濾的名詞。它們也可以用于擾動(dòng)中,例如,在上下文中替換諸如“that”或“the”之類的中性詞(表 1 中的 Vocabulary+POS INV 示例)。RoBERTa 建議可以與 WordNet 類別(同義詞,反義詞等)相結(jié)合,例如,在擾動(dòng)中只選擇與上下文相適應(yīng)的同義詞。此外,本文還提供了通用類別的其他常見詞,如命名實(shí)體(常見的男性和女性的名字/姓氏,城市,國(guó)家)和受保護(hù)的群體形容詞(國(guó)籍,宗教,性別和性取向等)。
圖 2 用遮蔽的語言模型進(jìn)行模板設(shè)計(jì)?!癐 really {mask} the flight.”產(chǎn)生的用戶可以交互式地過濾成積極的、消極的
和中性填充列表動(dòng)詞
表 1 情感分析的一系列測(cè)試。所有的例子(右)都是至少一個(gè)模型的失敗
3.用 CheckList 測(cè)試 SOTA 模型
情感分析:由于社交媒體被列為這些商業(yè)模型的使用案例,故本文在該領(lǐng)域進(jìn)行測(cè)試,并使用未標(biāo)記的航空公司推文數(shù)據(jù)集進(jìn)行 INV4 和 DIR 擾動(dòng)測(cè)試。表 1 中列出了失敗率高的子集。Vocab.+POS MFTs 是健全性檢查,希望模型能夠適當(dāng)?shù)靥幚沓R姷闹行曰驇Ц星樯实脑~。BERT-base 和 RoB 在中性預(yù)測(cè)方面表現(xiàn)很差(它們只在二進(jìn)制標(biāo)簽上訓(xùn)練)。令人驚訝的是,谷歌和亞馬遜的模型在明顯是中性的句子上不合格(7.6%和 4.8%),而谷歌在非中性的健全性檢查(例如,“I like this seat.”)上也未通過(15%)。在 DIR 測(cè)試中,當(dāng)加入明顯的積極短語(如“You are extraordinary.”)時(shí),微軟和谷歌預(yù)測(cè)的情感分?jǐn)?shù)(12.6%和 12.4%)大幅下降,對(duì)消極短語(如“You are lame.”)上升(谷歌:34.6%)。
商業(yè)模型沒有通過簡(jiǎn)單的公平性理智檢查,如“I am a black woman.”(模板:“I am a {PROTECTED{NOUN}.”),總是把它們預(yù)測(cè)為中性。與軟件工程類似,沒有測(cè)試失敗并不意味著這些模型是公平的--只是它們不足以通過這些簡(jiǎn)單的測(cè)試。另一方面,當(dāng)PROTECTED是黑人、無神論者、同性戀和女同性戀時(shí),BERT-base 總是預(yù)測(cè)為消極情感,而對(duì)亞洲人、異性戀等則預(yù)測(cè)為積極情感。
除了依賴于預(yù)測(cè)“中性”的測(cè)試外,BERT-base 和 RoB 在其他幾乎所有的測(cè)試中都比所有商業(yè)模型做得更好。這是一個(gè)令人驚訝的結(jié)果,因?yàn)樯虡I(yè)模型將社交媒體作為一個(gè)用例,并通過客戶反饋進(jìn)行定期測(cè)試和改進(jìn),而 BERT-base 和 RoB 是在 SST-2 數(shù)據(jù)集(電影評(píng)論)上訓(xùn)練的研究模型。最后,即使 BERT-base 和 RoB 在包含某種否定形式(實(shí)例的 18%)的 SST-2 驗(yàn)證集的子集上相當(dāng)準(zhǔn)確(分別為 91.5%,93.9%),也無法通過簡(jiǎn)單否定形式的 MFT。
Quora問題對(duì):對(duì)雖然 BERT-base 和 RoB 在基準(zhǔn)測(cè)試中超過了 QQP 的人類準(zhǔn)確性,但表 2 中的測(cè)試子集表明,這些模型遠(yuǎn)遠(yuǎn)不能解決問題釋義問題,并且很可能依賴捷徑獲得高精度。
表 2 對(duì) Quora 問題對(duì)的測(cè)試選擇。所有的例子(右邊)都是至少一個(gè)模型的失敗
兩種模式都缺乏對(duì)任務(wù)來說至關(guān)重要的技能:忽略了詞匯測(cè)試中的重要修飾語,缺乏對(duì)常用詞的同義詞和反義詞的基本了解。此外,兩者對(duì)錯(cuò)別字或簡(jiǎn)單的轉(zhuǎn)述都不健全。NER 測(cè)試的失敗率表明,這些模型依賴捷徑,例如過于依賴命名實(shí)體,而不是理解命名實(shí)體及其對(duì)問題是否重復(fù)的影響。
令人驚訝的是,這些模型往往不能進(jìn)行簡(jiǎn)單的時(shí)間區(qū)分(如 is 不等同與used to be 和 before 不等同于 after),也不能區(qū)分簡(jiǎn)單的指代(he 不等同于 she)。在 SRL 測(cè)試中,兩個(gè)模型都不能處理指代/謂語的變化,或主動(dòng)/被動(dòng)的交換。最后,當(dāng)問題順序被翻轉(zhuǎn)時(shí),BERT-base 和 RoB 的預(yù)測(cè)分別有 4.4%和 2.2%的變化,未能滿足基本的任務(wù)要求。
機(jī)器理解:表 3 中的 Vocab+POS 測(cè)試顯示,BERT-base 通常不能正確掌握強(qiáng)度修飾詞和比較/最高級(jí)。它在簡(jiǎn)單的分類測(cè)試中也失敗了,如將屬性(大小、顏色、形狀)與形容詞相匹配,區(qū)分動(dòng)物-交通工具或工作-國(guó)籍,或涉及反義詞的比較。
表 3 機(jī)器理解的測(cè)試選擇
無論是在問題還是上下文中,模型似乎都都無法處理時(shí)間概念(如之前,之后,最后和第一個(gè))或簡(jiǎn)單的否定句。它似乎也沒有理解基本的的指代,掌握簡(jiǎn)單的主語/賓語或主動(dòng)/被動(dòng)區(qū)別(SRL),所有這些都是真正理解句子的關(guān)鍵。最后,該模型似乎有某些偏見,例如,對(duì)于簡(jiǎn)單的否定模板“{P1} is not a {PROF}, {P2} is.”作為上下文,“Who is a {PROF}?”作為問題,如果我們將PROF=doctor,{P1}設(shè)為男性名字,{P2}設(shè)為女性名字(例如,“John is not a doctor, Mary is.”;“Who is a doctor?”),模型錯(cuò)誤的概率有 89.1%(選擇男人作為醫(yī)生)。如果男女名字調(diào)換,模型的錯(cuò)誤率僅有 3.2%(女性被預(yù)測(cè)為醫(yī)生)。如果PROF=secretary,它只有 4.0%的概率認(rèn)為男性是秘書,而 60.5%的概率認(rèn)為女性是秘書。
4. 用戶評(píng)價(jià)
4.1 CheckListing一個(gè)商業(yè)系統(tǒng)
我們聯(lián)系了負(fù)責(zé)微軟作為服務(wù)出售的通用情感分析模型的團(tuán)隊(duì)(表 1 中的 q)。由于它是一個(gè)面向公眾的系統(tǒng),該模型的評(píng)估程序比研究系統(tǒng)更全面,包括公開的基準(zhǔn)數(shù)據(jù)集和內(nèi)部建立的重點(diǎn)基準(zhǔn)(如否定句、表情符號(hào))。此外,由于該服務(wù)是成熟的,有廣泛的客戶群,因此它經(jīng)歷了許多發(fā)現(xiàn)錯(cuò)誤然后修復(fù)的過程。本文的目標(biāo)是驗(yàn)證 CHECKLIST 在這種模型已經(jīng)進(jìn)行了廣泛測(cè)試的情況下,是否還能體現(xiàn)其價(jià)值。
我們邀請(qǐng)?jiān)搱F(tuán)隊(duì)參加了一場(chǎng)持續(xù)約 5 小時(shí)的 CheckList 會(huì)議。我們介紹了 CheckList(沒有介紹已經(jīng)創(chuàng)建的測(cè)試),并要求他們使用該方法來測(cè)試他們自己的模型。進(jìn)一步幫助他們實(shí)現(xiàn)他們的測(cè)試,以減少學(xué)習(xí) CheckList 軟件組件的額外認(rèn)知負(fù)擔(dān)。該團(tuán)隊(duì)集思廣益,提出了大約 30 個(gè)涵蓋所有能力的測(cè)試,其中一半是 MFTs,其余的大致平均分配給 INV 和 DIR。由于時(shí)間限制,僅實(shí)施了其中的 20 個(gè)測(cè)試。這些測(cè)試涵蓋了許多本文測(cè)試過的相同的功能(第 3 節(jié)),經(jīng)常使用不同的模板,但也包括我們從未想到的功能。例如,他們測(cè)試了該模型是否正確處理了來自推特駝峰式標(biāo)簽的情感(如“#IHateYou”、“#ILoveYou”)、隱性否定(如“I wish it was good”)等。此外,他們還提出了新的測(cè)試能力,例如處理不同的長(zhǎng)度(句子與段落)和依賴于隱含期望的情緒(例如,“There was no {AC}” when {AC} is expected)。
該團(tuán)隊(duì)認(rèn)為 CHECKLIST 非常有用:(1)他們測(cè)試了他們沒有考慮過的功能,(2)他們測(cè)試了他們考慮過但不在基準(zhǔn)中的能力,以及(3)即使是他們有基準(zhǔn)的能力(例如否定),也通過 CheckList 進(jìn)行了更徹底和系統(tǒng)的測(cè)試。他們發(fā)現(xiàn)了許多以前未知的錯(cuò)誤,并計(jì)劃在下一次模型迭代中修復(fù)這些錯(cuò)誤。最后,他們表示一定會(huì)將 CheckList 納入他們的開發(fā)周期,并請(qǐng)求訪問我們的源碼。這次會(huì)議,再加上在表 1 中為三個(gè)獨(dú)立的商業(yè)模型發(fā)現(xiàn)的各種 bug,表明 CheckList 對(duì)即使在經(jīng)過壓力測(cè)試后已在使用的模型也很有用。
4.2用戶研究:CheckList MFTs
我們進(jìn)行了一項(xiàng)用戶研究,目的是為在一個(gè)更加可控的環(huán)境中進(jìn)一步評(píng)估 CheckList 的不同子集,并驗(yàn)證是否即使是沒有任何任務(wù)經(jīng)驗(yàn)的用戶也能發(fā)現(xiàn)模型中的錯(cuò)誤。我們招募了 18 名至少有中級(jí) NLP 經(jīng)驗(yàn)的參與者(8 名來自工業(yè)界,10 名來自學(xué)術(shù)界),并讓他們?cè)?QQP 上測(cè)試,時(shí)間為兩小時(shí)(包括指導(dǎo)),使用 Jupyter notebook。參與者可以訪問 QQP 的驗(yàn)證數(shù)據(jù)集,并被指示創(chuàng)建測(cè)試,探索模型的不同功能。我們把參與者平均分成三種情況:在 Unaided 中,我們沒有給他們進(jìn)一步的指示,模擬商業(yè)系統(tǒng)的現(xiàn)狀(甚至在基準(zhǔn)數(shù)據(jù)集之外編寫額外測(cè)試的做法在研究模型中也不常見)。在 Cap.only 中,只提供第 2.1 節(jié)中列出的能力的簡(jiǎn)短描述作為測(cè)試建議,而在 Cap.+templ.中,則進(jìn)一步向他們提供第 2.3 節(jié)中描述的模板和填寫工具。只有一個(gè)參與者(在 Unaided)之前有 QQP 的經(jīng)驗(yàn)。由于研究時(shí)間較短,所以只要求他們編寫 MFTs 的各種情況。
將結(jié)果顯示在表 4 中。即使用戶在使用 CHECKLIST 時(shí)不得不分析更多的指令并學(xué)習(xí)一種新工具,但他們?nèi)詾槟P蛣?chuàng)建了更多的測(cè)試。此外,模板和掩蔽語言模型建議幫助用戶在 Cap.+templ 中為每個(gè)測(cè)試生成大量測(cè)試用例。
表 4 用戶研究結(jié)果:前三行表示創(chuàng)建的測(cè)試數(shù)量,每個(gè)測(cè)試的測(cè)試案例數(shù)量和測(cè)試的能力數(shù)量。用戶報(bào)告他們研究結(jié)果的嚴(yán)重程度(最后兩行)
用戶在 Cap.only 和 Cap.+templ.上探索了更多的功能(事后對(duì)功能的測(cè)試進(jìn)行了注釋);在 Unaided 中,參與者只測(cè)試了 Robustness、Vocabulary+POS、Taxonomy 和少數(shù) SRL 實(shí)例,而其他條件下的參與者則涵蓋了所有功能。在 Cap.only 和 Cap.+templ.中的用戶共同提出了相當(dāng)于表 2 中幾乎所有 MFTs 相當(dāng)?shù)臏y(cè)試,以及更多我們沒有考慮過的測(cè)試。在 Unaided 和 Cap.only 的用戶往往不會(huì)發(fā)現(xiàn)更多的 bug,因?yàn)樗麄內(nèi)狈y(cè)試案例的多樣性,即使是在測(cè)試正確的概念時(shí)(如否定)。
在實(shí)驗(yàn)結(jié)束時(shí),要求用戶對(duì)他們?cè)诿總€(gè)特定測(cè)試中觀察到的故障的嚴(yán)重程度進(jìn)行評(píng)估,采用 5 分制。在表 4 中報(bào)告了被發(fā)現(xiàn)的錯(cuò)誤的嚴(yán)重程度總和(對(duì)于嚴(yán)重程度至少為 2 的測(cè)試),以及嚴(yán)重程度大于或等于 3 的測(cè)試的數(shù)量(過濾掉小錯(cuò)誤)。注意到,使用 CheckList(僅 Cap.only 和 Cap.+templ.)的用戶在模型中發(fā)現(xiàn)了比對(duì)照條件(Unaided)下的用戶更嚴(yán)重的問題(以總嚴(yán)重度或#bug 來衡量)。我們與新用戶(他沒有創(chuàng)建任何測(cè)試)一起對(duì)這些錯(cuò)誤進(jìn)行了另一輪嚴(yán)重性評(píng)估,并獲得了與自己報(bào)告的嚴(yán)重性幾乎相同的匯總結(jié)果。
研究結(jié)果是令人激動(dòng):通過使用 CheckList 的一個(gè)子集,沒有經(jīng)驗(yàn)的用戶能夠在短短 2 小時(shí)內(nèi)找到 SOTA 模型中的重大錯(cuò)誤。此外,當(dāng)被問及如何評(píng)價(jià) CheckList 的不同方面(1-5 分),用戶表示測(cè)試會(huì)話幫助他們了解更多的模型(4.2-5)知識(shí),更全面地測(cè)試模型(4.1-4.9),模板(3.2-5)也是如此。
5.相關(guān)工作
評(píng)估特定語言能力的一種方法是創(chuàng)建具有挑戰(zhàn)性的數(shù)據(jù)集。Belinkov 和 Glass(2019)注意到這種方法的好處,如對(duì)數(shù)據(jù)的系統(tǒng)控制,也有缺點(diǎn),如規(guī)模小和缺乏與“真實(shí)”數(shù)據(jù)的相似性。此外,他們還指出,大多數(shù)挑戰(zhàn)性的數(shù)據(jù)集是針對(duì)自然語言推理的。而本文的目標(biāo)不是讓 CheckList 取代挑戰(zhàn)或基準(zhǔn)數(shù)據(jù)集,而是對(duì)它們進(jìn)行補(bǔ)充。我們認(rèn)為 CheckList 保持了挑戰(zhàn)集的許多優(yōu)點(diǎn),同時(shí)減輕了它們的缺點(diǎn):用模板從頭開始編寫例子提供了系統(tǒng)的控制,而基于擾動(dòng)的 INV 和 DIR 測(cè)試允許在無標(biāo)簽的、自然發(fā)生的數(shù)據(jù)中測(cè)試行為。雖然許多挑戰(zhàn)集專注于極端或困難的情況,但 MFTs 也集中在給定能力的簡(jiǎn)單情況下,發(fā)現(xiàn)嚴(yán)重的錯(cuò)誤。最后,用戶研究表明,CheckList 可以有效地用于各種任務(wù),用戶在一天內(nèi)創(chuàng)建了一個(gè)完整的情感分析測(cè)試套件,在兩個(gè)小時(shí)內(nèi)創(chuàng)建了 QQP 的 MFTs,兩者都揭示了以前未知的嚴(yán)重錯(cuò)誤。
隨著端到端深度模型的普及,社區(qū)已經(jīng)轉(zhuǎn)向“探測(cè)”,即在編碼器的中間表示上訓(xùn)練感興趣的語言現(xiàn)象(如 NER)的探測(cè)模型。沿著類似的思路,以前關(guān)于詞嵌入的工作尋找嵌入的屬性和下游任務(wù)執(zhí)行之間的相關(guān)性。雖然作為分析方法很有趣,但這些并沒有讓用戶了解微調(diào)(或端到端)模型如何處理最終任務(wù)的語言現(xiàn)象。例如,雖然 Tenney 等人(2019)發(fā)現(xiàn)可以使用 BERT 訓(xùn)練非常準(zhǔn)確的NER 模型(96.7%),但我們發(fā)現(xiàn) BERT 在 QQP 或 SST-2 上微調(diào)后顯示出嚴(yán)重的 NER 問題。
現(xiàn)有的擾動(dòng)技術(shù)旨在評(píng)估 NLP 模型的特定行為能力,如邏輯一致性和對(duì)噪音的魯棒性等。CheckList 為這類技術(shù)提供了一個(gè)框架,以系統(tǒng)地評(píng)估這些技術(shù)和其他各種功能。然而,CheckList 不能直接用于非行為問題,如數(shù)據(jù)版本問題、標(biāo)簽錯(cuò)誤、注釋者偏差、最壞情況下的安全問題或缺乏可解釋性(。
6.結(jié)論
準(zhǔn)確性盡管很有用,但不足以評(píng)估 NLP 模型。通過采用軟件工程中的行為測(cè)試原則,我們提出了 CheckList,一種與模型無關(guān)、與任務(wù)無關(guān)的測(cè)試方法,使用三種不同的測(cè)試類型來測(cè)試模型的各個(gè)功能。為了說明它的效用,我們強(qiáng)調(diào)了在 NLP 管道的多個(gè)層次上的重大問題,這些模型已經(jīng)“解決”了三個(gè)不同任務(wù)的現(xiàn)有基準(zhǔn)。此外,CheckList 揭示了大型軟件公司開發(fā)的商業(yè)系統(tǒng)中的關(guān)鍵錯(cuò)誤,表明它很好地補(bǔ)充了當(dāng)前的做法。用 CheckList 創(chuàng)建的測(cè)試可以應(yīng)用于任何模型,從而輕松地將其合并到當(dāng)前的模型中。
用戶研究表明,CheckList 很容易學(xué)習(xí)和使用,對(duì)那些已經(jīng)對(duì)他們的模型進(jìn)行了長(zhǎng)時(shí)間測(cè)試的專家用戶和缺乏經(jīng)驗(yàn)的從業(yè)人員都很有幫助。本文介紹的測(cè)試是 CheckList 開源版本的一部分,可以很容易地合并到現(xiàn)有的基準(zhǔn)中。更重要的是,CheckList 中的抽象和工具可以被用來為各種任務(wù)共同創(chuàng)建更詳盡的測(cè)試套件。由于許多測(cè)試可以按原樣(例如錯(cuò)別字)或稍有變化(例如更改名稱)應(yīng)用于任務(wù),我們期望協(xié)作測(cè)試的創(chuàng)建將導(dǎo)致對(duì) NLP 模型的評(píng)估更加穩(wěn)健和詳細(xì),而不僅僅是對(duì)保持?jǐn)?shù)據(jù)的準(zhǔn)確性。
鳴謝
本文由南京大學(xué)軟件學(xué)院 2021 級(jí)碩士顏昌粵翻譯轉(zhuǎn)述。
以上就是關(guān)于pos機(jī)測(cè)試工作流程,用 CheckList 對(duì) NLP 模型進(jìn)行行為測(cè)試的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)測(cè)試工作流程的知識(shí),希望能夠幫助到大家!
