aibox.nlp.features.portuguese.readability

Características de legibilidade.

Classes

ReadabilityExtractor([nlp])

Extrator de características de legibilidade.

ReadabilityFeatures(brunet_indice, ...)

Características de legibilidade.

class aibox.nlp.features.portuguese.readability.ReadabilityFeatures(brunet_indice: float, adapted_dalechall: float, flesch_indice: float, gunning_fox_indice: float, honore_statistics: float, readibility_indice: float, token_var_idx: float)[código-fonte]

Base: DataclassFeatureSet

Características de legibilidade.

Para mais informações sobre as características, checar as referências.

Referências:

[1]: Oliveira, H., Miranda, P., Isotani, S., Santos, J., Cordeiro, T., Bittencourt, I. I., & Ferreira Mello, R. (2022). Estimando Coesão Textual em Redações no Contexto do ENEM Utilizando Modelos de Aprendizado de Máquina. In Anais do XXXIII Simpósio Brasileiro de Informática na Educação (SBIE 2022) (pp. 883–894). Simpósio Brasileiro de Informática na Educação. Sociedade Brasileira de Computação - SBC.

`[2] <https://doi.org/10.5753/sbie.2024.242747 >`_: Rosa, B. A., Oliveira, H., Mello, R. F., & Oliveira, E. A. (2024). Combinação de Modelos de Aprendizado de Máquina utilizando Teoria de Resposta ao Item para Avaliação de Coesão Textual em Redações no contexto do ENEM. In Anais do XXXV Simpósio Brasileiro de Informática na Educação (SBIE 2024) (pp. 1999–2012). Simpósio Brasileiro de Informática na Educação. Sociedade Brasileira de Computação - SBC.

Parâmetros:
as_dict() dict[str, float]

Retorna os valores das características desse conjunto para um dado texto.

Retorna:

características contidas nesse FeatureSet para um dado texto.

Tipo de retorno:

dict[str, float]

as_numpy() ndarray[float32]

Retorna as características como uma NumPy array. Os valores de cada índice são correspondentes às características na ordem de names().

Retorna:

array de np.float32 representando os valores das características.

Tipo de retorno:

ndarray[float32]

as_tensor(device: str | None = None) Tensor

Retorna as características como um tensor. Os valores de cada índice são correspondentes às características na ordem de names().

Parâmetros:

device (str, opcional) – dispositivo de armazenamento.

Retorna:

Tensor do torch representado os valores das características.

Tipo de retorno:

Tensor

names() list[str]

Retorna os nomes das características em ordem lexicográfica. Todos os outros métodos apresentam os valores conforme essa ordem.

Retorna:

nome das características desse conjunto.

Tipo de retorno:

list[str]

class aibox.nlp.features.portuguese.readability.ReadabilityExtractor(nlp: Language | None = None)[código-fonte]

Base: FeatureExtractor

Extrator de características de legibilidade.

Parâmetros:

nlp (Language | None) – modelo do spaCy a ser utilizado. Defaults to “pt_core_news_md”

Exemplo de uso em FeatureExtractor

property feature_set: type[ReadabilityFeatures]

Retorna a classe que contém o conjunto de características retornado por esse extrator.

Retorna:

classe do conjunto de características retornado por esse extrator.

extract(text: str, **kwargs) ReadabilityFeatures[código-fonte]

Realiza a extração de características para o texto de entrada.

Parâmetros:
  • text (str) – texto.

  • **kwargs – argumentos extras que pode ser utilizados por alguns extratores para controlar o processo de extração.

Retorna:

características para o texto de entrada.

Tipo de retorno:

ReadabilityFeatures

compute_brunet_indice(doc) float[código-fonte]

Método que computa a estatística de Brunet é uma forma de type/token ratio menos sensível ao tamanho do texto. Eleva-se o número de types à constante -0,165 e depois eleva-se o número de tokens a esse resultado.

Tipo de retorno:

float

compute_adapted_dalechall(doc) float[código-fonte]

Método que computa a fórmula de leiturabilidade de Dalechall adaptada combina a quantidade de palavras não familiares com a quantidade média de palavras por sentença.

Palavras não familiares” são aquelas que não constam do vocabulário básico conhecido por alunos do quarto ano. Para fins dessa métrica, foram utilizadas as entradas do Dicionário de Palavras Simples de Maria Tereza Biderman.

Tipo de retorno:

float

compute_flesch_indice(doc) float[código-fonte]

Método que computa o índice de Leiturabilidade de Flesch busca uma correlação entre tamanhos médios de palavras e sentenças.

Tipo de retorno:

float

compute_gunning_fox_indice(doc) float[código-fonte]

Método que computa o índice de leiturabilidade Gunning Fog (também conhecido como Gunning FoX) soma a quantidade média de palavras por sentença ao percentual de palavras difíceis no texto e multiplica tudo por 4. O resultado está diretamente ligado aos 12 níveis do ensino americano. Índices superiores a 12 representam textos extremamente complexos.

Tipo de retorno:

float

compute_honore_statistics(doc) float[código-fonte]

Método que computa a estatística de Honoré que é um tipo de type/token ratio que leva em consideração, além da quantidade de types e tokens, a quantidade de hapax legomena.

Tipo de retorno:

float

compute_readibility_indice(doc) float[código-fonte]

Método que computa índice de leiturabilidade do texto que leva em consideração a média de palavras por frase e a média de caracteres por palavra.

Tipo de retorno:

float

compute_token_var_idx(doc) float[código-fonte]

Método que computa índice de variação da quantidade de palavras do texto.

Tipo de retorno:

float

vectorize(text: str | list[str] | ndarray[str_], vector_type: str = 'numpy', device: str | None = None, **kwargs) ndarray | Tensor

Método para vetorização de textos. A vetorização de múltiplos textos é realizada de forma paralela sempre que possível.

Aceita os campos n_workers (default=`min(4, cpu_count)`) e show_bar (default=`true`) quando array-like de string. Demais parâmetros são passados para _vectorize().

n_workers é utilizado quando a implementação utiliza multiprocessing. Caso n_workers <= 1, um for.

Parâmetros:
  • text (str | list[str] | ndarray[str_]) – texto ou textos de entrada.

  • vector_type (str, opcional) – tipo do vetor de saída (‘numpy ou ‘torch’).

  • device (str, opcional.) – dispositivo para armazenamento do tensor Torch. Padrão é CPU.

  • **kwargs – parâmetros extras que podem ser utilizados por alguns vetorizadores para controlar o processo de vetorização.

Retorna:

representação numérica do texto.

Tipo de retorno:

ndarray | Tensor