英语冠词规则:是看字母还是听发音?
English: A vs. An

在生成文本时,我本想写一个简单的函数来判断该用 'a' 还是 'an'。起初我以为只需检查单词首字母是否为元音,但这会导致 'an unicorn' 这样的错误。真正的规则取决于单词的发音而非拼写:'unicorn' 以元音字母开头却发辅音,而 'hour' 以辅音字母开头却发元音。我花了一天时间分析数据并制作可视化图表,结果发现 32,455 个单词中仅有 129 个需要特殊处理。虽然这次没有使用 LLM 来写代码,但事后看来,对于这种一次性任务,用 LLM 或许能节省不少时间,让我能更专注于算法优化而非解析 cmudict 或重学 d3.js。
我事后意识到,我本应该使用 LLM 来写这些代码,因为这是一次性任务,不需要代码整洁或易于维护,只需要正确即可。
HN 评论区
479- deliciousturkey
作为一个母语中没有冠词的人,我发现英语的冠词系统在我学过的所有语言中,无疑是最直观、最容易掌握的。大多数其他印欧语系语言的冠词你只能死记硬背,因为无法从单词本身推导出来。而我从来都做不到这一点。
- antfarm
真有意思,那篇短文里就有个本该有冠词却漏掉的句子:"The word <unicorn> starts with vowel letter..."(单词 <unicorn> 以元音字母开头……)
看到这种错误,我总是默认作者是俄罗斯人。
- hbn
英语里有个我直到开始学西班牙语才注意到的有趣怪癖:
在西班牙语里,比如说“他是个医生”,你会说“él es médico”。直译过来就是“他是医生”,这对英语母语者来说感觉很不直观。西班牙语确实有对应“a”的词——“un/una”,所以英语母语者自然会说“él es UN médico”,但我明白那样听起来很别扭/不自然。
但后来我意识到,当你用复数说同样的句子——“他们是医生”——时,你也不需要冠词。你不会说“they are some doctors”(我不得不谷歌了一下,看来“some”本来就不是冠词?)
所以西班牙语反而更一致——单数:“Él es médico。”复数:“Ellos son medicos。”
不像英语——单数:“He is a doctor。”复数:“They are doctors。”
- abraxas
作为一个非母语者,比起“a vs an”,更让我抓狂的是“a vs the”这个难题。我至今还不太清楚什么时候需要用“不定”冠词,尽管我讲英语已经快四十年了。我的母语里压根没有冠词,这该死的太难了,我觉得自己这辈子恐怕都难以完全掌握它们。
- bugufu8f83
> if word.startswith("ub"): return False
一个超级富豪(uber-rich)坐在一辆 Uber 里安装了一个 Ubuntu 软件包。
说实话,我对这条规则有点惊讶。这行代码的存在完全是因为“ubiquitous”(无处不在的)这个词吗?我猜是的。
- sajithdilshan
我宁愿要英语的 a/an,也不想要德语的 ein/einen/einem/einer/eines。
- shagie
这是为了避免连续出现两个不同的元音。
考虑一下这条规则的其他变体。
在法语中,人们会说“l'hôpital”而不是“le hôpital”,因为这里的 'h' 是送气音(试着说“a aspirated”而不是“an aspirated”),导致开头听起来像元音。
在爱尔兰语中,“父亲”是“athair”。要说“她的父亲”,就变成了“a hathair” https://en.wikipedia.org/wiki/Prothesis_(linguistics)
在土耳其语中,也可以看到类似现象,比如 araba(汽车)。“我看到了那辆车” -> “Arabayı gördüm.”(注意加了个 'y' 来避免两个元音连读)。Book 是 kitap,“我看到了那本书”是“Kitabı gördüm。”这里就不需要在尾音和“ı”之间加额外的辅音了。
无论你讲什么语言,很可能都有某种形式的这条规则。
其他语言也有这种怪癖(比如“a unicorn”或“a university”)。例如,法语里有 l’hôtel 和 l'hôpital。但如果你说的是树篱(hedge)……那就是 la haie……甚至更离谱的是,狨猴(marmoset)是 le ouistiti。
- theanonymousone
对我来说,作为非母语者,最棘手的是“the”和“什么都不加”之间的区别,也就是说,什么时候可以或应该加定冠词。
在大模型(LLM)出现之前,我开玩笑说,真正的 AI 就是那种能 100% 正确做出这个决定的东西。
- Dwedit
还有“the”和“the”的区别。比如“the boy ate the apple”。第一个 'the' 以 schwa 音结尾,第二个 'the' 以 'ee' 音结尾。
- throwawayk7h
我一直很好奇,为什么有时我把 the 读作 /ðə/(“thuh”),有时又读作 /ði/(“thee”)。我不太清楚是什么在控制这一点,但我猜是后面那个单词开头是否有元音。不过,似乎只针对某些元音。有人知道答案吗?