음성인식 개발자를 위한 영어 발음 사전 제작 프로젝트 1편

반응형
본 글은 영어 발음 평가 모델 및 음성 인식 모델에 사용되는 영어 발음 사전을 구축하기 위한 과정을 담고 있습니다.

 
음성 인식 모델을 개발하기 위해서는 여러 단계가 있습니다. 음성을 획득하는 단계, 음성의 특징을 추출하는 단계, 음소를 인식하는 단계, 음소열에 가장 적합한 단어를 언어 모델을 통해 찾는 단계 등을 거쳐 최종적으로 음성을 단어 혹은 문장으로 인식할 수 있게 됩니다. 본 포스팅은 음소열을 발음 사전을 이용해 단어로 매핑하는 단계를 다룹니다. 음성 인식 모델 뿐만 아니라, 여러 목적으로 사용할 수 있는 영어 발음 사전을 구축하기 위한 과정입니다. 

 

1. 영어 발음 사전의 사용

1) 음성 인식 모델

음성 인식 모델에 입력된 음성의 각 구간은 음소로 매핑이 됩니다. 그리고 그 음소열이 어떤 단어인지 알기 위해서는 발음 사전이 필요합니다. 발음사전은 음소열 시퀀스를 단어로 매핑할 수 있도록 도와줍니다. 따라서 발음사전의 기본적인 구조는 단어와 단어의 음소열의 쌍을 담은 텍스트 데이터입니다.
 
음성 인식 모델을 위한 대표적인 발음 사전은 CMUdict입니다. CMUdict는 CMU(Carnegie Mellon University)의 Speech Group에서 음성 인식 연구에 사용하기 위해 만든 오픈 소스 발음 사전입니다. CMUdict에 대해서는 아래에서 자세히 설명하도록 하겠습니다.
 

2) 발음 평가 모델

발음 평가 모델은 음성 인식 모델과 크게 다르지 않습니다. 영어 발음 평가 모델은 화자들의 영어 발음을 모델을 통해 평가합니다. 다만 다른 점은 단어의 음절 단위 발음 평가를 위한 음절 경계와 강세 평가를 위한 음절별 강세에 대한 정보가 추가로 필요합니다. 따라서 음성 인식 모델에 사용되는 CMUdict에 들어가는 단어와 발음열의 쌍과 함께 철자 음절 경계발음 음절 경계 정보가 추가로 필요합니다.
 
 


 
 

2. 발음 사전이란?

1) CMUdict

앞에서 언급한대로 The CMU Pronouncing Dictionary는 음성 인식을 위해 만들어진 사전입니다. 영어 사전에서는 ipa symbol을 사용하여 단어의 발음을 표기하는 경우가 많지만, CMUdict는 ARPAbet symbol을 통해 발음열을 표기합니다. 
 
CMUdict는 수시로 업데이트 되지만 가장 최신으로 나온 버전은 cmudict-0.7b입니다. 오픈 소스이기 때문에 홈페이지 혹은 github에서 다운받아 사용할 수 있습니다. cmudict-0.7b는 약 13만개의 단어와 발음열의 쌍으로 이루어져 있습니다. 
 
아래 그림은 CMUdict에서 단어 ‘beautiful’을 찾은 예시입니다. 단어가 왼쪽에 있고 발음열이 오른쪽에 있으며 둘은 탭으로 구분됩니다. 발음열은 ARPAbet 기호를 통해 표현되고 있으며, 강세는 0,1,2로 각각 No stress, Primary stress, Secondary stress를 나타냅니다. 
 

 
또한 CMUdict는 다중발음열 역시 표기합니다. 왼쪽 단어 중 괄호 안에 숫자가 단어 뒤에 붙어 있다면, 그것은 다중발음열을 표시합니다. 아래 예시의 BEAUTIFULLEST와 BEAUTIFULLEST(2)는 같은 단어의 서로 다른 발음열을 말합니다. 영어 단어 중에는 철자는 하나이지만 발음이 여러개인 단어가 있습니다. 이를 "동철이음이의어(Heteronym)" 라고 합니다. 대표적인 Heteronym은 "The", "Read", "Live" 등이 있습니다. 단어 "The" 뒤에 오는 단어가 "a, e, i, o, u"의 모음 발음으로 시작할 때, "더" 발음이 아닌 "디" 로 발음합니다. "Read"와 "Live"도 각각 "리드, 레드", "리브, 라이브"처럼 같은 철자를 가지지만, 서로 다른 발음으로 발음되기도 합니다. 문장 안에서 해당 단어가 어떻게 발음되는가에 따라 발음 사전에서 몇번째 발음열을 선택해야하는지가 결정됩니다. 
 

2) CMUdict의 한계

많은 음성인식 개발자들이 사용하고, 엄청난 양의 단어를 수록하고 있지만, 음성인식 모델에 사용하는 CMUdict를 발음평가 모델에 사용할 때 몇가지 문제점이 존재합니다
 
