aとanの使い分け、32,455語中わずか129語の例外を可視化
English: A vs. An

Red Blob Gamesの作者が、英語の不定冠詞a/anを正しく選ぶ関数を作るため、発音ベースの判定が必要な例外を調査。32,455語のうち例外は129語だけで、最初の2文字を見るだけでは不十分なケースを可視化した。コードはLLMを使わず手書きしたが、今なら使うべきだったと振り返る。
LLMに関する注記:このコードを書くのにLLMは一切使っていないが、今思えば使うべきだった。これは疑問に答えるための使い捨てコードだ。きれいで保守しやすい必要はない。正しければいい。
HNでの議論
479- hbn
スペイン語を学び始めるまで気づかなかった英語の面白い癖:
スペイン語で例えば「彼は医者です」と言うには、「él es médico」と言います。これはより直訳すると「彼は医者だ」となり、英語から来た人には直感に反するように感じられます。スペイン語には「a」に相当する「un/una」があるので、英語話者にとって自然なのは「él es UN médico」と言うことですが、それは不自然/ぎこちないと理解しています。
しかし、同じ文を複数形にすると「彼らは医者です」となり、冠詞はありません。「彼らは何人かの医者です」とは言いません(ググってみたところ、「some」はそもそも冠詞ではないらしい?)。
なのでスペイン語の方が一貫しているのです - 単数形:「Él es médico」複数形:「Ellos son medicos」。
英語とは違います - 単数形:「He is a doctor」複数形:「They are doctors」。
- bugufu8f83
> if word.startswith("ub"): return False
Uberに乗った超お金持ちの男性がUbuntuパッケージをインストールした。
実はこのルールにはちょっと驚きました。この行は完全に「ubiquitous」という単語のせいで存在しているのでしょうか?そうだと思います。
- abraxas
非ネイティブとして「a vs an」よりもはるかに引っかかるのは「a vs the」の難問です。何かが「不定」である必要があるときがまだよく分かりませんし、英語を話して40年近くになります。私の母語には冠詞が全くなく、本当に難しくて、完全にマスターできる気がしません。
- shagie
これは2つの異なる母音が連続するのを避けているのです。
このルールの他のバリエーションを考えてみてください。
フランス語では「le hôpital」ではなく「l'hôpital」と言います。なぜなら「h」は有気音(「an aspirated」ではなく「a aspirated」と言ってみてください)で、最初の音が母音になるからです。
アイルランド語では父を「athair」と言います。「彼女の父」と言うと「a hathair」になります。https://en.wikipedia.org/wiki/Prothesis_(linguistics)
トルコ語ではaraba(車)で見られます。「私はその車を見た」→「Arabayı gördüm.」(2つの母音を避けるために「y」が入っています)。本はkitapで、「私はその本を見た」は「Kitabı gördüm.」です。これは最後の音と「ı」の間に追加の子音は必要ありません。
どの言語を話していても、何らかの形でこのルールがあるでしょう。
そして他の言語にもこの癖があります(「a unicorn」や「a university」のように)。例えばフランス語ではl’hôtelとl'hôpitalがあります。しかし生け垣になると…la haie…あるいはもっとひどいのは、マーモセットはle ouistitiです。
- theanonymousone
非ネイティブとして最も厄介なのは「the」対「何もなし」、つまり定冠詞を置くべき/置けるときです。LLM以前は、本当のAIとはこれを100%正しく判断できるものだと冗談で言っていました。
- smusamashah
AがAnになるのはリンキングRと同じ理由です https://en.wikipedia.org/wiki/Linking_and_intrusive_R
今イギリスに住んでいる非ネイティブとして、いくつかのアクセントでこのR音に気づきました。誰かが「Java (r)Options」と言っていて、聞いたら本人は付けていることに気づいていませんでした。このRとanのNはどちらも単語間の母音の連続を断ち切るために使われているようです。
- Dwedit
「the」対「the」もあります。「the boy ate the apple」のように。最初の「the」はシュワー音で終わります。2番目の「the」は「ee」音で終わります。
- nikolay
英語は、例えばギリシャ語、ロシア語、フランス語(少なくともこれらは直接知っています)よりもずっと簡単です。ロシア語より簡単な私の母語であるブルガリア語でさえ、英語よりずっと難しく、覚えることがたくさんあります。英語で時間がかかるのは2つ:句読点と語彙(単語のニュアンス全部含めて)。それ以外は楽勝です!
- eviks
興味深い分析
> [LLM それはクリーンやメンテナブルである必要はない。正しければいいだけだ
しかし、正しさこそがLLMの問題なのでは?
でもまた
> 私はtrie簡略化アルゴリズムにもっと時間を費やし、cmudictの解析とd3.jsの再学習にはもっと少なくしただろう。]
D3には何も費やさなくてもよかったでしょう。結果は悪く/読みにくく、単純なアルファベット順に整列した例外テーブルよりもずっと悪いです。それがあれば「A」と「O」の例外をどう比較できるか?とか「どの文字が最も例外が多いか?」といった好奇心旺盛な質問に答えられます。
(そして青い色は場違いで、母音/子音の分割は視覚的に同じ「カテゴリ」であるべきで、黒/色であるべきではありません。例外に赤はいいです)
- throwawayk7h
なぜ時々theを/ðə/(「thuh」)と発音し、時々/ði/(「thee」)と発音するのかいつも不思議です。何がこれを支配しているのかよく分かりませんが、次の単語の最初に母音があるかどうかだと思います。しかし、一部の母音だけです。誰か答えを知っていますか?