簡繁轉換譚

寫了篇文章,讓gpt4.0幫我調整了下,本覺不錯,細看之下,竟發現彼竟大肆修改措辭,減少「批評」言論,並將措辭俚俗化,只得再加修改。

簡繁轉換的挑戰與解決方案

當前的簡繁轉換工具,如OpenCC,主要採用單字+詞彙的模式進行轉換,即以詞彙優先,單字在無法匹配詞彙時發揮作用。這種模式雖然功能強大,但在實際應用中仍然會遇到一些挑戰。

詞頻問題

OpenCC在進行簡繁轉換時,首先考慮詞彙的匹配,然後才是單字。以「周」為例,當遇到「周一」時,它會被優先轉換為「週一」,因為「週一」作為詞彙是已經定義的。但當遇到「周明」這樣沒有特定詞彙匹配的情況,則會優先選擇單字「周」,結果轉換為「周明」。

然而,這種詞頻優先的模式有時會帶來問題。例如,OpenCC將「周济」轉換為「賙濟」,這在一般情況下是合理的,但詞學文本中常見清人「周濟」,這樣的轉換便不合適。因此,為了應對這樣的情況,可以刪除「賙濟」的詞彙條目,或將其改為「周濟」。

這反映了詞頻優先帶來的詞頻問題:過度依賴詞頻,可能會導致某些特殊情境下的轉換不準確。

選字問題

選字時,如果只依賴字的出現頻率,會導致不可避免的錯誤。例如,「于」對應於「於」和「于」兩個字,而市面上的簡繁轉換系統通常會將「於」放在「于」前面。這在人名轉換中會引發嚴重錯誤。比如,「于謙」常常被錯誤轉換爲「於謙」,這對於涉及人名的文本來說是災難性的。

實際上,今天讀yú的「於」文本中用「于」替代是極常見的,不足爲怪。(這裏給不熟悉簡化字的朋友們提醒:簡化字未將「於」一併簡爲「于」,wū的義項還是「於」)
鑑於一簡對多繁只有百來組,這種選字上的調整很簡單。

語境問題

語境對於簡繁轉換的影響亦不容忽視。以「发」字為例,它可以對應「發」和「髮」。在「明白发生」這樣的短語中,轉換工具經常會出錯,將其錯誤地轉換為「明『白髮』生」,而非「明『白發』生」,這是因為「髮」和前後的字都構成了詞彙,而轉換系統優先了錯誤的匹配。

針對這種情況,有幾種解決方案:

  1. 增加詞彙:加入「明白發生」這樣的固定詞組,使其能正確轉換。
  2. 建立糾錯機制:在轉換後進行二次檢查,將「髮生」糾正為「發生」。
  3. 詞頻調整:將「明白」加入詞彙,讓系統優先處理「明白」,從而避免「白髮」的構成。

繁化姬、opencc採用的均是第一種方法,不過繁化姬在其評論區有許多反饋,故正確率勝過opencc。
筆者則採用了第一種和第二種方法,收集語境並建立糾錯詞庫。第三種方案筆者曾嘗試導入rime八股文的高頻詞彙,但或許是引入的詞彙過多,效果不佳。

文本區分的必要性

不同的文本中,應選取各自合適的詞庫。例如,「髮生」在現代文本中可能是一個錯誤詞彙,但在古代文本中可能是正確的。「散髮」在古代比「散發」更常見,而在現代則正好相反。因此,簡繁轉換應該根據文本的類型進行區別處理,而非一刀切。

傳統轉換方法的局限性

需要強調的是,傳統的簡繁轉換方法無法窮盡所有的語境,無論怎麼優化,最終都只能減少人工校對的工作量。無法做到完美的轉換,這是這種方法的天然局限。
對此可以做到的是建立易錯詞彙供「排查」之用。

AI轉換的未來

目前AI在簡繁轉換上的應用尚未看到實際可行的案例。我並不樂觀

繁简转换尤其是古诗文的繁简转换,看似容易,其实相当繁难,原因在于古代诗文多用单音节词汇,语境非常复杂,相对而言,现代汉语多用多音节词汇,处理容易一些。希望楼主的探索能越来越好。说到「髮生」这个错误,我在楼主发布的文档中,发现还有髮跡(应为發跡)等需要处理而没有处理。总之因为语境太复杂,难免挂一漏万,但总归是会做得越来越好的。一般认为简转繁出的问题更多,其实繁转简的问题也不少。很奇怪,像wps这种软件,号称民族品牌,按理说应该在繁简转换上做得更好,至少要超过word很多才对,其实两者水平是差不多的,可见其难度很大。

1 个赞

繁简转换技术上很成熟了,特殊情况没处理,是因为没必要处理。

1 个赞

謝謝反饋,我會加入糾錯中。wps不要用的好,它的正確率低於opencc,也没有在簡繁轉換這方面用心。

請問爲何沒必要呢?我觀察到即使財大氣粗、有衆多繁體受衆的「起點app」,他的簡繁轉換也是落後、錯誤頻出的。台灣人看懂帶幾個錯字的文章不假,但如果優化效果,不也能優化體驗、招徠顧客麼。

每个人工作内容、性质不同,有些人可能对于繁简转换根本用不上,所以觉得没有意义吧。但对于搞文史的人来说,这个工作是很重要而且有意义的,至少古籍出版业是需要的。

繁简转换第一步就是要做分词和中文词法分析,分析分词后每个词语的词性,识别出人名、地名和其他专有名词,这个技术是很成熟的,有很多开源项目支持,但问题需要使用标注好词性的中文语料库训练,即使有现成的语料库,也可能因为覆盖不全面,导致准确率有问题。

OpenCC 直接跳过了第一步,分词就出错了,繁化姬没有开源,我猜测做了分词,但没做中文词法分析。起点 APP 可能使用的 OpenCC 版本比较低,或者自研的繁简转换工具,高质量的繁简转换会消耗的大量系统资源,性价比很低。

特殊情况没必要处理,因为这不是普通用户能追求的,能满足大多数人正常使用就够用了。

1 个赞