Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

texto_transformer-0.0.3.tar.gz (149.4 kB view hashes)

Uploaded Source

Built Distribution

texto_transformer-0.0.3-py3-none-any.whl (39.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page