摘要
由於深度神經網路的效能最近有所提高,機器翻譯軟體已經大量地整合到我們的日常生活中。然而,機器翻譯軟體經常返回錯誤的翻譯,這可能導致有害的後果,如經濟損失和政治衝突。此外,由於底層神經 m 的複雜性 測試機翻譯系統提出了新的挑戰。為了解決這個問題,我們介紹了一種新的方法,稱為 PatInv。PatInv 背後的主要指導思想的句子不同的意思不應該有相同的翻譯。在這個思想下,我們提供了兩個對 PatInv 的實現,它給出了一個任意的句子,生成了語法上相似但語義上不同的句子:(1)使用掩碼語言模型替換句子中的一個單詞,或(2)根據其選區結構從句子中刪除一個單詞或短語。然後我們測試一下返回的翻譯對原文和修改後的句子是否是一樣的。我們已經透過 PatInv 使用 200 個英語句子測試谷歌翻譯和 BingMicrosoft 翻譯器。我們測試了 2 種語言翻譯:英語 → 印地語(En-Hi)和英語 → 漢語(En-Zh)。結果表明,PatInv 能準確地發現谷歌翻譯中的 308 個錯誤翻譯和 223 個錯誤翻譯,這些錯誤在必應微軟翻譯器中,大多數都無法透過最先進的方法找到。
一、引言由於最近機器翻譯軟體翻譯質量的提高,許多人開始在日常生活中依賴這項技術。例如,人們經常閱讀來自其他國家的新聞或文章,並訪問各種語言內容的網站。機器翻譯系統如此廣泛使用在很大程度上是由於深度神經網路的出現,而深度神經網路現在通常現代機器翻譯軟體的核心。神經機器翻譯(NMT)模型正變得和人類翻譯一樣好。許多最近的 NMT 系統正在接近人類水平。
儘管最近有了這些改進,NMT 系統並不像人們預期的那樣可靠。深度神經網路是脆弱的;當一個神經網路測試的樣本,不同於它被訓練的樣本,它通常表現不好。NMT 模型也不例外:當輸入樣本進行對抗性變換後,它們會產生錯誤的輸出,例如給句子的字母或單次注入語法錯誤(例如,“I are studying”)。事實上,這句話在語法上是錯誤的,愚弄 NMT 模型並不重要。在 WeChat 中,一個每月有超過 10 億活躍使用者的信使應用程式。當用戶遇到不正確的翻譯時,可能會產生嚴重和有害的後果,如社會損失、政治衝突、醫療誤診、社會問題或人身安全威脅。這些副作用促使人們需要建立系統來確保機器翻譯軟體的健壯性。
然而,測試 NMT 模型可能非常困難。首先,測試深度學習模型通常與測試傳統軟體有很大的不同,傳統軟體中的系統核心概念或演算法在原始碼中顯示。相反,神經網路的輸出在很大程度上取決於它在訓練過程中最佳化的數百萬個引數,使得這些模型本質上是黑匣子。其次,最近對人工智慧(AI)軟體的測試方法,主要目標模型是具有少量潛在輸出的,如分類器。相反,簡單地列舉大多數 NMT 模型的可能輸出是一個棘手的問題,使機器翻譯系統難以測試。
目前用於自動評估的標準是 BLEU,它是透過將系統輸出中的單詞序列 1 與一組參考質量轉換進行比較來計算的。BLEU 的一個主要弱點是:它沒有真陽性理解句子的意思。此外,有必要提供準確的參考譯文,以確定機器翻譯系統的這種度量。在很多情況下,這種資源是有限的。
顯然,測試機器翻譯軟體需要有效的自動化系統。提出了一種新的測試方法即 PatInv,其主要指導思想是不同意義的句子不應該有相同的翻譯。我們根據這個指導思想來制定自動產生合成具有不同含義的相似句子的方法。PatInv 透過兩種方法生成不同意義的句子:1)用非同義詞替換句子中的一個單詞 和 2)從句子中刪除一個有意義的單詞或短語。原文和新生成的句子被輸入被測試的翻譯系統;如果翻譯完全相同,我們將它作為一個可疑的問題報告。我們對 PatInv 的實際實現使用了基於 BERT[20]的掩碼語言模型來擾動句子中的單詞,並使用選區解析器來識別核心單詞和短語。然後使用同義詞庫、單詞 API 和 NLTK 庫過濾同義詞和語法不正確的句子。
為了評價 PatInv 的有效性,我們使用它對兩個文章類別(政治和商業)的 200 個英語句子進行了 Google 翻譯和 BingMicrosoft 翻譯器的測試。在不使用可選過濾步驟的情況下,PatInv 成功地報告了 452 個病理不變數,平均精度為 56.6%。當採用這種可選的過濾機制時,PatInv 可以報告 28 個病理不變數,準確率為 100%。表 1 顯示了 PatInv 發現的一些錯誤翻譯。我們發現,由於其概念上的新穎性,PatInv 檢測到一組其他方法沒有發現的唯一錯誤。所有報告的病理不變數和原始碼已經發布。本文的主要工作如下:
(1)我們介紹了一種新的、廣泛適用的黑盒方法來驗證機器翻譯軟體。
(2)我們描述了一個合成語法上類似但是語義不同的句子的生成器的實際實現 。
(3)我們對 Google 翻譯和 Bing 的 200 句話的模型進行了評價 具有兩個翻譯設定的 Microsoft 翻譯器。
(4)我們在谷歌翻譯和 223 在必應微軟翻譯器中成功地發現了 308 個錯誤的翻譯,其中大多數不能被當前最先進的技術所發現。
二、事例在 2018 年冬季奧運會期間,挪威隊的烹飪設施計劃訂購 1500 個雞蛋。這些比賽是在韓國舉行的,因此他們需要在當地訂購韓語 雜貨店。廚師們轉向谷歌翻譯,尋求幫助翻譯他們的訂單。令他們驚訝的是,一卡車雞蛋落在他們的廚房:谷歌翻譯錯誤地將 1500 個雞蛋翻譯成 韓國 15000 個雞蛋。
這是現實生活中的翻譯錯誤,造成了不便,可能會造成巨大的經濟損失。然而,翻譯錯誤可能會產生更嚴重和有害的後果。例如,2018 年,由於一個機器翻譯錯誤,以色列總理對以色列歐洲電視臺冠軍 Netta 的讚美從“你是一個真陽性的寵兒”變成了“你是一隻真陽性的牛”,陷入尷尬和誤解。在 2017 年,一名巴勒斯坦男子在 Facebook 上用阿拉伯語釋出“早上好”後被警察逮捕;該帖子被錯誤地翻譯成“攻擊他們”的希伯來語和“傷害他們”的英語。隨著越來越多的人開始依賴機器翻譯,構建健壯的機器翻譯軟體具有重要意義。本文介紹了一種新的、廣泛適用的機器翻譯測試方法 PatInv。
(1)為每個未標註的句子生成句法相似的句子,這透過修改句子中的一個單詞或一個短語來生成一個語法相似的句子列表實現。
(2)透過句法和語義資訊過濾。我們過濾掉那些與原始句子有相同含義的測試用例。
(3)收集目標句。我們將原文和新生成的句子反饋給機器翻譯並收集他們的目標句子(即翻譯)。
(4)檢測翻譯錯誤。將新產生的句子的翻譯與原文的翻譯進行了比較。如果任何翻譯與原句相匹配,則這對翻譯可能包含錯誤翻譯的潛在問題。
3.1 步驟 1:生成句法相似的句子用源語言給出一個句子,我們透過如下 2 種方法生成句法相似的句子:
3.1.1 PatInv-Replace
在這種方法中,我們將我們原來句子中的一個單詞替換為同一個詞性的另一個單詞,以生成一個具有不同含義的新句子。例如,在圖 1 中。我們用“slightly”替換“completely”,這就生成了了一個在句法上相似但在語義上不同的句子。在實踐中,我們將給定的單詞替換為 k 個新單詞來生成 k 個新的句子。如果一個句子中有 m 個單詞可以替換,我們的方法將產生 k·m 新句的列表。我們縮小了可以替換的詞的範圍,以避免不可控的語言現象,這種不可控的語言現象可能導致假陽性。具體來說,只有名詞、動詞、副詞、形容詞和所有格代詞作為替換的候選詞。另外,我們選擇不替換 stopwords(例如,has,was),因為我們經驗性地發現,替換這些詞往往會導致語法或語義上不正確的句子。我們的方法使用 NLTK 提供的一組 stopwords。
我們透過一個掩碼語言模型(MLM)來選擇原句中待替換的詞。對於 MLM,有幾個開箱即用的選項,它們是建立在語言表示模型之上的,例如 ELMO、GPT-2 和 BERT。由於一個好的 MLM 模型對我們的方法至關重要,我們選擇使用最先進的選擇 BERT,一個谷歌開發的 AI 語言表示模型。有趣的是,掩碼語言任務是用於訓練基本模型的兩個主要任務之一,使我們進一步有理由相信 BERT 是好的為了這項任務。
3.1.2PatInv-Remove
在這種方法中,我們刪除我們原來句子中的一個單詞或短語來生成新的句子。我們的主要目標是從句子中刪除一些有意義的東西。例如,圖 1 顯示從句子中刪除一個單詞。然而 completely,選擇要刪除的單詞或短語並不是一個微不足道的問題。這種方法若隨便實現可能會刪除某些片語中的某個詞等。雖然這種實現肯定不會錯過任何可以用這種方法檢測到的錯誤,但它也會導致許多假陽性。
我們透過使用句子選區結構來輔助找到有意義的單詞。即,句子的句法結構。構成結構顯示一個詞或一組詞如何在一個句子中形成不同的短語,如名詞短語或動詞短語。這種結構可以使用一個選區解析器來識別,它透過根據一組短語拆分一個句子來匯出一個具有代表性的解析樹。對於短語的解析,我們使用 Zhu 發明的可透過斯坦福的 coreNLP library 的模型(IPAM)。
3.2.1PatInv-Replace
我們發現,使用蒙面語言模型(MLM)生成的一些句子在語義上可能與原始句子過於相似,或者在語法上是不正確的。為了解決這個問題,我們介紹三種過濾機制:
(1)過濾同義詞:若我們使用的替換詞與原詞是同義詞,則會出現假陽性的情況。對此,我們爬取 Thesaurus.com 為每個預測的單詞生成一個同義詞列表。我們也用了由 WordsAPI 提供的 API 來查詢同義詞。我們注意到,WordsAPI 還包括層次資訊,例如知道掀背車是一種汽車,手指是手的一部分等等。所以在我們實現時,我們將檢查預測的單詞是否是原始單詞的同義詞還是同類型,並濾掉是的用例。
有趣的是,有幾種情況下,由於有些詞一次多義,導致相似的單詞無法檢測到。對此,我們使用 NLTK 的雪球莖來識別詞幹和消除預測和原始詞的詞幹相同的情況。
(2)選區結構過濾:在實踐中,替換一個在語句中不屬於同一位置的單詞,會導致語義或句法上不正確的句子。例如,在圖 1 中,當“completely”被“around”替換後得到的是一個語法不正確的句子。可以透過確保原句和生成句具有相同的選區結構來避免這種情況。對於這個任務,我們再次使用 NLTK 的 CoreNLPParser 中提供的 IPAM,以生成選區解析。然後,我們計算原始句子和生成句子的選區解析樹之間的距離。
(3)句子嵌入的過濾器:作為一項額外的預防措施,以確保生成的句子不具有與原始句子相同的含義,我們確保句子之間的“距離”是足夠大的。有幾個開箱即用的評估句子嵌入模型,如通用句子編碼器和 BERT。雖然訓練一個句子編碼器也是可能的,但我們注意到,這些最先進的模型是使用能夠並已證明在任務上表現良好。
在 PatInv 中,我們使用了通用句子編碼器,一種基於深度神經網路引數化的編碼器將句子編碼成向量的模型。通用句子編碼器可在 TensorFlow 集線器上免費獲得。然後將兩個句子之間的相似度計算為兩個句子嵌入的餘弦相似度。我們過濾掉生成的相似性(與原來的句子)大於給定的閾值的句子。
雖然在上述過濾步驟中存在一些冗餘,但使用所有過濾器確保了最少數量的假陽性,這對於減少人工至關重要。
3.2.2PatInv-Remove
使用 PatInv-Remove 生成的句子可能面臨類似的問題。有趣的是,我們發現刪除原來發送的小單詞往往不會改變句子原義。我們經驗性地發現,刪除字元長度僅大於 6 的單詞可以緩解這一問題。為了找到一個合適的下界,我們在政治資料集上使用 En-Hi 語言設定將這個引數以 1 為步長從“0”調整到“10”,發現“6”這個引數是病理不變數的精密度和數量的下界。在我們的實驗中,我們發現這個下限也帶來了其他實驗設定中的高質量結果。
3.3 步驟 3:收集目標句子一旦生成了修改後的句子,我們就必須將它們輸入正在測試的翻譯系統並檢索它們的翻譯。我們使用 GoogleAPI 和 BingAPI,它們返回與它們各自的 Web 介面相同的結果。具體來說,源語言中的句子被輸入到翻譯系統中,以選定的目標語言翻譯後被返回。我們對我們的每個原始句子和所有生成的句子都這樣做。
3.4 步驟 4:檢測翻譯錯誤最後,一旦收集了所有的翻譯,我們就必須尋找錯誤的翻譯。我們的方法的這個組成部分非常簡單;因為我們已經生成了不同意思的句子 從他們各自的原文句子中,如果原文和生成的句子的翻譯是相同的,我們有充分的理由懷疑翻譯錯誤。這個檢查可以透過一個簡單的字串比較,檢查等式等方式來做。圖 1 給出了這樣一個錯誤的翻譯對的例子。
四、評估在本節中,我們透過將其兩種實現 PatInv-Replace 和 PatInv-Remove 應用於 Google 翻譯和 BingMicrosoft 翻譯器,並以真實世界的句子作為輸入來評估 PatInv。我們的主要研究問題是:
RQ1:PatInv 在發現錯誤翻譯方面有多有效?
RQ3:PatInv 能發現現有方法找不到的錯誤翻譯嗎?
RQ4:PatInv 有多高效?
RQ5:在實踐中如何調整 PatInv 的引數?
4.1 實驗配置環境:所有實驗均在 DALCOr2264l6gRackmount 伺服器上執行,2x12 核心 IntelXeonE5-2650v4.2GHz 處理器、256GB DDR42400MHzECC REG 伺服器記憶體和 8xnVidiaRTX2080TI11GB GPU 處理器。
資料集:為了評估 PatInv 的效能並與 SOTA 保持一致,我們使用了我們以前的論文中釋出的資料集。
標註:我們的方法的輸出是一個可疑問題列表,每個問題由一對句子組成,其中第一個是原始句子,第二個是我們生成的句子。
比較:我們將 PatInv 與兩種最先進的方法進行了比較:SIT[30]和 TransRepair[69]。
4.2PatInv 的效果我們的兩種方法都旨在使用未標記的句子在機器翻譯軟體中自動發現錯誤的翻譯。因此,我們兩種方法的有效性將得到確定透過(1)一種方法能找到多少錯誤的翻譯(2)一種方法能以多高的精度找到翻譯錯誤。在本節中,我們透過測試 Google 翻譯和 BingMicrosoft 翻譯來展示我們模型的有效性。我們分別計算了評估資料集中每個域的結果。
4.2.1PatInv-Replace 的效果
回想一下,對於 PatInv-Replace,我們使用通用句子編碼器給出的句子嵌入向量之間的相似性來檢查原始句子和新生成的句子是否有相似的意思。對於不同的閾值,我們過濾掉一對句子的相似性小於所選閾值的問題。
結果:表 4(A)顯示了 PatInv-Replace 的步驟 1 和步驟 2 之後的總句子(原始句子新生成的句子)的數量。對於每個翻譯設定,我們計算總數為每個資料集報告的問題。我們手動檢查和驗證每個問題,來發現有多少這些問題是錯誤的。最終,我們能夠達到與目前最先進方法相當的精度。
我們對兩個句子(原文或生成的)中包含翻譯錯誤的問題進行了分類。我們將非錯誤問題分為兩類:(1) 兩個句子含義相同的問題。(2)第二句在語義上或句法上不正確的問題。
對於每個資料集,我們調整 PatInv 的句子嵌入的閾值,並報告每個閾值對應的精度、召回率和 F1 分值。對於具有最佳 F1 分的閾值,我們記錄其真陽性(TP)、假陽性(FP)、真陰性(TN),假陰性(FN)。表 3 顯示了谷歌翻譯和必應微軟翻譯器的結果。結果表明,我們能夠實現高召回的精度。我們注意到,降低閾值並不一定會提高精度,因為較低的閾值不會消除語義或句法錯誤。此外,我們還發現,在足夠低的閾值下,我們可以達到 100%的精度。
4.2.2PatInv-Remove 的效率
同樣,這種方法的輸出包括一個問題列表,其中第一句是原始句子,第二句是生成的句子。與我們的第一種方法一樣,只有當原始句子和生成的句子的翻譯一樣時,才會報告一個問題。我們注意到,每個問題都有兩個潛在的情況:(1)從原來的句子中刪除了有意義的東西,在這種情況下,這個問題是一個真陽性(TP)(2)沒有重要或有意義的問題從句子中刪除,這個問題是假陽性(FP)。
結果表明,我們能夠達到與最先進的方法相當的精度。對於每一個錯誤的問題,我們給這對句子中貼上了錯誤的標籤翻譯。
1)生成的句子是合成的。請注意,我們的方法最小化了這些假陽性;
2)被替換的詞是原詞的同義詞。儘管合併了多個線上資料庫過濾同義詞,這種情況仍然發生。雖然我們用可用的工具識別詞幹,但我們注意到這種方法並不總是像預期的那樣工作。 3)句子中被替換的詞沒有意義。我們發現替換了有些單詞不會改變句子的意思,因為替換的單詞對句子的意思不是至關重要的。為了減少此類案件,我們在句子嵌入相似性高的情況下,我們刪除生成的句子。
4.4 不同方法報告的錯誤在本節中,我們將 PatInv 與 SIT 和 TransRepair 在發現的錯誤翻譯的精度和重疊方面進行比較。比較是用 En-Zh 語言設定完成的,因為 SIT 只提供 En-Zh 實現。
精度:首先,我們將 PatInv 的精度與 SIT 和 TransRepair 進行了比較,因為在這兩篇論文中,精度被用作核心評價指標。結果是如表 10 所示。與現有的方法相比,PatInv-Remve 具有與之相當的精度。當句子語義過濾的閾值為 1.0(即在此步驟中沒有過濾)時,PatInv-Replace 獲得更多的錯誤問題,精度略低。當我們降低閾值(更多生成的句子被過濾掉)時,PatInv-Replace 的精度將增加。例如,當閾值為 0.99 時,PatInv-Replace 發現更多的錯誤問題,其精度相當。
錯誤翻譯的重疊:圖 3 介紹 PatInv 報告的錯誤譯文的重疊情況 NV,SIT 和 TransRepair。這個 Venn 圖顯示,PatInv 報告的大多數錯誤翻譯無法透過現有的方法找到。具體而言,只有 8.4%(18/213)和 8.2%(18/218)由 PatInv 報告的錯誤翻譯可以透過現有的任何一種方法找到。因此,我們相信 PatInv 與 SIT 和 TransRepair 相輔相成。
4.5 我們方法的執行時間在本節中,我們將介紹 PatInv 的執行時間。對於每個實驗設定,我們執行 PatInv10 次,並報告平均定時。結果見表 11。對於 PatInv-Replace 的“透過句子嵌入過濾”步驟,不計入 PatInv-Replace 的總時間,因為它是一個可選的步驟。與其他步驟相比,此可選步驟相對費時。例如,由於昂貴的 API 呼叫,我們的實現需要大約 27 秒來計算一個句子對的相似性。
從表 11 可以看出,大部分時間消耗在過濾步驟和 PatInv 替換的翻譯步驟中。Pat Inv-Replace 的過濾步驟需要時間,因為使用了選區解析器(每 100sen8.1 秒 泰斯)。翻譯步驟需要時間,因為對於我們實驗中的每個句子,我們呼叫翻譯器的 API,其中包括翻譯時間和網路通訊。與現有的方法相比較,PatInv-Replace 需要更多的時間,因為 PatInv-Replace 產生更多的句子(即 PatInv-Replace 產生 31,766 個句子,SIT 產生 4,025 個句子,TransRepair 產生 405 個句子),因此 PatInv-Remove 需要執行選區解析器和翻譯器的 API 更多的時間,從而導致更長的執行時間。然而,我們認為 PatInv 是在實際使用中是有效的,因為它一種離線的方法。此外,隨著執行時間的延長,PatInv-Replace 報告了更多的錯誤翻譯(見表 10)。
4.6PatInv 報告的錯誤微調在本節中,我們將探討報告的錯誤翻譯是否可以用作 NMT 模型的微調集,以快速修復翻譯錯誤。我們使用 fairseq 框架來建立模型。我們注意到了轉換器目前是 NMT 最先進的模型。我們顛倒了翻譯的原始方向,這樣我們就可以與我們在 Google 和 BingMicrosoft 翻譯上的實驗進行適當的比較。
我們使用表 2 中的政治資料集,並使用 PatInv-Replace 測試這個模型,成功地發現了 26 個錯誤的翻譯。我們手動給它們貼上正確的翻譯標籤 並使用它們作為資料集來微調我們的 NMT 模型。由於資料集很小,訓練需要<10 分鐘。在這個微調之後,所有 26 個錯誤的翻譯都被修復。同時,BLEU 在一被堅持的測試集上的分數保持不變。因此,PatInv 報告的錯誤翻譯可以用來提高機器翻譯軟體的魯棒性。因此,我們認為它是一個有前途的未來方向。
五、相關工作5.1 AI 軟體的魯棒性近年來,人工智慧(AI)領域有了許多工作和發展)。人工智慧在今天無處不在,例如在自動汽車和人臉識別中。但是,當前的 AI 模型沒有我們所希望的那麼健壯。特別是,它們可以返回導致致命事故的不正確結果時(如自動駕駛汽車、三維物件分類器和語音識別服務)。
5.2 NLP 系統的魯棒性計算機視覺系統魯棒性的最新進展鼓勵研究人員研究 NLP 系統執行情感分析等任務的魯棒性,文字包含和毒性含量檢測。然而,所有這些研究都致力於分類問題,這些問題的輸出空間比機器翻譯小得多。與機器翻譯相比,這些系統更容易驗證,因為真相是唯一的。例如,閱讀理解的輸出可以是一個特定的人名。對於翻譯任務,可以對給定的句子進行多個正確的翻譯,這使得檢測不正確的輸出變得非常微妙。
5.3 機器翻譯的魯棒性機器翻譯努力將源語言中的文字自動翻譯成目標語言中的文字。關於機器翻譯軟體的魯棒性,主要有兩方面的工作:(1)對抗性機器學習和(2)機器翻譯測試。
對抗性機器學習的目的是用對抗性的例子愚弄機器翻譯模型。現有技術的大部分 用白盒方法生成這樣的例子,其中可以獲得關於網路結構和機器翻譯模型引數的完整知識。他們使用黑盒方法干擾或解釋句子,很容易導致無效句子(例如句法或語義錯誤)。
機器翻譯測試的目的是尋找語法和語義正確的句子觸發翻譯錯誤。提出了兩種專門的方法來檢測兩種翻譯誤差。相反,PatInv 是一個通用的方法針對一般翻譯錯誤的邏輯。Sun 等人基於類似句子的假設,開發了一般翻譯錯誤的蛻變測試技術,應該有類似的翻譯(透過句子結構或現有的距離度量來評估)。Sun 等人還提出了自動修理辦法。PatInv 補充了這些方法,因為它是基於一個全新的概念,稱為病理不變性:不同意義的句子不應該有相同的翻譯。我們的評估表示 PatInv 可以找到目前最先進方法所找不到的許多翻譯錯誤。因此,我們認為 PatInv 可以補充這些方法。
5.4 蛻變測試蛻變測試技術透過檢測被測試中軟體的必要功能(即蛻變關係)的違反情況來發現軟體錯誤。作為一種有效的方法 或者解決測試 Oracle 和測試用例生成問題,在各種軟體系統的測試階段,如編譯器等,都採用了蛻變測試。此外,蛻變測試也被用於 AI 軟體測試,因為它能夠測試“不可測試”程式,如統計分類,搜尋引擎,和自動駕駛汽車。
六、總結本文提出了一種新的、有效的、廣泛適用的機器翻譯系統翻譯錯誤檢測方法 PatInv。與的現有方法所依賴的翻譯之間的不變性形成對比,PatInv 是基於病理不變性的:不同意義的句子有相同的翻譯。我們對 PatInv 的實現報告了許多錯誤的翻譯,這些翻譯是現有方法無法找到的。在我們的評估中,PatInv 成功地發現了 100 個錯誤。特別是,在 En-Zh 報告的錯誤中,431 個錯誤中有 395 個是僅有 PatInv 檢測到的。此外,PatInv 執行準確,特別有效地發現單詞/短語翻譯錯誤。因此在未來,我們將在 PatInv 的核心思想之上提供更多的實現,例如,透過插入單詞來檢測過度翻譯錯誤來生成新句子。我們還將應用一般思想來驗證其他文字生成任務,如語音識別和程式碼摘要。
致謝此論文由南京大學軟體學院 2020 級研究生侯忠昊翻譯轉述。