1. 단어의 철자 음절 경계와 발음 음절 경계 미반영
학습자에게 음절 경계를 알려주는 것은 영어 발음 학습에 중요한 요소 중 하나입니다. 하지만 CMUdict에는 단어의 철자 음절 경계와 음소열의 발음 음절 경계가 존재하지 않아 발음 평가에 쓰이기 위한 사전으로 부적합하다고 할 수 있습니다.
 
2. 사전식 발음과의 차이 존재
사전마다 사용하는 발음기호 체계는 다르고, 이 발음 기호의 체계는 수십종이 존재합니다. 따라서 CMUdict에서 사용하는 음소표와 일반 영어 사전에서 사용하는 음소표 역시 다릅니다. CMUdict에 수록된 음소표를 학습자에 보여주게되면, 생소한 ARPAbet 기호로 인해 정확한 발음을 학습하기 어려울 수 있습니다. 발음 평가 모델는 음성 인식만이 아닌, 학습자에게 대표적인 사전에 수록된 발음기호표를 보여주어 영어 학습을 도울 수 있어야 합니다. 따라서 영어 공부를 위한 대표적인 사전을 선별하여 발음열과 발음기호를 사용하고자 합니다.
 
3. 슈와(schwa, ə) 기호 미 반영
CMUdict에 사용된 phoneme 기호 리스트는 총 38개로, 모음 15개자음 23개로 구성되어 있습니다. ARPAbet symbol 중 슈와(schwa, ə)를 표현하는 AX 기호는 CMUdict에 포함되어 있지 않아, 영어에서 자주 사용되는 슈와(schwa, ə) 기호와 웻지(wedge, ʌ) 기호가 구분되어 있지 않습니다. 두 기호 모두 CMUdict에는 AH로 표현되어 있는 것입니다. 하지만 두 기호는 영어 사전에는 구분되어 있으므로, 발음 사전은 AX와 AH 기호 모두 사용해 단어를 표현해야 합니다.
 

 
4. 불필요한 다중 발음열 존재
CMUdict는 다양한 발음을 포함했다는 것이 장점이지만, 영어를 학습하는 사용자에게는 사전식 영어 발음을 제공하는 것이 좀 더 영어 학습에 도움을 줄 수 있을 것입니다. 같은 live라도 동사 live와 형용사 live는 발음이 다릅니다. 영어 발음 사전은 서로 다른 품사를 가지고 있는 단어의 다중 발음열을 포함하면서도, 불필요한 다중 발음열은 제거해야 합니다.
 
 



 

3. 영어 발음사전의 구성 요소

1) 단어와 발음열

영어 발음 사전은 필요에 따라 다르지만, 필수적으로 들어가야 하는 정보는 단어와 발음열의 쌍입니다. 대표적인 영어 사전인 Oxford Learner’s Dictionary에는 단어와 함께 발음열이 게재되어 있습니다. 
 

Oxford Leaner’s Dictionary 에서 'happy'를 검색했을 때 나오는 단어와 발음열

 
언어의 발음을 표현하기 위한 방법으로 언어학자들은 국제 음성 기호(International Phonetic Alphabet) 또는 짧게 IPA라고 하는 발음 기호를 만들었습니다. 따라서 대부분의 사전들은 이 기호를 사용해 발음열을 표기합니다. 
 
Oxford 사전에서는 사용된 발음 기호들을 예시와 함께 설명하고 있어 사용자가 쉽게 사용된 발음 기호를 이해할 수 있습니다.

https://www.oxfordlearnersdictionaries.com/about/english/pronunciation_english,자음과 모음 발음 기호

 

 

2) 철자 음절 경계

영어는 철자와 발음 사이에 괴리가 있는 경우가 많기 때문에, 철자 음절 경계를 나눌 때는 실제 발음을 기준으로 합니다. 영어가 '콩글리시'가 되는 이유 중 하나는 음절(syllables)을 제대로 알지 못해서입니다. 음절은 "단어에서 끊어 읽는 단위"입니다. 
 

Merriam-Webster 사전에서 'partner'를 검색했을 때 나오는 결과

 
'Partner'라는 단어를 Merriam-webster dictionary 에서 찾아보았습니다. 단어와 품사가 나와있고, 밑에는 ipa기호로 표현된 발음열과 함께 단어의 철자 음절 경계를 점으로 나타낸 것이 보입니다. 이렇게 영어 사전에서는 철자 음절 경계를 점을 통해 표기해줍니다. 따라서 'Partner'은 2음절 단어라는 것을 알 수 있습니다.
 

