原文链接:Teaching ChatGPT to Speak my Son’s Invented Language
本文作者:Ryszard Szopa 编译:CoinTime Candice
当我还是个孩子的时候,我经常发明语言。我以为我这个爱好十分孤独,但现在我知道我远不是一个人。《指环王》的作者JRR Tolkien是一位多产的语言发明家,他的语言值得在维基百科上拥有自己的词条。甚至还有一个称作“conlangers”的充满活力的互联网社区。然而,我的语言十分简单,有原创词汇,但语法模仿了波兰语、西班牙语或英语。我没有接触语言知识,而且我怀疑我家里的任何人都无法向我解释音标字母表是什么。可悲的是,我写下我的语言的笔记很久以前就丢失了。
我9岁的儿子Rysio继承了对语言创作的偏好。然而,他很幸运地生活在一个不同的时代。由于YouTube上的NativLang和LangFocus等频道,他有机会接触到丰富的语言知识,他用这些知识来创造更多精致和有创意的语言。他最新的创作是Kłeti(发音为“kwety”)。他的设计目标是创造一种语法不会模仿他熟悉的任何语言的语言,比如英语或波兰语。他还努力使用尽可能多的声音。

作为父母,当你听到你的孩子用嘴发出奇怪的声音时,可能会有点不安。起初,我和妻子担心我们的儿子可能有中风或其他医疗问题。但事实证明,他只是在练习不同的声音。他会根据这些声音是他的语言的声音还是仅仅是拍打的声音来进行分类。虽然他不知道如何用拼音表达这些声音中的大部分,但他记得如何用嘴重现这些声音。
我非常喜欢参与我儿子的创作。我的部分感觉是我应该尽快流利地掌握Kłeti语言。然而,这种语言与我熟悉的印欧语系语言有很大不同。例如,Kłeti的句子结构是SOV(主语——宾语——谓语),而我所知道的所有语言都有主语——谓语——宾语(SVO)的句子结构。此外,Kłeti使用特定的连接词将名词、动词和形容词连接在一起:这不是印欧语使用者熟悉的特征。此外,Kłeti在构成疑问句、显示占有和表示复数方面有不同的方法。所有这些差异都会使具有印欧语系语言背景的人在学习和使用Kłeti时感到惊讶和挑战。
但是,学习Kłeti的挑战还不止于此。我儿子为这种语言设计了一个特殊的字母表。Kłeti的罗马化使用波兰语字母表(例如,名字中的Ł发音类似[w]),还使用辅音簇来表达不常见的声音,这对我(或除我儿子以外的任何人)来说都很难发音。此外,Kłeti有一个单词边界标记,(y)’ng,插入单词之间。这意味着Kłeti中的一句话可能是这样的:hingadaa’ng’khuu’ngkilja’khłattama’khattama,在英语中翻译为“狗可以跑得很快”。

