Skip to content

Pipeline

Soyoung Cho edited this page Feb 26, 2020 · 5 revisions

1. 코퍼스 수집

  • AI HUB 제공 '한글 영어 번역 말뭉치' 데이터셋 (약 160만 문장)
  • tatoeba 데이터셋 (약 3300문장)

2. 정제

  • 완료

    • 데이터셋 EDA
    • 중복 데이터 제거
    • 띄어쓰기 대신 존재하는 기호 대체(replace)
    • 문장 앞뒤 띄어쓰기 제거
  • 미완료

    • 띄어쓰기 이루어지지 않은 문장 -> sentencepiece 사용하면 상관 없었나?

3. 분절

  • 한국어는 형태가 다양한 교착어라는 특징 고려

  • vocabulary 구성

    • 형태소분석 후 이용 조사 제거 (BCJ님 논문 참고, Mecab 사용)
  • 실제 학습시

    • 만들어 놓은 vocabulary 를 이용하여 sentencepiece 이용 tokenize
    • input으로 들어가는 한글 데이터셋은 조사 제거하지 않은 것.?
  • 조사 제거 후 sentencepiece 적용하여 배치 별 문장이 벡터로 출력되도록 하는 것까지 완료. simple-nmt 폴더 load.py
    (이 때 토큰은 각 각 다른 인덱스로 표현됨. 같은 토큰에 대해서는 다른 배치에서도 같은 인덱스로 인덱싱 된다)
    이를 임베딩 하는 것 미완료

4. 미니배치 구성

  • 배치 내 문장 길이 통일 vs 통일하고 랜덤 배치 (고민해볼 것)
  • 통일할 경우 시간 측면에서 효율적. 통일하지 않을 경우 성능에서 효과적.
  • 임베딩의 경우 pre-trained embedding 사용할지 / nn.embedding으로 자체 임베딩 할지 (고민해볼 것)

5. 훈련

6. 추론

7. 분절 복원

8. 성능평가

9. 모델 배포

Clone this wiki locally