aibox.nlp.features.portuguese.bert_similarity

Características de similaridade entre textos baseadas no BERT.

Classes

BERTSimilarityExtractor(reference_text[, ...])

Extrator de similaridade entre textos baseado nos Embeddings do BERT.

BERTSimilarityFeatures(bert_similarity_cosine)

Características de similaridade.

class aibox.nlp.features.portuguese.bert_similarity.BERTSimilarityFeatures(bert_similarity_cosine: float)[código-fonte]

Base: DataclassFeatureSet

Características de similaridade.

Parâmetros:

bert_similarity_cosine (float) – similaridade cosseno entre os embeddings do BERT para dois textos.

as_dict() dict[str, float]

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]

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

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]

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.features.portuguese.bert_similarity.BERTSimilarityExtractor(reference_text: str, bert_model: SentenceTransformer | None = None, device: str | None = None)[código-fonte]

Base: FeatureExtractor

Extrator de similaridade entre textos baseado nos Embeddings do BERT.

Parâmetros:
  • reference_text (str) – texto de referência para calcular similaridade.

  • bert_model (SentenceTransformer) – modelo do BERT a ser adotado. Defaults to “neuralmind/bert-base-portuguese-cased”.

  • device (str | None) – dispositivo a ser utilizado.

Exemplo de uso em FeatureExtractor

property feature_set: type[BERTSimilarityFeatures]

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, **kwargs) BERTSimilarityFeatures[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:

BERTSimilarityFeatures

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