2005-11-18

[Phonetics] 漢字轉拼音--雖小道亦可觀

將漢字轉拼音的技術
其實很多軟體都能夠做得到
並不是什麼太難的東西
例如 MS Word 裡面,就可以在[格式][亞洲配置方式][注音標示]
就可在文字的旁邊加上注音

=====================================
<方法一> 中文字碼

如果要在網頁上轉換
可以透過ASP或PHP來實現
網際智慧也在線上展示漢字轉成拼音的技術
ASP漢音轉拼音的原理
大概是將將所欲查詢的漢字,透過中文字的編碼來對應
不過這樣轉換是沒有調號的
顯然不符合我們的需求

=====================================
<方法二> 漢字讀音資料庫

還有別的方法可以將漢字轉換成漢語拼音
例如:海嘯工作室的軟件
又或者是鄭錦全老師開發的CCLang
以及鄧老師的Pintone

這些軟體的原理大概是:
先有一個資料庫記錄了所有漢字的拼音,然後將所要查詢的字送到裡面去比對
如果有多音字,則同時傳回好幾個值。

不過,這些軟體都有一個缺點 就是無法處理多音字
例如在CCLang裡轉換「不要」,會得到下面的結果:
bu2?bu4yao1?yao4
因為是單字的對應,因此基本上無法解決多音字的問題

=====================================
<方法三> 詞庫+統計

既然單一的字--音對應無法解決問題
那麼利用已經注音的詞庫呢?

因此,可以為每一個多音字先確定一個常用的字音
然後盡可能將包含多音字的非常用音的詞羅列在一個詞典中
在字-音轉換時,如果查到匹配的詞就根據詞典確定讀音
如果沒有查到,就採取缺省讀音
這樣的作法還是會有問題
因為無法解決詞典中的多音字,也就是OOV(Out Of Vocabulary)

中文常「因聲以別義」
也就是利用語音的不同來區辨不一樣的意思
因此也有人想到利用語義來處理多音字的消歧
如Lu(2002)利用知網 (HowNet) 來處理多音字
正確率約可達九成。

張子榮 & 初敏 (2002) 則建議,多音字/詞的重要性是不相等的
他們建議重點處理41個多音字和22個多音詞
因為這些多音字/詞,其累積頻率約95% ,亦即涵蓋了大部分的語料
而在多音字當中,通常會有最常用的「強勢音」
如果能針對這些來生成規則
則可以解決大部分多音字/詞的問題
其正確率約可提高一成,達到93%左右。

============================================
後記:
漢字轉注音,只是文--語轉換技術的其中一小部分
只是有感於自己能掌握的漢字轉注音的技術相當原始
方撰此文

真的要100%解決這個問題,還是相當不容易的

其道雖小,然誠有可觀者!

============================================
附錄:
目前市面上的拼音標注軟體 :
台灣:

Note: (華康和文鼎不是從漢字轉拼音,只是標注)

大陸:

==========================================
引用文獻:

1 則留言:

酒釀女人 提到...

Hello Pbice,
第一次留言即是發問,真不好意思
我想請教我安裝了Pintone,它有一天卻突然在我的word快捷鍵上消失了,重新安裝亦沒有出現。

請問您是否也曾經遇過類似的問題呢?
有沒有什麼解決方法呢?