Accessibility開發與實踐系列

無障礙中文校對利器:WordBridge 結合 AI 技術,提升視障者文字工作生產力

Coseeing 對人工智慧與輔助科技的探索與實踐

A11y新手村🏕
a11yvillage

--

文章首圖
主圖:無障礙中文校對利器:wordBrige 結合 AI 技術,提升視障者文字工作生產力;副標:Coseeing 對人工智慧與輔助科技的探索與實踐

在日常生活中,我們無處不在運用文字,無論是在職業工作、學業還是社交場合,文字都是我們傳遞訊息和表達思想的重要工具。我們運用文字撰寫報告、發送電子郵件、撰寫文章、填寫表格,以及在社交媒體上與他人互動。

在運用文字時,確保撰寫文字的正確性是十分重要的一件事。如果一個人撰寫的內容頻繁出現錯別字的話,不僅會讓其他人在瀏覽時感到困擾,更可能對他的語文能力產生質疑,進而影響其職業工作、學業或日常溝通。然而使用方塊文字系統的視障者,在輸入文字、選字與校正錯字方面比起拼音文字系統又面臨了更多的挑戰。

問題背景 — 視障者在校對文字上的困難

視障者為何在方塊文字的輸入上面臨挑戰?

對於英文這類拼音文字,由於詞彙是由一個個的字母組成,使用者可以透過發音來正確地聽寫出對應的文字,然而,對於漢字這類方塊文字,由於同一發音可能對應多個不同的字,因此僅透過單個字發音是無法確定具體的文字的,還必需要搭配文字前後的上下文內容,才能正確地寫出文字。

然而,視障者需依賴螢幕閱讀器的語音或點字輸出來獲得訊息,但語音和點字的輸出通常是表音不表意。因此,視障者在處理方塊文字時難以僅透過語音或點字就能得知具體的文字,還必需搭配文字關聯的詞彙加上閱讀前後的脈絡來判斷,這使得他們在漢字的選字與校對面臨更多挑戰,需要花費更多時間和精力來完成。

中文常見同音不同義詞彙:視障者需搭配文字前後脈絡判斷,使得在漢字校對面臨挑戰,例如:職務與植物,前者需要搭配例如「內容」,產生「職務內容」,後者需要搭配例如「栽種」,產生「栽種植物」,這樣才能呈現完整的意思。
中文常見同音不同義詞彙:視障者需搭配文字前後脈絡判斷,使得在漢字校對面臨挑戰,例如:職務與植物,前者需要搭配例如「內容」,產生「職務內容」,後者需要搭配例如「栽種」,產生「栽種植物」,這樣才能呈現完整的意思。

螢幕閱讀器使用者要如何區分出不同的文字呢?

具體來說,螢幕閱讀器的使用者是如何了解畫面上的文字究竟是哪個字呢?這就要提到螢幕閱讀器中的字詞解釋了。當游標停留在某個文字上時,使用者可以透過執行螢幕閱讀器的字詞解釋功能,這個功能會讀出游標所在文字對應關聯的詞彙。例如,「程」這個字的字詞解釋是「工程師、程度、方程式、里程碑、鵬程萬里、旅遊行程」,而「城」這個字的字詞解釋則是「城堡、城門、城市、城鄉差距、眾志成城、方城之戰」。透過這些關聯詞彙的提示,螢幕閱讀器使用者才能分辨“程式”與“城市”的不同。

視障者要如何校對修正文字呢?

那麼,如果視障者要校對一份文字資料,需要怎麼做呢?沒錯,他們必須一個字一個字地移動游標,逐一聽取每個字的字詞解釋來檢查輸入的文字是否正確。這樣的做法非常繁瑣且耗時。對視障者來說,在面對大量文字時,是否逐一檢查輸入的文字成了效益與成本間平衡的取捨題,逐一檢查會大幅降低輸入效率,而不逐一檢查則會增加錯字的風險。此外,在輸入文字時,也需要對各種字與關聯詞彙有所認識,才能選出正確的字。

