Kiwi 형태소 분석기 모델 학습 및 데이터 변환 프로세스

Source

  • Field Notes/ReturnZero/Daily Notes/Day 520. 2022-12-02.md

Summary

이 노트는 한국어 형태소 분석기 ‘Kiwi’의 모델 학습을 위해 ‘모두의 말뭉치’ 데이터를 Kiwi 코퍼스 형식으로 변환하는 과정과 관련 스크립트(convertModuToKiwi, extractMorphemeList.py)의 동작 원리를 분석한 내용입니다. JSON 기반의 입력 데이터 구조, 형태소 정규화 규칙(MM, J, E 태그 처리), 그리고 KiwiBuilder를 통한 sj.knlm, sj.morph 등 모델 파일 생성 과정을 기록하고 있습니다. 최종 목표는 VTS 코퍼스를 학습시켜 구어체 입력에 대한 Kiwi의 띄어쓰기 및 품사 태깅 성능을 향상시키는 것입니다.

Key Points

  • Kiwi 모델 학습을 위한 전처리: 모두의 말뭉치 데이터를 Kiwi가 인식할 수 있는 JSON 형식(document-sentence-word-morpheme 계층)으로 변환.
  • 형태소 정규화 로직: 관형사(MM) 통일, 조사(J)/어미(E)의 특정 자음 시작 폼 처리, EF/JX/SF 태그 조합에 따른 형태소 병합 및 제거 규칙.
  • 모델 빌딩 도구: KiwiBuilder를 사용하여 morphemes.txt(형태소 정의), sj.knlm(언어 모델), sj.morph(형태소 모델) 생성.
  • 학습 데이터 요구사항: 최소 빈도(min_cnt) 필터링, 조사 및 불규칙 활용 패턴 추출, 탭 구분된 코퍼스 파일 필요.
  • 최종 목표: VTS 코퍼스 학습을 통해 Kiwi의 구어체 띄어쓰기 및 품사 분석 정확도 향상.