用戶:Lihaohong/注音機械人
如題,是一個給日語曲目注音的機械人。原始碼在GitHub。提示:雖然有少量註釋和文檔,但是因為代碼又亂又長,有些地方可能會比較難懂。
原理
- 利用User:東東君開發的歌詞注音插件的同款Yahoo api獲取日語注音。大多數注音都是正確的,只有少數錯誤。
- 從Vocaloid Lyrics Wiki抓取羅馬音歌詞。
- 使用2的羅馬音修正1的注音。
編輯摘要
有時候,機械人的編輯摘要不會給出任何信息,如Special:差異/5802803/5803069。這表明機械人認為沒有需要覆核的轉換。但是,如果Yahoo和Vocaloid Lyrics Wiki同時給出了錯誤的讀音,程序不會給出任何提示。
如果Yahoo的讀音被Vocaloid Lyrics Wiki糾正,且糾正後的讀音不在jamdict詞典中,則在編輯摘要中給出警告。如"瞬:またた=>まばた"的意思是「瞬」的讀音由Yahoo標的matata修正為mabata。例如Special:差異/5801235/5803053。
程序提出的更改可以被手動取消,例如Special:差異/5801162/5803022中,決的注音由けっ變成了None,這個bug在歌詞含有字符「っ」時很常見。當操作者懷疑程序出問題時,可以手動取消這個更改,保留Yahoo的原注音。
Special:差異/5801162/5803022的編輯摘要包含返:?;家:?;居:?;湧:?以表明這四個漢字在萌百的日語歌詞中出現了,但是不在Vocaloid Lyrics Wiki的日語歌詞中。觀看PV後可以發現萌百的歌詞與PV不一致,因此需要手動修正歌詞並注音[注 1]。
覆核注音
作者會手動複查程序給出提示的地方,並修正比較離譜的、顯眼的問題。但是有可能有一些小錯沒有被發現。
程序狀況
目前還在跑一次程序就要修三個bug的階段。
偶爾會遇到嚴重bug(死循環),經常遇到某行無法用羅馬音覆核的狀況。
此外,在處理~20個頁面後就會被WAF。
為什麼使用機械人
一開始作者是會用東東君的注音工具注音,然後聽歌覆核的。但是給DAYBREAK FRONTLINE注音的時候發現自己跟不上,於是只能用Vocaloid Lyrics Wiki(簡稱VLW)的羅馬音核對。因為核對工作很機械化,萌生了用自動化程序核對注音的想法。
一開始以為很簡單(畢竟作者不會日語,對日語的複雜程度沒有心理準備),後來發現二在VLW被寫成2、羅馬音轉寫不規則、難以判斷っ的讀音、VLW注錯音等問題。但是程序的犯錯次數可以接受,基本上所有可能出問題的地方都在編輯摘要標註了。
其實一開始是想整個自動去除圖片黑邊的半自動化機械人的,之前的條目輔助工具已經加入了這個功能,人工覆核圖片處理的結果也很快。但是作者沒有覆蓋圖片的權限,所以就做了這個工作量更大且更容易出錯的機械人。