[![ci](https://github.com/amenezes/text-grade/actions/workflows/ci.yml/badge.svg)](https://github.com/amenezes/text-grade/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/amenezes/text-grade/branch/master/graph/badge.svg)](https://codecov.io/gh/amenezes/text-grade)
[![PyPI version](https://badge.fury.io/py/text-grade.svg)](https://badge.fury.io/py/text-grade)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/text-grade)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
# text-grade
A Python tool to assist text analysis.
## Usage
``` py
import logging
import spacy
from text_grade import Document, formulas
logging.basicConfig(level=logging.DEBUG)
TEXTO = """
O algoritmo de Flesch é uma fórmula matemática que é usada para avaliar a legibilidade de um texto em inglês. Ele foi desenvolvido por Rudolf Flesch, um escritor e lexicógrafo austríaco, e é comumente usado por editores, escritores e professores para avaliar a qualidade e a facilidade de leitura de um texto.
A fórmula do algoritmo de Flesch usa duas medidas básicas do texto: o número de palavras e o número de sentenças. Ele também usa o número de sílabas em cada palavra e o número de palavras com duas ou mais sílabas. A partir dessas informações, o algoritmo calcula duas pontuações:
O Índice de Legibilidade de Flesch: esta pontuação varia de 0 a 100 e é baseada no número de palavras e sentenças do texto. Quanto maior a pontuação, mais fácil é o texto de ler.
A Fórmula de Facilidade de Leitura de Flesch: esta pontuação varia de 0 a 100 e é baseada no número de sílabas em cada palavra e no número de palavras com duas ou mais sílabas. Quanto maior a pontuação, mais fácil é o texto de ler.
Para calcular a pontuação do Índice de Legibilidade de Flesch, utiliza-se a seguinte fórmula:
206,835 - (1,015 x número médio de palavras por sentença) - (84,6 x número médio de sílabas por palavra)
Para calcular a pontuação da Fórmula de Facilidade de Leitura de Flesch, utiliza-se a seguinte fórmula:
(0,39 x número médio de palavras por sentença) + (11,8 x número médio de sílabas por palavra) - 15,59
Ambas as pontuações podem ser usadas para avaliar a legibilidade do texto. Em geral, um índice de legibilidade de Flesch de 60 a 70 é considerado fácil de ler para a maioria das pessoas, enquanto uma pontuação de 30 a 50 é considerada difícil. Já a fórmula de facilidade de leitura de Flesch geralmente produz uma pontuação entre 0 e 100, com textos mais fáceis de ler apresentando uma pontuação mais alta.
"""
nlp = spacy.load('pt_core_news_sm')
doc = nlp(TEXTO)
document = Document(doc)
# sentences
print(document.sentences)
# syllables
print(document.syllables)
# words
print(document.words)
score = formulas.flesch_index_pt_br(document)
print(score)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/amenezes/text-grade",
"name": "text-grade",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": "",
"keywords": "\"nlp\",\"spacy\",\"natural-language-processing\"",
"author": "Alexandre Menezes",
"author_email": "alexandre.fmenezes@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/8f/ae/b2f5b8d011cd2fc712be5c15b35bd4eb3c512f36a0016083eeac0b431224/text-grade-0.2.0.tar.gz",
"platform": null,
"description": "[![ci](https://github.com/amenezes/text-grade/actions/workflows/ci.yml/badge.svg)](https://github.com/amenezes/text-grade/actions/workflows/ci.yml)\n[![codecov](https://codecov.io/gh/amenezes/text-grade/branch/master/graph/badge.svg)](https://codecov.io/gh/amenezes/text-grade)\n[![PyPI version](https://badge.fury.io/py/text-grade.svg)](https://badge.fury.io/py/text-grade)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/text-grade)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\n# text-grade\n\nA Python tool to assist text analysis.\n\n## Usage\n\n``` py\nimport logging\n\nimport spacy\n\nfrom text_grade import Document, formulas\n\n\nlogging.basicConfig(level=logging.DEBUG)\n\nTEXTO = \"\"\"\nO algoritmo de Flesch \u00e9 uma f\u00f3rmula matem\u00e1tica que \u00e9 usada para avaliar a legibilidade de um texto em ingl\u00eas. Ele foi desenvolvido por Rudolf Flesch, um escritor e lexic\u00f3grafo austr\u00edaco, e \u00e9 comumente usado por editores, escritores e professores para avaliar a qualidade e a facilidade de leitura de um texto.\n\nA f\u00f3rmula do algoritmo de Flesch usa duas medidas b\u00e1sicas do texto: o n\u00famero de palavras e o n\u00famero de senten\u00e7as. Ele tamb\u00e9m usa o n\u00famero de s\u00edlabas em cada palavra e o n\u00famero de palavras com duas ou mais s\u00edlabas. A partir dessas informa\u00e7\u00f5es, o algoritmo calcula duas pontua\u00e7\u00f5es:\n\nO \u00cdndice de Legibilidade de Flesch: esta pontua\u00e7\u00e3o varia de 0 a 100 e \u00e9 baseada no n\u00famero de palavras e senten\u00e7as do texto. Quanto maior a pontua\u00e7\u00e3o, mais f\u00e1cil \u00e9 o texto de ler.\n\nA F\u00f3rmula de Facilidade de Leitura de Flesch: esta pontua\u00e7\u00e3o varia de 0 a 100 e \u00e9 baseada no n\u00famero de s\u00edlabas em cada palavra e no n\u00famero de palavras com duas ou mais s\u00edlabas. Quanto maior a pontua\u00e7\u00e3o, mais f\u00e1cil \u00e9 o texto de ler.\n\nPara calcular a pontua\u00e7\u00e3o do \u00cdndice de Legibilidade de Flesch, utiliza-se a seguinte f\u00f3rmula:\n\n206,835 - (1,015 x n\u00famero m\u00e9dio de palavras por senten\u00e7a) - (84,6 x n\u00famero m\u00e9dio de s\u00edlabas por palavra)\n\nPara calcular a pontua\u00e7\u00e3o da F\u00f3rmula de Facilidade de Leitura de Flesch, utiliza-se a seguinte f\u00f3rmula:\n\n(0,39 x n\u00famero m\u00e9dio de palavras por senten\u00e7a) + (11,8 x n\u00famero m\u00e9dio de s\u00edlabas por palavra) - 15,59\n\nAmbas as pontua\u00e7\u00f5es podem ser usadas para avaliar a legibilidade do texto. Em geral, um \u00edndice de legibilidade de Flesch de 60 a 70 \u00e9 considerado f\u00e1cil de ler para a maioria das pessoas, enquanto uma pontua\u00e7\u00e3o de 30 a 50 \u00e9 considerada dif\u00edcil. J\u00e1 a f\u00f3rmula de facilidade de leitura de Flesch geralmente produz uma pontua\u00e7\u00e3o entre 0 e 100, com textos mais f\u00e1ceis de ler apresentando uma pontua\u00e7\u00e3o mais alta.\n\"\"\"\n\nnlp = spacy.load('pt_core_news_sm')\ndoc = nlp(TEXTO)\ndocument = Document(doc)\n\n# sentences\nprint(document.sentences)\n\n# syllables\nprint(document.syllables)\n\n# words\nprint(document.words)\n\nscore = formulas.flesch_index_pt_br(document)\n\nprint(score)\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A Python tool to assist text analysis.",
"version": "0.2.0",
"project_urls": {
"Changes": "https://github.com/amenezes/text-grade/releases",
"Code": "https://github.com/amenezes/text-grade",
"Documentation": "https://github.com/amenezes/text-grade",
"Homepage": "https://github.com/amenezes/text-grade",
"Issue tracker": "https://github.com/amenezes/text-grade/issues"
},
"split_keywords": [
"\"nlp\"",
"\"spacy\"",
"\"natural-language-processing\""
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e8184531104a64d6518f479578e7d282ca4a47135aefecd790f6fbd8ea0397ba",
"md5": "74e1977c2e95089ea0f8c17b8fa98cea",
"sha256": "10d256b842b45c3dc999aad9902a6379822193ecf28acb591fab8e675f371045"
},
"downloads": -1,
"filename": "text_grade-0.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "74e1977c2e95089ea0f8c17b8fa98cea",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.11",
"size": 9940,
"upload_time": "2023-11-23T20:47:04",
"upload_time_iso_8601": "2023-11-23T20:47:04.761891Z",
"url": "https://files.pythonhosted.org/packages/e8/18/4531104a64d6518f479578e7d282ca4a47135aefecd790f6fbd8ea0397ba/text_grade-0.2.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8faeb2f5b8d011cd2fc712be5c15b35bd4eb3c512f36a0016083eeac0b431224",
"md5": "f0f2e0b86564a0c236b416c8d3aaded0",
"sha256": "cf40b6dcb3e0b7a157a80e50bc1c5541c7137ddd4bd77da41ee69e45abe7bdee"
},
"downloads": -1,
"filename": "text-grade-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "f0f2e0b86564a0c236b416c8d3aaded0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 9627,
"upload_time": "2023-11-23T20:47:06",
"upload_time_iso_8601": "2023-11-23T20:47:06.679018Z",
"url": "https://files.pythonhosted.org/packages/8f/ae/b2f5b8d011cd2fc712be5c15b35bd4eb3c512f36a0016083eeac0b431224/text-grade-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-23 20:47:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "amenezes",
"github_project": "text-grade",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "text-grade"
}