aibox.nlp.cache.vectorizers

Cacheamento na vetorização de textos.

Classes

CachedVectorizer(vectorizer[, memory])

Vetorizador com memória auxiliar.

DictVectorizerCache([max_limit, initial_cache])

Cache para vetorizadores.

TrainableCachedVectorizer(vectorizer[, memory])

Vetorizador treinável com memória auxiliar.

VectorizerCache()

Interface básica para um cacheador de vetorizador.

class aibox.nlp.cache.vectorizers.VectorizerCache[código-fonte]

Base: ABC

Interface básica para um cacheador de vetorizador.

abstract get(text: str) ndarray | None[código-fonte]

Obtém a representação numérica para esse texto caso exista no cache, ou retorna None.

Parâmetros:

text (str) – texto.

Retorna:

representação numérica ou None.

Tipo de retorno:

ndarray | None

abstract save(text: str, data: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, overwrite: bool = False) bool[código-fonte]

Adiciona uma entrada no cache.

Parâmetros:
Retorna:

indica se foi realizado o salvamento ou não.

Tipo de retorno:

bool

as_dict() dict[str, list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor][código-fonte]

Retorna esse cache como um dicionário de textos para NumPy arrays.

Retorna:

dicionário com os textos cacheados.

Tipo de retorno:

dict[str, list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor]

class aibox.nlp.cache.vectorizers.DictVectorizerCache(max_limit: int = -1, initial_cache: dict[str, list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor] | None = None)[código-fonte]

Base: VectorizerCache

Cache para vetorizadores.

Parâmetros:
get(text: str) ndarray | None[código-fonte]

Obtém a representação numérica para esse texto caso exista no cache, ou retorna None.

Parâmetros:

text (str) – texto.

Retorna:

representação numérica ou None.

Tipo de retorno:

ndarray | None

save(text: str, data: ndarray, overwrite: bool = False) bool[código-fonte]

Adiciona uma entrada no cache.

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

  • data (ndarray) – representação numérica.

  • overwrite (bool) – se devemos sobrescrever caso o texto já esteja no cache.

Retorna:

indica se foi realizado o salvamento ou não.

Tipo de retorno:

bool

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

Retorna esse cache como um dicionário de textos para NumPy arrays.

Retorna:

dicionário com os textos cacheados.

Tipo de retorno:

dict[str, ndarray]

class aibox.nlp.cache.vectorizers.CachedVectorizer(vectorizer: Vectorizer, memory: VectorizerCache | None = None)[código-fonte]

Base: Vectorizer

Vetorizador com memória auxiliar.

Parâmetros:

Essa classe tenta primeiro obter uma entrada da memória, caso não exista, realiza a vetorização e salva no cache.

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

class aibox.nlp.cache.vectorizers.TrainableCachedVectorizer(vectorizer: TrainableVectorizer, memory: VectorizerCache | None = None)[código-fonte]

Base: TrainableVectorizer

Vetorizador treinável com memória auxiliar.

Parâmetros:

Essa classe tenta primeiro obter uma entrada da memória, caso não exista, realiza a vetorização e salva no cache.

O processo de treinamento não é impactado pela presença do cache. Nenhuma vetorização de texto é salvo durante o processo de treinamento.

fit(X: list[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor, 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[int] | list[float] | ndarray[int32] | ndarray[float32] | Tensor) – 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