aibox.nlp.cache.mixed_feature_cache

Cache para múltiplos extratores de características.

Classes

MixedFeatureCache(target_features[, ...])

Cache características com diferentes schemas.

class aibox.nlp.cache.mixed_feature_cache.MixedFeatureCache(target_features: set[str], initial_cache: dict[str, dict[str, float]] | None = None, max_limit: int = 0)[código-fonte]

Base: FeatureCache

Cache características com diferentes schemas.

Parâmetros:
  • target_features (set[str]) – conjunto de características target (i.e., retornadas no get()).

  • initial_cache (dict[str, dict[str, float]]) – cache inicial. Mapeia textos para um conjunto de características.

  • max_limit (int) – limite de entradas no cache. Se <= 0, nenhum limite é aplicado.

Essa classe permite que múltiplos extratores de características compartilhem de um mesmo cache/memória.

É crucial que quando um extrator deseje utilizar a memória, o atributo target_features seja atualizada com o conjunto de características esperado.

property target_features: set[str]

Conjunto de características esperado ao se utilizar o método get().

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]