尽管我儿子有与年龄不相称的令人印象深刻的语言知识,但正确地记录Kłeti似乎超出了他目前的能力。因此,这种语言似乎只存在于他的想象中,以及他放在谷歌文档中的词汇表和一些例句。
但事情是这样的:我们生活在一个几年前看起来像科幻小说的时代,现在触手可及。在2023年4月,我们决定利用这个事实,向ChatGPT发起挑战。作为一个下午的项目,我们决定教它Kłeti语。
第一轮
我拿起我儿子的Google文档,要求ChatGPT将其整理并使用更一致的格式进行重写。我不想为这样一个简单的任务浪费GPT 4的积分,所以我们选择了足以胜任这项工作的ChatGPT 3.5。与此同时,我的儿子刷完牙回来了(显然他早上忘记刷了),和我一起坐到办公桌旁。
我们将他的例句和词汇表输入GPT 4,并给出以下提示:
以下是一种新语言Kłeti的一些例句:
你好,我在这里——kłakura,m’aenala’ngkil’ai’khy’ngo’kh
我的名字是rick——m’eanalauu’ngt’ou’ngkilri’kho’ngo’kh
你有个儿子——i’khm’aenala’ngkilforr’io’nguuy
……
狗能跑得很快——hingadaa’ng’khuu’ngkilja’khłattama’khattama
这里有一份Kłeti的词汇表:
英语Kłeti
你好kłakura
再见ołarata
儿子forr’io
女儿forri’a
我m’eanala
……
关于这种语言,你能告诉我什么?
(为了便于阅读,我删除了大部分句子和单词。)
GPT输出如下:
Kłeti是一种具有独特特征和词汇的构造语言。下面是我们从所提供的例句和词汇表中可以推断出的其特点:
语序:Kłeti在句子中似乎遵循主语——谓语——宾语(SVO)语序,这与英语和许多其他语言相似。
形态:Kłeti似乎有丰富的形态,有几个词缀和助词来表示时态、所有格和其他语法特征。
时态标记:该语言有特定的将来时和过去时标记,附在动词上:‘i-/a-’表示将来时,‘e-/u-’表示过去时。
代词:Kłeti对人和动物有不同的代词,它根据被指对象的性别或动物来区分他、她和它。
词汇:该语言有着独特的词汇,有特定的颜色、数字、家庭关系等词汇。它还有一个全面的计数系统。
所有格标记:该语言使用所有格标记‘-uu’来表示所有。
形容词名词和名词动词连接词:Kłeti使用(y)’kh作为形容词名词连接词,(y)’ng作为名词动词连接词。
问题形成:Kłeti使用特定的标记,如‘kr’iu’表示真/假问题,“rcu’表示无限选择问题。
总的来说,Kłeti语是一种有趣的结构语言,有其独特的语法特征和词汇。它展示了一个经过深思熟虑的结构,允许清晰的表达和交流。
虽然这令人印象深刻,但并不完全正确。幸运的是,最好的(也是唯一的)Kłeti专家坐在我旁边,所以我们给它提供了一些反馈:
1.不,Kłeti有一个SOV词序。
2.正确。
3.正确。
4.正确。
5.正确。
6.正确。
7.(y)’kh是名词——形容词连接词或动词——副词连接词。(y)’ng是一个像空格一样的音,标志着单词的边界。
8.你对‘kr'iu’是对的,但‘‘rcu’是无限选择题的标记,答案不是数字。‘ch’iu是一个标记,表示答案可以是一个数字的问题(类似于英语中的“how much?”)。
根据这些反馈,GPT生成了一个新的、稍好的Kłeti描述。我们重复了几次,直到我们得到了我们觉得不错的东西。是时候进行第一次真正的测试了。是时候进行第一次真正的测试了——让GPT翻译Kłeti的句子。
我们:
请尝试将以下句子从Kłeti翻译成英语:
kłakura,m’eanala’ngkilri’khy’ngo’kh
m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh
Kil’au’khn’ia’ngo’kh
GPT:
根据提供的Kłeti词汇表和例句,以下是所给句子的翻译:
kłakura,m’eanala’ngkilri’khy’ngo’kh
翻译:你好,我喜欢Rick。
m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh
翻译:我的好狗。
Kil’au’khn’ia’ngo’kh
翻译:她(动物)喜欢它。
这些结果很平庸(翻译的方向是正确的,但还没有达到),但我们没有放弃。我们的下一个提示旨在提供反馈,让模型告诉我们它需要什么才能变得更好:
事实上,这些是正确的翻译。能否请你解释一下为什么你会搞错?
你好,我是Rick——kłakura, m’eanala’ngkilri’khy’ngo’kh
我的狗很好——m’aenalauu’ngkilsamptra’khhingadaa’ngo’kh
她(这只狗)很聪明——kil’au’khn’ia’ngo’kh
什么样的信息可以让你避免犯这些错误?我对修改后的解释不感兴趣,我希望你写下我可以给LLM的文本,以及关于Kłeti的其他信息,这样它就不会重复你的错误。

