spacy_readability
spacy_readability copied to clipboard
spaCy pipeline component for adding text readability meta data to Doc objects.
spacy_readability
spaCy v2.0 pipeline component for calculating readability scores of of text. Provides scores for Flesh-Kincaid grade level, Flesh-Kincaid reading ease, Dale-Chall, and SMOG.
Installation
pip install spacy-readability
Usage
import spacy
from spacy_readability import Readability
nlp = spacy.load('en')
nlp.add_pipe(Readability())
doc = nlp("I am some really difficult text to read because I use obnoxiously large words.")
print(doc._.flesch_kincaid_grade_level)
print(doc._.flesch_kincaid_reading_ease)
print(doc._.dale_chall)
print(doc._.smog)
print(doc._.coleman_liau_index)
print(doc._.automated_readability_index)
print(doc._.forcast)
Readability Scores
Readability is the ease with which a reader can understand a written text. In natural language, the readability of text depends on its content (the complexity of its vocabulary and syntax) and its presentation (such as typographic aspects like font size, line height, and line length).
Popular Metrics
-
The Flesch formulas : - Flesch-Kincaid Readability Score
- Flesch-Kincaid Reading Ease
-
Dale-Chall formula
-
SMOG
-
Coleman-Liau Index
-
Automated Readability Index
-
FORCAST
Contributing
Setup
- Install Poetry
- Run
make setup
to prepare workspace
Testing
- Run
make test
to run all tests
Linting
- Run
make format
to run black code formatter - Run
make lint
to run pylint - Run
make mypy
to run mypy