[일상에 스며든 AI 음성인식 서비스] 텍스트 교정 (Correction)
![[일상에 스며든 AI 음성인식 서비스] 텍스트 교정 (Correction)](https://cdn.sanity.io/images/ia1efdbu/production/2f1fde8a42c9599ecc2f7a38cfc1fe7445591501-800x400.png?rect=19,0,762,400&w=1440&h=756&fit=crop&auto=format)

액션파워의 음성 인식 엔진은 뛰어난 성능을 자랑하지만, STT 출력 결과 텍스트는 필연적으로 완전할 수 없습니다. 하지만 불완전한 STT 출력 텍스트에 다양한 교정이 수행된다면, 가독성이 향상될 수 있겠죠? 액션파워는 오늘도 인공지능 AI를 통해 텍스트 교정을 고도화하고 있답니다.
띄어쓰기 및 문장 부호 삽입
띄어쓰기 및 문장 부호 삽입은 STT 모델을 통해 가독성을 향상시켜주는 알고리즘이에요. 이 때, 적절한 띄어쓰기와 문장 부호를 삽입해 문장의 시작과 끝을 정해줍니다. 예를 들어볼까요?
- STT 결과 텍스트: “안녕하세요 저는 김액션입니다 여기까지오시느라 힘드셨죠어서 앉으세요”
STT 결과 텍스트의 예시를 보면, 띄어쓰기와 문장 부호가 없어 한 번에 문장을 이해하기 힘들어요. 하지만 띄어쓰기와 문장 부호 삽입이 추가된다면 어떻게 될까요?
- 띄어쓰기 문장 부호 삽입 결과: “안녕하세요? 저는 김액션입니다. 여기까지 오시느라 힘드셨죠? 어서 앉으세요.”
적절한 띄어쓰기와 문장 부호 삽입이 추가되자, 문장을 보다 쉽게 이해할 수 있게 됐죠? 띄어쓰기와 문장 부호 삽입은 한국어의 언어학 특성과 많은 경우의 수를 고려해야 하기 때문에, 복잡한 알고리즘을 사용합니다. 문법적으로 올바른 것보다 가독성을 높이기 위한 목적으로 다양한 방법을 이용하고 있어요.
한글→숫자 변환
한글→숫자 변환은 년도나 물건의 개수 등 숫자에 대한 한글 텍스트를 숫자로 변환하는 방법이에요. 예를 들면,
- STT 결과 텍스트 : “이천이십이년 오월 십구일 제 이회 회의를 시작하겠습니다. 오늘의 안건은 다섯개입니다.”
숫자를 모두 한글로 변환하니 가독성이 떨어집니다. 이 부분을 숫자로 바꿔준다면 훨씬 읽기 수월해지지 않을까요?
- 변환 결과 : “2022년 5월 19일 제2회 회의를 시작하겠습니다. 오늘의 안건은 5개 입니다.
숫자의 경우 사람마다 다르게 발음하기 때문에 많은 경우의 수를 고려할 필요가 있습니다. “1”에 대해 “일” 또는 “하나”처럼 발음하는 경우처럼요!

한글→영문 변환
한글→영문 변환은 단체의 이름이나 영어 약어 등 영어를 받아 적은 한글 텍스트를 영어로 변환하는 방법이에요. 이것도 예를 들어볼까요?
- STT 결과 텍스트 : “이번에 출시된 티비는 유에치디 화질에 에스알 기술이 적용돼, 브이오디 등 다양한 멀티미디어를”
- 변환 결과 : “이번에 출시된 TV는 UHD 화질에 SR 기술이 적용돼, VOD등 다양한 멀티미디어를”
어떤가요? STT 결과 텍스트보다 한글과 영문을 변환한 결과가 훨씬 가독성이 높아졌죠? 이처럼 한글→영어 변환 알고리즘은 알파벳 발음을 고려해 한글로 바꿔주는 기술이에요.
문법 교정(Grammatical Error Correction, GEC)
문법 교정은 STT 모델에서 디코딩 결과 출력된 텍스트에 대해 문법적으로 부분들을 교정하는 방법이에요. 예를 들어, 출력된 텍스트의 맞춤법이 틀린 경우에 문법 교정 기술이 활용될 수 있겠죠?
- STT 결과 텍스트 : “난 오눌 집애 가서 피자를 먹을 개획이야”
- 교정 결과: “난 오늘 집에 가서 피자를 먹을 계획이야”
앞서 소개한 ‘띄어쓰기 및 문장 부호 삽입’도 문법 교정 알고리즘으로 접근할 수 있어요. 해당 방법에는 딥러닝 기법이 사용될 수 있으며, 대표적으로 영문 문법 교정 서비스를 제공하고 있는 Grammarly에서는 GECToR이라는 딥러닝 기반의 모델을 제안하고 있습니다.

GECToR의 구조 (출처: Grammarly 블로그)
음성 인식 에러 교정 (ASR Error correction)
지금까지 살펴본 문법 교정은 텍스트에서 문법적인 오류를 찾아내 개선하는 작업이었습니다. 이와 달리, 음성 인식 모델이 발화가 잘못됨을 탐지하고 개선하는 방법이 사용될 수 있어요.
음성 인식 특성 상, 발화자가 비문(문법에 어긋난 표현)을 말했을 가능성도 충분히 있기 때문이죠. 이 때 문법 교정을 무조건 적용하는 것은 오히려 좋지 못한 결과를 만들어 내기도 합니다. 이를 위해서는 음성 인식 모델의 결과 텍스트 뿐만 아니라, 결과를 도출하기 위한 모델의 중간 산출물도 활용될 수 있어요.

RED-ACE의 구조 (출처 : https://github.com/zorikg/RED-ACE)
최근에는 구글 리서치(Google Research)에서 RED-ACE을 발표했는데요. 이 방법은 음성 인식 모델이 자체적으로 계산한 신뢰도 점수(Confidence)를 참고해 STT 모델이 틀렸을 가능성이 높은 단어를 판별해냅니다.
그 외에도 다양한 텍스트 교정 방법이 사용됩니다.
- 간투어 제거
구어체 특성 상 ‘어…’, ‘음…’, ‘그…’, ‘저…’와 같은 단어들을 종종 사용하곤 하는데요. 이런 단어를 간투어(간투사)라고 합니다. 간투어들을 그대로 텍스트로 변환하는 것은 가독성을 해치는 요소 중 하나예요. 때문에 해당 단어들을 필터링하는 알고리즘을 사용하고 있습니다.
- 발음 기반의 유사 단어 변환
딥러닝 모델의 특성 상, 신조어나 이름과 같은 고유명사에 대한 텍스트 변환은 취약한 편입니다. 이 때는 보통 STT 모델이 유사 발음의 다른 단어로 잘못 받아 적기도 해요. 이를 개선하기 위해서, 잘못 받아 적은 단어와 발음이 유사한 신조어나 고유명사들을 탐색하는 알고리즘이 사용될 수 있습니다.
- STT 결과 텍스트 : 버럭 오바마는 미국의 대통령이었다
- 교정 결과 : 버락 오바마는 미국의 대통령이었다
위에서는 각 케이스마다 하나의 예시만을 기재했는데요. STT 출력 텍스트에는 복수의 변환과 교정 등이 함께 수행될 수 있습니다. 위 과정들은 STT 모델이 디코딩(Decoding)을 수행한 후, 출력된 텍스트를 보기 좋게 다듬는 후처리 과정에서 수행될 수도 있어요. 또는 STT 모델의 학습 방법에 따라 STT 모델 자체에서 수행되기도 합니다.
이처럼 교정(Correction)에는 다양한 종류가 있고 평가 방법도 다양합니다. 예를 들어 문장 부호 삽입 교정의 경우, 문장 부호를 포함해 계산하는 CER(Character Error Rate)이 하나의 평가 방법이 될 수 있어요.
액션파워는
액션파워의 기술은 문장 부호 삽입에 있어 약 95%의 정확도를 보이고 있어요. 교정(Correction)과 관련해 아래와 같은 특허 출원도 보유하고 있습니다.
- 출원번호 10–2022–0071409
Manifold-mixup을 이용하여 ASR 오류 검출 데이터를 보완함으로써, ASR correction을 향상 시키는 방법에 관한 발명이에요. - 출원번호 10–2022–0086948
종결어미와 관련된 텍스트를 식별 및 교정하고, 문장 부호를 삽입하는 방법에 관한 발명이에요.
액션파워에 대한 더 많은 이야기가 궁금하다면?
More about Action Power
대화가 일이 되는 곳, daglo.
지금 바로 무료로 시작해보세요