23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요!
SKT AI Fellowship 7기에서 <음성 인식 정확도 향상을 위한 후보정 기술 연구> 과제를 맡은 팀 RAGent의 강유림, 원지니, 이현진입니다!
다들 AI 회의록 서비스 이용해보셨나요? 이제는 직장인, 강의를 듣는 학생들까지 필수템이 되었는데요.
하지만, 여전히 음성을 텍스트로 변환하는데는 약간 아쉬운 점이 있으실겁니다.
저희가 강의 녹음본을 돌려보기도하고, skt의 supex가 들어간 문장을 녹음해 돌려본 결과와 같이
여전히 전문 용어나 약어, 고유 명사 같이, 자동 음성 인식이 충분히 학습하지 않은 단어들에서는 여전히 낮은 인식 정확도를 보이고 있는 문제가 있습니다.
단순히 LLM에게 “교정해줘”라고 요청한다고 해서 원하는 결과가 나오지는 않습니다.
특히 특정 도메인의 전문 용어를 다루는 경우라면 더욱 그렇죠. 이러한 오류를 효과적으로 바로잡기 위해서는, 단순한 지시어가 아닌 정교하게 설계된 프롬프트가 반드시 필요합니다.
따라서 저희는 아래처럼 3단계 과정을 설계하여, 실험을 진행하였습니다.
1단계 - 오류 도메인 용어 탐지
2단계 - 정답 후보 단어 선정
3단계 - LLM 기반 후보정
기존 STT 서비스의 일반 용어 교정률은 괜찮을 뿐더러, 전사된 사용자의 말투까지 교정하는 것보다는 원문을 최대한 살리는 것이 회의록의 의의에 더 가깝습니다.
따라서 문장 전체를 교정 대상으로 삼는 것보다는 교정해야하는 위치를 찾아내는 것이 비용적으로도 효율적입니다.
따라서 1단계에서는 오류 문장이 들어올 경우, 오류가 났을 확률이 높은 도메인 용어를 추출합니다.
중간 발표에서 저희는 세가지 방법을 비교해보았습니다.
첫번째, 조사 분리, 형태소 분석 등 한국어 패턴을 통한 규칙 기반 도메인 용어 탐지
두번째, 의미, 문맥을 반영한 임베딩 기반 도메인 용어 탐지
세번째, 대규모 언어 모델을 활용한 추론 지식 기반 도메인 용어 탐지
이 3단계 실험하여 비교하였으며, 그 중 GPT-4o-mini의 성능이 가장 좋았습니다.
그러나 전문가 지시(“반도체 전문가”)에 포함된 특정 어휘(“반도체”)만 집중 검출하는 문제를 확인하였습니다.
따라서 다음과 같이 프롬프트를 재조정하였습니다.
추출 결과는 다음과 같았습니다.
목표는 문장 내, 모든 도메인 단어 추출이었으며, ‘화강’과 같이 오류가 났지만 도메인 용어라 판단되는 단어도 추출된 것을 확인할 수 있었습니다.
문장 당 평균 처리 속도는 0.44 초였습니다.
두 번째 단계는 앞선 1단계에서 추출된 오류 단어를 바탕으로 정답 후보 단어를 선정하는 단계입니다.
우선 기존연구에서 활용된 발음 기반 검색 방식에는 한계가 있었습니다.
그림에서 보라색이 오류 단어일 때, 원래 목표는 파란색 단어와 연결(파란색 선)되는 것이어야 하지만, 실제로는 발음과 더 유사한 다른 단어와 매칭(보라색 선)되는 문제가 발생했습니다.
저희는 이러한 문제를 해결하고자 오류형 사전이라는 아이디어를 내고 그 효과를 실험해보았습니다.
오류형 사전은 정답 단어와 함께 정답단어의 STT 오류형까지 모여있는 DB입니다.
아래 그림과 같이 오류가 난 보라색 단어가 파란색의 정답 구역 안에 단어와 매칭된 것을 확인할 수 있습니다.
구체적인 과정에 대해 설명드리겠습니다.
오류형 사전을 행 단위로 청킹(chunking) 하여 임베딩을 생성하고, 테스트 시에는 사전에 포함되지 않은 오류형을 쿼리로 설정해 검색을 수행했습니다.
이 과정에서 OpenAI의 text-embedding-ada-002 모델을 사용했는데, 단순히 정답 단어만을 기준으로 검색했을 때보다 오류형 사전까지 활용했을 때 성능이 더 높게 나타났습니다.
이후 한국어 임베딩 모델 벤치마크[1]를 참고하여 다양한 임베딩 모델도 테스트해 보았습니다.
여러 모델을 실험한 결과, Upstage의 solar-embedding-1-large 모델이 가장 좋은 성능을 보여주었는데요,
검색 품질뿐만 아니라 속도 측면에서도 테스트셋 전체를 검색하는 데 약 1분 9.8초 정도가 걸려 실용적인 수준이었습니다.
하지만 앞서 오류형 사전을 직접 구축하는 과정에서 여러 가지 문제점을 확인할 수 있었습니다.
오류형 사전을 TTS-STT 시뮬레이션을 통해 만들었는데요.
구체적으로 말씀드리면
1단계로 반도체 분야 단어를 크롤링하고, 2단계에서 각 단어가 포함된 문장을 100개씩 생성했습니다.
이후 3단계에서는 문장을 TTS로 변환하고, 4단계에서는 Whisper tiny 모델을 이용해 STT 변환을 수행했으며,
마지막 5단계에서 전사된 문장 안에서 해당 단어를 탐색하는 방식이었습니다.
이 방식은 시간적 비용이 지나치게 크고, 전사된 문장에서 오류 도메인 단어를 정확히 찾아내는 과정의 자동화가 어렵다는 한계가 있었습니다.
도메인마다 동일한 과정을 반복해야 한다면 확장성이 떨어질 수밖에 없었습니다.
그래서 한국어 STT 오류형 관련 연구[2][3]를 참고하여 오류형을 생성해내고자 했습니다.
한국어 STT 오류형을 정리하면 다음과 같습니다.
음운 과정 오류
ㅎ 탈락, ㄴ/ㄹ 교체, 비음화, 자음 동화 등 발음 규칙에 따른 오류
연음 오류
조사, 어미가 붙을 때 단어 경계가 모호해져 잘못 인식되는 오류
음소 비변별 오류
ㅐ/ㅔ, ㅓ/ㅗ, ㅡ/ㅜ 같이 실제 발음이 유사한 모음에서 생기는 오류
복합 오류
위의 오류가 두 개 이상 동시에 발생한 경우
해당 연구들을 참고하여 GPT 프롬프트를 설계한 뒤, 이를 이용해 오류형을 자동으로 생성해 보았습니다.
그 결과, 기존에 TTS–STT 시뮬레이션을 통해 구축했던 오류형 사전과 비슷한 수준의 성능을 확인할 수 있었습니다.
흥미로운 점은 성능은 유사했지만, GPT를 활용한 방식은 소요 시간이 압도적으로 적었다는 것입니다.
즉, TTS로 문장을 생성하고 Whisper 같은 STT 모델로 다시 전사한 뒤, 거기서 오류를 추출하는 번거로운 과정을 반복하지 않아도,
GPT만으로 충분히 경쟁력 있는 오류형 사전을 빠르게 만들 수 있었던 셈입니다.
이 결과는 앞으로 새로운 도메인으로 확장할 때도 GPT 기반 접근이 훨씬 효율적임을 보여줍니다.
1단계에서 추출된 오류 도메인 단어 리스트와 2단계에서 매칭된 정답 후보 리스트가 dictionary 형태로 주어지면,
아래와 같은 프롬프트와 함께 오류 문장이 LLM (GPT-4o-mini)의 입력으로 들어갑니다.
결과 예시는 다음과 같이, ‘지각’과 ‘연료량’을 유의해야하는 후보로 추출하여 입력으로 들어가면,
CoT 과정을 통해 ‘지각’은 교정을 하지 않아도 되며 ‘연료량’은 ‘열류량’으로 교정할 수 있다는 추론 과정을 거쳐, ‘지각 열류량’으로 교정되는 모습이 보였습니다.
지구과학 강의 1강의 519 문장 중 교정이 필요했던 문장은 247문장이었으며, 한 문장 단 2.08 초가 소요되었으며, CER은 0.1083이었습니다.
이렇게 구성된 전체 파이프라인을 거친 결과, 나타나는 문제점은
“태양”을 “태양계”로 바꾸는 등, 바꾸지 않아도 되는 단어도 교정해버리는 경우도 있고, 문맥 상 교정하지 않고 넘어가도 된다고 판단하는 경우도 있다는 점이었습니다.
개선하기 위하여 고려하고 있는 연구 방안은 다음과 같습니다.
영문 프롬프팅
LLM에게 전체 요약 내용 입력 추가
교정 필요 단어와, 그의 교정본을 key-value 형태로 출력되도록 하여 replace
웹서치
sota LLM을 통한 2차 점검 과정 추가
pseudo GT로 놓고 평가를 진행
solar가 아닌 다른 embedding model 실험
RAG
이상으로 글을 마치도록 하겠습니다! 감사합니다!
[1] teddylee777. Kor-IR. GitHub 리포지토리, https://github.com/teddylee777/Kor-IR
[2] 구선민, 박찬준, 소아람, 임희석. (2021). 딥러닝 기반 한국어 맞춤법 교정을 위한 오류 유형 분류 및 분석. 한국융합학회논문지, 12(12), 65-74. DOI: 10.15207/JKCS.2021.12.12.065
[3] 손준영, 박찬준, 서재형, 임희석. (2021). 한국어 음성 인식 시스템의 오류 유형 분류 및 분석. 한국정보과학회 언어공학연구회 2021년도 제33회 한글 및 한국어 정보처리 학술대회 논문집, 144-151.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.