자연어 전처리 인코딩, 패딩
자연어 VOCABULARY 만들기
- 자연어 처리에서는 텍스트를 숫자로 바꾸는 다양한 기법들이 있습니다.
- 그러한 기법들을 사용하기 위해 첫 단계로 각 단어를 고유한 정수에 맵핑(mapping)시키는 전처리 작업입니다.
- Vocab을 설명하기 위해서는 특정 단어가 많이 있어야(제거해야할 필요성이 있음) 보여 줄 수 있기에 여러 문장, 단어를 사용
1 | import nltk |
패딩처리 하기(Padding)
- 컴퓨터는 길이가 전부 동일한 문서들에 대해 하나의 행렬로 보고, 한꺼번에 묶어서 처리할 수 있습니다.
- 다시 말해 병렬 연산을 위해서 문장의 길이를 통일 시켜주는 작업이 필요합니다.
- 파이토치의
from torch.nn.utils.rnn import pad_sequence
또는 - 케라스의
from tensorflow.keras.preprocessing.sequence import pad_sequences
를 이용하여 패딩하면 됩니다.
1 | print(preprocessed_sentences) |
- 한국어 처리는 nltk가 아닌 보통 다른 패키지를 konly같은 한국어용 버전을 따로 다운받아서 사용함
1 | import konlpy |