자연어처리 모델 구현 순서

SUNGYOON LEE·2022년 8월 30일
0

위 문서는 학습 및 구현을 하며 실수를 범했던 과정 중에 기록을 하고 있으므로, 추가 업데이트 될 것입니다.

자연어처리 모델 구현 순서

1. 전처리

2. 모델 구축

3. 모델 학습

1. 전처리 방식

  • character level
    한국어 기준으로 '가,갸,어,여' 등이 있음. 단어의 고유한 의미를 표현하는 것은 아니라서 좋은 성능을 내지는 못함.

  • space level
    띄어쓰기 단위로 vocab을 생성하는 방법.

  • 일반적인 방식
    Google에서 제공한 sentencepiece를 활용하거나 huggingface에서 제공하는 BertWordPieceTokenizer를 활용함.

  • 주의할 점

    • vocabulary와 custom dataset의 격차가 크면 학습이 잘 안 될 수도 있음. 예를 들어서, custom dataset에는 '##세싱' 이라는 token이 존재하는데 vocabulary에는 존재하지 않을 때, 그리고 이러한 경우가 많은 case에서는 학습의 성능을 낮출 수 있음. 모두 다 'unknown token'으로 매핑되기 때문에.
    • 따라서, 위와 같은 경우 vocabulary에 custom dataset을 기반으로 vocabulary를 업데이트 해줘야 함.

3. 모델 학습

  • Loss Function
    • binary classification에서는 일반적으로 activation function은 sigmoid 함수가, 그리고 loss function으로는 binary cross entropy 함수가 쓰임. Linear 레이어를 활용하여 분류할 때, 최종 노드의 개수를 1로 설정해야 함.
profile
매일 매일 한 걸음씩 나아가고자 합니다.

0개의 댓글