Testy czytelności

Inżynieria cech dla NLP w Pythonie

Rounak Banik

Data Scientist

Przegląd testów czytelności

  • Określają czytelność tekstu w języku angielskim
  • Skala od poziomu szkoły podstawowej do wyższej
  • Wzór matematyczny oparty na liczbie słów, sylab i zdań
  • Stosowane do wykrywania fake newsów i spamu opinii
Inżynieria cech dla NLP w Pythonie

Przykłady testów czytelności

  • Flesch reading ease
  • Indeks mglistości Gunninga
  • Simple Measure of Gobbledygook (SMOG)
  • Wynik Dale-Chall
Inżynieria cech dla NLP w Pythonie

Przykłady testów czytelności

  • Flesch reading ease
  • Indeks mglistości Gunninga
  • Simple Measure of Gobbledygook (SMOG)
  • Wynik Dale-Chall
Inżynieria cech dla NLP w Pythonie

Flesch reading ease

  • Jeden z najstarszych i najszerzej stosowanych testów
  • Im dłuższe zdania, tym trudniejszy tekst
    • „To jest krótkie zdanie."
    • „To jest dłuższe zdanie z większą liczbą słów i trudniej je śledzić niż pierwsze."
  • Im więcej sylab w słowie, tym trudniejszy tekst
    • „Mieszkam w swoim domu."
    • „Rezyduje w swojej siedzibie."
  • Im wyższy wynik, tym większa czytelność
Inżynieria cech dla NLP w Pythonie

Interpretacja wyniku Flesch reading ease

Wynik łatwości czytania Poziom edukacji
90-100 5
80-90 6
70-80 7
60-70 8-9
50-60 10-12
30-50 Studia
0-30 Absolwent wyższej uczelni
Inżynieria cech dla NLP w Pythonie

Indeks mglistości Gunninga

  • Opracowany w 1954 r.
  • Zależy też od średniej długości zdania
  • Im więcej złożonych słów, tym trudniejszy tekst
  • Im wyższy indeks, tym niższa czytelność
Inżynieria cech dla NLP w Pythonie

Interpretacja indeksu mglistości Gunninga

Indeks mglistości Poziom edukacji
17 Absolwent wyższej uczelni
16 4. rok studiów
15 3. rok studiów
14 2. rok studiów
13 1. rok studiów
12 4. klasa liceum
11 3. klasa liceum
Indeks mglistości Poziom edukacji
10 2. klasa liceum
9 1. klasa liceum
8 8. klasa szkoły podstawowej
7 7. klasa szkoły podstawowej
6 6. klasa szkoły podstawowej
Inżynieria cech dla NLP w Pythonie

Biblioteka readability

# Download nltk punkt module
import nltk
nltk.download('punkt_tab')
# Import the Readability class
from readability import Readability

# Create a Readability Object readability_scores = Readability(text)
# Generate scores gf = readability_scores.gunning_fog() print(gf.score())
16.26
Inżynieria cech dla NLP w Pythonie

Czas na ćwiczenia!

Inżynieria cech dla NLP w Pythonie

Preparing Video For Download...