[한국어 띄어쓰기 교정기 개발] #3 회고록

정재혁·2021년 9월 30일
0

💡 이 프로젝트는 경희대학교 캡스톤 디자인1 산학연계로 (주) 미리내 멘토와 경희대 학생과 팀을 이뤄 진행하였습니다.
모든 내용은 멘토 및 팀원과 토론을 통해 도출해낸 결과임을 알립니다.

돌이켜보면...

사실 학부생이 머신러닝 모델의 구조를 바꾸거나 새로운 모델을 만들어내는 것은 쉬운일이 아니다.
이미 존재하는 모델 자체를 개선시키는 것 조차도 어려운 일이었다.
모델의 구조와 학습 방식을 공부하는 것도 어려운 일이었지만, 가장 힘들었던 이슈들을 적어보았다.

검증할 데이터와 프로세스의 부재

한국어 띄어쓰기 교정기의 목적에 따라, 검증 데이터의 형태 또한 달라져야 한다.
예를 들어

나는 자전거를 탈 수 있다.

라는 문장이 있을 때, 랜덤하게 띄어쓰기를 넣거나 삭제하면

나 는 자전 거를 탈수있 다 .

와 같은 문장을 만들어낼 수 있다.
그러나 위와 같은 문장은 현실적으로 사람들이 잘 범하지 않는 정도의 띄어쓰기 오류이다.

나는 자전거를 탈수있다.

위와 같은 문장 정도가 사람들이 현실적으로 범할 수 있는 띄어쓰기의 오류이다.

그렇다면 한국어 띄어쓰기 교정기의 성능 파악을 위해서는, 랜덤하게 띄어쓰기를 넣거나 삭제한 문장 보다는 사람들이 현실적으로 범할 수 있는 띄어쓰기 문제가 있는 문장을 사용해야 한다는 결론을 내릴 수 있다.

가장 큰 문제는, 이러한 데이터 자체가 존재하지 않는다는 것이다

개발 중에는 국립국의 말뭉치를 사용하였다.

출처: 국립국어원 모두의 말뭉치

위와 같이 다양한 목적의 corpus를 제공하고, 꾸준히 업데이트 하고 있는 것으로 보이지만, 띄어쓰기와 관련된 corpus는 발견할 수 없었다.
회사 내부에서 이러한 corpus를 직접 만들어 낼 리소스가 없었기 때문에 우리가 개발한 한국어 띄어쓰기 교정기가 우리의 목적에 적합한가를 판가름할 방법이 없었고, 결국 실 서비스에는 사용할 수 없다는 결론을 내렸다.

학습에 걸리는 시간

모델의 구조 자체가 어느정도는 구식이거나 데이터가 많을 수 있지만, 자모분해를 진행한 FastText를 학습시킬 때는 corpus 인코딩에만 48시간이 넘는 시간이 걸렸다.
다행이 정부지원 사업으로 GPU를 지원받아서 부담이 덜 했지만, GPU가 없는 경우 어떻게 학습시켰을지를 생각해보면 끔찍하다.
프로젝트 마감을 맞추기 위하여, 학습에 걸리는 시간 또한 꽤 묵직한 심리적 압박으로 다가 왔었다.

profile
궁금한 것을 궁금한 것으로 두지 말자.

0개의 댓글

관련 채용 정보