더북(TheBook)

7.4.3 토큰화

머신러닝 또는 딥러닝 모델은 숫자 형태가 아닌 데이터를 입력 데이터로 사용할 수 없기 때문에 텍스트 데이터를 숫자 형태로 치환해준 다음, 입력으로 넣어줘야 합니다. 이 과정에서 주어진 문장을 어떤 방식을 사용해 숫자로 변환할 것인지 결정해야 합니다. 이때 주어진 구문을 임의의 단위로 쪼개서 표현할 수 있는데 그 단위를 일컬어 토큰(Token)이라고 하고, 그 과정을 토큰화(Tokenization)라고 합니다. 토큰의 단위를 정하는 방식은 매우 다양한데 단어를 토큰으로 만들 수도 있고, 글자 하나하나를 토큰으로 만들 수도 있습니다.

BERT는 기본적으로 WPM(Word Piece Model)이라고 하는 비지도학습 기반 모델을 이용해 주어진 구문을 해석합니다. 이 방법으로 텍스트가 어떻게 쪼개질지 예시와 함께 살펴보겠습니다. 주어진 구문을 여러 토큰으로 쪼갰다면 모델 학습의 입력으로 들어갈 수 있도록 각 토큰에 맞는 임의의 번호로 변환하여 하나의 숫자 배열이 되도록 만들어야 합니다. 허깅 페이스가 제공하는 라이브러리를 이용해서 BERT에서 사용하는 vocab 파일을 다운로드하고, vocab 파일을 토대로 토크나이저를 구성합니다. 간단한 샘플 문장에 토크나이저를 적용하면 다음 형태로 나타납니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.