오늘은 자연어 전처리에 대해 알아보겠습니다.
딥러닝에서 말하는 자연어는 사람들이 일상적으로 쓰는 언어를 말합니다.
이와 반대다는 말로는 인공어가 있습니다.
인공어는 자연어를 인공적으로 만든 언어입니다.
딥러닝에서는 이 자연어를 컴퓨터가 인식할 수 있도록 처리해야합니다.
자연어 처리는 여러 분야에서 사용됩니다.
예를 들면 음성 인식, 언어 번역, 텍스트 분류 등입니다.
딥러닝은 자연어를 처리하여 여러 가지에 응용이 가능합니다.
자연어를 컴퓨터가 인식하도록 하려면 그 전에 해야할 일이 있습니다.
주어진 자연어를 무작정 처리하려면 효율적이지 못하고, 시간도 낭비될 수 있습니다.
바로 전처리 입니다.
자연어 전처리 종류에 대해 알아보겠습니다.
1. 토큰화
자연어를 단어나 문자 단위로 나눈 것이 토큰입니다.
자연어를 토큰으로 나누는 것이 토큰화입니다.
예를 들어보겠습니다. 아래와 같은 문장이 있습니다.
I like to study deeplearning.
위의 문장을 토큰화 하면 "I", "like", "to", study", "deeplearning" 이 됩니다.
가장 기초적인 토큰화는 위와 같지만, 딥러닝에 응용하려면 조금더 심화된 토큰화를 해야됩니다.
토큰화를 하다보면 문제점이 생기게 됩니다.
예를 들면 Don't 가 있습니다.
Don't를 토큰화 한다면 Don't, Don t, Do n't 등 여러 가지가 나올 수 있습니다.
사용하는 라이브러리에 따라서 토큰화 방식이 달라지고, 그에 따라 결과가 달라질 수 있습니다.
이 부분에 대해서는 잘 생각해야 됩니다.
2. 정제 작업
노이즈 즉, 불필요한 데이터를 제거하는 작업입니다.
그 중 한 작업은, 길이가 짧아서 의미가 없는 단어들이나 빈도수가 적은 단어들을 없애는 것입니다.
3. 정규화
비슷하거나 표현이 다른 단어들을 같은 단어를 만들어주는 작업입니다.
대소문자를 통합하는 방법이 있습니다.
그러나 이 때도 생각해야 될 것이, 사람 이름이나 도시 이름의 경우 대문자를 유지해야 되기 때문에 잘 생각해야됩니다.
4. 불용어 제거
불용어란 불 필요한 단어를 의미합니다. 이를 제거하는 작업입니다.
예를 들어보겠습니다.
I like to study deeplearning
이 문장의 불용어는 I, to가 될 수 있습니다. 불용어 제거 또한, 라이브러리 마다 다르게 되어 있습니다.
우리에 맞는 라이브러리를 사용해야됩니다.
오늘은 여기까지하고, 나머지는 2탄에서 찾아 뵙겠습니다.
'인공지능 > DeepLearning' 카테고리의 다른 글
[DeepLearning] 유클리드 거리 (0) | 2021.01.04 |
---|---|
[DeepLearning] 자연어 전처리(2) (0) | 2020.12.20 |
[DeepLearning] 훈련 데이터와 테스트 데이터 (0) | 2020.12.06 |
[DeepLearning] 과대 적합과 과소 적합 (0) | 2020.12.03 |
[DeepLearning] 딥러닝 모델 (0) | 2020.11.29 |