Texto Transformer: Framework para processamento de textos utilizando modelos de linguagem baseados baseados em Transformer
Project description
Texto-Transformer: Framework para processamento de textos utilizando modelos de linguagem baseados baseados em Transformer
Este framework realiza o processamento de textos utilizando modelos de linguagem baseados em transformer. Permite gerar embeddings de textos, sentenças, palavras e tokens utilizando modelos contextualizados de linguagem baseados em Transformer. Os embeddings de textos, sentenças e palavras podem ser consolidados utilizando as estratégias de pooling média e máximo dos tokens.
Instalação
Recomendamos Python 3.6, PyTorch 1.6.0 e transformers 4.26.1 e spaCy 3.5.2.
Instalação com pip
Para instalar o pacote utilizando o pip, basta executar o comando abaixo:
$ pip install texto-transformer
Instalação dos fontes
Você também pode clonar a versão mais recente do repositório e instalá-la diretamente do código-fonte:
$ pip install -e .
O comando deve ser executado no diretório onde foi realizado o download do repositório.
Exemplo simples de uso
# Importa a classe
from textotransformer import TextoTransformer
# Instância uma objeto e baixa o modelo de linguagem
modelo = TextoTransformer("neuralmind/bert-base-portuguese-cased")
# Alguns textos a serem codificados
textos = ["Bom Dia, professor.",
"Qual o conteúdo da prova?",
"Vai cair tudo na prova?",
"Aguardo uma resposta, João."]
# Recupera os embeddings consolidados dos textos
embeddings_texto = modelo.getEmbeddingTexto(textos)
# Mostra os textos e seus embeddings
for texto, embedding in zip(texto, embeddings_texto):
print("Texto:", texto)
print("Embedding:", embedding)
print("")
#Texto: Bom Dia, professor.
#Embedding: tensor([ 1.3736e-01, 6.1996e-02, 3.2554e-01, -3.1146e-02, 3.5892e-01,...
#Texto: Qual o conteúdo da prova?
#Embedding: tensor([ 8.3348e-02, -1.8269e-01, 5.9241e-01, -9.5235e-02, 5.0978e-01,...
#Texto: Vai cair tudo na prova?
#Embedding: tensor([ 1.3447e-01, 1.1854e-01, 6.0201e-02, 1.0271e-01, 2.6321e-01,...
#Texto: Aguardo uma resposta, João.
#Embedding: tensor([ 3.7160e-02, -7.3645e-02, 3.3942e-01, 8.0847e-02, 3.8259e-01,...
Métodos principais:
Métodos principais para recuperar embeddings de textos, sentenças, palavras e tokens. Os embeddings de textos, sentenças e palavras podem ser consolidados pelas estratégias de pooling média (MEAN) e máximo (MAX) dos embeddings de seus tokens.
-
getEmbeddingTexto(texto: Union[str, List[str]], estrategia_pooling)
- Retorna uma lista dos embeddings consolidados dos textos.
- Parâmetros:
texto
: Um texto ou uma lista de textos para obter os embeddings.estrategia_pooling
: Especifica a estratégia de pooling dos tokens do texto. Valores possívels 0 - MEAN ou 1 - MAX. Valor default 0(MEAN).
-
getEmbeddingSentenca(texto: Union[str, List[str]], estrategia_pooling)
- Retorna uma lista dos embeddings consolidados das sentenças dos textos.
- Parâmetros:
texto
: Um texto ou uma lista de textos para obter os embeddings.estrategia_pooling
: Especifica a estratégia de pooling dos tokens do texto. Valores possívels 0 - MEAN ou 1 - MAX. Valor default 0(MEAN).
-
getEmbeddingPalavra(texto: Union[str, List[str]], estrategia_pooling)
- Retorna uma lista dos embeddings consolidados das palavras dos textos.
- Parâmetros:
texto
: Um texto ou uma lista de textos para obter os embeddings.estrategia_pooling
: Especifica a estratégia de pooling dos tokens do texto. Valores possívels 0 - MEAN ou 1 - MAX. Valor default 0(MEAN).
-
getEmbeddingToken(texto: Union[str, List[str]])
- Retorna uma lista dos embeddings dos tokens dos textos.
- Parâmetros:
texto
: Um texto ou uma lista de textos para obter os embeddings.
Modelos Pré-treinados
A lista completa dos modelos de linguagem pré-treiandos podem ser consultados no site da Huggingface.
Dependências
- transformers==4.26.1
- spacy==3.5.2
- tqdm==4.65.0
Licença
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for texto_transformer-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40a40449d65d681104aaa3232df0fd342dee3adf979882f8186708916dd0a3aa |
|
MD5 | d731213a53075c4282394ec22674b47a |
|
BLAKE2b-256 | 565bf89746f57582a9562367f1ffb8ac30ed7a1eab28ed2c9afd7c38124a24f6 |