PyTorch: build_vocab()

danbibibi·2022년 5월 20일
0

PyTorch 🔥

목록 보기
19/20

PyTorch: build_vocab

토큰화 전처리가 끝나면 각 단어에 고유한 정수를 맵핑해주는 정수 인코딩(Integer enoding) 작업이 필요하다. 그리고 이 전처리를 위해서는 우선 단어 집합을 만들어주어야 한다! 정의한 필드에 .build_vocab()을 사용하여 단어 집합을 생성할 수 있다.

  • <unk>: 인코딩 과정에서 사전에 없는 단어는 전부 이 토큰의 인덱스로 인코딩 (0)
  • <pad>: 패딩(입력 데이터를 배치로 처리하려면, 배치 내 모든 데이터가 같은 사이즈를 가져야 함)(1)
  • 필드지정시, 문장의 시작 토큰(init_token)과, 끝의 토큰(eos_token)을 넣으면 3, 4 번으로 할당됨.

사용법

MAX_VOCAB_SIZE = 25000 # 단어 집합의 최대 크기

TEXT.build_vocab(train_data,
#                    min_freq = 3, # 단어의 최소 등장 빈도 조건
                   max_size = MAX_VOCAB_SIZE, #단어 집합의 최대 크기 지정 
                   vectors = 'fasttext.simple.300d', # 사전 훈련된 임베딩 벡터 (한글 지원)
                   unk_init = torch.Tensor.normal_) # 사전훈련된 단어집합에 없는 단어를 0으로 처리하는 것 방지
LABELS.build_vocab(train_data)
profile
블로그 이전) https://danbibibi.tistory.com

0개의 댓글