네이버 영어 사전에서 'partner'를 검색했을 때 나오는 결과

 
이번에는 'Partner'를 네이버 영어 사전에서 찾아보았습니다. 단어의 뜻이 '파트너'라고 표시되어 있습니다. 단어의 철자 음절 경계를 모르는 한국인이 저 단어를 읽었을 때, '파트너'라고 읽게 되면, 'Partner'가 3음절이라고 생각할 수 있습니다. 따라서 영어 발음을 올바르게 학습하기 위해서는 단어의 철자 음절 경계를 잘 알아야 합니다.
 

3) 발음 음절 경계

Cambridge 사전에서 'partner'를 검색했을 때 나오는 결과

 
위에서 검색한 Merriam-webster dictionary에서도 표시해주었듯이, 발음 음절 경계는 많은 사전들이 함께 수록하고 있습니다. Cambridge dictionary는 UK라고 표시된 영국영어 발음과 US라고 표시된 미국영어 발음을 같이 표시합니다. 두 발음열의 차이는 존재하지만, 철자 음절 경계와 마찬가지로 발음 음절 경계가 점으로 표기되어 있는 것을 확인할 수 있습니다. 
 
 


 

4. 영어 사전의 종류

1) 대표 영어 사전

어 발음 사전을 구축할 때, 공인된 발음열을 사용하는 것은 매우 중요합니다. 따라서 이번 영어 발음 사전 구축하기 프로젝트에서는 Oxford Learner's Dictionary 의 발음열과 Cambridge Dictionary 의 발음열을 최우선으로 사용합니다.
 

Oxford Learner's Dictionary

Oxford Learner's Dictionary에서는 발음열은 제공하지만, 철자 음절 경계나 발음 음절 경계는 표시하고 있지 않습니다. 따라서 Oxford 사전에서 발음열을 가져온 후, 다른 사전과 비교하여 철자 음절 경계와 발음 음절 경계를 맵핑합니다. 유료 버전의 Oxford 사전을 구입하면 철자 음절 경계를 포함한 다양한 정보를 가진 사전을 사용하실 수 있습니다. 
 

Cambridge Dictionary

Cambridge dictionary에서는 발음열과 함께 발음 음절 경계를 표기합니다.두 사전 모두 역사가 깊은 유래 있는 사전이지만, 단어를 표기하는 ipa기호도 약간씩 다르고, 발음열 역시 차이가 있습니다. 따라서 두 사전 모두 사용하지만, 어떤 사전을 먼저 사용해서 검색할 것인가에 대한 논의도 후에 진행할 예정입니다.
 
 

2) 철자 경계 사전

Gutenberg project - Moby Hyphenator II

Project Gutenberg(프로젝트 구텐베르크)는 "Ebook의 생성 및 배포를 장려"할 뿐만 아니라 문화 작품을 디지털화 및 보관하기 위한 봉사활동입니다. PG(Project Gutenberg)라고도 불리는 이 프로젝트는 1971년 미국 작가 Michael S.Hart가 설립한 가장 오래된 디지털 도서관입니다. 이 개방형 도서관에서 발간한 Moby Project는 Grady Ward가 만든 공개 도메인 어휘 리소스 모음입니다. 이 중 Moby Hyphenator II는 187,175개의 단어와 음절 경계가 하이픈으로 표기된 단어가 쌍으로 있는 데이터입니다. 이 데이터를 사용해 발음 사전에 필요한 철자 음절 경계 정보를 얻습니다.
 
 

Howmanysyllables

본 발음 사전 구축 프로젝트에는 사용하지 않지만, 단어의 철자 음절 경계를 알려주는 사이트를 공유합니다. 2009년에 설립된 HowManySyallbles는 New York에 위치한 회사로, 음절 정보를 알려주는 Syllable Dictionary를 온라인으로 제공합니다. 
 

3) 발음 음절 사전

CMU-syll

발음 음절 경계를 표기하는 사전은 많지만, 많은 단어를 포함한 사전을 찾기 어렵습니다. 따라서 CMU-syll이라는 CMUdict에 있는 음소열의 음절 경계를 표시한 데이터를 수집했습니다. P2TK는 Penn Phonetics Toolkit으로 Penn Linguistics Phonetics Lab에서 개발되었습니다.
 
P2TK는 음성 연구를 지원하기 위한 Python 및 Praat 스크립트를 제공합니다. P2TK에서 제공하는 cmudict.0.6-syl는 cmudict에 있는 음소열의 음절 경계가 언더바(_)로 표시된 데이터입니다. 이 데이터를 사용해 발음 사전에 필요한 발음 음절 경계 정보를 얻습니다. 
 


이번 포스팅에서는 영어 발음 사전의 구축 목적과 구성 요소, 영어 발음 사전을 구축하기 위한 대표적인 영어 사전들을 소개했습니다. 다음 포스팅에서는 오늘 설명한 사전을 사용해 발음평가를 위한 영어 발음 사전을 구축하는 방법에 대해 설명하도록 하겠습니다. 
 
 

반응형