2026年8月19日 星期三

Hanzi Writer 字的寫法與筆順問題

2026年8月19日 星期三
自三月開始,一直沉迷於訓練 AI 模型,目標是可以由字筆畫輪廓的 SVG 路徑生出單線體字;七月底在指南宮下階梯不專心,滑了一跤扭傷腳,每天只能在家閉關,太閒了,一口氣把之前以教育部筆順網字形為基底的三千多筆訓練資料重新調校好。人家都說 "Garbage in, garbage out",把訓練資料的品質提高後,AI推理出的單線體果然是好太多了。當初還有另一個目標是希望模型能泛化,可以應用在推理別的字體,之前拿 Hanzi Writer (https://hanziwriter.org/)的字形資料來推理,訓練初期的模型可以推理出大概的樣子,但是當模型可以準確的推理出教育部的字形時, Hanzi Writer 的卻像一堆蚯蚓般的線條;前幾天對於像「經」這種有「巛」的字,「巛」會推理出接近鏡像的形狀感到好奇,思考了一下,眼睛看到字,筆畫的輪廓雖然長得很像,有沒有可能不同設計者,畫字形的起點不同、方向不同?而訓練模型時取樣的程序中並沒有考慮到「正規化」,導致即使看起來一樣的筆畫,因為數據差異大,推理出的結果就不正確。和 Gemini Pro 討論過後,確認了我的懷疑是正確的,於是在取樣的程式中加入了幾何正規化 (Path Normalization),統一方向為順時針 (Shoelace Formula 鞋帶公式),固定起點為左上角 (Y 最小優先,若 Y 相同則取 X 最小)。短短10行程式碼而已,困擾我幾個月的問題迎刃而解,用四個帳號,花了20個小時重新訓練的模型,已經可以用教育部的字形資料或是 Hanzi Writer 的字形資料來推理出單線體。不過 Hanzi Writer 有幾個部件很明顯不行,「阝」不管是左阜還是右邑,都推理失敗;「辶」也是推理失敗。之前有注意到 Hanzi Writer 滿多字的寫法並不是教育部標準字體的寫法與筆順,「阝」和「辶」倒是在這一次的推理測試中才發現。

底下以「隨」這個帶有「阝」和「辶」的字拆解分析一下:

[圖1] Hanzi Writer 的「隨」

參考 [圖1],圖中央已經將 Hanzi Writer 的「隨」拆解為以筆畫為單位,共 14畫;而教育部標準字體的「隨」是 16 畫;可以看出 Hanzi Writer 的「隨」是少了哪兩個筆畫嗎?

底下 [圖2] 是教育部標準字體的「隨」:

[圖2]教育部標準字體的「隨」

少掉的兩畫,關鍵就在「阝」和「辶」的「耳朵」部份,Hanzi Writer 是一畫完成,而教育部的標準字體則是將「耳朵」分為兩畫。難怪我訓練出來的模型一遇到 Hanzi Writer 的「阝」和「辶」就鬼畫符,因為一筆畫的「耳朵」它從未見過啊!

[圖3] 兩種不同字體的推理結果

[圖4] Hanzi Writer 帶有「阝」的字推理結果

之前看過幾個別人請 AI 設計的筆順相關工具,不少人是使用 Hanzi Writer 的筆順資料,當時就在想,不曉得他們知不知道,裡面其實是有可能讓用的人日後如果參照教育部標準字體,對寫法及筆順會產生困惑的?

當然啦~我在製作模型訓練資料時,對教育部筆順網的字也是有很多困惑,像「日」「田」的部件,第二畫到底是橫折,還是橫折鉤?字形有的有鉤,有的沒有鉤;筆順動畫的軌跡有的有鉤,有的沒有鉤;然後字形與筆順動畫的軌跡是否有鉤有時會不同步,變來變去的,真是令人頭痛啊!

▋ 相關連結


沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket