aibox.nlp.core.feature_extractor

Entidades de extração de características.

Classes

FeatureExtractor()

Representa um extrator de características, que possibilita extrair um conjunto de características de um texto passado como entrada.

FeatureSet(**kw_features)

Representa um conjunto de características para um texto.

class aibox.nlp.core.feature_extractor.FeatureSet(**kw_features)[código-fonte]

Base: ABC

Representa um conjunto de características para um texto.

Parâmetros:

**kw_features – conjunto de pares de característica e valor (float).

Todas as características possuem um nome e todos os resultados são ordenados seguindo a ordem lexicográfica.

abstract as_dict() dict[str, float][código-fonte]

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][código-fonte]

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[código-fonte]

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][código-fonte]

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.core.feature_extractor.FeatureExtractor[código-fonte]

Base: Vectorizer

Representa um extrator de características, que possibilita extrair um conjunto de características de um texto passado como entrada.

Todo extrator de características é um Vectorizer, ou seja, permite converter um texto para uma representação numérica.

from aibox.nlp.core.feature_extractor import FeatureSet, FeatureExtractor

# Exemplo de uso para classes concretas
extractor = FeatureExtractor()
text = "Texto de exemplo"

# Extração de características
features: FeatureSet = extractor.extract(text)

# Lendo as features como um dicionário
print(features.as_dict())
abstract property feature_set: type[FeatureSet]

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.

abstract extract(text: str, **kwargs) FeatureSet[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:

FeatureSet

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