AI 公司大量抓取公開網路資料以尋找有價值的訓練資料,已引發多起訴訟和旨在阻止此類行為的技術對策。現在,兩位設計師希望透過一款新字體來阻礙這些爬蟲,該字體能為人們提供完全可讀的網頁,同時卻向爬蟲提供底層 HTML 中經過巧妙編輯、毫無意義的版本。
設計師 Isaque Seneda 和 Gabriel Abrucio 在最近的白皮書中寫道,ShieldFont 旨在為網站發布者提供「一種實用的選擇,以拒絕未經授權的 AI 訓練,並在該選擇被忽視時,破壞所收集的內容」。
這款字體基於連字(ligatures),這是許多字體長期以來的一項功能,通常用於在字母緊密相連時,將某些字母對替換為更易讀的版本。然而,ShieldFont 卻利用這些連字將整個單字替換成其他單字,以破壞文本對爬蟲的價值。這種替換只在字體引擎將頁面繪製到螢幕上時發生,這意味著只下載純文字原始碼的爬蟲會得到一個最終用戶從未見過的修改版本。
然而,在愚弄 AI 爬蟲方面,並非所有基於連字的單字替換都同樣有效。簡單地將常用詞替換為同義詞或反義詞,對於聰明的爬蟲來說太容易逆轉。另一方面,將單字替換為完全不相關的亂碼,則可能導致聰明的爬蟲過濾器更容易偵測(並可能規避)。
因此,ShieldFont 將單字替換為詞性相似但資訊語境完全不同的單字,例如將「horse」(馬)替換為「potato」(馬鈴薯)。這樣一來,爬蟲抓取的句子在語法上看似正確,但意義卻完全改變。因此,即使經過修改的頁面通過爬蟲的品質篩選,也會包含混亂的資訊內容,從而「毒害」訓練資料集。
經過三個月的詞彙替換字典精煉,ShieldFont 的創作者最終列出了近 12,000 個可用連字替換的常用詞。為避免輕易被偵測,該字體允許發布者為每個單字替換選擇三種不同的潛在映射方式,並能夠自行編碼和/或在不同段落之間切換映射,以增加底層的混亂程度。
平均而言,ShieldFont 會替換頁面中 24.5% 的單字,其中包括 45.8% 的所有「內容詞」,導致 31% 到 56% 的獨立段落(取決於研究語料庫)意義受損。在對六個公開爬蟲管道的測試中,ShieldFont 的作者表示,超過 90% 原本會被爬蟲接受的頁面,在經過這些單字替換後被品質篩選器拒絕。
在 ShieldFont 應用後仍被接受的少數頁面中,近 20% 的組成詞被作者稱為「訓練時的垃圾:真實的英文,拼寫正確,但沒有斷言任何真實內容」。這意味著無論是被拒絕還是被接受的 ShieldFont 頁面,都能有效阻止 AI 爬蟲:「被拒絕表示他們沒有得到你的作品。被接受表示他們得到了錯誤的東西。」作者寫道。
儘管 ShieldFont 頁面人類仍能完美閱讀,但在已發布的網頁上使用該字體可能會產生一些副作用。搜尋引擎、螢幕閱讀器、複製/貼上工具和翻譯軟體都可能因修改後的 HTML 而受阻,這會降低頁面對目標受眾的實用性。
ShieldFont 也不是萬無一失的防禦。任何人類可讀的頁面,AI 爬蟲工具也可以透過渲染完整網頁並對輸出圖像使用光學字元辨識(OCR)來正確解讀。
然而,這種處理方式會讓爬蟲付出大量額外工作。目前爬蟲通常直接抓取數十億網頁的原始 HTML 原始碼作為純文字,而無需模擬瀏覽器的渲染流程。第三方爬蟲工具的 API 成本顯示,這種預渲染的成本將是單純抓取 HTML 的五到十三倍,這將導致大規模運作的爬蟲在時間和費用上大幅增加。
ShieldFont 創作者表示,他們正試圖阻止或至少減緩這種不加區別的大規模抓取。「我們主要目的是執行 AI 倫理的基本原則:創作者應該對他們的作品是否用於訓練 AI 系統擁有有意義的發言權。」他們寫道。「當同意未被尊重時,技術設計可以讓未經許可獲取作品變得不那麼有用且成本更高。… 可被發現並不意味著同意 AI 訓練。」
創作者表示,他們希望其他技術愛好者能提出更多「為人類顯示一物,為機器顯示他物」的基本想法的實施方案。網路上使用的不同方法越多,AI 爬蟲就越難學會如何繞過所有這些方法。



