aibox.nlp.features.portuguese.nilc_similarity

Características clássicas de similaridade entre textos adotadas pelo NILC-Metrix.

Classes

NILCSimilarityExtractor(reference_text[, nlp])

Extrator de características de similaridade baseadas no NILC-Metrix.

NILCSimilarityFeatures(similarity_jaccard, ...)

Características de similaridade baseadas no NILC-Metrix.

class aibox.nlp.features.portuguese.nilc_similarity.NILCSimilarityFeatures(similarity_jaccard: float, similarity_dice: float, similarity_cosine_cbow: float, similarity_word_movers_cbow: float)[código-fonte]

Base: DataclassFeatureSet

Características de similaridade baseadas no NILC-Metrix.

Parâmetros:
  • similarity_jaccard (float) – similaridade Jaccard entre os tokens do texto de referência e texto de entrada.

  • similarity_dice (float) – similaridade dice entre os tokens do texto de referência e texto de entrada.

  • similarity_cosine_cbow (float) – similaridade cosseno com o Word2Vec CBOW do NILC-Metrix.

  • similarity_word_movers_cbow (float) – similaridade Word Movers com o Word2Vec CBOW do NILC-Metrix.

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.nilc_similarity.NILCSimilarityExtractor(reference_text: str, nlp: Language | None = None)[código-fonte]

Base: FeatureExtractor

Extrator de características de similaridade baseadas no NILC-Metrix.

Parâmetros:
  • reference_text (str) – texto de referência para similaridade.

  • nlp (Language) – modelo do spaCy a ser utilizado.

Exemplo de uso em FeatureExtractor

property feature_set: type[NILCSimilarityFeatures]

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) NILCSimilarityFeatures[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:

NILCSimilarityFeatures

static jaccard(tokens_x: list[str], tokens_y: list[str]) float[código-fonte]

Similaridade de jaccard.

Parâmetros:
  • tokens_x (list[str]) – lista de sentenças.

  • tokens_y (list[str]) – lista de sentenças.

Retorna:

similaridade.

Tipo de retorno:

float

static dice(tokens_x: list[str], tokens_y: list[str]) float[código-fonte]

Similaridade de dice.

Parâmetros:
  • tokens_x (list[str]) – lista de sentenças.

  • tokens_y (list[str]) – lista de sentenças.

Retorna:

similaridade.

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