EN KO
← 전체 논문 목록

A Syllable-based Technique for Word Embeddings of Korean Words

The 1st Workshop on Subword and Character Level Models in NLP (SCLeM 2017) at EMNLP 2017
Sanghyuk Choi, Taeuk Kim, Jinseok Seol, Sang-goo Lee

한줄 요약

한국어 음절을 기본 임베딩 단위로 사용하는 CNN 기반 단어 표현 모델로, 형태론적으로 의미 있는 단어 벡터를 생성하며 미등록어(OOV)에 강건하고 한국어의 교착어 구조를 포착합니다.

음절 기반 단어 임베딩 모델
Figure 1. 합성곱 및 맥스 풀링 레이어를 갖춘 음절 기반 단어 임베딩 모델. 각 단어를 구성 음절로 분해하고, 임베딩한 뒤, 다양한 너비의 합성곱 필터와 맥스 풀링을 거쳐 고정 차원의 단어 벡터를 생성합니다.

배경 및 동기

워드 임베딩은 개체명 인식, 기계 번역, 감성 분석 등 다양한 NLP 과제의 기반 요소로 자리잡았습니다. Word2Vec(Skip-gram, CBOW)과 GloVe 같은 표준 모델은 각 단어를 원자적 단위로 취급하여 하나의 벡터로 매핑합니다. 형태 변화가 적은 언어에서는 이 방식이 비교적 잘 작동하지만, 형태론적으로 풍부하고 교착어적 특성을 가진 한국어에서는 심각한 문제를 야기합니다.

한국어 어휘 폭발 문제: 한국어에서는 하나의 어근 형태소가 약 60개의 다른 접사(조사, 어미, 존칭 등)와 결합하여 각각 다른 표면 형태를 만들어냅니다. 예를 들어, 명사 "학교"는 "학교가", "학교를", "학교에서", "학교에서의" 등 수십 가지 형태로 나타날 수 있습니다. 전통적인 단어 수준 임베딩은 이들을 각각 완전히 별개의 어휘 항목으로 취급하여, 거대한 어휘 크기, 단어당 희소한 학습 데이터, 빈번한 미등록어(OOV) 실패를 초래합니다.

기존의 하위단어 접근법은 부분적인 해결책을 제시하지만 한국어에 대해 상당한 한계를 가지고 있습니다:

핵심 통찰은 한글의 음절 블록이 언어학적으로 의미 있는 단위로서, 지나치게 세밀한 문자 수준과 지나치게 거친 단어 수준 사이에 존재한다는 것입니다. 또한 실제 사용되는 고유 음절 수는 약 1,000개에 불과하여, 단어 어휘(11,000개 이상)보다 훨씬 작으므로 음절 수준 표현은 의미적으로 풍부하면서도 계산적으로 효율적입니다.

제안 방법: Syllable-CNN

합성곱 신경망을 통해 학습된 음절 벡터를 조합하여 단어 표현을 구성합니다. 본 아키텍처는 문자 수준 CNN 모델(Kim et al., 2016의 CharCNN 등)의 통찰을 바탕으로, 한국어의 음절 기반 문자 체계에 맞게 적용하였습니다:

