딥러닝(Deep Learning)/전처리(Pre-processing)
-
1. 워드피스(WordPiece) Tokenizer란? 워드피스(WordPiece) Tokenizer는 Subword Tokenization의 일종으로써 주어진 텍스트를 하위단어(subword)로 쪼개는 방식입니다. 하나의 단어는 접두사 혹은 접미사가 붙어서 여러 형태로 변화할 수 있기 때문에 기존에 단어를 그대로 토큰화하는 방법보다는 유연하게 Out of Vocabulary(모델이 처음 보는 단어를 마주한 경우)에 대처할 수 있습니다. Subword tokenizer에는 여러 종류가 있지만, 이번 포스트에서는 BERT에서 사전학습에 사용한 것으로 유명한 WordPiece tokenizer에 대해 정리해보고자 합니다. 2. BPE Tokenizer와의 차이점? Wordpiece tokenizer의 토크화..
WordPiece Tokenizer 이해 및 정리1. 워드피스(WordPiece) Tokenizer란? 워드피스(WordPiece) Tokenizer는 Subword Tokenization의 일종으로써 주어진 텍스트를 하위단어(subword)로 쪼개는 방식입니다. 하나의 단어는 접두사 혹은 접미사가 붙어서 여러 형태로 변화할 수 있기 때문에 기존에 단어를 그대로 토큰화하는 방법보다는 유연하게 Out of Vocabulary(모델이 처음 보는 단어를 마주한 경우)에 대처할 수 있습니다. Subword tokenizer에는 여러 종류가 있지만, 이번 포스트에서는 BERT에서 사전학습에 사용한 것으로 유명한 WordPiece tokenizer에 대해 정리해보고자 합니다. 2. BPE Tokenizer와의 차이점? Wordpiece tokenizer의 토크화..
2023.12.18 -
1. SubWord Tokenizer 일반적으로 토큰화(Tokenizer)는 의미를 가진 토큰(단어 등)으로 쪼개서 토큰을 만드는 작업을 말합니다. 토큰화의 목적은 텍스트를 모델이 이해할 수 있는 데이터로 만들어주는 것입니다. 텍스트를 토큰화하는 방법은 크게 3가지로 분류할 수 있습니다. 1. 단어 기반 토큰화(Word-based tokenization) 공백을 기준으로 토큰화하는 방법('나는 밥을 먹었다' -> '나는', '밥을', '먹었다') 매우 간단한 아이디어지만, 훈련에 사용하지 않은 새로운 단어에 대해 대처가 어려운 단점이 존재한다.(Out of Vocabulary) 2. 문자 기반 토큰화(Character-based tokenization) 텍스트의 구성요소인 문자 단위로 토큰화하는 방법('..
Byte Pair Encoding(BPE) tokenizer 정리1. SubWord Tokenizer 일반적으로 토큰화(Tokenizer)는 의미를 가진 토큰(단어 등)으로 쪼개서 토큰을 만드는 작업을 말합니다. 토큰화의 목적은 텍스트를 모델이 이해할 수 있는 데이터로 만들어주는 것입니다. 텍스트를 토큰화하는 방법은 크게 3가지로 분류할 수 있습니다. 1. 단어 기반 토큰화(Word-based tokenization) 공백을 기준으로 토큰화하는 방법('나는 밥을 먹었다' -> '나는', '밥을', '먹었다') 매우 간단한 아이디어지만, 훈련에 사용하지 않은 새로운 단어에 대해 대처가 어려운 단점이 존재한다.(Out of Vocabulary) 2. 문자 기반 토큰화(Character-based tokenization) 텍스트의 구성요소인 문자 단위로 토큰화하는 방법('..
2023.12.11 -
1. 개요 Khaiii 형태소 분석기는 카카오에서 공개한 형태소 분석기입니다. 기존 Konlpy에서 제공하는 형태소 분석기의 공통적인 특징은 사전과 규칙기반(명사/형용사 등등)으로 형태소를 분석해 주는 반면, khaiii는 데이터 기반 알고리즘을 이용해서 분석하였다고 합니다. 사용한 데이터의 양은 85만 문장과 천만 어절의 코퍼스를 이용하였습니다. khaiii가 데이터를 가지고 형태소 분석기를 만들 때 사용한 기계학습 알고리즘은 CNN(Convolution Neural Network)입니다. 대규모 언어 모델을 학습하기 위해서는 엄청난 양의 문장을 전처리 해야 하기 때문에 속도가 빠른 CNN을 사용한 것으로 보입니다. Khaiii는 어떤 단어의 주변단어의 갯수(Window size)와 임베딩 차원(Emb..
Khaiii 형태소 분석기 설치 및 사용방법1. 개요 Khaiii 형태소 분석기는 카카오에서 공개한 형태소 분석기입니다. 기존 Konlpy에서 제공하는 형태소 분석기의 공통적인 특징은 사전과 규칙기반(명사/형용사 등등)으로 형태소를 분석해 주는 반면, khaiii는 데이터 기반 알고리즘을 이용해서 분석하였다고 합니다. 사용한 데이터의 양은 85만 문장과 천만 어절의 코퍼스를 이용하였습니다. khaiii가 데이터를 가지고 형태소 분석기를 만들 때 사용한 기계학습 알고리즘은 CNN(Convolution Neural Network)입니다. 대규모 언어 모델을 학습하기 위해서는 엄청난 양의 문장을 전처리 해야 하기 때문에 속도가 빠른 CNN을 사용한 것으로 보입니다. Khaiii는 어떤 단어의 주변단어의 갯수(Window size)와 임베딩 차원(Emb..
2023.11.15 -
1. 형태소 분석기의 필요성 한국어는 영어와는 다르게 토큰화(Tokenization)가 어렵습니다. 그 이유는 한국어에는 '조사', '어미' 등이 있기 때문입니다. 예를 들어, '사과' 라는 단어에 대해 조사가 붙는다고 하면 '사과가', '사과는', '사과를', '사과와' 등처럼 붙게 됩니다. 모두 '사과'를 지칭하는 말이지만, 단순히 띄어쓰기 기준(어절)으로 모두 다른 단어로 취급하게 됩니다. 또한, 띄어쓰기 기준으로 토큰화를 진행하게 된다면 띄어쓰기가 잘 되어있지 않은 문장에 대해 제대로 된 토큰화를 수행할 수 없다는 단점이 있습니다. 예를 들면, 다음과 같이 띄어쓰기 기준으로 토큰화를 한다고 하였을 때, 띄어쓰기가 제대로 되어있지 않은 문장에 대해서는 토큰화가 이루어지지 않습니다. '나는 사과를 좋..
Tokenizer : 한국어 형태소 분석기의 종류와 사용 방법1. 형태소 분석기의 필요성 한국어는 영어와는 다르게 토큰화(Tokenization)가 어렵습니다. 그 이유는 한국어에는 '조사', '어미' 등이 있기 때문입니다. 예를 들어, '사과' 라는 단어에 대해 조사가 붙는다고 하면 '사과가', '사과는', '사과를', '사과와' 등처럼 붙게 됩니다. 모두 '사과'를 지칭하는 말이지만, 단순히 띄어쓰기 기준(어절)으로 모두 다른 단어로 취급하게 됩니다. 또한, 띄어쓰기 기준으로 토큰화를 진행하게 된다면 띄어쓰기가 잘 되어있지 않은 문장에 대해 제대로 된 토큰화를 수행할 수 없다는 단점이 있습니다. 예를 들면, 다음과 같이 띄어쓰기 기준으로 토큰화를 한다고 하였을 때, 띄어쓰기가 제대로 되어있지 않은 문장에 대해서는 토큰화가 이루어지지 않습니다. '나는 사과를 좋..
2022.07.26