白话字辞典基础数据
该仓库从原仓库 pujdict@d297bc5 抽出。数据目前提供给白话字辞典项目使用。
现状和未来计划:
- 关于标准音、口音表:本仓库中的数据采用一套人工设计的标准音(称之为“老潮音”)进行读音的记录,能够快速利用口音规则准确地映射为各地的发音,不会因为以潮州音或汕头音为标准导致需要大量例外字音来辅助转换。目前,标准音的设计已经完成,多个主要语音点的口音,均能取得预期结果。未来将进一步完善口音表,支持更多区域口音。
- 关于字表:目前常用汉字的发音已录入完成,罕用字音(主要是文读音)的录入也已基本完成。其他字音信息:已录入读音的使用频率(常用/罕用)、文读/白读/俗读标记。后续方言字(包括惯用训读字、学者考据的“本字”)持续补充。
- 关于词表:这块内容目前只有一个基本数据集,后续将重点扩充,预期达到以下效果:
- 以单词为基本单位收录词条。有许多字音出现在特定场景、特定词汇中,例如粤语借词“咸煎饼 hâm-tsîn pẽng”,“龙眼”二字合在一起的特殊音变“nék-óinn”,锣鼓经的特殊读音“隆冬告主告 lōng tōng kauh tsuh kauh”,等等,字表要记录这些场景是比较困难的,词表可解决这些问题;
- 单词不拘泥于有汉字可写。市面上正规出版商的词典也出于专业、权威的考虑,无字者多不做记录。记录缺失也会影响这些口语表达被认识和传播。因此,我们希望收录的单词允许不写汉字,将无字可写的词汇用读音及时进行记载。至于写作何字,又或者用“汉罗混写”之类的替代方案书写,日后再谈;
- 一个单词不限一种写法。该用通俗写法(训读或假借)还是用所谓“正字”的问题(多位学者甚至可能考证出不同的“正字”/“本字”),例如“人”/“侬”,“脚”/“骹”/“跤”,“姿娘”/“诸娘”,等等;此外,有些本字难考的,民间有约定俗成的写法,例如“丝瓜”写“絮瓜”“须瓜”“秋瓜”均可;另外还有在社交媒体上的非正式写法,例如“浪”代替“𡳞”/“卵”等。多种写法统一收录,让接受不同写法的用户都能查到;
- 一个单词不限一种读音。经典如“奶茶”是“nĩ-tê”还是“nái-tê”,统一收录;
- 单词不拘泥于一字一音,主要用于合音字,“我人”“阮”收于同一词条,可选取“uá--nâng”“uán”“ún”任意发音。
初版的字表数据来源于项目 kahaani/dieghv,并转写为白话字,其协议为 GPL-v3。在此感谢原项目作者的记录。
个人能力有限,如有错漏欢迎协助补正。
本仓库提供 protobuf 格式数据供跨编程语言使用。包含:
- 字表
entries - 词表
phrases - 口音规则
accents
以上数据可通过发布的包中相应的 .pb 文件取得,protobuf 数据类型定义参见相应的 .proto 文件。
本仓库中记音所用方案为白话字拼音方案(参见白话字拼音方案文档)。为方便输入,记音时,声调以数字进行记录(不直接将声调符号标注在韵母中),另有几个特殊音素记法如下:
- 零声母:
0—— 仅限于字表中声、韵、调分开写使用,避免字符串开头直接出现逗号 - 韵母“余 ṳ”:
ur - 韵母“倭 o̤”:
or - 鼻化韵:
nn
单个汉字的拼音文法定义如下:
拼音 ::= (声母) 韵母 声调
声母 ::= "p" | "ph" | "m" | "b" | "t" | "th" | "n" | "l" | "k" | "kh" | "ng" | "g" | "h" | "ts" | "tsh" | "s" | "j" | "0"
韵母 ::= (介音) 韵腹 (韵尾)
介音 ::= "i" | "u"
韵腹 ::= "a" | "e" | "o" | "i" | "u" | "ṳ" | "o̤" | "m" | "ng"
韵尾 ::= "i" | "u" | "m" | "n" | "ng" | "nn" | "p" | "t" | "k" | "h" | "nnh"
声调 ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8"
正则表达式举例:
/^(?<initial>(p|ph|m|b|pf|pfh|mv(?=u)|bv(?=u)|f|t|th|n|l|k|kh|ng|g|h|ts|c|ch|tsh|chh|s|j|z|0)'?)?(?<final>(?<medial>(y|yi|i|u)(?=[aeoiu]))?(?<nucleus>a|e|o|i|u|v|ur|ir|ṳ|or|er|o̤|ng|m)(?<coda>(y|yi|i|u)?(m|n|ng|nn'?|p|t|k|h)*)(?<tone>\d)?)$/i口音表原始数据记录为 YAML 形式,具体格式请参考 accents.yml。 口音格式示例如下:
ChaoZhou_FuCheng: # 一个标记该口音的唯一 ID
area: 潮州 # 地区
subarea: 府城 # 子区域,可留空
rules: # 模糊音规则列表,可选项参见 fuzzy_rules.yml
- OR_As_O
# ...口音由多条口音规则定义,所有规则定义于 fuzzy_rules.yml,每条规则由多条正则表达式运算组成,格式类似于 Rime 中的拼写运算,可参考以下两条规则:
# 这条规则定义的是遇到阳声韵 n ng 时,bu 变为 mu。这是饶平口音的其中一条规则。
BU_As_MU_ForNasalEnding:
- initial+final/^bu((a|o|ur|or|e|i|u)+)(n|ng)$/mu$1$3/
# 这条规则定义的是所有“闭口韵”的脱落,例如澄海口音。它包含两条表达式,第一条是舒声韵的 -m 韵尾脱落为 -ng,第二条是入声韵的 -p 韵尾脱落为 —k。
M_As_NG:
- final/^((a|o|ur|or|e|i|u)+)m$/$1ng/
- final/^((a|o|ur|or|e|i|u)+)p$/$1k/字表原始数据记录为 YAML 形式,采用潮汕方言通用白话字记录读音(参见白话字拼音方案文档),大致格式如下:
- 繁,简:
声1,韵1,调1,文白标记,使用频率标记,假借字: # 第一种读音
# 具体内容(释义条目)
"单字释义1": [["例词", "白话字", "普通话词义"]] # 第一种含义,并带有一条词例
"单字释义2": # 第二种含义,不带词例
"单字释义3": [["例词1", "白话字", "普通话词义"], ["例词2", "白话字", "普通话词义"]] # 第三种含义,带有两条词例
声2,韵2,调2,文白标记,使用频率标记,假借字: # 第一种读音
"单字释义1": [["例词", "白话字", "普通话词义"]]
"单字释义2": [["例词1", "白话字", "普通话词义"], ["例词2", "白话字", "普通话词义"]]
声3,韵3,调3,文白标记,使用频率标记,假借字: # 无释义列表
# 如果具体内容中,key 为 aka/aka_replace/nasalize,则分别记录额外信息
aka: # aka 记录某些口音中的又音,多个又音由 / 分割。默认作为额外可选音,如果又音取代本音,使用 aka_replace
ChaoZhou_FuCheng: 声1,韵1,调1/声2,韵2,调2
ChengHai_ChengCheng: 声1,韵1,调1
nasalize: # 表示这个字原本是阴声韵,但发生了鼻化,例如“爱”“椅”等字。列出发生鼻化的口音点。
- ShanTou_ShiQu释义列表允许一个释义对多个例词。释义列表中的所有字符串都允许为空,但不允许都为空,普通话词义如果为空,表示和例词一致。
例如:
- 成,成:
s,eng,5,2,0,:
"": [["成功", "", ""]]
ts,iann,5,1,0,:
"大约,接近但少于": [["成十", "", ""], ["成百", "", ""]]
"句末表疑问,难不成,常以轻声调形式出现": [["唔成", "m6-tsiann5", "不成"]]
tsh,iann,5,1,0,:
"修改":
s,iann,5,1,0,:
"十分之一": [["八成", "", ""]]文白标记数字如下:
0:默认/无标记,一般如果一个字没有文、白之分,就直接记为01:白读音2:文读音(如果有多个历史层次的文读音,均记为2,不区分层次先后)3:俗读/训读/假借/讹读/惯用读音
读音的使用频率分为四级(可能存在主观判断,仅供参考):
0:默认/首选。1:常用,不作为首选是因为这些音可能只在个别惯用表达、固定搭配中出现,虽然实际上还是比较常用,但这些读音不容易联想到对应汉字,给定汉字也不容易联想到这个读音。例如“西瓜”的“西”,读 si1 不是一个常用选项,组词也仅限于“东西”“西瓜”及其衍生词。2:少用,只在少数特定词汇中出现,并且已有弃用的倾向,年轻一代可能不认识,而倾向于用更常用的音来代替。3:罕用,一般只用于诗歌戏曲中的押韵等极特殊情况,市面上的一般辞典中不会收录。
词表放置于 phrases.yml 中。示例如下:
# -------------------------- 示例 ------------------------
- 我|ua2||r|人称:
informal: 瓦 # 非正式的写法列表,对于社交平台上常用的,但不正式的写法予以收录。多种写法以 / 分割
# 例:字同而音义不同
- 高丽|ko1-le6|包菜/卷心菜|n|蔬菜: # key 固定为单词的写法(无汉字者以*代替,外来语可不写汉字) + 发音 + 普通话对译词 + 词性 + 标签
- 高丽|kau1-li5|高丽参/人参|n|:
# 注:普通话对译词一栏,原则上必须是一个对译词而不能是一句释义,以便于根据普通话词汇反查潮州话表达。如果确需对译词进行简要的解释,需写在半角括号内。
# 辞典查询普通话对译词时,忽略括号内的内容。(括号允许嵌套但需成对,如 "A(B(C))")
- 父|pe6|父/父亲(背称)|n|:
- 后日|au6--jit8|后天|n|:
cmn: 后天
desc: 日期上的后天。如果用于合成词,不读轻声调。
examples:
- [伊后日过来, i1 au6--jit8 kue3--lai5, 他后天过来]
- [伊后日才来, i1 au6--jit8 tsia3-lai5, 他后天才来]
- [后日夜, au6-jit8-menn5, 后天晚上]
- 后日|au6-jit8|今后/日后|n|:
# 例:多种读音,多种写法,多种含义,需拆分为多个条目。
- 阮/我人/我侬|uan2/ua2--nang5|我们|r|:
- 阮|uan2||n|:
desc: 一种乐器 # desc 只用于释义
- 奶茶|nai2-te5/ni6-te5/ne6-te5||n|:
- 疫情|mok8-tsheng5/ek8-tsheng5||n|:
# 例:具体口音变体
- 莲藕|noinn5-kau6||n|:
- 作田/作塍|tsoh4-tshan5|种田|vi|:
- 荠葱/钱葱|tshinn5-tsang5|马蹄葱/马蹄/荸荠|n|:
# 例:外来语,无汉字者以全角星号*代替
- **|an5--thi7|姨妈|r|:
loan: 英语/aunt
- 咸煎饼|ham5-tsin5 peng6||n|:
loan: 粤语/咸煎饼
- 干筒/干茼|kan1-tang5|土豆/马铃薯|n|:
loan: 马来语/kentang
# 单字,理论上可以考虑将字表中的内容都迁移到这个表里来,释义的添加方式更加准确自由
- 硗|khiau1|穷/贫瘠|a|:
desc: 原意指土地贫瘠,引申为穷。
examples:
- [硗过梦龙, khiau1-kue3-mang7-leng5, 比梦龙穷]
- 硗|khiau1|余|m|:
desc: 原意指土地贫瘠,引申为表示概数的数词。用于个位少于一半的情况。个位大于五需用“外@{gua7}”。
examples:
- [二十硗人, ji7-tsap8-khiau1-nang5, 二十余人(少于二十五人)]
- [二点硗, nonn6-tiam2-khiau1, 两点多(早于两点半)]
# 英语音素
- K|khe1||n|:
- XO|ek8--surh4 ou1||n|:
- offer|o5--fur7||n|:本仓库中的代码类文件以 AGPL 3.0 协议开源,数据类文件(字表、词表、口音定义表)以 CC-BY-SA 4.0 协议开源。方言文化应是属于所有人的文化遗产,本着弘扬和发展优秀传统文化的精神,不为我们家乡方言相关知识的传播设限,开发者、读者可在同样保持知识内容和源码开源的基础上使用本仓库中的内容。