본문 바로가기
Python

[Etc] Token and Tokenizer

by ds31x 2023. 12. 6.

Token의 의미

문장을 구성하는
(최소)의미 단위.

 

일반적으로 하나의 word가 token에 해당하며,

영어에서는 whitespace character(공백문자) 및 punctuation mark 등을 구분자(delimeter)로 하여 나눈 결과들을

보통 token이라고 부름.

 

Tokenizer

Token으로 나누는 처리를 하는 component (or object)를 가르킴.

Parser라는 용어로도 사용되는 경우가 많음.

Tokenize (~parsing)는 결국 문장을 token으로 분해하는 처리를 의미하는데, 이를 수행하는 object를 tokenizer라고 함.


참고

한국어는 보통 tokenize를 할 때, 띄어쓰기 외에도 조사,어미 등을 고려한 음절 등으로 처리해야 하며, 때문에 영어에 비해 token의 수가 보다 많이 나오고 처리가 어렵다. (LLM에서 과금이 주로 token 단위이기 때문에 이 부분은 단점이 될 수 있음)

 

<예>

  • 나는 소년입니다. : 나/는 / 소년/입니다/.
  • I am a boy. : I / am / a / boy/. 

참고로 python의 string의 split메서드를 사용하면 간단한 tokenize를 할 수 있다(영문이라면).

많은 프로그래밍언어가 공백문자나 delimeter 기반의 tokenize를 하는 메서드를 문자열 클래스의 메서드로 제공하고 있다. 

하지만, 제대로 tokenize를 하는 건 쉬운 일이 아니다.

728x90

'Python' 카테고리의 다른 글

[Python] logging  (0) 2023.12.18
[Python] Terminal, WSL, Conda, and VSCode  (1) 2023.12.15
[Python] File Handling  (1) 2023.12.05
[Python] Programming Language and Introduction of Python.  (1) 2023.10.23
[Python] __name__ : Special string variable  (0) 2023.10.10