Тести читабельності

Інженерія ознак для NLP у Python

Rounak Banik

Data Scientist

Огляд тестів читабельності

  • Визначають читабельність англійського уривка
  • Шкала від початкової школи до рівня випускника коледжу
  • Математична формула за кількістю слів, складів і речень
  • Використовують для виявлення фейкових новин і спаму в думках
Інженерія ознак для NLP у Python

Приклади текстів для читабельності

  • Flesch reading ease
  • Індекс туманності Ганнінга (Gunning fog)
  • Simple Measure of Gobbledygook (SMOG)
  • Оцінка Дейла—Чолла (Dale–Chall)
Інженерія ознак для NLP у Python

Приклади тестів читабельності

  • Flesch reading ease
  • Gunning fog index
  • Simple Measure of Gobbledygook (SMOG)
  • Dale-Chall score
Інженерія ознак для NLP у Python

Flesch reading ease

  • Один із найстаріших і найуживаніших тестів
  • Чим довше середнє речення, тим важче читати текст
    • "This is a short sentence."
    • "This is longer sentence with more words and it is harder to follow than the first sentence."
  • Чим більше складів у середньому слові, тим важче читати текст
    • "I live in my home."
    • "I reside in my domicile."
  • Вищий бал — краща читабельність
Інженерія ознак для NLP у Python

Інтерпретація бала Flesch reading ease

Бал читабельності Рівень класу
90-100 5
80-90 6
70-80 7
60-70 8-9
50-60 10-12
30-50 College
0-30 College Graduate
Інженерія ознак для NLP у Python

Індекс туманності Ганнінга

  • Розроблено 1954 року
  • Також залежить від середньої довжини речення
  • Чим більша частка складних слів, тим важче читати текст
  • Вищий індекс — гірша читабельність
Інженерія ознак для NLP у Python

Інтерпретація індексу Ганнінга

Fog index Рівень класу
17 College graduate
16 College senior
15 College junior
14 College sophomore
13 College freshman
12 High school senior
11 High school junior
Fog index Рівень класу
10 High school sophomore
9 High school freshman
8 Eighth grade
7 Seventh grade
6 Sixth grade
Інженерія ознак для NLP у Python

Бібліотека 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
Інженерія ознак для NLP у Python

Давайте потренуємось!

Інженерія ознак для NLP у Python

Preparing Video For Download...