본문으로 건너뛰기
🛠️ToolsShed

가독성 점수

Flesch-Kincaid 등 가독성 지표로 텍스트를 분석합니다.

SMOG 등급은 최소 30개의 문장이 필요합니다.

이 도구 소개

리더빌리티 스코어 도구는 Flesch-Kincaid 등급 수준 및 Flesch 읽기 용이성과 같은 확립된 리더빌리티 메트릭을 적용하여 텍스트의 이해 난이도를 분석합니다. 이 공식들은 문장의 길이, 단어의 복잡성, 음절 수 등의 요소를 측정하여 글의 명확성에 대한 실용적인 통찰력을 제공합니다. 작가, 교육자, 콘텐츠 제작자가 의도한 독자에게 메시지를 효과적으로 전달하려면 텍스트의 리더빌리티를 이해하는 것이 필수적입니다.

텍스트를 도구에 붙여넣기만 하면 여러 리더빌리티 스코어가 즉시 계산됩니다. Flesch 읽기 용이성 점수는 0~100 범위에서 점수가 높을수록 읽기가 쉬우며, Flesch-Kincaid 등급 수준은 텍스트를 이해하는 데 필요한 미국 학년을 보여줍니다. 도구는 단어 수, 문장 수, 평균 문장 길이, 음절 분석을 포함한 상세 메트릭을 표시합니다. 블로그 글, 학술 논문, 마케팅 문구, 특정 독자 이해 수준을 목표로 하는 교육 자료를 만들 때 특히 유용합니다.

리더빌리티 공식은 영어 텍스트에 가장 효과적이며 기술 용어, 고유명사, 전문 어휘에서는 정확도가 낮을 수 있습니다. 점수는 절대적인 규칙이 아니라 지침일 뿐입니다. 문맥, 단어 선택, 형식 또한 전반적인 명확성에 중요한 역할을 합니다. 학생 에세이를 수정하든, 더 광범위한 독자를 위해 웹 콘텐츠를 최적화하든, 전문적 의사소통의 접근성을 보장하든 이 도구는 글쓰기 개선에 필요한 정량적 피드백을 제공합니다.

자주 묻는 질문

코드 구현

import re
import math

def count_syllables(word: str) -> int:
    word = word.lower().strip(".,!?;:")
    if len(word) <= 3:
        return 1
    word = re.sub(r'e$', '', word)
    vowels = re.findall(r'[aeiouy]+', word)
    return max(1, len(vowels))

def readability_scores(text: str) -> dict:
    sentences = len(re.findall(r'[.!?]+', text)) or 1
    words_list = re.findall(r'\b\w+\b', text)
    words = len(words_list) or 1
    syllables = sum(count_syllables(w) for w in words_list)
    complex_words = sum(1 for w in words_list if count_syllables(w) >= 3)

    flesch_ease = 206.835 - 1.015 * (words / sentences) - 84.6 * (syllables / words)
    fk_grade = 0.39 * (words / sentences) + 11.8 * (syllables / words) - 15.59
    gunning_fog = 0.4 * ((words / sentences) + 100 * (complex_words / words))

    return {
        "flesch_reading_ease": round(flesch_ease, 1),
        "flesch_kincaid_grade": round(fk_grade, 1),
        "gunning_fog_index": round(gunning_fog, 1),
        "word_count": words,
        "sentence_count": sentences,
        "syllable_count": syllables,
    }

sample = "The quick brown fox jumps over the lazy dog. It was a beautiful day in the park."
print(readability_scores(sample))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.