머신러닝 및 딥러닝
Tokenizer에 종류
AlgoPoolJa
2022. 3. 1. 21:03
- 단어 단위로 Tokenize
- 글자단위로 Tokenize
- 하위 단위로 Tokenize
단어 단위로 Tokenize
- 장점 : 가장 간단하다(space 단위로 tokenize 를 하면 되니까)
- 단점
- 비슷한 단어끼리 의미를 공유하는 단어의 의미가 없어지게 된다.
- 단어가 굉장히 많기 때문에 거의 무한개의 토큰수가 생성된다.
- 토큰수를 한정하면 vocab에 해당 단어가 없을 경우 OOV가 되기 때문에 실제로 굉장히 뜻이 다른 단어지만 같은 Representaion으로 표현된다.
글자 단위로 Tokenize
- 장점 :
- 가장 적은 vocab 사이즈로 모든 표현이 가능하다.
- 단점 :
- 각각의 토큰의 의미를 거의 가지지 않는다.
- 모델의 입력으로 들어가게 될 때 굉장히 긴 sequence로 들어가기 제약이 많다.
subword 로 Tokenize(가장 좋음)
결론 : 자주 사용되는 단어들은 작은 subwords들로 나눠지는 것이 좋지 않다. , 자주 사용되지 않는 단어들은 의미있는 subwords들로 분리 될 수 있게하자.
ETC
실제로 tokenize 된 결과를 보면
이렇게 앞에 ## 가 붙은경우가 왕왕 보인다. 이는 단어의 시작이 아니라는 의미이다. 즉, izaition 은 단어의 첫 시작이 ization으로 시작되었다는 의미이지만 ##ization 은 단어의 첫 시작이 다른 토큰으로 시작되었고 ization은 그 토큰 뒤에 나온다는 의미이다.
Tokenizer에 종류
- 단어 단위로 Tokenize
- 글자단위로 Tokenize
- 하위 단위로 Tokenize
단어 단위로 Tokenize
- 장점 : 가장 간단하다(space 단위로 tokenize 를 하면 되니까)
- 단점
- 비슷한 단어끼리 의미를 공유하는 단어의 의미가 없어지게 된다.
- 단어가 굉장히 많기 때문에 거의 무한개의 토큰수가 생성된다.
- 토큰수를 한정하면 vocab에 해당 단어가 없을 경우 OOV가 되기 때문에 실제로 굉장히 뜻이 다른 단어지만 같은 Representaion으로 표현된다.
글자 단위로 Tokenize
- 장점 :
- 가장 적은 vocab 사이즈로 모든 표현이 가능하다.
- 단점 :
- 각각의 토큰의 의미를 거의 가지지 않는다.
- 모델의 입력으로 들어가게 될 때 굉장히 긴 sequence로 들어가기 제약이 많다.
subword 로 Tokenize(가장 좋음)
결론 : 자주 사용되는 단어들은 작은 subwords들로 나눠지는 것이 좋지 않다. , 자주 사용되지 않는 단어들은 의미있는 subwords들로 분리 될 수 있게하자.
ETC
실제로 tokenize 된 결과를 보면
이렇게 앞에 ## 가 붙은경우가 왕왕 보인다. 이는 단어의 시작이 아니라는 의미이다. 즉, izaition 은 단어의 첫 시작이 ization으로 시작되었다는 의미이지만 ##ization 은 단어의 첫 시작이 다른 토큰으로 시작되었고 ization은 그 토큰 뒤에 나온다는 의미이다.
Tokenizer에 종류
- 단어 단위로 Tokenize
- 글자단위로 Tokenize
- 하위 단위로 Tokenize
단어 단위로 Tokenize
- 장점 : 가장 간단하다(space 단위로 tokenize 를 하면 되니까)
- 단점
- 비슷한 단어끼리 의미를 공유하는 단어의 의미가 없어지게 된다.
- 단어가 굉장히 많기 때문에 거의 무한개의 토큰수가 생성된다.
- 토큰수를 한정하면 vocab에 해당 단어가 없을 경우 OOV가 되기 때문에 실제로 굉장히 뜻이 다른 단어지만 같은 Representaion으로 표현된다.
글자 단위로 Tokenize
- 장점 :
- 가장 적은 vocab 사이즈로 모든 표현이 가능하다.
- 단점 :
- 각각의 토큰의 의미를 거의 가지지 않는다.
- 모델의 입력으로 들어가게 될 때 굉장히 긴 sequence로 들어가기 제약이 많다.
subword 로 Tokenize(가장 좋음)
결론 : 자주 사용되는 단어들은 작은 subwords들로 나눠지는 것이 좋지 않다. , 자주 사용되지 않는 단어들은 의미있는 subwords들로 분리 될 수 있게하자.
ETC
실제로 tokenize 된 결과를 보면
이렇게 앞에 ## 가 붙은경우가 왕왕 보인다. 이는 단어의 시작이 아니라는 의미이다. 즉, izaition 은 단어의 첫 시작이 ization으로 시작되었다는 의미이지만 ##ization 은 단어의 첫 시작이 다른 토큰으로 시작되었고 ization은 그 토큰 뒤에 나온다는 의미이다.
Tokenizer에 종류
- 단어 단위로 Tokenize
- 글자단위로 Tokenize
- 하위 단위로 Tokenize
단어 단위로 Tokenize
- 장점 : 가장 간단하다(space 단위로 tokenize 를 하면 되니까)
- 단점
- 비슷한 단어끼리 의미를 공유하는 단어의 의미가 없어지게 된다.
- 단어가 굉장히 많기 때문에 거의 무한개의 토큰수가 생성된다.
- 토큰수를 한정하면 vocab에 해당 단어가 없을 경우 OOV가 되기 때문에 실제로 굉장히 뜻이 다른 단어지만 같은 Representaion으로 표현된다.
글자 단위로 Tokenize
- 장점 :
- 가장 적은 vocab 사이즈로 모든 표현이 가능하다.
- 단점 :
- 각각의 토큰의 의미를 거의 가지지 않는다.
- 모델의 입력으로 들어가게 될 때 굉장히 긴 sequence로 들어가기 제약이 많다.
subword 로 Tokenize(가장 좋음)
결론 : 자주 사용되는 단어들은 작은 subwords들로 나눠지는 것이 좋지 않다. , 자주 사용되지 않는 단어들은 의미있는 subwords들로 분리 될 수 있게하자.
ETC
실제로 tokenize 된 결과를 보면
이렇게 앞에 ## 가 붙은경우가 왕왕 보인다. 이는 단어의 시작이 아니라는 의미이다. 즉, izaition 은 단어의 첫 시작이 ization으로 시작되었다는 의미이지만 ##ization 은 단어의 첫 시작이 다른 토큰으로 시작되었고 ization은 그 토큰 뒤에 나온다는 의미이다.