aibox.nlp.core.vectorizer

Interface para vetorizadores.

Classes

TrainableVectorizer()

Representação de um vetorizador treinável (e.g., TF-IDF, BERT).

Vectorizer()

Interface para vetorizadores.

class aibox.nlp.core.vectorizer.Vectorizer[código-fonte]

Base: ABC

Interface para vetorizadores.

Um vetorizador consegue converter textos (str) para uma representação numérica (vetor e/ou tensor).

from aibox.nlp.core import Vectorizer

# Exemplo de uso para classes concretas
vectorizer = Vectorizer()
text = "Esse é um texto de exemplo."

# Realizando a vetorização
vectorizer.vectorize(text, "numpy")
vectorize(text: str | list[str] | ndarray[str_], vector_type: str = 'numpy', device: str | None = None, **kwargs) ndarray | Tensor[código-fonte]

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

class aibox.nlp.core.vectorizer.TrainableVectorizer[código-fonte]

Base: Vectorizer

Representação de um vetorizador treinável (e.g., TF-IDF, BERT).

Esse é um vetorizador que requer treinamento antes de ser utilizável diretamente. Apesar de possuir um método fit(), não deve ser confundido com Estimator.

O comportamento do método vectorize() não é definido caso o vetorizador não tenha sido treinado.

from aibox.nlp.core import TrainableVectorizer

# Exemplo de uso para classes concretas
vectorizer = TrainableVectorizer()
train = ["Texto de treinamento 1.", "Texto de treinamento 2."]
text = "Esse é um texto de exemplo."

# Treinamento da classe
vectorizer.fit(train)

# Realizando a vetorização
vectorizer.vectorize(text, "numpy")
fit(X: list[str] | ndarray[str_], y: None = None, **kwargs) None[código-fonte]

Método para treinamento do vetorizador. O valor de y não é utilizado, só é mantido por consistência da interface fit(X, y).

Parâmetros:
  • X (list[str] | ndarray[str_]) – array-like de strings com formato (n_samples,).

  • y (None) – desconsiderado. Existe para compatibilidade com outras classes que implementam o método com mesmo nome.

  • **kwargs – configurações extras que alguns vetorizadores treináveis podem utilizar.

Tipo de retorno:

None

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