Uji keterbacaan

Rekayasa Fitur untuk NLP di Python

Rounak Banik

Data Scientist

Gambaran uji keterbacaan

  • Menentukan keterbacaan teks bahasa Inggris
  • Skala dari sekolah dasar hingga lulusan sarjana
  • Rumus matematis memakai hitungan kata, suku kata, dan kalimat
  • Dipakai dalam deteksi berita palsu dan spam opini
Rekayasa Fitur untuk NLP di Python

Contoh uji keterbacaan teks

  • Flesch reading ease
  • Indeks Gunning Fog
  • Simple Measure of Gobbledygook (SMOG)
  • Skor Dale–Chall
Rekayasa Fitur untuk NLP di Python

Contoh uji keterbacaan

  • Flesch reading ease
  • Indeks Gunning Fog
  • Simple Measure of Gobbledygook (SMOG)
  • Skor Dale–Chall
Rekayasa Fitur untuk NLP di Python

Flesch reading ease

  • Salah satu uji tertua dan paling umum dipakai
  • Semakin panjang rata-rata kalimat, semakin sulit dibaca
    • "This is a short sentence."
    • "This is longer sentence with more words and it is harder to follow than the first sentence."
  • Semakin banyak rata-rata suku kata per kata, semakin sulit dibaca
    • "I live in my home."
    • "I reside in my domicile."
  • Skor lebih tinggi berarti lebih mudah dibaca
Rekayasa Fitur untuk NLP di Python

Interpretasi skor Flesch reading ease

Skor kemudahan baca Tingkat kelas
90-100 5
80-90 6
70-80 7
60-70 8-9
50-60 10-12
30-50 Perguruan tinggi
0-30 Lulusan perguruan tinggi
Rekayasa Fitur untuk NLP di Python

Indeks Gunning Fog

  • Dikembangkan pada 1954
  • Juga bergantung pada rata-rata panjang kalimat
  • Semakin besar persentase kata kompleks, semakin sulit dibaca
  • Indeks lebih tinggi, keterbacaan lebih rendah
Rekayasa Fitur untuk NLP di Python

Interpretasi indeks Gunning Fog

Indeks Fog Tingkat kelas
17 Lulusan sarjana
16 Tahun ke-4 sarjana
15 Tahun ke-3 sarjana
14 Tahun ke-2 sarjana
13 Tahun ke-1 sarjana
12 Kelas 12 (SMA)
11 Kelas 11 (SMA)
Indeks Fog Tingkat kelas
10 Kelas 10 (SMA)
9 Kelas 9 (SMA)
8 Kelas 8
7 Kelas 7
6 Kelas 6
Rekayasa Fitur untuk NLP di Python

Pustaka 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
Rekayasa Fitur untuk NLP di Python

Ayo berlatih!

Rekayasa Fitur untuk NLP di Python

Preparing Video For Download...