이전 포스팅에 이이서 자연어 전처리 방법에 대해 조금더 알아보겠습니다.
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을 넣습니다.
자연어 전처리에 대한 포스팅은 여기까지 하겠습니다.
'인공지능 > DeepLearning' 카테고리의 다른 글
[DeepLearning] EDA 탐색적 데이터 분석 (0) | 2021.02.17 |
---|---|
[DeepLearning] 유클리드 거리 (0) | 2021.01.04 |
[DeepLearning] 자연어 전처리(1) (0) | 2020.12.20 |
[DeepLearning] 훈련 데이터와 테스트 데이터 (0) | 2020.12.06 |
[DeepLearning] 과대 적합과 과소 적합 (0) | 2020.12.03 |