世界を動かす技術を、日本語で。

AとAn

2026年9月20日原文(redblobgames.com)

概要

  • 英語の不定冠詞「a」と「an」の使い分けのルール解説
  • 書かれた文字ではなく、発音で判断する必要性
  • 例外的な単語の存在とその頻度のデータ分析
  • 可視化による例外パターンの検証
  • コード作成の工夫や反省点の共有

英語の不定冠詞「a」と「an」の使い分け

  • 英語では 不定冠詞 として「a」または「an」を名詞の前に使用
  • 例:「a raccoon」や「an apple」など、単語によって使い分け
  • 単純に 最初の文字 で判断すると誤りが発生
    • 例:「an unicorn」ではなく「a unicorn」が正しい
  • 実際のルールは 発音 が母音で始まるかどうかで決定
    • 「unicorn」は「u」で始まるが、発音は 子音音(/j/)
    • 「hour」は「h」で始まるが、発音は 母音音(/aʊ/)

例外単語の頻度とグループ化

  • どの程度例外が存在するかを データ分析 で調査
  • 可視化によって 最初の2文字 で判別できるかを検証
  • 約32,455語の中で、例外は 129語 のみという結果
    • 例外単語の割合は非常に 低い
    • 例外単語は グループ化 が可能

コード作成とその反省点

  • 今回の分析は 一時的なコード で実施
  • コードの 保守性や可読性 よりも 正確性 を重視
  • cmudictの解析やd3.jsの再学習に 多くの時間 を費やしたことを反省
  • LLM(大規模言語モデル)を活用すれば 効率化 できた可能性
  • trie簡略化アルゴリズムに より多くの時間 を割くべきだったという気付き

Hackerたちの意見

非ネイティブの私が「a vs an」よりもずっと悩むのは「a vs the」の問題なんだよね。何が「不定」になるのか、いまだにちょっと分からないし、英語を話してもう40年近くになるのに。私の母国語には冠詞が全くないから、ほんとに難しくて、完全にマスターできる気がしないよ。

私もそれに苦労してるけど、私の経験則では「the」は読者に特定の事例を知ってほしいって信号を送るのに対して、「a」は新しい事例を紹介する感じかな。

もし複数あって、どれでもいいなら「a」。どれがいいか気にするなら「the」。例えば「Pass me a plate」なら、どの皿でもいいよ。「Pass me the plate」なら、私たちが話してた特定の皿が欲しいってこと。

最初は「a」は不特定で、「the」は主題が既に知られていることを示すって言おうと思ったんだけど、考えてみるとちょっと複雑になるね。私は英語を学問的に勉強したわけじゃないけど、ネイティブスピーカーだから。例えば「Our town has a castle」って言うと、それは特定の城だけど「our town has the castle」って言うことはない。なんでかっていうと、聞き手が何を知っているかに関係してる。「Definite」は聞き手が主題を知っていることを意味するんだ。もし私があなたが知らない城を会話に持ち込むなら、それは_a_ castleについて話してる。紹介した後は、その城について_the_ castleとして話せるようになる。

それが面白い状況を生むこともあるよ。この前、会社の集まりでCTOが息子が生まれたばかりで、Peppa Pigのグッズをもらったんだ。私は思わず「Peppa Pig is the shit!」って叫んだら、HRの女性がまるで私がアコーディオンで彼女の父親を殺したかのように私を見つめてた。

25年前にライス大学にいたとき、英語の構造っていう300レベルの言語学のクラスを受けたんだ。6人くらいで小さな部屋の楕円形のテーブルに座ってて、私だけが言語学を専攻してなかった。すごくオタクっぽいグループだったよ。その中の一人は後にマイクロソフトで音声認識の仕事をしてた。教授はいつもサスペンダーと蝶ネクタイをつけた背の高い痩せたおじさんだった。高校では文法が得意だったけど、ここは全然違う世界で、何が待ってるのか全く分からなかった。最初の2週間は「the」と「a」の違いについて話し合って、次の2週間は「this」と「that」の違いについて、残りの学期はもっと抽象的な内容になった。私にとってはすごく啓発的だったよ。

同じく。数年ごとに https://englishpage.com/articles/index.htm を見てルールを内面化しようとするけど、完全には身についてないし、英語の中で唯一自意識過剰になる部分なんだよね。

その気持ちわかるよ。ドイツに住んでて、ここにはスラブ語を母国語に持つ人がたくさんいるけど、みんな多少なりとも間違えてる。だから、正しく使うためにエネルギーを注いでほしいな。この間違いは、区別がある言語のネイティブスピーカーにはすごく混乱を招くから。誰かが話してるのを聞いて、何かの話をしてるのに、どの特定のことや人について話してるのか待ってると、実は特に何かを指してないってことがどれだけあったか、数えきれないよ。

このコメントへの返信が面白いのは、言語の特徴に対して人々がどれだけ簡単に後付けの理由を提供するかってこと。動詞に伴う前置詞も同じで、言語によって変わるけど、どの言語の話者も「ルール」や「説明」を喜んで提供してくれる。これは、私たちが何かをとても上手にできるけど、それが実際に何かを理解しているわけではないという素晴らしい証拠だね。

英語が流暢なロシア人として、私はほとんど例を通じて学んだ気がする(スラブ語には冠詞がないけど、他にも学ぶのが難しい楽しい要素があるからね、例えば格変化とか)。でも、一般的なルールとしては、特定のものを指差せるなら「the」、そうでなければ「a」って感じみたい。

有名なカナダのコメディにこの違いをネタにしたエピソードがあるんだよね。

ブレント: ああ、税金の人だ。 ドレイ: 税金の人。 ブレント: 何? ドレイ: 私は税金の人じゃなくて、税金の人なんだよ。「税金の人」と言うのはちょっと非人間的だから、ありがたいけど。 […] ブレント: 税金の人だ。だから、絶対に「税金の人」って呼ばないで。「税金の人」って呼ぶと、ちょっとおかしくなるから。 ワンダ: 文章の使い方に敏感な人もいるよ。 ブレント: 何について? ワンダ: 正しい冠詞の使い方。「a」や「an」は不定冠詞。「the」は定冠詞。実際、「the」は「the」の定冠詞だって言う人もいるよ。 […] ハンク: 俺は分かってる。税金の人を呼ぶから… ブレント: 税金の人だ。 ワンダ: 実際、この場合は「the」税金の人って言えるよ。特定の人を指してるからね。

スペイン語を学び始めるまで気づかなかった英語の面白い特徴があるんだ。例えば「彼は医者だ」と言うと、スペイン語では「él es médico」って言うんだけど、これはもっと直訳すると「彼は医者」になるから、英語から来ると直感的じゃない。スペイン語には「a」に相当する「un/una」があるから、英語話者が言う自然なことは「él es UN médico」なんだけど、これが不自然だと理解してる。でも、同じ文を複数形にすると「彼らは医者だ」となって、冠詞がないんだ。「彼らは何人かの医者だ」とは言わない(調べたら「some」はそもそも冠詞じゃないらしい?)。だからスペイン語はより一貫してるんだ。単数形は「Él es médico」、複数形は「Ellos son médicos」。英語とは違って、単数形は「He is a doctor」、複数形は「They are doctors」だね。

Hacker Newsで議論の続きを見る