本帖最后由 鬼笔环肽 于 2024-5-20 14:44 编辑
当ChatGPT的广东话“讲唔正”:AI 年代,弱势语言是否注定被边缘化?
【在AI 半吊子的广东话背后,是语言传承与社会资源分配的角力。】
刊登于 端传媒 2024-05-20
你听过 ChatGPT 说广东话么?
如果你是普通话母语者,恭喜你瞬间收获“精通粤语”成就。反而是会说广东话的人,这时可能要一头雾水了--ChatGPT 自带奇特口音,像外地人在努力说广东话。
2023年9月的一次更新中, ChatGPT第一次拥有了“说”的能力;2024年5月13日,最新一代模型 GPT-4o 发布,虽然新版的语音功能尚未正式面世,只存在于 demo 中,但从去年的更新中,已经可以一窥 ChatGPT多语言语音对话的能力。
而很多人也发现了,ChatGPT 讲广东话口音浓重,虽然语气自然,像真人一样,但那个“真人”肯定不是广东话母语者。
为了查证这一点,探寻背后的原因,我们展开了粤语语音软件的对比测试:受测者有 ChatGPT Voice、苹果 Siri、百度文心一言,以及 suno.ai。其中,前三者均为语音助手,suno.ai 则是近期红热极一时的人工智能音乐生成平台。它们都具备根据提示词用粤语或近似粤语来生成回应的能力。
就词汇发音而言,Siri 和文心一言都发音正确,但回答比较机械和死板,其余两位选手则有不同程度的发音错误。很多时候,错误之处都是在用倾向普通话的方式来发音,比如“影”粤语应作“jing2”,变成了普通话“ying”;“亮晶晶”应作“zing1”,却读成“jing”。
“高楼大厦”的“高”被 ChatGPT 发为“gao”,而实际应为粤拼“gou1”。土生土长的广东人 Frank 也指出,这是一个非母语者中常见的发音错误,还常被本地人拿来开玩笑——因为“gao”是指涉性器官的广东话脏话。ChatGPT每次发音表现都会略有不同,“高楼大厦”的“厦”有时能发为正确的“haa6”,有时又错读为“xia”,一个广东话中不存在,近似普通话中“厦”的发音。
ChatGPT用广东话介绍端传媒:https://initium-asset.s3.amazonaws.com/media/audio/2024/05/83916565757249099d6424a18e4139d9.mp3
语法上,生成的文本明显更偏书面,只偶尔夹杂口语化表达。遣词造句也时常会突然切换为普通话的模式,脱口而出“买东西”(广东话:买嘢),“用粤语来给你介绍一下香港啦”(广东话:用粤语同你介绍下香港啦)等不符广东话惯用口语语法的句子。
百度文心一言用广东话介绍香港:https://initium-asset.s3.amazonaws.com/media/audio/2024/05/456cdce53ca4406d9e1e20602e3d7e40.mp3
suno.ai 在创作广东话饶舌歌词时,也写出类似“街坊边个仿得到,香港嘅特色真正靓妙”的,语义不明的歌词;我们把这句拿给ChatGPT 评价,它指出“这句似乎是普通话的直译,或者是普通话混合广东话的句法(syntax)”。
Suno.ai 创作的广东话饶舌歌曲:https://initium-asset.s3.amazonaws.com/media/audio/2024/05/32bc7e1278b746e6a735ae7d6527c704.mp3
作为对比,我们也发现,在它们尝试使用普通话时,这些差错基本都不会出现。当然,同是广东话,广州﹑香港﹑澳门都有不同的口音与用语差别;被视为粤语“标准”的西关口音,与香港的常用广东白话就非常不一样。 但ChatGPT的广东话,最多只能说是“唔咸唔淡”(指不熟练,半吊子)的普通话母语者会有的口音。
这是怎么一回事?ChatGPT是不会广东话吗?但它没有直接表示不支持,而是对它展开了一番想象,而这种想象明确建立在一种更强势,更有官方背书的语言之上。这会不会成为一个问题?
语言学家兼人类学家沙皮尔(Edward Sapir)认为,口语影响着人们与世界互动的方式。当一种语言无法在人工智能时代声张自己,这意味着什么?对于广东话的样貌,我们会逐渐与AI共享同样的想象么?
没有“资源”的语言
翻阅 OpenAI 公开的信息,去年ChatGPT推出的语音模式展现的对话能力,实则由三个主要部分组成:首先由开源的语音识别系统 Whisper 将口语转为文本——再由 ChatGPT 文字对话模型生成文字回复——最后由一个文本转语音模型(Text-To-Speech,以下简称 TTS)来生成音频,并对发音方式进行微调。
也就是说,对话内容仍然是由 ChatGPT3.5 的本体生成的,其训练集为网络上已经存在的大量文本,而非语音资料。
在这点上,广东话存在显著的劣势,因为它很大程度上存在于口语而非书写中。官方层面,粤语区使用的书面语为源自北方汉语的标准书面中文,它更接近普通话而非粤语;而书面粤语,也就是符合粤语口语的语法与词汇习惯的书写系统,又称粤文,则主要出现于非正式的场合,比如网络论坛中。
这种使用时常不遵循统一的规则。“大约有 30% 广东话的字,我也不知道该怎么写。” Frank 就表示,人们在网络聊天时遇到不会写的字,常常也只是在中文拼音键盘上找个发音近似的字打上去。例如广东话中的“乱噏廿四”(lyun6 up1 jaa6 sei3;意即胡说八道),就常被写成“乱up廿四”。虽然彼此之间大多能理解,但这进一步让现存的粤语文本变得杂乱且标准不一。
大语言模型的出现让人们理解了训练集对于人工智能的重要性,以及其可能带有的偏见。但实际上,在生成式 AI 出现之前,不同语言之间的数据资源差距就已经造成了鸿沟。大多数自然语言处理系统都是用高资源语言设计和测试的,在全球所有活跃语言中,只有 20 种被认为是“高资源”语言,比如英语、西班牙语、普通话﹑法语﹑德语﹑阿拉伯语﹑日语﹑韩语。
而拥有 8500 万使用者的广东话,在自然语言处理(NLP)中则时常被视为是一种低资源语言。作为深度学习的起点,维基百科的英文内容压缩后大小为 15.6GB,繁简混合版压缩后为 1.7GB,粤版压缩后仅有 52MB,与近 33 倍的差距。
同样地,现存最大的公开语音数据集 Common Voice 中, Chinese (China) 的语音数据有 1232 小时,Chinese (Hong Kong) 为 141 小时,Cantonese 为 198 小时。
语料缺失会深刻影响到机器的自然语言处理表现。2018 年的一份研究发现,如果语料库中的平行句子少于 13K,机器翻译就无法实现合理的翻译结果。这也影响到机器“听写”的表现。ChatGPT Voice 采用的开源 Whisper 语音识别模型(V2 版本)性能测试,粤语字符错误率要明显高于普通话。
模型的文本表现显示出粤文的资源不足,而决定我们听感的发音和语调又是如何出错的呢?
机器是怎么学会说话的?
人类很早就萌生出让机器说话的念头,最早可以追溯到 17 世纪,早期的尝试包括使用风琴或风箱等,机械地将空气泵入模拟胸腔、声带和口腔结构的复杂装置。这一思路随后被一名叫费伯(Joseph Faber)的发明家纳用,打造了一个身着土耳其服饰的说话假人——但当时人们都不理解这有什么意义。
直到家用电器愈加普及,让机器说话的主意,才引发了更多人的兴趣。
1939 年的世博会上,贝尔实验室工程师达德利(Homer Dudley)发明的语音合成器 Voder 向人类发出了最早的“机器之声”。对比现今机械学习的“神秘”,Voder的原理简单易明,而且场观众都能看到:一名女性操作员坐在一台玩具钢琴一样的机器前,通过熟练控制 10 个按键,来产生近似于声带摩擦的发音效果。操控员还可以踩下脚踏板,改变音高,模拟更欢快或是更沉重的语气。一旁,一名主持者不断让观众提出新的词语,以证明 Voder 的声音并非预先录制。
透过当年的录音,《纽约时报》评价,Voder 的声音像“深海中传来外星人的问好”,又像个烂醉如泥的人囫囵吐字,难以理解。但在当时,这种技术已足以让人惊奇不已,这届世博会期间, Voder 吸引了全世界超 500 万人次前来参观。
早期智能机器人、外星生物的声音想象从这些装置中获取了诸多灵感。1961 年,贝尔实验室的科学家让 IBM 7094 唱起了 18 世纪的英国小曲 “Daisy Bell”。这是已知最早的由计算机合成声音演唱的歌曲。《2001:太空漫游》的作者克拉克曾去过贝尔实验室听 IBM 7094 唱 Daisy Bell,这本小说中,超级电脑 HAL 9000 最先学会的就是这首曲子。在电影版中,片末被初始化的 HAL 9000 意识混乱时,开始吟唱起 “Daisy Bell”,灵动拟人的声音逐渐退归于机械的低吼。
自此,语音合成经历了数十年的演进。而在 AI 时代的神经网络技术成熟前,串联(concatenative synthesis)和共振峰合成(formant synthesis)是最常见的方法——实际上如今常见的许多语音功能仍是通过这两种方法实现的,比如读屏。其中,共振峰合成在早期占据主导地位。它的发声原理与 Voder 的思路很相似,利用基频、清音、浊音等参数的控制结合,来生成无限量的声音。这带来了一个很大的优势,你能用它来产出任何语言:早在 1939 年, Voder 就能说法语了。
那么当然它当然也可以说广东话。2006 年,还在中山大学读计算机软件理论硕士的广州人黄冠能在计划毕业课题时,想到可以做一款适用于视障人士的 Linux 浏览器,过程中他接触到了 eSpeak,一款采用共振峰合成的开源语音合成器。由于在语言上的优势,eSpeak 出现后很快被投入实际应用,2010 年 Google 翻译开始为大量语言添加朗读功能,包括普通话、芬兰语、印度尼西亚语等,就是通过 eSpeak 实现的。
毕竟对绝大多数人来说,用编码进行交流并不自然,也有相当一部分残障人群因此被隔绝在技术之外。
黄冠能决定为 eSpeak 添加他的母语,也就是广东话的支持。但由于原理的局限,eSpeak 合成的发音有着明显的缝合感,“就像你学习中文,不是通过汉语拼音,而是英文的音标来拼读一样,效果就很像一个外国人学说汉语。”黄冠能表示。
因此他又做了 Ekho TTS。如今,这款语音合成器支持广东话、普通话,甚至是诏安客语、藏语、雅言、广东台山话等更为小众的语言。Ekho 采用的是串联的方法,更浅显的说法就是拼贴——预先录制人类发音,“说话”时将它们拼贴在一起。这样一来,单字发音会更加标准,而一些常用词汇如果被完整录入,也会让听感更加自然。黄冠能整理了包含 5005 个音的广东话发音表,从头到尾录制完成需要 2 到 3 个小时。
深度学习的出现为这个领域带来了变革。基于深度学习算法的语音合成从大规模语音语料库中学习文本和语音特征之间的映射,而无需依赖事先设定的语言学规则和录制好的语音单元。这种技术让机器声音的自然程度向前迈进了一大步,很多时候效果已经与真人无异,且凭借十几秒的语音就克隆出一个人的音色与说话习惯—— ChatGPT 的 TTS 模块使用的便是这种技术。
相比于共振峰合成和串联技术,这类系统为语音合成省去了大量的前期人力成本,但也对文本和语音的配对资源提出了更高的要求。比如 Google 2017 年推出的端到端模型 Tacotron,就需要超过 10 小时的训练数据才能获得较好的语音质量。
为照顾到很多语言的资源稀缺,近年来,研究者提出了一种迁移学习的方法:先用高资源语言的数据集训练出一个通用模型,再将这些规律迁移到低资源语言的合成中。 一定程度上,这种迁移而来的规律仍然携带着原本数据集的特征——就像拥有第一母语的人去学习一门新语言时,会带入自身母语的语言知识。2019 年 Tacotron 团队就曾提出过一个模型,可以在不同语言之间克隆同一说话者的嗓音。在 demo 演示中,英语母语者在“说”普通话时,尽管发音标准,却带有十分明显的“外国人口音”。
《南华早报》上的一篇评论中指出,香港人用标准汉语写作,为了让所有讲中文的人都能理解自己的意思,必须使用现代标准汉语中的“他们”——“他们”,粤拼为“taa1 mun4”,是一个粤语口语几乎永远不会用的词;粤语中的意指“他们”的,是发音写法都截然不同的“佢哋”(keoi5 dei6)。
在一个解法处理普遍问题这一点上,最新的 GPT-4o 模型做得更加极致,OpenAI 介绍,他们端到端地训练了一个跨文本、视觉和音频的模型,所有输入输出都由这一通用的神经网路进行处理。该模型如何处理不同语言,这一点尚不明确,但看起来它在跨任务之间的通用性要比过去都更强。
但广东话和普通话之间的互通时而会让问题更为复杂。
在语言学上,有“语言分层”或“双层语言”(diglossa)这一概念,指在特定社会中存在两种紧密联系的语言,一种具更高威望,通常为政府所用,另一种则常作为方言口头使用、或谓之白话。
在中国的语境中,普通话是最高层次的语言,用于正式书写、新闻播报、学校教育和政府事务。而各地方言,如粤语、闽南语(台语)、上海话等,则是低层次语言,主要用于家庭和地方社区的日常口头交流。
因此,在广东、香港和澳门便造成了这样的现象,粤语是大多数人的母语,用于日常口语交流,而正式的书面语言则通常是使用普通话的书面标准汉语。
两者之间有许多相似却实际不同,诸多如“他们”与“佢哋”这般的“不和谐对”,也反而可能导致从普通话到粤语的迁移变得更加困难和误会重重。
|