한눈에
- 치매는 조기에 발견할수록 치료 효과가 크지만, 혼자 사는 어르신은 정기 검진이 어렵다. 그래서 평소 말(음성)의 변화로 치매 신호를 잡아내는 시스템을 만든 팀 프로젝트다. 나는 그중 음성으로 치매 여부를 가려내는 분류 부분 전체 — 특성 추출부터 모델 학습·평가까지 맡았다.
- 치매가 진행되면 말이 변한다 — 한 문장에 쓰는 단어 수가 정상에서 치매로 갈수록 평균 13개에서 8개로 줄어든다. 이렇게 달라지는 발화 특성 7가지를 숫자로 뽑아 모델에 넣었다.
- 음성을 이미지로 바꿔 딥러닝에 넣는 방법과, 발화 특성을 머신러닝에 넣는 방법을 둘 다 만들어 비교했다. 결과는 발화 특성 + XGBoost가 정확도 0.85로 가장 좋았다(음성 이미지 딥러닝은 0.53으로 낮았다).
내가 맡은 범위
팀이 “대화를 유도해 음성을 모으고, 그 음성으로 치매를 가려내는” 시스템을 나눠 만들었고, 나는 치매를 가려내는 부분 전체를 맡았다 — 음성에서 특성을 뽑고, 여러 모델을 만들어 비교하고, 평가까지.
- 음성 전사(STT) — Google Cloud Speech-to-Text로 어르신 음성을 글로 변환.
- 발화 특성 추출 — 전사된 말에서 비유창성 지표(문장당 단어 수·음소 착어·어순 도치·머뭇거림·말 고침·반복·말 멈춤) 7가지를 수치로 변환.
- 음향 특성 추출 — 음성의 주파수 변화를 이미지로 바꾼 Mel-Spectrogram 생성.
- 분류 모델 5종 비교 — 음향 이미지 CNN(딥러닝), 발화 특성 XGBoost·RandomForest·ElasticNet(머신러닝), 둘을 합친 복합 모델.
- 2단계 분류 설계 — 1차로 정상/치매, 치매면 2차로 경증/중증.
대화를 유도하는 LLM 챗봇, 음성 합성(TTS), 앱은 다른 팀원들이 맡았다.
내가 내린 설계 결정
말의 어떤 변화를 숫자로 볼까 — 발화 특성 7종
치매가 진행되면 말이 단순해지고 자주 끊긴다. 그래서 전사된 문장에서 문장당 단어 수, 음소 착어(발음이 헛나옴), 어순 도치, 머뭇거림, 말 고침, 반복, 말 멈춤 7가지를 직접 수치로 뽑았다. 실제로 정상 → 경도인지장애 → 치매로 갈수록 문장당 단어 수가 평균 13.2 → 11.5 → 8.5개로 뚜렷이 줄었다(다른 지표도 함께 변했다). “말의 무너짐”을 모델이 읽을 수 있는 숫자로 만든 것이 분류의 출발점이었다.
음성 이미지 딥러닝 vs 말버릇 머신러닝 — 둘 다 만들어 비교
음성을 다루는 길은 둘이었다. 음성을 이미지(Mel-Spectrogram)로 바꿔 딥러닝(CNN)에 넣는 방법과, 위에서 뽑은 발화 특성을 머신러닝에 넣는 방법. 어느 쪽이 나을지 미리 알 수 없어 같은 데이터로 둘 다 만들어 비교했다.
| 모델 | 정상/치매 | 경증/중증 |
|---|---|---|
| 음향 Mel-Spectrogram · CNN | 0.53 | 0.49 |
| 발화 특성 · ElasticNet | 0.60 | 0.52 |
| 발화 특성 · RandomForest | 0.82 | 0.75 |
| 발화 특성 · XGBoost | 0.85 | 0.82 |
| 음향+발화 복합 | 0.60 | 0.52 |
정확도(테스트 20%). 발화 특성 + XGBoost가 두 단계 모두 가장 높았다.
결과는 분명했다. 발화 특성 + XGBoost가 정확도 0.85로 가장 좋았고, RandomForest 0.82가 뒤를 이었다. 반면 음성을 이미지로 바꾼 딥러닝은 0.53으로 거의 찍기 수준이었고, 둘을 합친 복합 모델도 0.60에 그쳤다. 화려한 딥러닝보다 “말버릇을 숫자로 뽑아 가벼운 모델에 넣는” 쪽이 이 문제에선 더 정확했다 — 어느 게 맞을지 가정하지 않고 직접 비교해서 얻은 답이다.
한 번에 셋 말고, 두 단계로 — 정상 → 치매 → 중증도
정상·경도인지장애·치매를 한 번에 셋으로 나누면 경계가 흐려 틀리기 쉽다. 그래서 단계로 나눴다 — 먼저 정상/치매를 가르고, 치매로 나오면 다시 경증/중증을 갈랐다. 각 단계 결과를 점수로 합쳐 치매 위험도를 0~100점으로 정량화해, 한 번의 진단이 아니라 꾸준히 지켜볼 수 있게 했다.
어디서 배웠나 — 임상 음성 데이터에 나이·성별까지
모델은 진단이 붙은 임상 음성 데이터(AI Hub 인지기능 장애 음성 — 정상·경도인지장애·치매 3집단)를 직접 모아 학습에 썼다. 음성·발화 특성만이 아니라 나이와 성별도 함께 넣었다. 남성과 여성은 목소리 주파수가 다르고, 나이에 따라 발화 양상도 달라지기 때문이다. 이렇게 사람마다 다른 조건을 모델이 함께 고려하도록 했다.
정직하게 — 내가 한 일
이 프로젝트에서 내가 만든 것은 음성으로 치매를 가려내는 분류 부분 전체 — 음성 전사(STT), 발화·음향 특성 추출, 5종 모델 비교, 2단계 분류, 평가까지다. 모델 코드는 AI를 페어로 구현했다. 대화 유도 LLM 챗봇·음성 합성(TTS)·앱은 팀원들이 맡았다.
- 정확도(0.85 등)는 임상 음성 평가셋(테스트 20%)으로 측정한 값이다.
- 음성 이미지 딥러닝(CNN)은 성능이 낮아(0.53), 최종적으로는 발화 특성 머신러닝을 주력으로 삼았다. 실제 진단을 대체하는 도구가 아니라, 이상 신호를 일찍 알아차리기 위한 선별 보조다.