받았을 때 그림 19의 좌측에 보이는 것처럼 입력된 문장은 토큰화, 품사 태깅, 명사 추출, 미등록어 추출의 과정을 거쳐 명사 유형만을 가지는 미등록어를 추출하게 된다.
예시 문장 ‘Microsoft UK so a stupid Windows 10 update just killed all my sw thanks a lot I really appericate it’에서 추출된 명사 유형의 미등록어는 ‘sw’와
‘appericate’ 이다. 추출된 미등록어는 대체 단어를 찾기 위해 그림 19의 우측의 미등록어 대체 단어 선정 과정을 수행한다. Word2VnCR 알고리즘에서는 미등록어의 대체 후보 단어를 찾기 위해 워드 임베딩 방법을 사용하는 과정과 추출된 대체 후보 단어와 미등록어 인접 단어의 의미적 유사도를 측정하는 과정을 수행한다.
워드 임베딩을 이용한 미등록어의 대체 후보 단어 추출 과정에서는 미등록어
‘sw’와 ‘appericate’의 대체 후보 단어를 생성하기 위해서는 그림 7의 워드 임베딩 방법을 수행한다. 워드 임베딩 방법의 입력 값 는 미등록어 ‘sw’을 원 핫 인코딩한 행렬 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]과 미등록어 ‘appericate’을 원 핫 인코딩한 행렬 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]이 된다. 입력 값 는 가중치 행렬 를 곱해 은닉층의 벡터를 생성한다. 는 학습 데이터 셋을 행렬로 변환한 것으로 는 학습 데이터 셋의 개수, 는 학습 데이터 셋의 텍스트의 길이를 의미한다. 즉, 행렬 의 13번째 행과 19번째 행이 은닉층의 벡터가 되는 것이다. 입력 값 와 가중치 행렬 의 곱을 통해 생성된 벡터는 가중치 행렬 의 행과 열의 크기가 바뀐 가중치 행렬 ′를 곱해준 뒤 소프트맥스 계산을 거쳐 출력층
을 생성한다. 이를 통해 미등록어 ‘sw’와 ‘appericate’가 대체될 대체 후보 단어들을 학습 데이터 셋에서 추출한다. 워드 임베딩 방법에 단어의 확률은 소프트맥스 수식 12로 정의 될 수 있다.
exp exp
(12)
수식 12의 exp는 지수함수(Exponential Function) 이며, 은 출력층의 단어의 수, 는 그 중 k번째 출력을 뜻한다. 위 수식 12와 같이 소프트 맥스 함수의 분자는 입력 단어 ak의 지수함수, 분모는 모든 입력 단어의 지수함수의 합으로 구성된다.
그림 20은 NUS sms 학습 데이터 셋을 Word2VnCR 알고리즘의 워드 임베딩 방법을 적용했을 때 학습 데이터를 생성하는 과정을 나타낸다. 미등록어 ‘sw’가 입력되면 ‘sw’의 인접 단어를 기반으로 워드 임베딩 방법을 하면 학습 데이터는 {my, thanks → software}, {my, thanks → OS}, {my, thanks → system} 등이 생성이 된다. 이를 통해 미등록어 ‘sw’를 입력 값으로 넣게 되면 미등록어 ‘sw’의 대체 후보 단어는 ‘software’, ‘os’, ‘system’, ‘computer’, ‘pc’가 출력된다.
그림 20. Word2VnCR 알고리즘의 워드 임베딩 학습 데이터의 예
본 연구에서는 NUS sms 말뭉치를 학습 데이터로 사용하여 Word2VnCR 알고리즘의 워드 임베딩 방법을 적용한 경우 미등록어 ‘sw’의 대체 후보 단어는
‘software’, ‘os’, ‘system’, ‘computer’, ‘pc’가 ‘appericate’의 대체 후보 단어는
‘appreciate’, ‘gratitude’, ‘thank’가 추출되었다. 워드 임베딩 방법을 이용해 추출된 미등록어 ‘sw’와 ‘appericate’의 대체 후보 단어는 미등록어가 출현한 문장의 명사 단어들과 의미적 유사도를 측정한다. 의미적 유사도 측정하기 위해 사용되는 방법은 개념간의 관계를 보다 의미적으로 분석할 수 있는 워드넷의 의미적 유사도 측정 방법인 WUP 유사도 측정 방법을 이용한다. 표 10은 미등록어의 대체 후보 단어와 문장 내 명사 단어의 WUP 유사도 값을 계산한 결과를 나타나고 있다.
미등록어 대체 후보 단어의
워드넷 개념 문장 내 명사 단어
문장 내 명사 단어의 워드넷 개념
의미적 유사도
sw
software#n#1
Microsoft
UK UK#n#1 0.2000
Windows Windows#n#1 0.9000
update update#n#1 0.4706
thanks thanks#n#2 0.3333
lot appericate
의미적 유사도 합 1.9039
os#n#3
Microsoft
UK UK#n#1 0.1905
Windows Windows#n#1 0.9524
update update#n#1 0.4444
thanks thanks#n#2 0.3158
lot appericate
의미적 유사도 합 1.9031
system#n#2
Microsoft
UK UK#n#1 0.2500
Windows Windows#n#1 0.3750
update update#n#1 0.4615
thanks thanks#n#2 0.4286
lot appericate
의미적 유사도 합 1.5151
computer#n#1
Microsoft
UK UK#n#1 0.3810
Windows Windows#n#1 0.1905
update update#n#1 0.2222
thanks thanks#n#2 0.2105
lot appericate
의미적 유사도 합 1.0042
pc#n#1
Microsoft
UK UK#n#1 0.3478
Windows Windows#n#1 0.1739
update update#n#1 0.2000
thanks thanks#n#2 0.1905
lot appericate
의미적 유사도 합 0.9122
표 10. 미등록어의 대체 후보 단어와 미등록어 인접 단어 간 의미적 유사도 측정 결과
미등록어 대체 후보 단어의
워드넷 개념 문장 내 명사 단어
문장 내 명사 단어의 워드넷 개념
의미적 유사도
appericate
appreciate#v#1
Microsoft
UK UK#n#1
Windows Windows#n#1
update update#n#1
sw
thanks thanks#n#2
lot
의미적 유사도 합
gratitude#n#1
Microsoft
UK UK#n#1 0.2222
Windows Windows#n#1 0.3333
update update#n#1 0.4000
sw
thanks thanks#n#2 0.3750
lot
의미적 유사도 합 1.3305
thank#v#1
Microsoft
UK UK#n#1
Windows Windows#n#1
update update#n#1
sw
thanks thanks#n#2
lot
의미적 유사도 합
Word2VnCR 알고리즘의 의미적 유사도 측정 결과에 따라 미등록어 ‘sw’는 대체 후보 단어 ‘software’, ‘os’, ‘system’, ‘computer’, ‘pc’ 중 ‘software’로 미등록어
‘appericate’는 대체 후보 단어 ‘appreciate’, ‘gratitude’, ‘thank’ 중 ‘gratitude’로 선정되었다. 이에 따라 미등록어가 작성된 예문 ‘Microsoft UK so a stupid Windows 10 update just killed all my sw thanks a lot I really appericate it’는 미등록어
‘sw’를 ‘software’로 ‘appericate’는 ‘gratitude’로 대체하여 ‘Microsoft UK so a stupid Windows 10 update just killed all my software thanks a lot I really gratitude it’로 수정한다.