aibox.nlp.vectorizers.fasttext_word_vectorizer
Vetorizador de palavras baseado nos modelos do Fasttext.
Classes
|
Estratégias para agregação dos word embeddings. |
|
Estratégias de tokenização do texto. |
|
Vetorização a nível de palavra baseada no FastText. |
- class aibox.nlp.vectorizers.fasttext_word_vectorizer.FTAggregationStrategy(value)[código-fonte]
Base:
Enum
Estratégias para agregação dos word embeddings.
- Parâmetros:
NONE – nenhuma agregação é realizada. O vetorizador produz uma saída com formato (n_words, dims).
AVERAGE – média de todas os word embeddings. O vetorizador produz uma saída com formato (dims,).
- class aibox.nlp.vectorizers.fasttext_word_vectorizer.FTTokenizerStrategy(value)[código-fonte]
Base:
Enum
Estratégias de tokenização do texto.
- Parâmetros:
SPACY – utiliza o spaCy para tokenização.
REGEX – utiliza um regex.
- class aibox.nlp.vectorizers.fasttext_word_vectorizer.FasttextWordVectorizer(aggregation: FTAggregationStrategy | str = FTAggregationStrategy.NONE, tokenizer: FTTokenizerStrategy | str = FTTokenizerStrategy.SPACY, nlp: Language | None = None, regex_tokenizer: str = '\\s+', language: str = 'pt', dims: int = 50)[código-fonte]
Base:
Vectorizer
Vetorização a nível de palavra baseada no FastText.
- Parâmetros:
aggregation (FTAggregationStrategy | str) – estratégia de agregação dos word embeddings.
tokenizer (FTTokenizerStrategy | str) – estratégia de tokenização.
nlp (Language | None) – modelo do spacy a ser utilizado se tokenização através do spaCy (ignorado do contrário).
regex_tokenizer (str) – regex a ser utilizado se tokenização por regex (ignorado do contrário).
language (str) – linguagem do modelo.
dims (int) – dimensões do embedding.
São utilizados os modelos pré-treinados do FastText. Atualmente, apenas a linguagem “pt” com 50 dimensões é suportada.
- O processo de vetorização ocorre da seguinte forma:
Tokenização utilizando a estratégia selecionada;
Cálculo dos word embeddings para cada token;
Agregação utilizando a estratégia selecionada;
from aibox.nlp.vectorizers.fasttext_word_vectorizer import FasttextWordVectorizer # Instanciando vectorizer = FasttextWordVectorizer() text = "Esse é um texto de exemplo" # Obtendo os vetores para cada palavra do texto. vectorizer.vectorize(text).shape # Out: (6, 50)
- 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: