대본 프롬프터 서비스에서의 문장 유사도 알고리즘 개발 경험 공유
- NLP 도전기
음성 데이터를 STT API를 통해 텍스트로 변환한 뒤 자연어처리 측면에서 Word2Vec 방법론으로 임베딩하여 코사인 유사도 등 다양한 유사도 비교 시도
- 문제점
- 실시간 STT 엔진을 사용하면서 0.1초에서 0.3초마다 연속적으로 응답받아 유사도를 비교하는 상황에서 성능 이슈 발생
- 글로벌 출시를 목표로 인한 각 언어마다 다른 띄어쓰기 유무, 표의어, 표음어로 인해 통일된 랭귀지 모델 불가능
- 소음으로 인한 음성 인식기의 낮은 정확도
- 문자 자체에 집중하는 단순 문자열 비교인 LCS 기반의 자체 알고리즘 개발
- 문장의 bi-gram 인덱스에 기반을 두어 log 함수 그래프 형태의 가중치 부여, 연속 일치에 부가 가중치를 부여
- 정답이 없고 경우의 수가 많은 문제에서 계속해서 성능을 개선하기 위해 알고리즘 최적화를 진행
- 수없이 많은 유저 테스트와 유저의 행동을 로깅한 데이터를 분석하여 자연스러운 대본 전환의 기준이 되는 임계치와 타이밍을 동적으로 설정
- 느낀 점
발표를 준비하면서 과거 과정을 다시 돌이켜보며 개념을 정립할 수 있는 계기가 되었습니다. 개발 과정에서 생각하지 못했던 점들과 더 좋은 방법은 무엇이 있을지 고민하면서 개발에 대한 사명감이 생기게 되었습니다. 부족하고 얕은 내용이지만 어떻게 해야 간결하게 전달할 수 있을지 고민하고 끝없이 수정해 나가면서 내가 누군가에게 인사이트와 관심의 계기를 줄 수 있다는 생각에 스스로 성취감과 스스로 성장한다는 느낌을 받을 수 있었습니다.
- 과거 과정을 다시 돌이켜보며 개념을 정립할 수 있는 계기가 되었고 더 좋은 방법과 어떻게 간결하게 전달할 수 있을지 고민하며 사명감을 갖고 파이썬 생태계에 기여