Records

SmilEar - 청각장애인을 위한 AI 언어학습 서비스 (Prompt-er Day Seoul 2023)

2023-09-16

Prompter Day Seoul 2023은 OpenAI의 API를 활용하여 사람을 향한 서비스를 개발 및 기획하는 챌린지로 인류를 이롭게 하며 삶의 질을 높이는 모든 분야의 Generative AI 서비스를 개발해 경쟁하는 대회다.

우승을 목표로 1차를 통과하여 40인 후보에는 선정됐지만 20인 후보 선정 과정에서 탈락하고 말았다.

어떤 서비스를 개발할까부터 다양한 구조를 고민했으나 완성되지 못하고 MVP에서 그친 부분이 상당히 아쉽다. 아쉬운 마음에 고민과정부터 개발, 발표까지의 과정을 정리해봤다.

주제 선정

사실상 GPT를 활용한 서비스 개발이 메인 테마라고 볼 수 있는 경진대회로 다양한 주제를 고민했다.

GPT 의존성이 크면 할루시네이션(Hallucination)된 결과에 대한 리스크를 감수하기 어렵다는 것, 그리고 GPT 의존성을 낮추면 직접 개발하고 수집해야할 자료가 상당해 당장 경진대회 기간 내 완성도를 높여 중복되는 시장에서 기존 서비들과의 경쟁이 어려웠다.

반대로 기존 서비스와 비교가 거의 없고, 서비스 개발의 사각지대에 있으며 인류를 이롭게 한다는 주제와도 알맞은 ‘사회적 약자를 위한 서비스 개발’은 충분히 가능성이 있겠다싶어 바로 주제 방향성을 선회했다.

처음에는 ‘일반 문자 to 점자’ 서비스를 생각했으나 시각장애인들에게 점자를 바로 제공해줄 수 있는 오프라인 매체를 우리가 보유하고 있지 않았고, 시각장애인들에게는 차라리 TTS(Text to Speech)가 훨씬 더 좋은 선택지가 될 수 있었다. 이후 다양한 고민 끝에  ‘청각장애인’의 말하기가 힘들다는 페인포인트로부터 청각장애인을 위한 언어학습 서비스 개발로 주제를 잡았다.

세부 방향성

타겟층에 대한 이해가 필수적이었는데 국내 논문부터 WHO, 국가 통계 등 다양한 지표와 인터뷰 자료들을 확보했고, 실제로 절대 다수의 청각장애인들은 말하기를 연습·사용하고 있다.

국내의 경우 많은 의료발전과 경제수준의 향상으로 치료받거나 기구의 도움으로 어느정도 듣기가 가능해진 청각장애인들이 많지만 대부분의 청각장애인(약 80%)가 개발도상국에 존재한다는 점, 그리고 그들에게는 해당 치료가 제공되기 어렵다는 점으로부터 말하기를 연습할 수 있는 서비스가 필요했다.

말하기를 연습하기 위해서 청각장애인에게 제공할 수 있는 기능은 무엇이 있을까. 관련 교재들과 인터뷰들을 기반으로 다음 조건들이 있다면 충분히 도움이 될 것 같았다.

  • 실제로 말하는 입모양 모습 (영상)
  • 본인이 직접 어떻게 말하는지 보고 따라할 수 있는 셀프 카메라
  • 단어나 문장의 악센트
  • 발음 기호
  • 혀의 위치 등 세부적인 발음에 영향을 미치는 동작들

물론 이번 경진대회는 생성 AI를 활용하는 것이 필수적이기 때문에 기존 서비스에 AI를 무조건 접목해야 했으니, 주어진 기술 조건 하 구현 가능한 점을 면밀히 판단했다.

GPT가 할 수 있는 것을 좀 더 면밀히 살펴보면 2가지 강점은

  • 상황별 유동적인 답변이 가능하다.
  • 언어의 제약을 비교적 덜 받는 다국어를 지원한다.

즉 GPT는 상황별 발음에 대한 피드백 뿐 아니라 다국어나 외국어 학습에 유리한 차별점을 만들 수 있다.

직접 발음을 보여주는 AI영상도 생성하고 싶었으나 아쉽게도 OpenAI사는 영상 생성을 제공하는 서비스는 없었다. 다른 생성 AI를 사용하지 말라는 제약이 있었던만큼 영상의 경우 직접 촬영한 영상을 사용해야했고 이외의 것들은 충분히 현재 기술과 GPT로 생성 가능한 부분이었다.

개발

서비스의 핵심 기능은 청각장애인으로부터 음성 데이터를 녹음해, 문제 지문과 비교해 올바른 발음을 위한 피드백을 제공하는 것이다.