為了提高效率,視障者可能會依賴專業人士或親友協助校對,但這些方法費時費力且成本高昂。此外,校對者通常會直接修改錯別字,而不會逐一標記出錯別字所在,使視障者難以快速檢視錯別字發生的位置,無法透過從錯誤中學習“認”字,進而提升打字正確率。

視障者如何校隊文字?校隊的挑戰不僅僅影響個人效率,也會對自信心造成影響
視障者如何校隊文字?校隊的挑戰不僅僅影響個人效率,也會對自信心造成影響,圖中有一名戴著墨鏡的男子,對著螢幕感到苦惱,校隊文字最主要的三大重點:1. 繁瑣耗時,2. 成本高昂以及 3. 無法從錯誤中學習。

這些挑戰,使得視障者無論是在學業、職業工作還是日常生活中的文字處理,都會遇到諸多困難。而這些困難不僅僅影響個人的效率,還可能對他們的自信心造成影響。文字是溝通的重要工具,而無法正確且高效地使用這個工具,對視障者來說是一個重大的挑戰。

探索 AI 運用在同音錯別字校對的可能

我們已經看到了生成式 AI 在各個領域令人驚嘆的應用,包括生成圖文、視覺描述、自動翻譯、語音辨識等。這些技術的進步正在迅速改變我們的生活和工作方式。目前,實現生成式 AI 的方法中又以 ChatGPT 所運用的大型語言模型(LLM)最為常見。

大型語言模型是經由大量文本訓練而成,可以將其理解為一個複雜的文字預測機器。它會以詞元(token)為單位,根據當下生成的詞元與先前的詞元來預測下一個出現機率最高的詞元。對於中文文字來說,通常一個方塊字即為一個詞元。這種關聯詞彙與上下文的技巧與文字校對任務有些相似之處。因此,這讓我們對於大型語言模型運用在錯別字修正任務上的成效感到好奇,於是我們測試了 OpenAI 的各種模型與搭配不同 prompt 組合下錯別字校對的能力。

從 GPT 3.5 到 GPT4o 的實測

現今的大型語言模型都具備上下文記憶能力,他會依據先前的對話內容來產生回復。我們可以透過 prompt 來給予模型一些背景知識、任務描述,讓模型在無需重新訓練或微調下,給出更符合我們期望的回答,也就是所謂的 In Context Learning。在經過了一翻試驗後,我們設計出了一組 prompt 來描述「同音錯別字校對」。除了基本的描述任務外,我們的 prompt 還含有一些「輸入輸出的例子」來更明確地提示任務和預期結果。為了比較不同版本的 GPT 以及不同 prompts 的效果,我們進行了 250 個測試案例的實測,結果如下:

ChatGPT測試示意圖
測試日期:2024/6/15

此外,在 prompt 中除了原始含錯別字的檢測文字與預期修正文字的例子外,我們還提供了經過預處理後的拼音資訊,讓模型能將「文字讀音」這個面向納入其產生回復過程中考量的重要因素之一。而測試表其中有一項以 Simple Mode 標註的項目則是 prompt 中不含讀音資訊的測試結果。

實測中的小發現

在實測的過程中,我們觀察到一些有趣的現象:

輸入文字愈長,誤判愈低。

是仗人士搭成大眾運輸工具 → 是長人士搭乘大眾運輸工具 X

我和一位是仗人士搭成大眾運輸工具 我和一位視障人士搭乘大眾運輸工具 O

大型語言模型是透過上下文來生成文字結果,因此,文字愈長,模型就有愈多的上下文可以作為參考。有更多的上下文也意味著更明確的指示,因此可以更好地推測出正確文字。

輸入文字專有名詞有較高可能無法檢測出錯誤。

多拉A夢是一隻從未來來的機器貓 多啦A夢是一隻從未來來的機器貓 X

張中謀是前任台積電董事長 張忠謀是前任台積電董事長 O

大型語言模型是透過大量文本進行訓練,如果訓練語料中不包含特定的專有名詞,模型就很難檢測出相關的錯誤文字。(ChatGPT 不認識哆啦A夢,哭哭)

WordBridge實測中的小發現示意圖
測試小發現:1. 輸入文字越長,誤判越低;輸入專有名詞有較高可能無法檢測出錯誤。

