AI 회의록 작성기를 실제 회의로 벤치마킹할 수 없는 이유 — 정답을 모르기 때문입니다. 그래서 저는 회의를 직접 생성했습니다.
요약
AI 회의록 작성기의 성능을 정확히 측정하기 위해 정답지(Ground Truth)가 포함된 합성 오디오 데이터를 생성하는 방법론을 소개합니다. 스크립트 작성부터 ElevenLabs API와 ffmpeg를 활용한 오디오 합성까지의 워크플로우를 다룹니다.
핵심 포인트
- 정확한 벤치마킹을 위해 정답(Ground Truth)이 포함된 합성 데이터 생성 필요
- ElevenLabs API를 활용하여 텍text-to-speech 기반의 대화형 오디오 생성
- 화자 분리(Diarization) 성능 테스트를 위해 발화 사이 적절한 침묵 삽입
- 숫자 표기 방식 및 에러 핸들링 등 실무적인 데이터 생성 팁 제공
저는 어떤 AI 회의록 작성기(AI notetaker)가 가장 정확하게 전사(transcribe)하는지 알고 싶었습니다 — Granola, Fathom, 또는 Otter 중 말이죠. 그래서 저는 당연한 일을 했습니다. 실제 회의를 녹음하고, 세 가지 도구 모두에 실행시킨 뒤, 전사된 내용(transcripts)을 비교하는 것이었습니다.
그 실험은 가치가 없었습니다. 왜 그런지 깨닫는 데는 단 한 오후가 걸렸습니다. 전사 내용을 점수 매기려면 비교할 수 있는 정확한 전사본이 필요합니다. 하지만 제 회의에서 실제로 무엇이 말해졌는지에 대한 유일한 기록은... 제가 채점하려던 바로 그 전사본들이었습니다. 저는 학생의 답안지로 시험을 채점하고 있었던 것입니다. 정답지(answer key)가 없었습니다.
해결책은 흥미로운 부분이었으며, 모든 음성-텍스트 변환(speech-to-text) 평가에서 훔쳐올 만한 가치가 있는 기술입니다: 만약 정답(ground truth)이 없다면, 그것을 제조하십시오. 먼저 스크립트를 작성하고, 그것으로부터 오디오를 합성하십시오. 그러면 정확한 단어들은 사후에 재구성해야 하는 것이 아니라, 당신이 직접 타이핑한 것이 됩니다.
회의를 생성하고, 정답지를 유지하라
저는 80초 분량의 2인 대화 형식인 제품 회의 스크립트를 작성했습니다. 그리고 업무 통화에서 실제로 중요하면서도 자동 음성 인식(ASR) 엔진이 실수하기 쉬운 토큰들을 의도적으로 채워 넣었습니다: 분기 표시(Q3, Q2), 백분율(5.2%, 6.8%, 41%, 58%), 달러 수치($16 → $19), 전문 용어(churn, cohort, activation, SSO, deep links, p95, P1), 이름(Sarah, David, Priya, Marcus), 그리고 마감 기한이 포함된 몇 가지 실제 실행 항목(action items)들입니다.
그런 다음 각 화자에게 별도의 ElevenLabs 목소리를 부여하고 API를 통해 대화 순서를 렌더링했습니다. 전체 프레임워크는 bash 스크립트입니다 — 두 개의 voice ID, 한 줄당 한 번의 text-to-speech 호출, 그리고 화자 분리(diarizers)가 깨끗한 경계를 찾을 수 있도록 대화 사이에 침묵을 넣어 대화들을 이어 붙이는 ffmpeg로 구성됩니다:
SARAH=21m00Tcm4TlvDq8ikWAM # Rachel (female)
DAVID=pNInz6obpgDQGcFmaJgB # Adam (male)
MODEL=eleven_multilingual_v2
...
실무에서 중요한 몇 가지 작은 사항들입니다:
- 입력 시 숫자를 단어로 표기할 것 ("five point two percent"). 그렇지 않으면 TTS가 "5.2%"를 일관성 없게 읽을 수 있습니다. 당신이 원하는 것은 오디오가 모호하지 않게 들리는 것입니다. 회의록 작성기(notetaker)의 역할은 이를 다시 "5.2%"로 변환하는 것이며, 이를 제대로 수행하는지 여부가 바로 당신이 테스트하고자 하는 핵심입니다.
- 실패 시 명확히 알릴 것 (Fail loud). ElevenLabs 엔드포인트는 무언가 잘못되었을 때(잘못된 voice ID, 할당량 초과 등)
200에 가까운 형태의 JSON 에러 바디를 반환합니다. 만약 이를 맹목적으로meeting.mp3에 쓰게 되면, 손상된 파일을 "전사 (transcribe)"하게 되고 그 이유를 알 수 없게 됩니다. 위에서 작성한file체크 로직은 쓰레기 데이터를 조용히 생성하는 대신 실행을 중단합니다. - 발화 사이에 실제 침묵을 삽입할 것. 화자 분리 도구(Diarizers)는 일시 정지 구간을 기반으로 화자 경계를 찾습니다. 0.4초의 간격은 현실적이며, 모든 도구가 Sarah와 David를 분리할 수 있도록 공정한 기회를 제공합니다.
이제 저는 오디오 클립과 그 안에 담긴 내용과 정확히 일치하는 텍스트 파일을 모두 갖게 되었습니다. 정답지(answer key)는 제가 작성한 스크립트 그 자체입니다. 동일한 클립, 세 가지 도구, 하나의 평가 기준(rubric).
놀라운 점: 깨끗한 오디오에서의 정확도는 차이가 거의 없음
여기 제가 예상하지 못했던 결과가 있습니다. 교차 대화(crosstalk)가 없는 깨끗한 두 명의 음성 오디오에서는 세 도구 모두 본질적으로 매우 뛰어났습니다. Otter는 약 99%의 단어 정확도를 기록했습니다. Fathom의 전사본이 세 가지 중 가장 정확했습니다. Granola는 핵심 내용은 유지하면서 아마도 한 줄 정도를 뭉개뜨렸습니다. 깨끗한 클립에 대한 순수 단어 오류율 (WER, Word Error Rate)로 이 도구들을 순위 매긴다면, 기본적으로 구분할 수 없습니다. 모두 한계치에 근접해 있기 때문입니다.
이는 순수 정확도가 벤치마킹하기에 잘못된 지표라는 것을 의미합니다. 그것은 기본 요건(table stakes)일 뿐입니다. 실제로 어떤 도구를 사용해야 할지를 결정하는 차이점은, 전체 WER 수치가 가려버리는 두 가지 지점에 존재합니다: 각 도구가 회의의 의미를 담고 있는 소수의 토큰(tokens)을 어떻게 처리하는지, 그리고 누가 무엇을 말했는지 알려주는지 여부입니다.
실제 전사본을 통해 확인할 수 있는 항목들에 대해서만 정답지와 대조하여 점수를 매겨보았습니다:
| 도구 (Tool) | 깨끗한 오디오 정확도 (Clean-audio accuracy) | 분기 레이블 (Quarter labels) (Q3 / Q2) | 화자 레이블 (Speaker labels) |
|---|---|---|---|
| Fathom | 세 가지 중 가장 정확함; 요약 수치 모두 정확함 | "Q3 churn", "6.8 in Q2"를 유지함 | 요약에서 소유자(David, Priya)를 추적함 |
| ... | |||
해당 표와 헤드라인의 정확도 수치를 읽어보면 중요도가 역전됩니다. 서류상 가장 강력한 순수 전사 도구(transcriber)인 Otter는 "Q3"와 "Q2"를 모두 단순한 "Q"로 뭉뚱그려 버렸고, "tag it P1"을 "tag at p1"으로 바꾸며 조용히 무너졌습니다. 비즈니스 회의에서 분기(quarter)는 그냥 지나가는 단어가 아닙니다. 그것은 전체 이탈률(churn) 수치가 고정되는 기준점이며, "P1"이 누군가에게 호출(page)을 보내는 티켓과 그렇지 않은 티켓을 가르는 차이인 것과 같습니다. 반면, Otter는 David가 지연 시간(latency)에 대해 말했고 Sarah가 가격 테스트(pricing test)를 담당했다는 것을 유일하게 안정적으로 알려주었는데, 이는 Otter가 유일하게 화자 분리(diarization)를 수행하기 때문입니다. 봇(bot)이 없는 방식이며 수치상으로는 훌륭한 Granola는 즉석 기록(ad-hoc capture)을 위해 레이블이 없는 하나의 텍스트 스트림을 제공했습니다. 개인적인 메모로는 괜찮지만, 발언자 식별(attribution)이 필요하다면 무용지물입니다.
따라서 "최고"의 도구는 전사 오류율(WER) 순위가 아니라, 귀하의 회의에 무엇이 필요한지에 따라 전적으로 달라집니다:
- **화자 식별 (speaker attribution)**이 필요하다면, 일반적인 기록 상황에서 이를 안정적으로 제공하는 것은 이 중 단 하나뿐입니다.
- 수치와 전문 용어 (jargon)를 정확하게 뽑아내야 한다면, 전체 정확도에서 선두를 달리는 도구가 분기 레이블을 틀려버렸습니다.
- 민감한 고객 통화를 진행한다면, 봇이 없는(bot-free) 도구들은 계산법을 완전히 바꿉니다 (회의에 눈에 보이는 녹음기가 참여하지 않음). 이는 또 다른 기준(axis)의 문제입니다.
도구별 요약, 개인정보 보호 및 무료 티어의 트레이드오프(trade-offs), 그리고 어떤 유형의 사용자에게 어떤 도구를 추천하는지를 포함한 전체 비교 결과는 최고의 AI 노트 테이커 테스트 비교 결과에 담았습니다. 요약 버전("모두 정확합니다")은 사실이긴 하지만, 도구를 선택하는 데 있어서는 전혀 도움이 되지 않기 때문입니다.
합성 정답(synthetic-ground-truth) 트릭이 유용한 점 (그리고 그렇지 않은 점)
이 방법론은 노트 테이커를 넘어 다른 분야에도 잘 적용됩니다:
- 모든 음성-텍스트 변환 (Speech-to-text) 평가. 자막, 음성 명령 파서 (voice-command parsers), 콜센터 QA 등 — 오디오 스크립트를 직접 작성하면, 무료로 정확한 참조 전사본 (reference transcript)을 얻을 수 있으며, 모델 업데이트가 있을 때마다 다시 실행할 수 있는 반복 가능한 테스트를 확보할 수 있습니다.
- 적대적 토큰 설계 (Adversarial token design). 스크립트를 직접 작성하기 때문에, 엔진을 고장 낼 만한 요소들(동음이의어, 약어, 숫자, 코드 스위칭 (code-switching), 겹치는 이름 등)을 의도적으로 심을 수 있습니다. 실제 회의에서는 80초 안에 이 모든 요소가 동시에 나타나는 경우가 드물지만, 합성된 회의에서는 가능합니다.
- 회귀 추적 (Regression tracking). 클립은 결정론적 입력 (deterministic input)입니다. 다음 분기에 이를 다시 실행해 보면, 특정 업체의 "개선된" 모델이 실제로 귀하의 까다로운 토큰들을 개선했는지, 아니면 단순히 쉬운 토큰들만 개선했는지 확인할 수 있습니다.
솔직하게 주의사항을 말씀드리자면, 합성된 깨끗한 오디오는 가장 우호적인 사례입니다. 서로 간섭이 없고, 억양이 없으며, 실내 소음이 없고, 사람들이 서로 말을 가로막지 않는 두 개의 뚜렷한 TTS 음성은 이 도구들이 접할 수 있는 가장 쉬운 입력입니다. 바로 그렇기 때문에 의미 전달 토큰 (meaning-carrying-token)과 화자 분리 (diarization)의 차이를 격리하여 파악하기에는 좋지만, 여기서 얻은 99%라는 수치를 실제 4인 스탠드업 미팅에서의 99%로 해석해서는 안 되는 이유이기도 합니다. 이것은 동일한 입력값에 대해 도구들을 서로 비교하기 위한 통제된 벤치마크이지, 실제 환경의 정확도를 예측하는 것이 아닙니다. 이를 위해서는 여전히 귀하의 지저분한 실제 통화 데이터로 테스트해야 하지만, 이제는 그 지저분함을 측정할 수 있는 깨끗한 기준점 (baseline)을 갖게 된 것입니다.
전체 하네스 (harness)는 약 40줄의 bash 스크립트로 구성됩니다. 본인만의 스크립트를 넣고, 본인만의 지뢰를 심고, 비교 중인 전사 도구들을 지정하기만 하면, 누구도 반박할 수 없는 정답지를 갖게 될 것입니다. 왜냐하면 귀하가 직접 작성했기 때문입니다. 만약 수 시간 분량의 오디오를 직접 전사하지 않고도 ASR 비교를 위한 정답 (ground truth)을 얻을 수 있는 더 나은 방법을 알고 계신다면, 댓글로 진심으로 공유해 주시기 바랍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기