사용자가 발음을 녹음하면 OpenAI 사의 Whisper API (STT)를 통해 문자열로 변환하고 이 문자열을 기존 지문과 비교해 GPT에게 피드백을 요청했다.

다양한 프롬프트 엔지니어링을 진행했고, 원하는 결과를 오차 없이 뽑아내기 위해 약 30여개의 프롬프트를 생성해 100번 정도를 반복시키며 파싱이 불가능한 결과가 나오는 형태를 최소화 시켰다.

이때 문제가 하나 발생했는데 Whisper API가 너무도 뛰어나다는게 문제였다. 사용자가 발음을 잘못하면, 그 잘못한 발음을 그대로 보여줘야 명확한 피드백이 가능한데 다양한 음성데이터로부터 학습을 진행했다보니 알아서 불안한 발음도 사전으로 있는 말과 문맥을 통해 교정해 올바른 문장이 나타나곤 했다.

다른 언어 인식 모델들을 사용해보면서 좀 더 있는 그대로 변환해주는 모델도 찾았지만 아무래도 OpenAI 사에서 제공하는 API가 있음에도 다른 모델을 사용한다는 것이 마음에 걸려 탈출구를 찾고자했다.

다행히도 단어는 아무래도 한글자만 달라도 사전에 있는 단어가 많다 보니 (ex. bake, fake) 단어는 정확히 인식하는 부분이 상당히 도움이 됐고 단어를 통한 발음 연습 기능을 우선 개발했다.

피드백은 기존에 고민했던 방향을 포함한 4가지 카테고리로 나눠 슬라이드 카드 형태로 피드백을 제공토록했고, 영상은 직접 찍은 영상을 기반으로 제공했다. 또한 문제가 모두 떨어질 경우 GPT를 통해 문제를 자동생성하게 구성했다.

문장은 어떻게 인식시킬까 1, 2주를 내리 고민했는데 단어 연습 개발로부터 활로를 찾았다. 단어를 올바르게 발음하지 못하면 결국 문장을 올바르게 발음하지 못할 것이고, 각 문장을 단어별로 먼저 발음하도록 유도한 뒤 단어를 올바르게 발음한다면 전체 문장을 발음하게 하는 순서로 진행시켰다.

이렇게 진행하면 문장과 아예 다른 발음을 진행하기보다는 어느정도 완성된 단어를 기반으로 문장을 발음해 문장하나를 손쉽게 완성할 수 있었고, 아예 다른 발음을 말해도 문장이 완성되는 경우를 크게 줄일 수 있었다. (물론 문장만 발음하기를 원하는 숙련자에게는 해당 과정을 스킵할 수 있는 버튼을 제공했다.)

이번 기회에 처음으로 Figma를 사용해봤고, 생각보다 기존에 주어진 UI 패키지 중 자유롭게 활용 가능한 게 많아 금방 완성하게 됐다. 물론 상업적 용도로 진행될 경우에는 몇몇 오브젝트나 이미지는 바꿀 필요가 있었지만, MVP를 만드는데는 충분했다.

크게 4가지 기능을 구현하고자 했고, 이 중에서도 MVP는 단어 연습 기능만을 우선 개발해 예선을 제출, 예선 통과 이후 발표를 진행하게 됐다.

발표

발표 자료를 만들며 생각보다 많은 시간을 소모했다. 핵심 서비스 자체는 간략했기에 이 서비스가 왜 필요한지에 대해 설명하는데 힘을 실었다.

질의응답 시간에는 실제로 GPT API를 사용하는 ‘스픽’ 서비스에서 동일한 기능을 제공하는데 굳이 왜 이 앱을 사용해야할까요 라는 질문을 받았다. 스픽에서 개발이 가능한 기술이라는 사실과 별개로 분명 없었음을 확인했지만 기능을 정말 하나씩 뜯어보지는 않았기에 실제 ‘스픽’에 해당 기능이 있는지를 몰라 당황함과 동시에 청각장애인을 타겟으로 한 것에 의의가 있다는 아쉬운 답변을 내놓았다.

발표 종료 후 실제로 해당 앱을 바로 확인해본 결과 역시나 동일한 기능은 없는걸로 확인됐다. 기존 서비스 분석에 있어 청각 장애인을 위한 서비스들만을 중점적으로 공부하고 비장애인 대상 서비스들에 대한 분석이 적었던게 아쉬운 답변을 만들었고, 다음 2차의 장벽이 되지 않았나 싶다.

다음에는 당당하게 그런 서비스는 없고 우리만 있다! 라는걸 얘기할 수 있도록 조사를 면밀히 해야한다는 교훈과 함께 막을 내린 아쉬운 서비스다.