從測試結果中,我們可以發現 ChatGPT 4o 已經能達到相當高的正確度。在我們 250 個測試資料中,僅有 7 筆是無法完全修正的情形。而從成本來看,最新的 ChatGPT 4o 每千字僅需 0.042 美元,價格也不算太高。那麼,就讓我們來動手開發一個結合螢幕閱讀器 NVDA 讓視障者可以無障礙使用的輔助工具吧!

實踐 — 開發 WordBridge 中文校對助手

WordBridge運作流程圖
WordBridge運作流程圖,由左至右為 1. 輸入:組合鍵觸發截取文字, 2. 前處理:附加讀音繁簡轉換產生指令,3. 處理:AI 校對定時提示音效,4. 後處理:結果比對產生報告放入剪貼簿,5. 輸出:語音朗讀點字顯示並開啟報告

為了讓視障者能夠在使用電腦的過程中,便捷地運用 AI 執行同音錯別字校對,我們將前面探索設計的 prompt 和文字拼音預處理的方法與螢幕閱讀器 NVDA 的語音和點字輸出功能結合,開發了 WordBridge 這個 NVDA 附加元件。它的功能不僅可以快捷地執行同音錯別字校對,還提供了友善的校對結果顯示頁面,讓使用者能夠輕鬆地閱讀錯別字比對的結果。

整合螢幕閱讀器 NVDA 的功能執行同音錯別字校對

為了讓使用者能夠快速執行,當按下設定的組合鍵手勢後,工具會將當下遊標選取的文字轉換為我們設計的 prompt 並執行同音錯別字檢查,檢查的過程中會以嗶嗶聲進行提示。當檢查完成後結果會放入剪貼板中,讓使用者可以便捷的剪貼與編輯 AI 回應的文字。

突出錯別字與關聯詞彙解釋

為了讓使用者可以比對校對前後的文字,工具會產生一份 HTML 文件的校對結果報告。報告中使用按鈕呈現原先為錯別字的文字,並以修正後的文字替代。這樣用按鈕呈現的作法,使用者可以透過 tab 鍵快速的找到錯別文字處,讓使用者能夠一目了然地知道有哪些錯別字。此外,錯別字的按鈕不僅僅作為焦點停駐使用,他同時也可以用來打開一個對話框,對話框內列出了錯誤與正確文字的字詞解釋。透過顯示詳細的錯誤與正確字的字詞解釋提示,讓使用者可以從錯誤的經驗中學習,逐漸熟悉不同字的用法和關聯詞彙,提高語言能力和輸入文字準確度。

我們在設計這款工具時,從視障者的角度出發,考量了實際使用時的需求。相信它的無障礙設計和專業功能,能提供一個有效且便捷的方式,使得視障者在文字處理和寫作方面更加得心應手,從而提升工作和學習效率,進而發揮所長。

後記

AI 的進步一日千里,還記得我們2023年5月在測試當時的 ChatGPT 3.5 時,同音錯別字任務的正確率僅僅 80% 左右。才過了短短一年,ChatGPT 3.5 已經提昇到了 93% 了。而2024年5月推出的 ChatGPT 4o 更是提升到了 97% ,我們可以預見未來的 AI 一定能更好的解決同音錯別字這項始終困擾著許多視障者的問題。就讓我們持續關注 AI 的發展,共同見證 AI 賦能的進程吧!

WordBridge GitHub

本文作者

Woody

熱愛學習與開發程式的軟體工程師,對知識充滿好奇心,喜歡與人的互相分享。歡迎來一起協作開發各種 accessibility 專案。

你的支持是我們的最大動力 💪

如果喜歡我們的文章,可以按下拍手👏來支持我們
也歡迎追蹤我們的medium跟Facebook粉絲專頁,讓我們提供你更多優質的無障礙知識跟新知!

--

--

A11y新手村🏕
a11yvillage

每週分享Accessibility相關原創文章,實用性內容包含原理,UX/UI設計到開發實作等,也會訪問障礙者與正在Accessibility實踐路上耕耘的人,邀請你入村跟我們一起創造包容友善的世界🏕