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(textos, embeddings_texto):
print("Texto:", texto)
print("Embedding:", embedding)
print("")
#Resultado
#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,...
O exemplo pode ser executado no notebook do GoogleColab ExemplosTextoTransformer.ipynb.
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: int)
- 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: int)
- 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: int)
- 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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 745b50115cb73d443d691be782bd094c9a904909312aa9f7aa598906e52b649c |
|
MD5 | e8de68db6236b423c9b2c541e4a6a6b1 |
|
BLAKE2b-256 | d006618106b78cfc1f675f4b061c0395ae15ca9cc0a9e9d56e9d9654b0eb0756 |