aibox.nlp.cache.features

Cacheamento na extração de características.

Classes

CachedExtractor(extractor[, memory])

Extrator de características com memória.

DictFeatureCache([max_limit])

FeatureCache()

Interface básica para um cacheador de características.

class aibox.nlp.cache.features.FeatureCache[código-fonte]

Base: ABC

Interface básica para um cacheador de características.

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

Obtém o feature set para esse texto, caso exista no cache, ou retorna None.

Parâmetros:

text (str) – texto.

Retorna:

conjunto de características armazenadas ou None.

Tipo de retorno:

FeatureSet | None

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

Adiciona uma entrada no cache. O conjunto de características não precisa ser igual ao das demais entradas.

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

  • data (FeatureSet) – conjunto de características.

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

Retorna esse cache como um dicionário de textos para :py:class`~aibox.nlp.core.FeatureSet`.

Retorna:

dicionário com os textos cacheados.

Tipo de retorno:

dict[str, FeatureSet]

class aibox.nlp.cache.features.DictFeatureCache(max_limit: int = -1)[código-fonte]

Base: FeatureCache

Parâmetros:

max_limit (int)

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

Obtém o feature set para esse texto, caso exista no cache, ou retorna None.

Parâmetros:

text (str) – texto.

Retorna:

conjunto de características armazenadas ou None.

Tipo de retorno:

FeatureSet | None

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

Adiciona uma entrada no cache. O conjunto de características não precisa ser igual ao das demais entradas.

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

  • data (FeatureSet) – conjunto de características.

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

Retorna esse cache como um dicionário de textos para :py:class`~aibox.nlp.core.FeatureSet`.

Retorna:

dicionário com os textos cacheados.

Tipo de retorno:

dict[str, FeatureSet]

class aibox.nlp.cache.features.CachedExtractor(extractor: FeatureExtractor, memory: FeatureCache | None = None)[código-fonte]

Base: FeatureExtractor

Extrator de características com memória.

Parâmetros:

Essa classe tenta primeiro obter uma entrada da memória, caso não existe, realiza a extração de características e salva no cache.

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.

extract(text: str) 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