Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chainsawriot/canigma
Cantonese Enigma
https://github.com/chainsawriot/canigma
Last synced: 27 days ago
JSON representation
Cantonese Enigma
- Host: GitHub
- URL: https://github.com/chainsawriot/canigma
- Owner: chainsawriot
- Created: 2015-02-28T02:53:03.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-03-20T09:09:17.000Z (over 9 years ago)
- Last Synced: 2023-03-23T17:28:53.640Z (over 1 year ago)
- Language: R
- Homepage:
- Size: 121 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 廣東話謎碼機 Canigma
## 提案
廣東話謎碼機是將文字利用廣東話一字多音作 Obfuscation 之用。當使用語音生成軟件時,應可保留讀音。但己變成謎碼的文字未必可以轉換成輸入文字。(除非隨機選字並不隨機)### 設計目標
中文字取代中文字,但保存廣東話讀音。### 算法
假設輸入句子是「不誠實使用電腦罪」每一個字會經過以下處理,以下以「不」字為例:
* 找出廣東音。(「不」的讀音有兩個分別是 bat1 和 fau2)
* 如輸入字沒有同音字,不改動只用原字。
* 如有一種以上讀音,詢問用戶是哪個讀音,或分析使用頻率和機器學習根據前後字推論讀音。(此例「不」的讀音為 bat1)
* 找出同音字。(以 bat1 檢索可得出 17 字,減去原來的不字,即有 16 個同音字。)
* 於同音字找出所有只有單一讀音的字。(廣東音為 bat1 的 16 個字裡,只有罼、鷝、熚、鏎、縪、篳、蓽、筆、嗶、蹕、吥、彃、滭、驆為單一讀音)
* 以隨機選擇的單一讀音的同音字取代原字。
* 如輸入字有同音字,但沒有單一讀音的同音字,我仍未想到可以保存原讀音的方法。可用羅馬字如 bat1 取代原字,但那就破壞中文字取代中文字的設計目標。根據以上算法,「不誠實使用電腦罪」,會變成「筆鋮實史用澱努鱮」。以 CU-vocal (http://sepc495.se.cuhk.edu.hk/cuvocal/) 測試,可保留原來廣東話讀音。