aibox.nlp.vectorizers.bert_vectorizer

Vetorizador baseado no BERT.

Classes

BertVectorizer([sentence_bert_name, ...])

Vetorização através de Embeddings do BERT.

class aibox.nlp.vectorizers.bert_vectorizer.BertVectorizer(sentence_bert_name: str = 'neuralmind/bert-base-portuguese-cased', pooling_type: str = 'cls', max_seq_len: int = 512, do_lower_case: bool = False, tokenizer_name: str | None = None, batch_size: int = 32, show_progress_bar: bool = False, device: str | None = None, normalize_embeddings: bool = False)[código-fonte]

Base: Vectorizer

Vetorização através de Embeddings do BERT.

Parâmetros:
  • sentence_bert_name (str) – nome do modelo do BERT a ser utilizado.

  • pooling_type (str) – estratégia de pooling.

  • max_seq_len (int) – tamanho máximo da sequência.

  • do_lower_case (bool) – se a entrada deve ser convertida para lowercase.

  • tokenizer_name (str) – nome do tokenizador.

  • batch_size (int) – tamanho do batch.

  • show_progress_bar (bool) – se deve ser exibida uma barra de progresso.

  • device (str) – dispositivo a ser utilizado.

  • normalize_embeddings (bool) – se os embeddings devem ser normalizados.

from aibox.nlp.vectorizers.bert_vectorizer import BertVectorizer

# Instanciando modelo em CPU
vectorizer = BertVectorizer()
text = "Esse é um texto de exemplo."

# Obtendo a representação vetorial do texto
vectorizer.vectorize(text)
# Out: array([4.12135035e-01, ... -1.46901190e-01])

Essa classe aceita os seguintes argumentos para vectorize():

  • batch_size, permite utilizar um tamanho diferente do configurado

pelo construtor.
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