23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요. 저희는 SKT AI Fellowship 5기 3번 과제인 "AI 기반 한국어 자동 자막 조정 기술"을 연구한 Cap-Tin입니다.
저희가 약 반년이라는 시간 동안 연구한 것들을 각 모듈의 필요성과 결과물을 기준으로 설명하도록 하겠습니다.
| 연구 배경 | 맞춤법 교정, 자막 개행, 자막 배치 | 결론 |
영상 콘텐츠에서 자막은 영상의 소리를 시각적으로 나타내는 요소입니다. 이 때문에, 부가적인 기능과 용도에 따라 여러 이름과 형태가 있습니다.
그러나 대부분의 자막이 영상에 등장하는 사람의 소리를 문자로 변환한다는 데는 이념이 없습니다.
이러한 공통점에 기반해서 자막은 부정확한 발음이나 불규칙한 주변 소음 등으로 제대로 인지하지 못한 내용을 확인하는 소리의 보조자로서의 역할과 청각을 배제하고
시각만으로 영상을 감상하는 소리의 대체자로서의 역할을 합니다. 더불어 장르에 따라 영상의 개성을 나타내는 역할을 수행하기도 합니다.
이렇게 많은 역할로 인해 자막 작업에는 전문가의 많은 노력과 그에 따른 작업 시간이 필요합니다.
그러나 영상 콘텐츠에 대한 관심이 증가하면서 자막 작업을 더 빠르게, 더 많이 진행해야 할 필요가 생겼습니다.
저희가 연구한 자동 자막 조정 기술은 이러한 시대 상황을 반영한 것으로 인공지능 기술을 통해 자막을 자동으로 조정하면서 서비스 제공자가 느끼던 시간, 비용 측면의 부담을 줄이고자 하였습니다.
자막은 영상의 소리를 시각적으로 표현해야 하므로 소리, 그중에서도 음성을 인식하는 기술이 필요합니다.
여기서 음성 인식이란 SST(Speak-to-Text) 로 기계가 사람의 소리를 인식해 문자로 변환하는 것을 말합니다.
이에 음성 인식 모델은 음성 인식의 정의처럼 소리를 문자로 변환하는 것이 목표이기 때문에, 문자여서 생기는 문제를 인지할 수 없습니다.
저희의 연구는 이러한 음성 인식으로 생기는 문제점을 해결하는 것에서 출발하였습니다.
음성 인식의 결과를 입력으로 맞춤법 교정
맞춤법 교정 모듈은 앞선 음성 인식의 한계인 문자로서의 문제점을 해결하는 부분입니다. 문장 구성력을 높이고자 문맥을 파악하여 오탈자를 예측 및 수정합니다.
음성 인식을 통해 생성한 문장의 맞춤법 오류와 일반적인 맞춤법 실수는 교정이 필요한 부분과 이유가 다릅니다.
저희가 하고자 하는 맞춤법 교정은 비슷한 소리로 인해 생기는 오류이기 때문에 기존의 비슷한 형태로 인해 생기는 맞춤법 오류 데이터로는 해결하기 어렵습니다.
이에 이미 음성 인식으로 인한 문제점을 가시화하는 데이터 생성 과정을 거쳤습니다.
저희는 청각 장애인 용 자막을 문장 단위로 정리한 교정된 자막과 gTTS(Google Text-To-Speech) 및 Whisper를 통해 음성 인식된 틀린 자막으로 데이터 세트를 구성했으며,
이를 통해 음성 인식이 가진 맞춤법 문제를 적확하게 고려할 수 있었습니다.
문맥에 따라 문법적으로 맞춤법을 교정하고자 Transformer 기반 전이 모델 중, 맥락을 이해하는 것에 특화된 KoBART를 이용했습니다.
맞춤법 교정된 결과를 입력으로 명사 대치
많은 분류, 생성 모델들이 맥락을 파악하고 맞춤법 오류를 고정하는 데 이용됩니다. 그러나 고유명사에 대한 교정은 제대로 이루어지지 않습니다.
이는 맞춤법 교정 시 고유명사에 따라 옳고 그름을 판단할 수 없기 때문으로, 정확한 교정을 위해선 명사를 대치하는 과정이 추가되어야 합니다.
저희가 진행한 맞춤법 교정은 비슷한 소리로 인해 생기는 오류를 교정합니다. 따라서 저희가 원하는 고유명사와 문장 내 명사는 비슷한 소리, 즉 음절별 차이를 확인할 필요가 있습니다.
맞춤법 교정을 거친 문장에서 명사를 태깅 및 추출하며 영상에서 등장할 수 있는 고유명사를 정의한 사전의 명사와 유사도(Levenshtein distance)를 계산합니다.
이를 통해 가장 가까운 명사를 확인하여 대치하게 됩니다.
욕설 필터링은 앞선 고유어 대치와 필요성이 다릅니다.
고유어 대치는 문장과 영상의 흐름을 유지하는 작업이고, 욕설 필터링은 욕설의 사회적 영향을 최소화하는 작업입니다.
그러나 알고리즘적으로 욕설을 필터링하는 방법은 고유어 대치와 크게 다르지 않습니다.
품사 태깅 시 대부분의 비속어 또한 명사로 분류되며 이를 통해 욕설도 길이에 비례한 연속적인 문자로 필터링하였습니다.
교정된 문장을 적절히 개행
글에는 자체의 가시성을 높이고 독자의 독해력을 저해하지 않기 위해 정의한 줄 바꿈 규칙이라는 것이 존재합니다.
이는 공간 초과로 한 단어가 끊어지거나 연결하여 해석해야 하는 단어가 끊어져서 생기는 해석상의 어려움을 미연에 방지하고자 하는 조치입니다.
음성 인식과 맞춤법 교정을 통해 생성된 문장을 시각적으로 잘못 구성하여, 문장이 가지는 의미를 제대로 전달하지 못하는 것은 자막의 존재를 부정하는 결과를 낳습니다.
따라서 자막을 적절히 개행하는 것은 자막을 적절히 구성하는 것이며, 이 때문에 자막의 개행은 문자로 변환된 소리를 정확히 전달하기 위해 필요한 작업입니다.
자막 개행 모듈에서도 문장 내 개행이 가지는 문제점을 인식하고 이를 데이터에 담고자 기존 데이터를 분석해 이용하였습니다.
기존 자막 데이터에서 끊어지는 두 문장을 입력하여 끊어진 위치를 예측하는 방식으로 학습하였으며,
개행 지점 예측 모델의 성능을 높이고자 KcELECTRA를 비롯한 여러 Transformer 기반 전이 모델로 앙상블을 진행하였습니다.
자막을 영상에 적절히 배치
앞선 여러 과정을 통해 음성은 문자라는 시각적인 요소로 변환되었습니다. 음성의 변환을 목표로 했다면 자막 배치는 필요하지 않을지도 모릅니다.
그러나 저희가 고려하는 자막은 영상에 삽입될 자막입니다. 당당히 영상의 한 요소가 되는 것이기 때문에 다른 요소와의 관계를 고려할 필요가 있으며,
이 때문에 생성한 자막을 넣는 작업이 중요해집니다.
대부분의 영상 요소는 덩어리로 인식되어야 하는 존재가 아닌 이상 독립적으로 인식되기 위해 서로의 영역을 침범하지 않습니다.
전문가의 수작업을 통해 자막을 생성하는 OTT 서비스에서도 객체에 빈도가 적은 곳에 자막을 위치시키고 있습니다.
다시 말해 삽입되는 자막은 이미 영상에 존재하는 요소들을 피할 필요가 있습니다.
따라서 자막 배치 모듈은 영상에 존재하는 객체를 확인해야 하며, 객체가 없는 공간을 탐색해야 합니다.
이를 위해 영상 내 중요 객체를 사람과 텍스트로 정의하고 YOLOv8으로 해당 클래스의 객체를 탐지하도록 학습하였습니다.
YOLOv8에서 탐지된 객체는 각 객체의 위치와 크기를 고려하여 영상에서 객체가 존재하지 않는 공간을 나타내고,
중심과의 거리 계산을 통해 영상의 상, 하단에서 자막 크기만큼의 공간을 탐색합니다.
최적의 위치로 계산된 공간에 자막을 배치하는 것으로 자동 자막 조정 기술은 마무리되게 됩니다.
결과적으로 저희는 앞서 설명해 드린 맞춤법 교정(+ 고유어/욕설 대치), 자막 개행, 자막 배치의 과정을 거치면서 연구 과제였던 AI 기반 한국어 자동 자막 조정 기술을 구현했습니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.