이 글은 중의성의 종류를 소개하고, 중의성 해소에 필요한 방법을 알아보겠습니다.
중의성의 분류
자연어 처리에서 중의성 해결은 중요한 태스크입니다. 중의성은 하나의 언어 표현이 둘 이상의 해석이 가능한 특성을 의미합니다. 중의성의 종류는 다음과 같습니다.
- 어휘 중의성
- 구조 중의성
어휘 중의성
어휘 중의성 글자나 소리가 동일하지만 의미가 여럿인 중의성입니다. 중의성의 대표적인 예로 동음이의어(homonym)가 있습니다. 동음이의어는 글자는 동일(동형어; homographs)하지만 의미가 다른 단어(다의어; polysemes) 입니다. 동음이의어는 글자로 보면 의미가 구분이 되지 않는 애매성(ambiguity)이 있습니다.
단어 | 의미1 | 의미2 |
---|---|---|
손 | 나는 손이 크다 | 친구 어머니는 손이 크다. |
말 | 나는 말이 많다. | 친구는 말이 많다. |
배 | 나는 배를 좋아한다. | 친구는 배를 좋아한다. |
어휘 중의성 해결
어휘 중의성은 단어 의미 중의성 해소(WSD:Word Sense Disambiguation) 기술을 이용해 해결할 수 있습니다. 단어 의미 중의성 해소 기술의 기본적인 아이디어는 중의성 있는 단어 주변의 단어를 살펴 봄으로서 의미를 식별 한다는 것 입니다. 예를 들어 위 표의 중의성을 해결 하기 위해 단어 주변(context)에 단어를 추가해 보겠습니다.
단어 | 의미1 | 의미2 | 중의성 해소 |
---|---|---|---|
손 | 나는 박수칠때 손이 크다 | 친구 어머니는 요리할때 손이 크다. | 문장 성분 추가 |
말 | 나는 말이 식사할때 많다. | 친구는 말이 목장에 많다. | 서술어 추가 |
배 | 나는 맛있는 배를 좋아한다. | 친구는 바다에 있는 배를 좋아한다. | 수식어 추가 |
단어 주변에 단어가 추가 된 후, 의미가 명확해 졌고 중의성도 해소 됐음을 확인 했습니다. 어휘 중의성 해결을 위한 방법론은 대표적으로 다음과 같은 방법론이 있습니다.
- 시소러스/사전 기반 : Multi-Prototype Skip-gram
- 교사 학습 기반 : 분류기(SVM, AdaBoost, 나이브 베이즈 분류기, 뉴럴넷, kNN, Logistic Regression, …)
- 반교사 학습 기반 : 부트스트래핑(작은 규모의 레이블 셋으로 저용 가능)
- 비교사 기반 : Word Clustering
구조 중의성
구조 중의성(structural ambiguity)은 통사 관계에 의해 나타나는 문장 구성 성분간의 중의성입니다. 구조 중의성의 예는 다음과 같습니다.
- 비가 오는 날, 검은 우산을 쓰고 걸어가는 아빠와 아들의 모습
- 환하게 웃어주던 그녀의 모습은 어디로 사라져버린 것인가?
첫번째 문장은 검은 우산을 쓰고 걸어가는 사람이 아빠라는 것인지, 아니면 검은 우산을 쓰고 걸어가는 사람이 “아빠와 아들"것인지에 대한 중의성이 있습니다. 두번째 문장은 환하게 웃어주던 대상이 ‘그녀'인지, 그녀의 ‘모습’ 인지에 대한 중의성이 있습니다.
구조 중의성 해결
구조 중의성은 하나의 문장이 2가지 이상의 구조로 구문 분석(syntax analysis)됨으로 생기는 중의성입니다. 구조 중의성 해소(structural disambiguation)를 위한 대표적인 방법론은 다음과 같습니다.
- 분석 기반
- 통계 기반