English: A vs. An
영어의 A와 An — 철자가 아니라 발음으로 결정되는 부정관사
영어 텍스트를 절차적으로 생성할 때 a와 an 중 어느 관사를 붙일지는 첫 글자가 아니라 단어의 첫 발음으로 판단해야 합니다. CMU Pronouncing Dictionary의 32,455개 단어를 조사한 결과, 철자와 발음이 어긋나 예외 처리가 필요한 단어는 129개뿐이었습니다.
- 주제
AI 요약
영어에서 부정관사(indefinite article)는 일반적으로 단어 앞에 a 또는 an을 붙이는 방식으로 사용합니다. 따라서 절차적으로 문장을 생성하는 프로그램을 만든다면 a_or_an("apple")처럼 단어를 입력받아 적절한 관사를 반환하는 함수를 구현하고 싶어집니다. 가장 먼저 떠올릴 수 있는 방법은 단어의 첫 글자가 모음인지 확인하는 것입니다. 하지만 이 방식은 철자와 실제 발음이 일치하지 않는 단어에서 바로 실패합니다. 예를 들어 apple은 모음 소리로 시작하므로 an apple이 맞지만, unicorn은 철자상 모음인 u로 시작해도 발음은 자음에 가까운 /j/ 소리로 시작하므로 a unicorn이라고 해야 합니다. 반대로 hour는 자음 글자인 h로 시작하지만 h가 발음되지 않고 /aʊ/라는 모음 소리로 시작하므로 an hour가 됩니다.
■ 판단 기준은 첫 글자가 아니라 첫 발음입니다
이 글의 핵심은 a와 an의 선택 규칙을 철자 기반이 아니라 음성 기반으로 정의해야 한다는 점입니다. 원문은 unicorn의 첫소리를 CMU Pronouncing Dictionary에서는 Y, 국제음성기호(IPA)에서는 /j/로 표시한다고 설명합니다. 즉, 문자 u만 보고 모음으로 분류하면 an unicorn이라는 잘못된 결과가 나오지만, 발음 사전을 참고하면 a unicorn을 선택할 수 있습니다. hour는 반대 방향의 사례입니다. 표기 첫 글자는 h이지만 실제 시작 소리가 모음이므로 an hour가 됩니다. 이 차이는 자연어 텍스트를 자동 생성할 때 단순한 문자열 규칙만으로는 충분하지 않으며, 발음 정보가 필요하다는 점을 보여줍니다.
■ 32,455개 단어를 대상으로 예외를 조사했습니다
저자는 이런 철자와 발음의 예외가 실제로 얼마나 자주 발생하는지, 그리고 일정한 유형으로 묶을 수 있는지를 확인하기 위해 하루 동안 데이터를 살펴보고 시각화를 만들었습니다. 조사에 사용한 목록의 단어 수는 32,455개였고, 그중 예외 처리가 필요한 단어는 129개였습니다. 원문은 이 결과를 통해 대부분의 단어에서는 부정관사의 선택이 명확하지만, 소수의 단어는 별도의 발음 기반 처리가 필요하다고 설명합니다. 중요한 점은 예외가 존재한다는 사실만 나열한 것이 아니라, 자동 생성 함수에 적용할 수 있는 규칙을 만들기 위해 실제 단어 목록을 분류하고 시각화했다는 데 있습니다.
■ 일회성 문제 해결을 위한 코드와 데이터 처리
저자는 이 작업에 CMU Pronouncing Dictionary를 파싱하는 코드와 D3.js를 다시 익히며 만든 시각화를 사용했다고 덧붙입니다. 또한 단어 패턴을 단순화하는 trie simplification algorithm을 다루는 데도 시간을 썼다고 설명합니다. 코드가 장기적으로 유지보수될 제품의 일부가 아니라, 하나의 질문에 답하기 위한 일회성 분석 도구였기 때문에 깨끗하거나 재사용하기 좋은 구조보다 결과의 정확성을 우선했습니다. 저자는 농담 섞인 회고로, 지금 다시 한다면 이런 코드 작성에 LLM을 사용했어야 했을 것이라고 말하지만, 실제로는 이 코드를 작성할 때 LLM을 사용하지 않았다고 명시합니다. 이 언급은 구현의 품질을 과장하기보다, 데이터 파싱과 규칙 추출, 시각화에 필요한 작업을 직접 수행한 분석 과정의 성격을 설명합니다.
■ 미국식·영국식 발음과 ‘an historic’ 논쟁
Hacker News 댓글에서는 historic을 둘러싼 사례가 이어졌습니다. 한 댓글은 영국식 영어에서 historic을 “istory”처럼 발음하기 때문에 an historic을 쓴다고 주장했고, 다른 댓글은 미국식 발음에서도 a historic day와 an historic day가 모두 자연스럽게 느껴진다고 반박했습니다. 이어진 논의에서는 h를 실제로 발음하면 an이 어색하고 h를 발음하지 않으면 a가 어색하므로 규칙에 어긋나는 예가 아니라 발음 방식에 따라 관사가 달라지는 사례라는 설명이 나왔습니다. 미국 언론인들이 h를 발음하면서도 an historic을 사용하는 것처럼 들렸다는 경험담과, Rachel Maddow의 방송 대본을 검색해 보라는 구체적인 확인 제안도 제시됐습니다. 본문이 제시한 기본 원칙인 ‘철자가 아니라 첫 발음으로 판단한다’는 관점이 실제 사용 변이와 충돌하는 지점을 댓글에서 확인할 수 있습니다.
■ Hacker News 반응
• @beaned — 영국식 영어인지 미국식 영어인지에 따라 다릅니다. 영국인들은 그것을 “istory”라고 발음하므로, 앞에 “an”을 씁니다.
• @echelon — 그렇지는 않은 것 같습니다. 이 경우는 규칙을 거스르는 것처럼 보입니다. “A his-toric day”와 “An his-toric day”가 미국식 발음에서는 둘 다 올바르게 작동하는 것 같습니다. 기자들과 영화에서는 미국식 억양으로 “an historic”을 사용하는데, 이는 규칙을 깨지만 그래도 자연스럽게 느껴집니다. 대부분의 단어에서는 부정관사가 명확합니다. 이 단어는 이상하게 느껴집니다.
• @kelnos — > 이 경우는 규칙을 거스르는 것처럼 보입니다. 그렇지 않습니다. h를 발음하면 an을 사용하는 것이 어색하게 들립니다. h를 발음하지 않으면 a를 사용하는 것이 어색하게 들립니다. > 기자들과 영화에서는 미국식 억양으로 “an historic”을 사용합니다. 이것이 실제로 그렇게 발음되는 영상 링크가 있는지 궁금합니다. 올바르게 들린다는 것을 상상하기 어렵습니다.
• @Rendello — 저는 미국 기자들에게서 듣기 전까지 “an historic”이라는 표현을 몰랐습니다. 그들은 실제로 h를 발음했고, 정말로 매우 이상하게 들렸습니다. 처음 들은 사람은 Rachel Maddow였던 것 같습니다. 영상을 찾을 수는 없지만, 검색해 보면 그녀의 쇼 대본이 많이 나옵니다. “Rachel Maddow \"an historic day\"”를 검색해 보세요.
• @beaned — 그렇게 사용되기는 하지만, 그것은 영국의 미디어와 문학에서 받아들여졌기 때문입니다. 가능하다면 과독(over-read)의 증상이라고 말할 수도 있습니다. “An historic”은 미국에서 분명히 사용되지만, 모든 맥락에서 틀렸습니다.
원문: Red Blob Games / 번역·요약: Trawling