카테고리 없음

sk네트웍스 family AI 캠프 11기 4월 2주차 회고록

claovy☘️ 2025. 4. 20. 17:40

회고기간 : 2025.04.07월~2025.04.11금

이번 주차는 NLP의 subword tokenizer, 워드 임베딩,   등을 배웠다.

 

0407월

Subword Tokenizer

- 서브워드 분리는 하나의 단어를 더 작은 단위로 쪼개 의미있는 조합으로 구성
- 하나의 단어를 여러 서브워드로 분리해 단어를 인코딩 및 임베딩 할 수 있음
import sentencepiece as spm

# 모델 학습 
input = 'naver_review.txt'  # 학습해야 하는 학습 데이터셋 경로 
vocab_size = 10000          # 결과로 만들 token의 개수 (사전의 크기)
model_prefix = 'naver_review'   # 학습에 대한 결과물 이름 지정 
cmd = f'--input={input} --model_prefix={model_prefix} --vocab_size={vocab_size}'       # 설정한대로 모델 학습 (사용 편의를 위해 미리 변수명 지정한거임)

spm.SentencePieceTrainer.Train(cmd)

# Tokenizing
sp = spm.SentencePieceProcessor()
sp.Load(f'{model_prefix}.model')

text = ratings_test_df['document'][100]
tokens = sp.encode_as_pieces(text)	# tokenize된 token의 결과
id_tokens = sp.encode_as_ids(text)	# tokenize된 token들의 id값

print(text)
print(tokens)
print(id_tokens)

걸작은 몇안되고 졸작들만 넘쳐난다.
['▁걸작', '은', '▁몇', '안되고', '▁졸작', '들만', '▁넘', '쳐', '난다', '.']
[1060, 18, 621, 6979, 728, 3291, 165, 705, 1003, 4]

print("".join(tokens).replace("_", "").strip())	# 각 토큰끼리 join하고 _를 공백으로 대체
print(sp.decode_pieces(tokens))	# decode를 통해 원래 token으로 복원 
print(sp.decode_ids(id_tokens))	# decode를 통해 원래 id로 복원

▁걸작은▁몇안되고▁졸작들만▁넘쳐난다.
걸작은 몇안되고 졸작들만 넘쳐난다.
걸작은 몇안되고 졸작들만 넘쳐난다.

 

 

13-04 허깅페이스 토크나이저(Huggingface Tokenizer)

자연어 처리 스타트업 허깅페이스가 개발한 패키지 tokenizers는 자주 등장하는 서브워드들을 하나의 토큰으로 취급하는 다양한 서브워드 토크나이저를 제공합니다. 이번 실습에서는…

wikidocs.net

 

Word Embedding (단어표현)

- word embedding 은 단어를 고정된 차원의 벡터로 변환하는 기술로, 단어간의 의미적 유사성을 반영하도록 학습된 벡터를 말한다.
- 연관성 있는 단어들을 군집화하여 다차원 공간에 벡터로 나타낼 수 있으며, 이는 단어나 문장을 벡터 공간에 매핑하는 과정이다

 

 

 

0408화

Fasttext

 

RNN

 

0409수

LSTM

 

GRU

 

텍스트 분류기 (나이브베이즈, RNN, multi label)

 

0410목

NER( named entity recognition)

 

0411