Перейти к содержимому

Оценка читаемости

Анализирует читаемость текста по формулам Флеша-Кинкейда и другим.

Оценка SMOG требует минимум 30 предложений.

Об этом инструменте

Инструмент Readability Score анализирует, насколько легко или сложно понять ваш текст, используя установленные метрики читаемости, такие как Flesch-Kincaid Grade Level и Flesch Reading Ease. Эти формулы измеряют факторы, такие как длина предложения, сложность слов и количество слогов, чтобы дать вам практические рекомендации по ясности вашего письма. Для писателей, преподавателей и создателей контента понимание читаемости текста необходимо для обеспечения эффективного доведения сообщения до целевой аудитории.

Просто вставьте ваш текст в инструмент, и он мгновенно рассчитает несколько показателей читаемости. Индекс Flesch Reading Ease колеблется от 0 до 100, где более высокие баллы указывают на более легкое чтение, а Flesch-Kincaid Grade Level показывает требуемый класс американской школы для понимания текста. Инструмент отображает подробные метрики, включая количество слов, количество предложений, среднюю длину предложения и анализ слогов. Это особенно полезно для создания записей в блоге, научных работ, маркетингового контента и образовательных материалов, которые должны соответствовать определённому уровню понимания аудитории.

Имейте в виду, что формулы читаемости лучше всего работают с английским текстом и могут быть менее точными при работе с техническими терминами, собственными именами или специализированной лексикой. Баллы являются рекомендациями, а не абсолютными правилами — контекст, выбор слов и форматирование также играют важную роль в общей ясности. Переработаете ли вы студенческое сочинение, оптимизируете веб-контент для более широкой аудитории или обеспечиваете доступность вашей профессиональной коммуникации, этот инструмент предоставляет количественную обратную связь, необходимую для улучшения вашего письма.

Часто задаваемые вопросы

Реализация кода

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.