NLP/KLUE

자연어 전처리

jnnwnn 2021. 9. 28. 11:26

전처리

  • 원시 데이터를 기계학습 모델이 학습하는데 적합하게 만드는 프로세스
  • 학습에 사용될 데이터를 수집&가공하는 프로세스

 

자연어 처리 단계

  1. task 설계
  2. 필요 데이터 수집
  3. 통계학적 분석
    • token의 개수 (아웃라이어 제거)
    • 빈도 확인
  4. tagging
  5. tokenizing - 자연어를 어떤 단위로 살펴볼것인지
  6. 모델 설계
  7. 모델 구현
  8. 성능 평가
  9. 완료

 

Python String 관련 함수

 

한국어 토큰화

  • 토큰의 기준은 다를 수 있음 (어절, 단어, 형태소, 음절, 자소 등)
  • 어절 단위
    • 문장을 띄어쓰기 단위로 분리
    • spilt 함수 이용
  • 형태소 단위
    • 형태소 분석기 이용 (mecab, khaiii 등)
  • 음절단위
    • 자연어를 한 글자씩 분리
  • 자소 단위
    • 초성, 중성, 종성으로 분리
    • hgtk 라이브러리 이용
  • WordPiece 단위
    • 한국어의 경우 wordpiece의 한계가 존재할 수 있다 → 형태소로 먼저 분리하고 wordpiece이용 가능

한국어 tokenizing에 따른 성능 비교

https://arxiv.org/abs/2010.02534

 

An Empirical Study of Tokenization Strategies for Various Korean NLP Tasks

Typically, tokenization is the very first step in most text processing works. As a token serves as an atomic unit that embeds the contextual information of text, how to define a token plays a decisive role in the performance of a model.Even though Byte Pai

arxiv.org

Entity Tag를 이용해 성능 향상 가능!

  • 어떤 feature에 집중할지 생각 
  • ERNIE