Byte Pair Encoding: BPE란 데이터에서 가장 많이 등장한 문자열을 병합해서 데이터를 압축하는 기법이다. 

토큰화절차:

  • Pretokenize: 말뭉치의 모든 문장을 공백으로 나눠준다. 
  • 어휘집합구축: 자주 등장하는 문자열을 병합하고 이를 어휘 집합에 구축한다.   
(어휘집합 ==> vocab.json 파일로 저장된다, 
바이그램쌍 병합이력 ==> merge.txt로 만들어준다.)
  • 토큰화: 어휘집합 (vocab.json)과 병합 우선순위(merge.txt)가 있으면 토큰화 수행가능, 어휘집합에 있는 서브워드가 포함되었을 때, 해당 서브워드를 어절에서 분리한다.  
  • GPT 토크나이저 구축(BPE tokenizer) 
  • BERT 토크나이저 구축(work piece tokenizer) likelihood 기반 
말뭉치에서 자주 등장한 문자열을 토큰으로 인식, BPE처럼 빈도 기준 병합이 아니라, 병합했을 때 우도를 높이는 글자쌍을 병합한다. 

 

 

'Pytorch Study > NLP' 카테고리의 다른 글

정리  (0) 2023.05.26

seq_to_seq:

transformer은 seq-to-seq과제를 수행하는 모델.(핵심 구성 요소는 셀프 어텐션)

seq-to-seq는 특정 속성을 지닌 시퀀스를 다른 속성의 시퀀스로 변환하는 작업을 말한다. 

인코더: 소스 시퀀스 정보를 압축하는 과정( multi-head attention, fead forward neural network, residual connection, layer normalization의 요소로 구성되어 있다. )

*self attention: 입력 시퀀스 가운데 태스크 수행에 의미있는 요소들 위주로 정보를 추출한다. 

query, key, value가 서로 영향을 주고받으면서 문장의 의미를 계산한다. 

 

디코더: 인코더가 보내준 소스 시퀀스 정보를 받아서 타깃 시퀀스 생성 

 

word2vec: 

gensim library에서 similarity 계산가능 

단어상의 관계를 파악할 수 있다

Cbow/ Skip-gram

CC

SGD: 한 걸음은 너무 오래 걸리니까 조금만 보고 빨리 판단한다. 

Momentum: 스텝 계산해서 움직인 후, 관성 방향대로 가자 

RMSprop: 맥락, 상황 봐가면서하자

Adam: Momentum + RMSprop

 

NER: 문장을 토큰화한뒤, 토큰 각각에 인명, 지명, 기관명 등 개체명 태그를 붙여주는 ㅗ가제

 

BPE 어휘집합은 고빈도 바이그램 쌍을 병합하는 방식으로 구축된다. 

 

 

'Pytorch Study > NLP' 카테고리의 다른 글

Byte Pair Encoding  (0) 2023.05.28

+ Recent posts