← 모두의 툴

가독성 점수의 함정, 이 도구의 SMOG 지수가 표준 공식과 다르게 나오는 이유

가이드 · 2026.08.25 최종 확인

가독성 점수는 숫자 하나로 나오기 때문에 그 자체로 신뢰할 만한 절대 지표처럼 보이기 쉽습니다. 하지만 같은 이름의 지수라도 구현마다 공식이 정확히 일치하지 않을 수 있고, 브라우저에서 즉시 계산해야 하는 무료 도구는 특히 그렇습니다. 이 가이드는 독해 수준 분석기의 실제 코드를 뜯어보고, 어떤 지수는 표준 공식과 정확히 일치하고 어떤 지수는 왜, 얼마나 다르게 나오는지를 구체적인 숫자로 정리했습니다.

1. 가독성 지수는 어떻게 계산되는가: 공통 재료

Flesch Reading Ease, Flesch-Kincaid(FK) Grade, Gunning Fog, SMOG 네 지수는 모두 같은 재료를 다르게 조합해서 만듭니다. 텍스트의 총 단어 수, 총 문장 수, 그리고 3음절 이상인 "복잡한 단어(다음절어)"의 개수가 그 재료입니다. 단어 수를 문장 수로 나누면 평균 문장 길이가 나오고, 복잡어 비율을 구하면 어휘 난이도의 근사치가 나옵니다. 네 지수의 차이는 이 재료들을 어떤 계수와 상수로 조합하느냐에 있습니다.

2. Flesch·FK·Gunning Fog는 표준 공식과 정확히 일치한다

먼저 좋은 소식부터 확인하면, 독해 수준 분석기의 Flesch Reading Ease, FK Grade, Gunning Fog 세 지수는 학계에 발표된 표준 공식을 계수 하나까지 그대로 구현하고 있습니다. Flesch Reading Ease는 206.835 − 1.015 × 평균 문장 길이 − 84.6 × 평균 음절 수라는 공식을 코드에서 그대로 사용하며, 이 계수(206.835, 1.015, 84.6)는 원 논문의 계수와 완전히 일치합니다. 이 세 지수는 코드 실측 결과 오차가 없는 것으로 확인됐습니다.

3. 문제는 SMOG 지수: 표준 공식과 실제 코드 비교

SMOG(Simple Measure of Gobbledygook) 지수의 표준 공식은 다음과 같습니다.

표준 SMOG 공식: 1.0430 × √(다음절 단어 수 × 30 / 문장 수) + 3.1291

그런데 이 도구의 실제 계산 코드를 확인하면 다릅니다.

이 도구의 실제 코드 (표본 문장 30개 이상일 때와 미만일 때 분기): sentences.length>=30 ? 3*Math.sqrt(complexCount) : 3*Math.sqrt(complexCount*(30/sCount))

표준 공식의 계수 1.0430이 단순히 3으로 대체되어 있고, 보정 상수 +3.1291은 아예 존재하지 않습니다. 계수 1.0430과 3의 차이는 언뜻 작아 보이지만, 이 값이 제곱근 전체에 곱해지고 상수 3.1291까지 누락되므로 최종 결과는 상당히 벌어집니다. 표본 문장이 30개 미만일 때 문장 수를 30개 기준으로 환산하는 보정식(× 30/문장 수) 자체는 표준 SMOG 공식의 원래 로직과 같은 방식이라, 이 부분의 단순화는 아닙니다 — 문제는 순수하게 계수 1.0430과 상수 3.1291 두 가지가 생략된 것입니다.

4. 실제 숫자로 보는 오차: 도구에 내장된 샘플 텍스트 기준

이 도구에 내장된 영어 샘플 텍스트(조지 오웰 『1984』 도입부 등)로 계산하면 이 도구는 SMOG 지수 13.4를 출력하지만, 같은 텍스트를 표준 SMOG 공식으로 계산하면 7.8이 나옵니다.

구분SMOG 지수해석되는 학년 수준
이 도구의 결과13.4대학교 수준(13년 이상)
표준 공식 결과7.8중학교 수준(7~8년)

같은 텍스트를 두고 학년 수준 판정이 대학생과 중학생만큼 벌어지는 셈이라, SMOG 지수만 보고 "이 글은 대학 수준이라 너무 어렵다"고 판단하면 잘못된 결론에 이를 수 있습니다. 반대로 Flesch Reading Ease와 FK Grade는 같은 텍스트에서 표준 공식과 오차 없이 일치하므로, 이 도구를 쓸 때는 SMOG보다 나머지 세 지수를 우선 참고하는 것이 안전합니다.

5. 음절 카운트의 또 다른 함정: 비영어 텍스트

SMOG 계수 문제와 별개로, 음절 수를 세는 countSyllables() 함수는 입력 단어에서 알파벳 a-z가 아닌 모든 문자를 먼저 제거한 뒤, 남은 문자열에서 모음 묶음의 개수를 세는 방식으로 동작합니다. 이 때문에 한글처럼 라틴 알파벳이 아닌 문자로만 이루어진 단어는 음절 수가 무조건 0으로 계산됩니다. 결과적으로 아무리 어려운 한국어 문장을 넣어도 Flesch Reading Ease의 음절 관련 감점 요소가 전혀 작동하지 않아 점수가 100에 가깝게("매우 쉬움") 나옵니다. 이 도구는 애초에 영어 텍스트 분석을 전제로 설계된 것이므로, 한국어 문장의 실제 난이도를 확인하려면 텍스트 통계 도구단어 빈도 계산기처럼 언어 중립적인 지표를 함께 참고하는 것이 좋습니다.

자주 묻는 질문

Q. SMOG 지수만 표준 공식과 다른 이유는 뭔가요?

실제 코드에서 표준 공식의 계수 1.0430을 3으로 단순화하고, 보정 상수 +3.1291을 아예 생략했기 때문입니다. Flesch·FK·Gunning Fog 세 지수는 표준 공식 계수를 그대로 쓰고 있어 이런 오차가 없습니다.

Q. 오차가 실제로 얼마나 나나요?

도구 내장 샘플 텍스트 기준으로 이 도구는 13.4, 표준 공식은 7.8을 냅니다. 학년 수준으로 환산하면 대학생과 중학생만큼 차이가 벌어지는 수준입니다.

Q. 그럼 이 도구의 SMOG 값을 아예 믿으면 안 되나요?

정확한 절대값보다는 같은 도구 안에서 여러 텍스트를 비교하는 상대적 지표로 쓰는 게 안전합니다. 텍스트 A가 텍스트 B보다 SMOG가 높다는 비교는 유효하지만, "SMOG 13.4 = 대학 수준"이라는 절대적 해석은 표준 공식과 어긋납니다.

Q. 한국어 문장을 넣어도 되나요?

넣을 수는 있지만 의미 있는 결과가 나오지 않습니다. 음절 카운트 로직이 알파벳 a-z만 인식하기 때문에 한글 단어는 음절 수가 0으로 계산되어 실제 난이도와 무관하게 매우 쉬운 텍스트로 표시됩니다.