ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • spaCy-space : spaCy를 활용한 파이썬 띄어읽기 라이브러리
    creative blog/이니셜 커밋의 달인 2024. 2. 4. 02:00

    출처: illusiondiffusion.net, upscale.media, MS Bing Image Creator

     

    내가 인생 처음으로 PyPI에 등록시켜 본 라이브러리다. 설렌당!

     

    개발 배경

      이전 회사에 TTS 연구원으로 재직할 시절, 회사 측에서는 TTS 기술을 실제 비즈니스에 접목시키기 위해 다양한 시도들을 했었다. 당시 제일 기대를 받던 프로젝트 중 하나는 오디오북을 자동으로 찍어내는 시스템이었는데, 이를 위해서는 고객사로부터 받은 오디오북 텍스트를 TTS 시스템에 들이부어도 안정적으로 오디오북 전체 분량의 오디오를 뽑아낼 수 있게 만들었어야 했다. 이를 은근히 까다롭게 했던 장애물 중 하나가 "띄어읽기" 였는데, 텍스트를 무턱대고 길이 단위로 끊어버리거나 무조건 접속사에서 끊어지게 만들어 분절된 문구들을 TTS 시스템에 넣으면, 전체 오디오를 들었을 때 뭔가 문맥적으로 어색하게 느껴졌었다.

      그래서 고민을 하다가, 문장의 의존 구조 트리를 이용해서 문장을 잘 분절하면 기존 방식보다는 쬐끔 더 괜찮게 들리도록 할 수 있다는 것을 발견했다. 회사를 다닐 동안에는 이를 토이 프로젝트처럼 간단히만 구현했다가, 회사 TTS 시스템에 최종적으로는 추가하지 못했었다. 그러다 최근 회사를 같이 다녔었던, 그리고 옆에서 띄어읽기 모듈을 만들 때 도움을 주셨던 자연어처리 연구 담당 동료 분께서 혹시 띄어읽기 모듈을 다시 만들어 줄 수 있는지 물어보셨다. 새로 들어온 대학원 학기도 아직 시작하기 전이고, 본격적으로 과제를 맡지도 않아서 지금 아니면 못하겠다 싶어서 인생 첫 PyPI 등록 라이브러리도 만들어 볼 겸 도전해보았다.

      아이디어 자체가 크게 특별한 건 아니라 밑바닥에서 새로 구현하는게 크게 오래 걸리지도 않았다. 테스트를 완벽하게 한 것도 아니라 잘 안되는 케이스들이 있을 수 있지만, 대충 사람들이 무난하게 쓸만하지 않을까 싶어서 바로 냅다 PyPI에 등록시켜 버렸다. 이제 싸운들리 카톡방이랑 싸운들리 페북 그룹 페이지, 자연어처리 관련 페북 그룹 페이지 등 여러군데에 관심 부탁하면서 광고할 예정이다. 별거 아니긴 한데 내 새끼라 그런지 나름 애정이 많이 가서 많이 알리고 싶다.

     

    개발 일지

    • v0.0.0-alpha02
    • v0.0.0-alpha03
    • tba...
Copycat ⓒ 2009. 호미 Hommy. All rights not reserved.