1
음절 임베딩 레이어
각 한국어 음절을 학습 가능한 임베딩 행렬을 통해 d차원 밀집 벡터로 매핑합니다. n개 음절(s1, s2, ..., sn)로 구성된 단어가 주어지면, 해당 음절 벡터를 순서대로 연결하여 합성곱 레이어의 입력이 되는 n × d 행렬을 형성합니다. 코퍼스 내 고유 음절이 ~1,000개에 불과하므로 이 임베딩 테이블은 소형이면서도 표현력이 우수합니다.
2
다중 너비 합성곱 레이어
음절 임베딩 행렬 위에 너비 1, 2, 3, 4의 다양한 1D 합성곱 필터를 적용합니다. 너비-1 필터는 개별 음절 특징을, 너비-2 필터는 이음절 패턴(한자어 합성어에 흔함)을, 너비-3과 너비-4 필터는 더 긴 조합 패턴을 감지합니다. 각 너비당 80개의 필터를 사용하여 너비별 80차원 특징 맵을 생성합니다. 이후 max-over-time 풀링으로 각 필터에서 가장 활성화된 특징을 선택하여, 단어 길이에 관계없이 320차원(80 × 4 너비)의 고정 길이 벡터를 출력합니다.
3
Skip-gram 공동 학습
음절 임베딩, 합성곱 필터, 풀링을 포함한 전체 모델이 네거티브 샘플링(k=5)을 사용한 Skip-gram 목적 함수로 종단간(end-to-end) 학습됩니다. 대상 단어가 주어지면 CNN이 음절 벡터를 단어 수준 표현으로 조합하고, 이를 고정 윈도우 내의 주변 문맥 단어를 예측하는 데 사용합니다. CNN을 통한 역전파가 합성곱 파라미터와 음절 임베딩 테이블을 공동으로 갱신하여, 단어 수준 분포 의미론에 최적화된 음절 표현을 학습합니다.

핵심 아키텍처 장점: 단어 표현이 고정된 룩업 테이블이 아닌 음절 벡터로부터 계산되기 때문에, 모델은 알려진 음절로 구성된 모든 단어에 대해 임베딩을 생성할 수 있습니다 -- 학습 중 한 번도 본 적 없는 단어도 포함합니다. 이러한 조합적 특성이 한국어에서 단어 수준 모델을 괴롭히는 OOV 문제를 직접적으로 해결합니다.

실험 결과

2012-2014년 한국어 뉴스 코퍼스에서 평가하였습니다. 약 270만 토큰, 11,000개 단어 어휘, ~1,000개 고유 음절을 포함하며, 단어 벡터 차원은 320(80 필터 × 4 너비)으로 설정하였습니다. 베이스라인은 동일 코퍼스에서 학습한 표준 Skip-gram 모델입니다.

단어 유사도 평가

모델피어슨 상관계수 (WS353-Sim)
Skip-gram (베이스라인)0.583
Syllable-CNN (제안 모델)0.634

한국어로 번역된 WordSim-353 유사도 부분집합에서 Syllable-CNN은 Skip-gram 베이스라인 대비 +0.051의 피어슨 상관 향상을 달성하였습니다. 이 향상은 의미적으로 관련된 단어 간 공유 음절을 활용하는 모델의 능력에 기인합니다 -- 예를 들어, "경제"(economy)와 "경영"(management)은 음절 "경"(다스릴 경)을 공유하며, CNN이 조합 과정에서 이를 포착합니다.

OOV 강건성: 미등록어 처리

음절 기반 접근법의 핵심 장점은 미등록어에 대해서도 의미 있는 임베딩을 생성할 수 있다는 것입니다. 논문에서는 학습 데이터에 없는 신조어와 합성어로 이를 입증합니다:

OOV 질의어최근접 이웃 (Syllable-CNN)
구글신 ("God Google")구글 (Google) 및 의미적으로 관련된 단어들
갤노트 ("갤럭시 노트" 축약)갤럭시 (Galaxy), 노트 (Note) 및 관련 기술 용어들

이러한 OOV 단어들은 기존 단어와 음절을 공유하므로(예: "구글신"은 "구글" = Google을 포함), CNN이 음절 벡터를 조합하여 예상되는 의미적 이웃에 가까운 표현을 만들어냅니다. 표준 Skip-gram 모델은 이러한 단어에 대해 벡터를 전혀 생성할 수 없습니다.

형태론적 구조 분석

의의

본 연구는 한국어 단어 표현의 기본 단위로 음절을 사용하는 것을 개척하여, 문자 수준 및 형태소 수준 접근법에 대한 언어학적으로 동기가 부여된 대안을 제시하였습니다. 그 기여는 여러 방향으로 확장됩니다:

링크

Representation Learning Multilingual