본문으로 바로가기

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

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

이전 포스팅에 이이서 자연어 전처리 방법에 대해 조금더 알아보겠습니다.

5. 정규표현식

정규표현식을 사용하여 자연어를 전처리하는 방법입니다.

정규표현식을 통하여 자연어의 필요한 부분만 필터링할 수 있습니다.

예를들어 정규표현식 "ab*"를 사용한다고 가정하면, "a", "b" 의 값들은 모두 필터링 시켜버립니다.

필요없는 것들을 제거하기 위해 정규표현식만 잘 사용한다면, 손쉽게 필터링할 수 있습니다.

6. 정수로 인코딩

컴퓨터는 모든 것들을 숫자로 처리합니다.

그렇기 때문에 자연어 전처리를 하더라도 끝내 숫자로 처리를 해야됩니다.

이 방법은 문장, 즉 단어를 정수화시켜 처리해 버립니다.

예를 들어 I like to study deeplearning이 있으면

{ "I" : 1, "like" : 2, "to" : 3, "study" : 4, "deeplearning" : 5 }

이런 식으로 각 단어를 정수화시켜 버립니다.

7. 패딩

자연어 처리를 하게 되면, 문장마다 길이가 상이하기 때문에 문제가 될 수 있습니다.

이럴 때 패딩 기법을 사용합니다.

패딩은 각각 다른 문장의 길이를 같게 해주는 역할을 합니다.

예를 들어보겠습니다.

I like to study deeplearning

My name is letitkang

We cry

위의 세문장은 길이가 다르기 때문에 정수 인코딩을 하게 되면

{ 1, 2, 3, 4, 5 }
{ 6, 7, 8, 9 }
{ 10, 11 }

위와 같이 되버리지만, 패딩을 이용하여 길이가 5보다 짧은 문장들은 뒤를 0으로 채웁니다.

{ 1, 2, 3, 4, 5 }
{ 6, 7, 8, 9, 0 }
{ 10, 11, 0, 0, 0 }

8. 원 핫 인코딩

문자열을 의미 있는 숫자로 바꾸는 방법입니다.

원 핫은 0과 1로 구성되어 있습니다.

특정 단어가 포함된 자리에는 1을 넣고, 나머지에는 0을 넣습니다.

자연어 전처리에 대한 포스팅은 여기까지 하겠습니다.

728x90
반응형