text-grade


Nametext-grade JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/amenezes/text-grade
SummaryA Python tool to assist text analysis.
upload_time2023-11-23 20:47:06
maintainer
docs_urlNone
authorAlexandre Menezes
requires_python>=3.11
licenseApache-2.0
keywords "nlp" "spacy" "natural-language-processing"
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            [![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"
}
        
Elapsed time: 0.15762s