/sacodepalavras

Um exemplo simples do modelo de redes neurais "Saco de Palavras" voltado para uso em aulas de Matemática

Primary LanguageJupyter Notebook

Saco de Palavras de Geometria

Um exemplo simples do modelo de redes neurais "Saco de Palavras" voltado para uso em aulas de Matemática

Usando o modelo "saco de palavras" para criar um chatbot de Geometria

Este repositório apresenta uma implementação simples do modelo "saco de palavras" de redes neurais, usado exemplo durante os trabalhos de escrita da dissertação do acadêmico Lucas Meireles Pereira no PROFMAT, Programa de Mestrado Profissional em Rede Nacional, na UFJ, em Jataí-GO.

O PROFMAT é um Programa de Mestrado em Matemática, então o foco tanto da dissertação quanto deste trabalho é diferente do usual, sendo mais voltado para a comunidade matemática, em especial para professores da Educação Básica com interesse em trazer o tema da Inteligência Artificial para suas aulas de maneira simples.

Caso este seja seu primeiro contato com o Github, a Linguagem Python e as redes neurais, fica a recomendação da leitura da dissertação, voltada para a comunidade matemática, disponível no repositório de dissertações do PROFMAT.

O script mostra como usar python para fazer um chatbot no estilo "Saco de Palavras" que consegue classificar frases de Geometria Plana como verdadeiras ou falsas. Este modelo de chatbot é ideal para classificações por ser bastante simples e ignorar diversas variáveis que fogem do escopo deste trabalho.

Como o computador consegue compreender as palavras?

O computador é uma máquina capaz de realizar apenas dois tipos de operações: lógicas e matemáticas. Para que o mesmo consiga "entender" um texto, as frases são "quebradas" em palavras (chamadas tokens) e estes são depois transformados em vetores.

A máquina então é treinada para reconhecer padrões, como proximidade, entre estes vetores. A partir destes padrões entre vetores que correspondem a tokens/palavras, a máquina "entende" o significado das frases.

Uma introdução à Matemática por trás deste processo pode ser lida na dissertação, que recomendamos novamente a leitura.

A máquina então processa textos para que possa ser "treinada" para reconhecer padrões e alimentar um modelo de inteligência artificial baseado em redes neurais, que, neste caso, é o modelo "Saco de Palavras", que é especialmente simples por não levar em consideração diversos aspectos da linguagem.

Como você pode usar este script

O formato de arquivo deste script é .ipynb, um formato que permite tanto blocos de texto, quanto blocos executáveis de programação na linguagem Python.

Os blocos de texto são breves e explicam o que você pode mudar, como executar e o que esperar de cada bloco de código.

O arquivo está pronto para ser usado no Google Colab e tem todas as informações de uso descritas passo a passo. Mais informações e detalhes podem ser encontrados na dissertação no link https://colab.research.google.com/drive/1qQS6cytCKhdiLOXRoPFTwDMtpMK3QV5n?usp=sharing

Bibliografia recomendada

  • Dissertação do Lucas

  • Textos sobre Machine Learning e Bag of Words

https://machinelearningmastery.com/gentle-introduction-bag-words-model/

https://machinelearningmastery.com/deep-learning-bag-of-words-model-sentiment-analysis/

https://machinelearningmastery.com/use-word-embedding-layers-deep-learning-keras/