学佬话正在消失,所以我做了这个 App

学佬话是汕尾一带的福佬话,没有标准书写、没有教学资源、年轻人不再说。我做了个翻译和学习 App,过程比想象中难得多。

学佬话正在消失,所以我做了这个 App

先说清楚”学佬话”是什么,因为大部分人第一次听到会以为是打错字。

学佬话是汕尾海丰、陆丰一带的福佬话,属闽南语系。它和潮汕话是近亲,但差别不小——潮汕话有相对成熟的正字方案和教学资源,学佬话基本什么都没有。

为什么做这个

一个很扎心的现象是:家里的小孩能听懂学佬话,但不太会说。他们用普通话回长辈,长辈再用学佬话回他们,两代人就这样各说各的。

这种事在很多方言上都发生过。但学佬话的情况更糟一点:它没有标准书写。你没法把它打成字发给朋友,因为它本来就只有音,没有一套大家公认的写法。想学的人打开应用商店,能找到粤语 App、潮汕话 App,学佬话几乎是空白。

更直白地说,有些话用普通话讲出来就不是那个味道了。语气词、口头禅、骂人的话、哄小孩的话,这些东西换成普通话之后全都变了形。它们只在方言里存在。

所以我想,至少先做一个能用的东西出来:能把普通话翻成学佬话、能听发音、能查。哪怕只是给自己家里人用。

它现在能做什么

App 目前三个模块:翻译、学习、设置。

翻译是核心。左边普通话,右边学佬话,中间一个切换。输入普通话文字,出学佬话。输入框带粘贴和清空,中间那个红色麦克风按钮是语音输入——对着手机说普通话,不用打字。这个交互是特意做的,因为目标用户里有相当一部分是长辈,他们打字不方便,但说话没问题。

翻译出来的结果配合语音合成朗读。这一点后面会讲,是整个项目里最难的部分。

学习模块用来把翻译结果沉淀下来。方言学习有个特点:它没有教科书,你只能在具体场景里学。“吃饭了没”怎么说,是在饭桌上听会的,不是从课本上背下来的。所以学习模块的思路是把翻译过的句子收藏起来反复听,而不是做成”第一课:声母韵母”。

真正的难点

写这篇的初衷其实是想说清楚这些难点,因为做之前我把难度低估了。

没有正字。 普通话翻学佬话,不是”词对词替换”。学佬话很多词没有公认的汉字写法,同一个音在不同村镇可能有不同写法。这意味着 LLM 的输出本身就没有唯一正确答案——你没法用一个标准答案去评测它翻得对不对,只能找会说的本地人来听。

这直接导致一个问题:评测怎么办。普通机器翻译有 BLEU 分,有标准测试集。方言翻译没有。我现在的做法是人工抽查,靠家人和亲戚听。这显然撑不了规模化,但我还没想到更好的办法。

TTS 基本不支持。 这个是最卡的地方。市面上的语音合成,普通话和英语做得很好,粤语有一些,闽南语零星,学佬话几乎为零。

所以要么找现成支持闽南语系的 TTS 硬套(发音会不标准,学佬话和闽南语泉漳片差别不小),要么自己训或者微调模型——后者需要大量带标注的方言语音数据,我没有。

目前只能走前者的方案,能用,但发音明显不对味。一个方言 App,发音不准是很致命的——你的目标用户恰恰是最能分辨出发音不准的人。这个矛盾还没解决,等有了进展再写一篇。

语料从哪来。 大模型对学佬话的了解非常有限,直接让它翻,输出经常是潮汕话或者干脆是普通话。要让它说学佬话,得先有语料喂进去。而语料的来源只能是人——会说的长辈,一段一段录。

这件事没有捷径。它不像做一个小工具,接个 API 就能跑。方言项目的前期就是笨功夫。

还没上线,但已经值得

两个产品都没上线,有时我也会怀疑这东西值不值得做——它大概率不会带来什么收入,用户群体本来就小,还分散在几个村镇。

但上次把 Demo 给我妈看,她翻了翻学习页,随口念了一句,然后用学佬话跟我说了一句什么。我没听懂,问她什么意思,她笑了半天。

就冲这个,这个东西得做完。

方言保护这件事,大公司不会做(没有商业价值),学术机构做得慢。最后能做的大概只有本地人和半吊子程序员。我这算半个。


如果你是汕尾或者闽南语区的,家里有会说学佬话的长辈,并且愿意帮忙录几句语音或者校对译文,可以加我微信(在关于页),我会把你的名字放进致谢里。

奇妙感 本文采用署名-非商业性使用-相同方式共享协议,转载请注明出处与作者。

目录