▶자연어 처리의 문제들
앞의 포스팅에서 자연어 처리를 활용하는 아래와 같은 여러 문제들이 있다고 언급했습니다. 이번 포스팅에서는 그 문제들에 대해서 알아보겠습니다.
· 텍스트 분류
· 텍스트 유사도
· 텍스트 생성
· 기계 이해
(1) 텍스트 분류
텍스트 분류란 자연어 처리 기술을 활용해 특정 텍스트를 사람들이 정한 몇가지 범주(class) 중 어느 범주에 속하는지 분류하는 문제입니다. 2가지 문제일 경우 이진 분류 문제, 3가지 이상일 경우 다중 범주 분류 문제라고 합니다. 텍스트 분류의 예시로는 스팸 분류, 영화 리뷰의 감정 분류, 뉴스 기사 분류 등이 있습니다. 텍스트 분류는 크게 지도 학습을 통한 분류, 비지도 학습을 통한 분류가 있습니다.
· 지도 학습을 통한 분류
지도 학습을 통한 분류는 각 데이터에서 특징을 뽑아내 예측하고, 정답(라벨)과 맞는지 확인하면서 학습하는 방법입니다. 예로는 서포트 벡터 머신(SVM), 신경망 등이 있습니다.
· 비지도 학습을 통한 분류
비지도 학습을 통한 텍스트 분류는 특성을 찾아내서 적당한 범주를 만들어 각 데이터를 나누는 학습 방법입니다. 예로는 K-평균 군집화(K-Means), 계층적 군집화 등이 있습니다.
(2) 텍스트 유사도
텍스트 유사도는 두개 이상의 텍스트가 얼마나 유사한지 표현하는 방식 중 하나입니다. 즉, 두 벡터로 표현된 두 개의 문장을 유사도 식을 통해 문장 간의 유사도를 측정하는 것 입니다. 딥러닝 기반의 유사도 측정 방법은 자카드 유사도(Jaccard Similarity), 유클리디언 유사도(Euclidean Similarity), 맨하탄 유사도(Manhattan Similarity), 코사인 유사도(Cosine Similarity) 등이 있습니다.
· 자카드 유사도(Jaccard Similarity)
두 문장을 각 단어의 집합으로 만든 뒤, 집합을 통해 유사도를 측정하는 방법입니다. 0~1사이의 값을 가지며, 1에 가까울수록 유사도가 높습니다. 수식으로 나타내면, 아래와 같습니다.