Skip to content

brunorreiss/GloVe_Embeddings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

Geração de Texto com Redes Neurais e Embeddings GloVe

Este projeto demonstra como treinar um modelo de rede neural para geração de texto utilizando embeddings de palavras pretreinados (GloVe) e um modelo LSTM. O código está implementado em Python usando a biblioteca Keras.

Sumário

  1. Importação de Bibliotecas
  2. Download e Extração dos Vetores de Palavras GloVe
  3. Função para Mostrar as Primeiras Linhas de um Arquivo
  4. Processamento de Texto e Tokenização
  5. Preparação de Sequências para Treinamento
  6. Carregamento dos Vetores de Palavras GloVe
  7. Função para Imprimir os Primeiros Itens de um Dicionário
  8. Criação da Matriz de Embeddings
  9. Construção do Modelo de Rede Neural
  10. Compilação do Modelo
  11. Treinamento do Modelo
  12. Função para Geração de Texto
  13. Geração de Texto com o Modelo Treinado

Importação de Bibliotecas

As bibliotecas necessárias são importadas para manipulação de dados, processamento de texto, construção de modelo e download de arquivos.

Download e Extração dos Vetores de Palavras GloVe

Os vetores de palavras GloVe são baixados e descompactados se ainda não estiverem presentes no diretório especificado. Esta etapa é crucial para utilizar embeddings de palavras pretreinados em nosso modelo.

Função para Mostrar as Primeiras Linhas de um Arquivo

Uma função é definida para abrir um arquivo e exibir as primeiras linhas, permitindo uma rápida inspeção do conteúdo do arquivo.

Processamento de Texto e Tokenização

Um texto de entrada é definido e tokenizado, convertendo-o em uma sequência de números inteiros que representam as palavras no vocabulário.

Preparação de Sequências para Treinamento

As sequências de entrada e os rótulos são preparados para o treinamento da rede neural, com as entradas consistindo em subsequências de palavras e os rótulos sendo a próxima palavra na sequência.

Carregamento dos Vetores de Palavras GloVe

Os vetores de palavras do GloVe são carregados em um dicionário, onde as chaves são as palavras e os valores são os vetores de embeddings correspondentes.

Função para Imprimir os Primeiros Itens de um Dicionário

Uma função é fornecida para imprimir os primeiros itens de um dicionário, permitindo a inspeção rápida do conteúdo do dicionário de embeddings.

Criação da Matriz de Embeddings

Uma matriz de embeddings é criada e preenchida com os vetores de palavras do GloVe para as palavras no vocabulário do texto de entrada.

Construção do Modelo de Rede Neural

Um modelo sequencial é construído com uma camada de embeddings, uma camada LSTM e uma camada densa com ativação softmax para predição das próximas palavras.

Compilação do Modelo

O modelo é compilado utilizando o otimizador Adam e a função de perda categorical_crossentropy, configurando-o para treinamento.

Treinamento do Modelo

O modelo é treinado por 300 épocas com os dados de entrada preparados, ajustando os pesos para minimizar a função de perda.

Função para Geração de Texto

Uma função é definida para gerar uma sequência de texto a partir de um texto inicial utilizando o modelo treinado. A função ajusta a predição com base na diversidade para controlar a aleatoriedade na escolha das próximas palavras.

Geração de Texto com o Modelo Treinado

O modelo treinado é utilizado para gerar e imprimir uma sequência de texto com 10 palavras a partir de um texto inicial fornecido.


Text Generation with Neural Networks and GloVe Embeddings

This project demonstrates how to train a neural network model for text generation using pre-trained GloVe word embeddings and an LSTM model. The code is implemented in Python using the Keras library.

Table of Contents

  1. Importing Libraries
  2. Downloading and Extracting GloVe Word Vectors
  3. Function to Show First Lines of a File
  4. Text Processing and Tokenization
  5. Preparing Sequences for Training
  6. Loading GloVe Word Vectors
  7. Function to Print First Items of a Dictionary
  8. Creating the Embedding Matrix
  9. Building the Neural Network Model
  10. Compiling the Model
  11. Training the Model
  12. Text Generation Function
  13. Generating Text with the Trained Model

Importing Libraries

The necessary libraries are imported for data manipulation, text processing, model building, and file downloading.

Downloading and Extracting GloVe Word Vectors

The GloVe word vectors are downloaded and extracted if they are not already present in the specified directory. This step is crucial for using pre-trained word embeddings in our model.

Function to Show First Lines of a File

A function is defined to open a file and display the first few lines, allowing for a quick inspection of the file's content.

Text Processing and Tokenization

An input text is defined and tokenized, converting it into a sequence of integers representing the words in the vocabulary.

Preparing Sequences for Training

Input sequences and labels are prepared for training the neural network, with inputs consisting of subsequences of words and labels being the next word in the sequence.

Loading GloVe Word Vectors

The GloVe word vectors are loaded into a dictionary where the keys are words and the values are the corresponding embedding vectors.

Function to Print First Items of a Dictionary

A function is provided to print the first few items of a dictionary, allowing for quick inspection of the embedding dictionary's content.

Creating the Embedding Matrix

An embedding matrix is created and filled with the GloVe word vectors for the words in the input text's vocabulary.

Building the Neural Network Model

A sequential model is built with an embedding layer, an LSTM layer, and a dense layer with softmax activation for predicting the next words.

Compiling the Model

The model is compiled using the Adam optimizer and the categorical_crossentropy loss function, setting it up for training.

Training the Model

The model is trained for 300 epochs with the prepared input data, adjusting weights to minimize the loss function.

Text Generation Function

A function is defined to generate a sequence of text from an initial seed text using the trained model. The function adjusts predictions based on diversity to control randomness in word selection.

Generating Text with the Trained Model

The trained model is used to generate and print a sequence of text with 10 words from a given initial seed text.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published