From 7971a11d4af0b8a15c6a426e5c86ad86a1a5f65c Mon Sep 17 00:00:00 2001 From: Frank Lin Date: Fri, 5 Jun 2026 11:20:14 -0700 Subject: [PATCH 1/3] Add regional phrase inclusion criteria --- CONTRIBUTING.md | 2 + README.md | 2 +- doc/README.md | 1 + doc/regional-phrase-criteria.md | 275 ++++++++++++++++++++++++++++++++ 4 files changed, 279 insertions(+), 1 deletion(-) create mode 100644 doc/regional-phrase-criteria.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a4c32e838..27567e14c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,8 @@ OpenCC 以 [Apache License 2.0](LICENSE) 釋出。提交 Pull Request、issue/co ## 新增詞典條目 +新增地區慣用詞前,請先閱讀 [OpenCC 地區詞收錄標準](doc/regional-phrase-criteria.md)。該標準說明哪些地區詞適合收錄、需要提供哪些依據,以及應如何避免高風險誤轉換。 + ### 1. 選擇正確的詞典檔案 詞典檔案位於 `data/dictionary/` 目錄下,根據轉換類型選擇對應的檔案: diff --git a/README.md b/README.md index 35ef3ccf9..cc16f567f 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Discussion (Telegram): https://t.me/open_chinese_convert * 支持中國大陸、台灣、香港異體字和地區習慣用詞轉換,如「裏」「裡」、「鼠標」「滑鼠」。 * 詞庫和函數庫完全分離,可以自由修改、導入、擴展。 -詳情參閱[OpenCC 設計思想](./DESIGN_PRINCIPLES.md)。 +詳情參閱[OpenCC 設計思想](./DESIGN_PRINCIPLES.md)及[地區詞收錄標準](doc/regional-phrase-criteria.md)。 ## Installation 安裝 diff --git a/doc/README.md b/doc/README.md index a1ce85bdf..5607512e3 100644 --- a/doc/README.md +++ b/doc/README.md @@ -8,4 +8,5 @@ OpenCC documentation and project notes. - [Benchmark results](benchmark.md) - [Windows Release for WinGet](windows-winget-release.md) - [opencc_phrase_extract](opencc_phrase_extract.md) +- [OpenCC 地區詞收錄標準](regional-phrase-criteria.md) - [現代漢語常用繁簡轉換匹配辨析表](characters-easy-to-misuse.md) diff --git a/doc/regional-phrase-criteria.md b/doc/regional-phrase-criteria.md new file mode 100644 index 000000000..9d3470325 --- /dev/null +++ b/doc/regional-phrase-criteria.md @@ -0,0 +1,275 @@ +# OpenCC 地區詞收錄標準 + +## 目的 + +地區詞詞表用於處理不同中文地區之間穩定存在、廣泛使用且意義明確的用詞差異。 + +OpenCC 的目標是提升跨地區文本轉換的可讀性與自然度,而非進行語言規範化、風格統一、價值判斷或語言政策推廣。 + +詞表應儘量保持準確、可維護、可驗證,避免收錄存在明顯爭議、依賴上下文判斷或缺乏實際需求的條目。 + +## 適用範圍 + +本文主要適用於地區慣用詞詞表,例如 `TWPhrases.txt`、`TWPhrasesRev.txt`、`HKPhrases.txt`、`HKPhrasesRev.txt`,以及其他地區詞彙對照表。 + +其中 `TWPhrases.txt` 用於簡體或 OpenCC 標準繁體轉臺灣正體時的臺灣慣用詞轉換,`TWPhrasesRev.txt` 用於相反方向的臺灣慣用詞轉換;`HKPhrases.txt` / `HKPhrasesRev.txt` 用於香港慣用詞轉換及其反向轉換。`STPhrases.txt` 則是簡體到 OpenCC 標準繁體的詞組表,必要時會影響地區詞轉換前的分詞結果。更多詞典檔案用途見 [CONTRIBUTING.md](../CONTRIBUTING.md)。 + +本文不直接適用於簡繁字詞對照表、異體字表,或異體字詞組例外表。此類詞表應遵循 [OpenCC 設計思想](../DESIGN_PRINCIPLES.md)及各詞典檔案內的說明。 + +例如,`TWVariantsPhrases.txt`、`HKVariantsPhrases.txt` 用於異體字詞組級例外,不應用來收錄一般地區詞彙;臺灣地區慣用詞應放入 `TWPhrases.txt` / `TWPhrasesRev.txt`,香港地區慣用詞應放入對應的 `HKPhrases.txt` / `HKPhrasesRev.txt`。 + +## OpenCC 地區詞收錄原則 + +### 1. 優先收錄名詞 + +地區詞詞表原則上以名詞為主。 + +包括但不限於: + +* 資訊科技術語 +* 科學技術術語 +* 人名 +* 地名 +* 公司名 +* 機構名 +* 產品名 +* 軟體名稱 +* 知名品牌名稱 + +例如: + +* 軟體 ↔ 软件 +* 滑鼠 ↔ 鼠标 +* 雷射 ↔ 激光 +* 矽谷 ↔ 硅谷 +* 計程車 ↔ 出租车 +* 機車(摩托車義)↔ 摩托车 +* 雪梨 <- 悉尼(反向有明顯歧義不轉換) + +對於專有名詞,應以實際使用情況為準,而非字面翻譯或機械推導。 + +### 2. 避免收錄動詞、形容詞及風格性表達 + +原則上不收錄: + +* 動詞 +* 形容詞 +* 副詞 +* 口語表達 +* 網路流行語 + +例如: + +* 招聘 ↔ 招募(含義不同) +* 支持 ↔ 支援(各地都有使用) +* 厲害 ↔ 犀利(各地都有使用,且含義不同) + +此類詞彙通常具有語義差異、搭配限制或風格色彩,容易產生誤轉換。 + +### 3. 避免收錄語法差異 + +OpenCC 不負責語法轉換。 + +原則上不收錄: + +* 語序差異 +* 句法差異 +* 量詞差異 +* 語氣差異 + +此類問題通常超出詞彙替換所能處理的範圍。 + +## 方言詞處理原則 + +### 4. 方言詞原則上不收錄 + +粵語、閩南語、客家話等方言詞原則上不收錄。 + +例外情況是該詞已進入目標地區主流標準書面中文,成為穩定的地區用詞。此時可視實際使用情況作為地區詞收錄。 + +例如: + +* 巴士 +* 的士 + +僅存在於方言語境,而未進入當地主流標準書面中文體系的詞彙,通常不收錄。例如: + +* 冇 +* 咩 +* 乜嘢 +* 呒 +* 歹勢 +* 叨位 + +此類詞彙屬於「方言詞典」範疇,不屬於 OpenCC 地區詞詞表的目標範圍。 + +## 專有名詞處理原則 + +### 5. 採用實際使用形式 + +對於公司、產品、軟體、品牌等專有名詞,應優先採用目標地區實際主流使用形式。 + +官方譯名可作為參考,但不是唯一依據。官方譯名與實際使用形式不一致時,可依據實際使用情況決定是否收錄。不要求所有詞條均遵循官方品牌規範。 + +### 6. 存在穩定譯名方可收錄 + +專有名詞應具有穩定且可驗證的地區譯名。 + +原則上不收錄: + +* 個人臨時翻譯 +* 少數社群內部稱呼 +* 尚未形成共識的譯名 + +## 關注度要求 + +### 7. 應具有一定社會關注度 + +即使存在地區差異,也不代表必須收錄。OpenCC 並非百科全書,不以覆蓋所有可能存在的地區差異為目標。 + +新增條目應具有一定的實際使用規模或社會關注度。 + +可參考但不限於: + +* 擁有獨立百科條目; +* 出現在主流媒體報導; +* 出現在權威官方文件、教材或專業出版物; +* 具有相當使用者規模; +* 在相關領域具有實際影響力。 + +原則上不收錄: + +* 僅存在於少數論壇或社群; +* 僅服務單一網站或單一組織; +* 缺乏公開可驗證資料; +* 生命週期極短的流行詞; +* 地區差異明確但使用規模極小的專有名詞。 + +## 收錄條件 + +### 8. 應具有明確且穩定的對應關係 + +新增詞條應盡量滿足: + +* 意義明確; +* 對應關係清晰; +* 不依賴上下文判斷; +* 長期穩定存在。 + +避免收錄: + +* 一詞多義且無法可靠判斷者; +* 容易造成大量誤轉換者; +* 仍處於快速變動階段者。 + +### 9. 不要求雙向可逆 + +地區詞轉換的目標是提升實際轉換效果,而非建立完全可逆的映射關係。 + +若某詞在一個方向具有穩定對應關係,而另一方向存在明顯歧義,允許僅收錄單向轉換規則。 + +例如: + +* 雪梨 <- 悉尼 + +是否建立反向規則,應以實際使用需求及誤轉換風險為依據,而非形式上的對稱性。 + +### 10. 應以實際使用為依據 + +是否收錄應優先參考: + +* 公開 NLP 語料庫; +* 主流媒體; +* 出版物; +* 專業文獻; +* 權威官方文件。 + +而非僅依據: + +* 個人偏好; +* 字典規範; +* 官方推薦用語; +* 理論上的對應關係。 + +## 版權與資料來源 + +### 11. 禁止系統性導入不相容詞表 + +不得系統性照搬其他授權不相容專案的詞表。 + +包括但不限於: + +* MediaWiki 詞表 +* Wikipedia 詞表 +* 其他授權不相容的轉換詞典 + +### 12. 允許參考個別詞條 + +允許: + +* 參考其他專案發現問題; +* 參考個別詞條的轉換關係; +* 根據公開事實重新整理詞條。 + +不允許: + +* 批量匯入; +* 整體移植; +* 自動同步外部詞表。 + +## 提交要求 + +### 13. 新增條目應提供可驗證依據 + +提交地區詞條時,應在 issue、pull request 或 commit 說明中提供足以支持收錄的依據。 + +依據可包括: + +* 目標地區主流媒體、權威官方文件、教材、專業出版物或語料庫例證; +* 能顯示兩地穩定用詞差異的公開資料; +* 對可能歧義、誤轉換或反向轉換風險的說明。 + +對於專有名詞,應盡量說明其在目標地區的實際使用情況,而不僅是譯名來源。 + +若條目存在爭議,證據要求與裁定原則見「爭議處理」一節。 + +### 14. 新增條目應附帶對應測試 + +新增或調整地區詞條時,應在實際使用該詞表的配置中增加測試。 + +例如: + +* 臺灣地區慣用詞通常應測試 `s2twp` / `tw2sp`; +* 香港地區慣用詞應測試實際使用該詞表的香港轉換配置; +* 僅影響字形或異體字的變更才應測試 `s2tw` / `t2tw`; +* 若需要讓簡體輸入在地區詞階段保持完整匹配,可能還需要在 `STPhrases.txt` 增加對應分詞條目。 + +詞典文件仍須保持排序、去重,並符合各詞表的正反向維護要求。單向條目應在測試中明確覆蓋預期轉換方向。詳見 [CONTRIBUTING.md](../CONTRIBUTING.md)。 + +## 爭議處理 + +### 15. 疑義從無 + +對於存在明顯爭議、缺乏共識或證據不足的詞條,原則上不收錄。 + +收錄方應提供充分證據證明: + +* 存在穩定地區差異; +* 具有實際使用需求; +* 不會造成顯著誤轉換; +* 值得長期維護。 + +若無法達成上述條件,則維持現狀。 + +### 16. 以維護成本為考量 + +新增詞條不僅增加詞表內容,也增加: + +* 測試成本; +* 維護成本; +* 相容性成本; +* 未來修正成本。 + +收錄決策應綜合衡量地區差異程度、使用頻率、社會關注度與維護成本。地區差異明確、使用頻率高、社會關注度高且維護成本可接受者,優先收錄。 + +OpenCC 不追求完整覆蓋所有地區用語、專有名詞或方言詞彙。即使某詞存在地區差異,也不代表必然需要收錄。 From 2def978c917dbaf6904db27e826be0b8eae1f948 Mon Sep 17 00:00:00 2001 From: Frank Lin Date: Fri, 5 Jun 2026 11:56:49 -0700 Subject: [PATCH 2/3] Remove pending HK phrase references --- doc/regional-phrase-criteria.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/regional-phrase-criteria.md b/doc/regional-phrase-criteria.md index 9d3470325..87ac27b76 100644 --- a/doc/regional-phrase-criteria.md +++ b/doc/regional-phrase-criteria.md @@ -10,13 +10,13 @@ OpenCC 的目標是提升跨地區文本轉換的可讀性與自然度,而非 ## 適用範圍 -本文主要適用於地區慣用詞詞表,例如 `TWPhrases.txt`、`TWPhrasesRev.txt`、`HKPhrases.txt`、`HKPhrasesRev.txt`,以及其他地區詞彙對照表。 +本文主要適用於地區慣用詞詞表,例如 `TWPhrases.txt`、`TWPhrasesRev.txt`,以及其他未來可能加入的地區詞彙對照表。 -其中 `TWPhrases.txt` 用於簡體或 OpenCC 標準繁體轉臺灣正體時的臺灣慣用詞轉換,`TWPhrasesRev.txt` 用於相反方向的臺灣慣用詞轉換;`HKPhrases.txt` / `HKPhrasesRev.txt` 用於香港慣用詞轉換及其反向轉換。`STPhrases.txt` 則是簡體到 OpenCC 標準繁體的詞組表,必要時會影響地區詞轉換前的分詞結果。更多詞典檔案用途見 [CONTRIBUTING.md](../CONTRIBUTING.md)。 +其中 `TWPhrases.txt` 用於簡體或 OpenCC 標準繁體轉臺灣正體時的臺灣慣用詞轉換,`TWPhrasesRev.txt` 用於相反方向的臺灣慣用詞轉換。`STPhrases.txt` 則是簡體到 OpenCC 標準繁體的詞組表,必要時會影響地區詞轉換前的分詞結果。更多詞典檔案用途見 [CONTRIBUTING.md](../CONTRIBUTING.md)。 本文不直接適用於簡繁字詞對照表、異體字表,或異體字詞組例外表。此類詞表應遵循 [OpenCC 設計思想](../DESIGN_PRINCIPLES.md)及各詞典檔案內的說明。 -例如,`TWVariantsPhrases.txt`、`HKVariantsPhrases.txt` 用於異體字詞組級例外,不應用來收錄一般地區詞彙;臺灣地區慣用詞應放入 `TWPhrases.txt` / `TWPhrasesRev.txt`,香港地區慣用詞應放入對應的 `HKPhrases.txt` / `HKPhrasesRev.txt`。 +例如,`TWVariantsPhrases.txt`、`HKVariantsPhrases.txt` 用於異體字詞組級例外,不應用來收錄一般地區詞彙;臺灣地區慣用詞應放入 `TWPhrases.txt` / `TWPhrasesRev.txt`。 ## OpenCC 地區詞收錄原則 @@ -240,7 +240,6 @@ OpenCC 不負責語法轉換。 例如: * 臺灣地區慣用詞通常應測試 `s2twp` / `tw2sp`; -* 香港地區慣用詞應測試實際使用該詞表的香港轉換配置; * 僅影響字形或異體字的變更才應測試 `s2tw` / `t2tw`; * 若需要讓簡體輸入在地區詞階段保持完整匹配,可能還需要在 `STPhrases.txt` 增加對應分詞條目。 From ec62ec0de7328173cc07b12349970d4b23cbfcbd Mon Sep 17 00:00:00 2001 From: Frank Lin Date: Sat, 6 Jun 2026 13:41:05 -0700 Subject: [PATCH 3/3] Refine regional phrase criteria Add a link to DESIGN_PRINCIPLES.md --- DESIGN_PRINCIPLES.md | 2 ++ doc/regional-phrase-criteria.md | 26 +++++++++++++++----------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/DESIGN_PRINCIPLES.md b/DESIGN_PRINCIPLES.md index 91b4e0022..a5c1281b3 100644 --- a/DESIGN_PRINCIPLES.md +++ b/DESIGN_PRINCIPLES.md @@ -174,6 +174,8 @@ OpenCC 的中文簡繁與地區轉換詞典依職責大致分為三類,各自 ## 繁簡字詞對照表的收錄原則 +關於地區慣用詞表的收錄標準,見 [doc/regional-phrase-criteria.md](doc/regional-phrase-criteria.md)。 + OpenCC 是為電腦處理中文文本服務的轉換工具,因此詞典收錄不以某一套紙面規範為唯一邊界。只要條目有合理依據、符合對應模式定位,且有助於實際文本處理,就可以考慮收錄。 同時,繁簡字詞對照表不是純粹的規則推導表。新增或調整條目時,應優先依據可查證的語料、辭書、官方標準或既有約定俗成寫法,而不是僅憑部件類推或理論上可能存在的異體關係。轉換輸出的字形也應以主流平台通常可以正常顯示為重要標準,避免把使用者帶到缺字、無法辨識或難以後續處理的結果。 diff --git a/doc/regional-phrase-criteria.md b/doc/regional-phrase-criteria.md index 87ac27b76..6e7ade469 100644 --- a/doc/regional-phrase-criteria.md +++ b/doc/regional-phrase-criteria.md @@ -44,7 +44,8 @@ OpenCC 的目標是提升跨地區文本轉換的可讀性與自然度,而非 * 矽谷 ↔ 硅谷 * 計程車 ↔ 出租车 * 機車(摩托車義)↔ 摩托车 -* 雪梨 <- 悉尼(反向有明顯歧義不轉換) +* 阿拉伯聯合大公國 ↔ 阿拉伯联合酋长国 +* 市場行銷 ↔ 市场营销 對於專有名詞,應以實際使用情況為準,而非字面翻譯或機械推導。 @@ -61,7 +62,7 @@ OpenCC 的目標是提升跨地區文本轉換的可讀性與自然度,而非 例如: * 招聘 ↔ 招募(含義不同) -* 支持 ↔ 支援(各地都有使用) +* 透過 ↔ 通过(各地都有使用,且含義不同) * 厲害 ↔ 犀利(各地都有使用,且含義不同) 此類詞彙通常具有語義差異、搭配限制或風格色彩,容易產生誤轉換。 @@ -170,7 +171,9 @@ OpenCC 不負責語法轉換。 例如: -* 雪梨 <- 悉尼 +* 通道 ← 信道(反向有明顯歧義不轉換) +* 雪梨 ← 悉尼(反向有明顯歧義不轉換) +* 預設 ← 缺省(反向可能對應「默认」、「预设」等多種用法,故不轉換) 是否建立反向規則,應以實際使用需求及誤轉換風險為依據,而非形式上的對稱性。 @@ -199,22 +202,22 @@ OpenCC 不負責語法轉換。 包括但不限於: -* MediaWiki 詞表 -* Wikipedia 詞表 -* 其他授權不相容的轉換詞典 +* MediaWiki 軟體中的詞表文件等 GPL 授權資料 +* Wikipedia 詞表頁面等 CC BY-SA 授權資料 +* 其他受版權保護,且授權與 Apache 2.0 不相容的轉換詞典 ### 12. 允許參考個別詞條 允許: +* 在授權相容且逐條審閱的前提下,使用政府開放資料、公有領域資料; * 參考其他專案發現問題; -* 參考個別詞條的轉換關係; +* 參考其他專案中的個別詞條的轉換關係; * 根據公開事實重新整理詞條。 不允許: -* 批量匯入; -* 整體移植; +* 未經審閱即批量匯入、整體移植其他資料庫; * 自動同步外部詞表。 ## 提交要求 @@ -235,13 +238,14 @@ OpenCC 不負責語法轉換。 ### 14. 新增條目應附帶對應測試 -新增或調整地區詞條時,應在實際使用該詞表的配置中增加測試。 +新增或調整地區詞條時,應在實際使用該詞表的配置中增加測試,以方便審閱新增規則對不同轉換模式的影響。 例如: * 臺灣地區慣用詞通常應測試 `s2twp` / `tw2sp`; * 僅影響字形或異體字的變更才應測試 `s2tw` / `t2tw`; -* 若需要讓簡體輸入在地區詞階段保持完整匹配,可能還需要在 `STPhrases.txt` 增加對應分詞條目。 +* 若需要讓簡體輸入在地區詞階段保持完整匹配,可能還需要在 `STPhrases.txt` 增加對應分詞條目; +* 如有可用的生成腳本,可使用腳本生成測試用例。 詞典文件仍須保持排序、去重,並符合各詞表的正反向維護要求。單向條目應在測試中明確覆蓋預期轉換方向。詳見 [CONTRIBUTING.md](../CONTRIBUTING.md)。