HN 日本語サマリー

← 一覧へ戻る
その他

英語: A と An の使い分け

English: A vs. An (redblobgames.com)

332 pointsby azhenley448 コメント

要約

この記事は、英語の不定冠詞「a」と「an」の使い分けについて解説しています。単語の最初の文字が母音かどうかではなく、発音上の母音サウンドで決まるというルールを説明し、例外的なケースの頻度と分類について調査した結果を共有しています。調査によると、調査対象の32,455語のうち、例外が必要なのは129語のみでした。

全文翻訳

英語の「a」と「an」

ブログ記事: 2026年9月16日

[注: 実際のプロジェクトはこちらにあります。現在のページは、私のブログ読者向けのごく簡単な紹介です。]

英語には、単語の前に置くことができる不定冠詞「a」があります。例えば、「a raccoon」です。しかし、単語によっては「an」を使います。例えば、「an apple」です。

テキストを手続き的に生成する場合、「apple」に対してどちらの冠詞を使うかを教えてくれる関数 a_or_an("apple") が欲しいと考えました。それは簡単そうに見えます。最初の文字を見て母音かどうかを確認すればよいからです。しかし、それでは「a unicorn」ではなく「an unicorn」と出力することになってしまいます。

[画像: 単語の最初の2文字のツリー形式の可視化]

単語の最初の2文字だけで「a」または「an」のどちらを使うかを決定できるかどうかを示す可視化。それはできません。

実際のルールは、書かれた単語が母音文字で始まるかどうかではなく、話された単語が母音の音で始まるかどうかです。「unicorn」という単語は母音文字(<u>)で始まりますが、子音の音(cmudict Y、ipa /j/)で始まるため、「a」が付きます。「hour」という単語は子音文字(<h>)で始まりますが、母音の音(cmudict AW、ipa /aʊ/)で始まるため、「an」が付きます。

これらの例外がどれくらいの頻度で発生し、グループ化できるのか疑問に思ったので、1日かけてデータを調べ、いくつかの可視化を作成し、結果をまとめました。私のリストにある32,455語のうち、例外が必要だったのはわずか129語だったことに驚きました。

[LLM注: このコードの作成にLLMは一切使用していませんが、今思えば使うべきでした。これは質問に答えるための一度きりのコードです。クリーンである必要も、保守可能である必要もありません。正しいことだけが必要でした。もしcmudictの解析やd3.jsの可視化にLLMを使用していれば、より良いトライ木解析アルゴリズムのコーディングにもっと時間を費やすことができたでしょう。]