GPT:
我为先前的错误翻译表示歉意。为了避免犯这些错误,以下信息将有助于向LLM提供:
明确 ‘kil’是一个系词(就像英语中的‘is’一样),‘ngo’kh’是表示喜欢或偏好的助词。
澄清名词——形容词连接词(y)’kh和动词——形容词连接词(y)’kh之间的区别,以及(y)’ng作为空格标记的用法。
提供包括系词‘kil’ 和助词‘ngo’kh’的句子示例,以说明它们在句子中的用法和位置。
强调理解Kłeti语中SOV语序的重要性及其对翻译的影响。
通过提供这些额外的信息,LLM将能够更好地避免之前翻译中出现的错误。
在尝试了几次以这种方式提高ChatGPT对Kłeti的理解后,我们决定尝试一种稍微不同的方法。我们向ChatGPT发出以下提示:
请提供一个英语句子列表,其翻译足以为你提供上述信息。
ChatGPT 4为我们生成了这些句子,而我儿子则翻译了它们。我还要求提供一些额外的句子让我儿子翻译,我们可以用这些句子作为测试数据,看看它表现如何。
经过几轮的完善和测试,我们终于准备好解决这项练习的真正目标:获得一个能产生更准确的Kłeti翻译的提示。但是,当你有一个有用的助手为你做这件事时,为什么要自己做这么困难的事呢?
请把你所知道的关于Kłeti语法的所有内容总结成一个提示,我可以把它提供给ChatGPT,这样它就可以在Kłeti和英语之间进行翻译,而不会犯你的错误。不要担心词汇表,我们会单独进行。
第一个结果包含一个错误,我们已经纠正了。我们要求GPT为它所描述的所有规则提供例子。
Kłeti是一种具有独特语法结构的SOV语言。在Kłeti中,名词、动词和形容词必须使用特定的连接词连接。使用(y)’kh连接名词和形容词(例如,o’bbapla’kh’yepla:红色玩具)或动词和副词(例如,attama’khatik’io:快速飞行)。使用(y)‘ng作为单词之间的空格,标记单词边界。
在构成问题时,用‘kr’iu’表示是/否的问题(例如,kr’iu’ngimulimy’ngnam:他在吃三明治吗?),用‘rcu’表示答案不是数字的无限选择题(例如m’eanala’ng’rcu’ngunam:我吃了什么?),对于答案可以是数字的问题,可以使用‘ch’iu(例如,b’gha’khhomrina’nma’ng’ch’iu’ngliu:这本书多少钱?)。
为了表示所有格,使用所有格名词,后跟‘uu’,然后是所有格名词(例如,m’eanalauu’ngkilsamptra’khhingadaa’ngo’kh:我的狗很好)。
在Kłeti语中,形容词位于所修饰的名词之前,并由‘kh’连接(例如,kilamy’khitu’ua’ngo’kh:海洋是美丽的)。
为了表示复数,重复这个名词(例如,h’io’ngkiltri’ngkumrikumri’nguuy:他有三只猫)。用‘ng’连接主语和动词(例如,m’eanala’ngkilmit’ie’ngo’kh:我是一名学生)。
用‘ng’连接名词和数字(例如,m’eanala’ngkiltri’ngkikali’ngo’kh:我有三只鸟)。
对于复合词,将词根与适当的连接词组合在一起(例如,'o’bbi’nki’khypoho’rca:蓝色连衣裙)。
要否定一个动词,加上‘ikh’作为前缀(例如,ikhnaml’io’ngimulim:他不吃三明治)。
当从Kłeti翻译成英语或反过来时,要密切注意词序、连接词,以及构成疑问句、所有格和否定句的具体规则。
现在我们已经准备好进行第二轮翻译了。
第二轮
我们很想看看ChatGPT在新的和改进的提示下能做些什么,我们把第一遍的最后描述(连同词汇和例句)粘贴到ChatGPT 4的一个新实例中。 我们要求模型为我们翻译这些句子:
大海很美。我有一栋大房子。她是我的妹妹。他有三只猫。那只鸟在天空中飞翔。我父亲喜欢咖啡。我想要一辆蓝色的自行车。她需要一条新裙子。这本书多少钱?这些花是五颜六色的。汽车在房子外面。我是你的朋友。
结果并不完美。我们给了模型正确的答案,并要求它评估自己的表现:
这里是答案。请评估你做得如何。如果你的翻译是正确的,请告诉我。如果有错误,请提供一个假设,说明你为什么会犯这个错误。请提供一个分数(完全正确的翻译得1分,部分正确的翻译得0.5分(最多缺少一个字母或撇号),翻译错误的得0分)。
格式应如下所示:
建议:
正确:
分数:
假设:
最后,说出你总共得到了多少分。
大海很美。——kilamy’khitu’ua’ngo’kh
我有一栋大房子。——m’eanala’ngkilhu’gia’khlav’ier’nguuy
她是我的妹妹。——h’ia’ngm’eanalauu’ngkilkin’ia’ngo’kh
他有三只猫。——h’io’ngkiltri’ngkumrikumri’nguuy
那只鸟在天空中飞翔。——kikali’ngbalau’ng’kha’cha’ngkilhakit’io
我父亲喜欢咖啡。——m’eanalauu’ngparent’io’ngjaviny’ngyngo
我想要一辆蓝色的自行车。——m’eanala’ngkilo’bbi’nki’khbikułkokułko’ngyngo
她需要一条新裙子。——h’ia’ngkilhala’khypoho’rca’ngo’tla
这本书多少钱?——b’gha’khhomrina’nma’ng’ch’iu’ngliu
这些花是五颜六色的。——o’bbi’khahyahy’ngo’kh
汽车在房子外面。——vrumy’nglav’iery’ngi’khlav’ier’cha’khy’ngo’kh
我是你的朋友。——m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh
这是模型返回的内容:
大海很美。
建议:itu’ua’ngkilam’khy’ngo’kh
正确:kilamy’khitu’ua’ngo’kh
点数:0.5
假设:我漏掉了形容词——名词连接词和语序。
我有一栋大房子。
建议:m’eanala’ngkilhug’ia’khlav’ier’nguuy
正确:m’eanala’ngkilhu’gia’khlav’ier’nguuy
分数:0.5
假设:我在“hug’ia”这个词上打错了字。
她是我的妹妹。
建议:h’ia’ngm’eanalauu’ngkinkin’ia’ngo’kh
正确:h’ia’ngm’eanalauu’ngkilkin’ia’ngo’kh
分数:0.5
假设:我漏掉了名词形容词连接词‘kil’。
他有三只猫。
建议:h’io’ngkiltrikumrikumrikumri’nguuy
正确:h’io’ngkiltri’ngkumrikumri’nguuy
分数:1
假设:无
那只鸟在天空中飞翔。
建议:kikali’ngkilhakit’io’khbalau’ng’kh’cha’ngo’kh
正确:kikali’ngbalau’ng’kha’cha’ngkilhakit’io
分数:0.5
假设:我把语序弄错了。
我父亲喜欢咖啡。
建议:m’eanalauu’ngkılparant’io’ngjavin’ngbli
正确:m’eanalauu’ngparent’io’ngjaviny’ngyngo
分数:0.5
假设:我在“parent’io”这个词上打错了字,漏掉了一个连接符。
我想要一辆蓝色的自行车。
建议:m’eanala’ngkilo’bbi’khbikułkokułko’ngrak
正确:m’eanala’ngkilo’bbi’nki’khbikułkokułko’ngyngo
分数:0.5
假设:我漏掉了蓝色自行车的复合词结构。
她需要一条新裙子。
建议:h’ia’ngkilhalaypoho’rca’ngrak’io
正确:h’ia’ngkilhala’khypoho’rca’ngo’tla
分数:0.5
假设:我漏掉了连接词和语序。
这本书多少钱?
建议:b’gha’khhomrina’nma’ng’ch’iu’ngliu
正确:b’gha’khhomrina’nma’ng’ch’iu’ngliu
分数:1
假设:无
这些花是五颜六色的。
建议:ah’y’ngkilo’bbi’khy’ngo’kh
正确:o’bbi’khahyahy’ngo’kh
分数:0.5
假设:我漏掉了形容词——名词连接词和语序。
汽车在房子外面。
建议:vrum’ngkili’khlav’ier’ch’kh’ngo’kh
正确:vrumy’nglav’iery’ngi’khlav’ier’cha’khy’ngo’kh
分数:0.5
假设:我漏掉了一些连接词和语序。
我是你的朋友。
建议:m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh
正确:m’eanala’ngi’khm’eanalauu’ngkilhahe’ngo’kh
分数:1
假设:无
总分:6.5分(满分12分)
当我要求模型向另一个方向翻译时,结果稍微好一些——不过,我们已经很累了,所以我们决定在这个时候结束实验......然后吃晚饭。
结论
ChatGPT并没有完全学会从Kłeti翻译成英语(它一直在犯错误)。在我们并不科学的测试中,它的得分略高于50%(6.5/12)。我们是否感到失望?让我们正确看待这一点。我们给了这个模型一种全新的语言,没有明确的描述。这种语言本身的设计目标是复杂的,而GPT需要从一个超级小的平行语料库(从字面上看是几个句子)中提取语言的大部分描述。它达到了这样的程度,即它能够在一个方向上进行正常的翻译,而在另一个方向上进行几乎合格的翻译。所有这些都是在一个慵懒的下午的时间里完成的(当然,前提是你有一个已经为你发明了一种语言的孩子)。这真是令人匪夷所思的事情(不管我们谈论的是人还是模型)。
如果我重复这个练习,我会做一些不同的事情。最重要的是,我会更加严格地创建一个单独的训练和测试数据集。我会要求ChatGPT将其翻译输出为JSON,并编写一个快速的Python脚本来评估其性能(我不太相信ChatGPT的自我评估[更新:一个很好的直觉。正如Hacker News评论员rhn_mk1所注意到的,GPT在计算它在自我评估中得到多少分时犯了一个错误。])。然而,当我们开始时,我没想到ChatGPT会有这么好的表现,所以我不想在准备工作上投入太多时间。我想,活到老,学到老。我儿子已经花了相当多的时间在英语和Kłeti之间翻译句子,所以我不想让这个过程变得比原来更乏味。
我们仍然处于这条道路的起点,而ChatGPT 4在不到一个月前才推出。我们只能期待它会随着时间的推移而继续改善。我对这项技术为我们带来的可能性感到无比兴奋。谁知道我们在未来能够实现什么?也许我们能够与鲸鱼对话,正如一些研究人员目前正在探索的人工智能。我迫不及待地想知道未来会发生什么。
*本文由CoinTime整理编译,转载请注明来源。
所有评论