본문 바로가기
Study (Data Science)/NLP

Keras Tokenizer 와 SentencePiece 비교 이해

by 콜라찡 2023. 2. 15.

 

Keras  vs   SentencePiece

 

1. fit_on_texts()  : keras.preprocessing.text.Tokenizer에 내장된 함수로, 사전을 만들기 위한 준비작업

  • Sentencepiece : 파일을 불러올 때 SentencePieceTrainer.Train("--input 파일명 --model_prefix=korean_spm --vocab_size= 보카사이즈") 이렇게 불러오면, prefix 단위로 토큰화, idx 매길 준비를 한다.
    • 불러올 때 이미 토큰화를 내재적으로 하기때문에, 다른 두개와 달리 토큰화된 문장 list가 아니라 온전한 원문 문장 list를 매개변수로 전달함.

2. texts_to_sequences() : word to 숫자

  • Sentencepiece :  EncodeAsids()(idx로 인코딩) 이라는 함수로 prefix 단위로 파싱한 것을 숫자로 만듬

3. word_index() : 단어와 인덱스의 dictionary 출력하는 함수. key는 단어, value는 인덱스 넘버가 된다.

  • Sentencepiece : EncodeAsPieces() (조각으로 인코딩) 이라는 함수로 먼저 prefix 단위로 끊어 파싱한 것을 직접 for문으로 word_index 사전을 만들어 출력할 수 있다.

4. sequences_to_texts() : 숫자 to word

  • Sentencepiece : Decodeids()
728x90

댓글