형태 기반 워드 임베딩
워드 임베딩에서 가#V·가#J·가#N을 구분하는 이유
한국어에는 글자가 같아도 품사가 다른 형태소가 많습니다.
가만 해도 동사(가다), 조사(주격조사), 명사(가 단위)로 쓰일 수 있습니다.
바른의 워드 임베딩은 이런 동형이의(同形異義) 형태소를 품사 힌트를 포함한 형태로 구분합니다.
그래서 가#V, 가#J, 가#N이 각기 다른 임베딩을 가집니다.
같은 글자, 다른 형태소
가가 문맥에 따라 어떻게 달라지는지 살펴봅니다.
| 표기 | 품사 힌트 | 의미 | 예문 |
|---|---|---|---|
가#V |
용언(V) | 동사 '가다'의 어간 | 학교에 가다 |
가#J |
조사(J) | 주격조사 | 비가 온다 |
가#N |
체언(N) | 명사 '가(가장자리)' 등 | 강가를 걷다 |
이 셋은 표기가 모두 가로 같지만 문법적 역할과 의미가 전혀 다릅니다.
바른은 이들을 가#J(조사), 가-#V(가다), 가#N(명사)처럼 각각 다른 토큰으로 임베딩합니다.
임베딩에서 이들을 하나로 합쳐 버리면, 서로 무관한 세 단어의 의미가 한 벡터에 뒤섞입니다.
이렇게 표면형이 같지만 형태가 다른 단어는 바른이 학습 과정에서 12,175개나 찾아냈습니다. 이만큼의 동형이의 형태소를 형태별로 갈라 학습한 것이 바른의 중의성 개선 효과로 이어집니다.
품사 힌트를 임베딩 키에 넣는다
바른은 임베딩의 단위를 글자 표기만이 아니라 형태 + 품사 힌트 조합으로 잡습니다. 품사 힌트는 8대 형태 단위로 표기합니다.
| 표기 | 형태 단위 |
|---|---|
#N |
체언 |
#V |
용언 |
#E |
어미 |
#J |
조사 |
#M |
관형사 |
#A |
부사 |
#I |
감탄사 |
#S |
기호 |
graph TD
GA[가] --> V[가#V<br/>동사 어간 벡터];
GA --> J[가#J<br/>주격조사 벡터];
GA --> N[가#N<br/>명사 벡터];
왜 형태 기반 임베딩인가
의미가 다른 형태소가 같은 벡터를 공유하면, 모델은 "비가 온다"의 가와 "학교에 가다"의 가를
구별할 근거를 잃습니다. 품사 힌트를 임베딩에 넣으면 같은 글자라도 역할별로 다른 벡터를 학습하므로,
문맥에 맞는 분석이 가능해집니다.
이 구분은 형태소 분석 정확도와 직결됩니다. 비가 온다에서 가를 주격조사(가#J)로,
학교에 가다에서 가를 동사 어간(가#V)으로 정확히 가려내는 힘이 바로 여기서 나옵니다.
동형이의 처리의 기초
바른이 중의성(같은 표기, 다른 의미)을 다룰 수 있는 바탕에는 이렇게 품사 힌트를 품은 형태 기반 임베딩이 있습니다. 표기만 보던 임베딩으로는 풀 수 없던 동형이의 형태소가 품사별로 분리되어 학습됩니다.
자주 묻는 질문
Q. 가#V, 가#J, 가#N은 무슨 뜻인가요?
표기는 모두 가이지만 품사 힌트가 다른 세 형태소입니다. 가#V는 동사 어간,
가#J는 주격조사, 가#N은 명사입니다. 임베딩에서 각각 다른 벡터로 학습됩니다.
Q. 왜 품사 힌트를 임베딩에 포함하나요?
같은 글자라도 품사가 다르면 의미와 역할이 다릅니다. 품사 힌트를 넣지 않으면 서로 무관한 형태소가 한 벡터에 뒤섞여 구별할 수 없습니다. 힌트를 넣어 역할별로 다른 벡터를 학습합니다.
Q. 이 방식이 동형이의 처리에 어떻게 도움이 되나요?
품사별로 임베딩이 분리되어 있으면, 같은 표기라도 문맥에 맞는 품사를 골라낼 근거가 생깁니다.
비가 온다의 조사 가와 학교에 가다의 동사 가를 정확히 구별할 수 있습니다.
Q. 표면형이 같지만 형태가 다른 단어는 얼마나 되나요?
바른은 학습 과정에서 표기는 같지만 형태가 다른 동형이의 형태소를 12,175개 찾아냈습니다. 이를 형태별로 다른 토큰으로 임베딩해 중의성을 개선합니다.
Q. 품사 힌트 #N, #V 같은 표기는 무엇인가요?
8대 형태 단위 표기입니다. 체언 #N, 용언 #V, 어미 #E, 조사 #J,
관형사 #M, 부사 #A, 감탄사 #I, 기호 #S로 형태소의 형태 단위를 나타냅니다.
도움이 되었나요?