Príloha - Výpočet skóre čitateľnosti

Na výpočet počtu slov, počet viet a fog indexu sme použili vlastný program v jazyku Python:

import pyphen
from nltk.tokenize import sent_tokenize, RegexpTokenizer

word_tokenizer = RegexpTokenizer(r"\w+")
dic = pyphen.Pyphen(lang="sk_SK")

def count_syllables(word: str) -> int:
    return len(dic.inserted(word).split("-"))

def fog_index(text: str) -> float:
    sentences = sent_tokenize(text)
    words = word_tokenizer.tokenize(text)
    long_words = [w for w in words if count_syllables(w) > 2]

    print(f"Počet slov: {len(words)}")
    print(f"Počet viet: {len(sentences)}")
    print(f"Náročné slová: {len(long_words)}")

    psv = len(words) / len(sentences)
    ds = (len(long_words) / len(words)) * 100

    score = 0.4 * (psv + ds)
    return score

if __name__ == "__main__":
    text = input("> ")
    print(f"Fog index: {fog_index(text):.2f}")