본문으로 바로가기

[DeepLearning] 자연어 전처리(1)

category 인공지능/DeepLearning 2020. 12. 20. 13:47
728x90
반응형

오늘은 자연어 전처리에 대해 알아보겠습니다.

딥러닝에서 말하는 자연어는 사람들이 일상적으로 쓰는 언어를 말합니다.

이와 반대다는 말로는 인공어가 있습니다.

인공어는 자연어를 인공적으로 만든 언어입니다.

딥러닝에서는 이 자연어를 컴퓨터가 인식할 수 있도록 처리해야합니다.

자연어 처리는 여러 분야에서 사용됩니다.

예를 들면 음성 인식, 언어 번역, 텍스트 분류 등입니다.

딥러닝은 자연어를 처리하여 여러 가지에 응용이 가능합니다.

자연어를 컴퓨터가 인식하도록 하려면 그 전에 해야할 일이 있습니다.

주어진 자연어를 무작정 처리하려면 효율적이지 못하고, 시간도 낭비될 수 있습니다.

바로 전처리 입니다.

자연어 전처리 종류에 대해 알아보겠습니다.

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탄에서 찾아 뵙겠습니다.

728x90
반응형