가독성 테스트

Python으로 배우는 NLP 피처 엔지니어링

Rounak Banik

Data Scientist

가독성 테스트 개요

  • 영어 지문의 가독성 판단
  • 범위: 초등부터 대학 졸업 수준까지
  • 단어·음절·문장 수를 쓰는 수식
  • 가짜 뉴스·의견 스팸 탐지에 사용
Python으로 배우는 NLP 피처 엔지니어링

가독성 테스트 예시

  • Flesch 읽기 용이성
  • 거닝 포그 지수
  • SMOG (Simple Measure of Gobbledygook)
  • 데일-찰 점수
Python으로 배우는 NLP 피처 엔지니어링

가독성 테스트 예시

  • Flesch 읽기 용이성
  • 거닝 포그 지수
  • Simple Measure of Gobbledygook (SMOG)
  • 데일-찰 점수
Python으로 배우는 NLP 피처 엔지니어링

Flesch 읽기 용이성

  • 가장 오래되고 널리 쓰이는 테스트 중 하나
  • 평균 문장 길이가 길수록 읽기 어렵다
    • "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."
  • 점수가 높을수록 가독성 높음
Python으로 배우는 NLP 피처 엔지니어링

Flesch 읽기 용이성 점수 해석

읽기 용이성 점수 학년 수준
90-100 5
80-90 6
70-80 7
60-70 8-9
50-60 10-12
30-50 대학
0-30 대학 졸업
Python으로 배우는 NLP 피처 엔지니어링

거닝 포그 지수

  • 1954년에 개발됨
  • 평균 문장 길이에도 좌우됨
  • 복잡한 단어 비율이 높을수록 읽기 어려움
  • 지수가 높을수록 가독성 낮음
Python으로 배우는 NLP 피처 엔지니어링

거닝 포그 지수 해석

포그 지수 학년 수준
17 대학 졸업
16 대학 4학년
15 대학 3학년
14 대학 2학년
13 대학 1학년
12 고등학교 3학년
11 고등학교 2학년
포그 지수 학년 수준
10 고등학교 1학년
9 중학교 3학년
8 중학교 2학년
7 중학교 1학년
6 초등학교 6학년
Python으로 배우는 NLP 피처 엔지니어링

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
Python으로 배우는 NLP 피처 엔지니어링

연습해 봅시다!

Python으로 배우는 NLP 피처 엔지니어링

Preparing Video For Download...