Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

154 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MORSLUM

MORphoSyntaxis LaboratoriUM
Plataforma para análise morfossintática da língua portuguesa utilizando técnicas de Processamento de Linguagem Natural.

Projeto desenvolvido no Programa de Iniciação Científica da FATEC Ipiranga.

DOI

Sobre o MORSLUM

MORSLUM (MORphoSyntaxis LaboratoriUM) é uma plataforma voltada à análise morfossintática da língua portuguesa, desenvolvida como projeto de pesquisa no Programa de Iniciação Científica da FATEC Ipiranga.

A aplicação utiliza técnicas de Processamento de Linguagem Natural (PLN) para analisar frases em português, identificar classes gramaticais e gerar árvores de dependência sintática.

O sistema também conta com:

  • um aplicativo desktop para análise linguística
  • uma landing page para distribuição do software

Este projeto possui uma versão arquivada e citável no Zenodo, garantindo preservação e reprodutibilidade científica.

O aplicativo desktop do MORSLUM pode ser baixado através da landing page oficial do projeto.

🔗 Download da aplicação
https://morslum.vercel.app

Após o download, basta executar o instalador para utilizar o aplicativo localmente.

Sumário

Funcionalidades

A aplicação possui duas funcionalidades principais:

  • Analisador Morfossintático
  • Quiz

Analisador Morfossintático

Permite analisar frases em português e obter:

  • Classificação gramatical de cada palavra
  • Relações de dependência sintática
  • Visualização da árvore sintática da frase

A análise é realizada utilizando modelos de Processamento de Linguagem Natural (NLP) da biblioteca spaCy.

Quiz

A aplicação inclui um sistema de quiz educacional para auxiliar no aprendizado de análise sintática.

Cada questão apresenta:

  • uma árvore de dependências
  • alternativas para classificação da estrutura da frase

O objetivo é reforçar o aprendizado de conceitos morfossintáticos por meio da prática.

Imagens do Projeto

Interface inicial da plataforma MORSLUM

Interface inicial

Interface do quiz morfossintático

Quiz

Interface do quiz morfossintático ao responder corretamente uma questão

Quiz correto

Interface do quiz morfossintático ao responder erradamente uma questão

Quiz errado

Exemplo de análise morfossintática gerada pela plataforma

Análise

Árvore de dependências sintáticas gerada pelo analisador

Árvore

Estatísticas detalhadas da análise

Estatísticas

Tecnologias

A plataforma foi desenvolvida utilizando diferentes tecnologias para cada parte do sistema.

O frontend foi construído com React e Vite.

O backend foi desenvolvido em Python com Flask, expondo uma API responsável por processar as frases enviadas pelo frontend e realizar a análise linguística utilizando a biblioteca spaCy, que identifica classes gramaticais e relações de dependência sintática entre as palavras.

Além disso, o backend também gerencia a lógica do Quiz, fornecendo questões e verificando as respostas enviadas pela aplicação.

O projeto inclui ainda:

  • um aplicativo desktop empacotado com Electron
  • uma landing page para distribuição do software
Frontend Backend Landing Page Desktop App
Linguagens JavaScript Python JavaScript JavaScript
Frameworks / Bibliotecas React Vite PrimeReact Flask spaCy React Vite PrimeReact Electron
DevOps / Infra Docker Docker Vercel
IDE / Editor Visual Studio Code PyCharm Visual Studio Code Visual Studio Code

Limitações do Modelo

O modelo de Processamento de Linguagem Natural utilizado (spaCy) apresenta algumas limitações inerentes ao seu treinamento para a língua portuguesa:

  • Preposições + Artigos: Palavras como "da" (de + a), "do" (de + o), "dos" (de + os) são classificadas apenas como preposições, ignorando o artigo contraído.

  • Adjetivos vs. Particípios: Adjetivos como "lindo", "ensolarado", "encontrado" e "comprado" podem ser confundidos com verbos no particípio passado.

Estas limitações são do modelo do spaCy e não erros de implementação do MORSLUM.

Arquitetura Geral do Projeto

O projeto é composto por quatro componentes principais.

Frontend

Interface da aplicação.

🔗 Mais detalhes da arquitetura:
https://github.com/pedro-Trovo/MORSLUM/blob/main/front-end/README.md

Backend

API responsável pela análise linguística utilizando spaCy e pelo fornecimento das questões do Quiz.

🔗 Mais detalhes da arquitetura:
https://github.com/pedro-Trovo/MORSLUM/blob/main/back-end/README.md

Electron

Responsável por empacotar a aplicação e gerar o executável desktop.

🔗 Mais detalhes da arquitetura:
https://github.com/pedro-Trovo/MORSLUM/blob/main/electron/README.md

Landing Page

Página de apresentação do projeto com download do aplicativo.

🔗 Mais detalhes da arquitetura:
https://github.com/pedro-Trovo/MORSLUM/blob/main/landing-page/README.md

Python Embedded (python-embed)

Diretório que contém o runtime Python portátil e todas as dependências necessárias para executar o backend no aplicativo desktop empacotado com Electron.

O que contém

  • Python embedable — runtime portátil (python.exe, DLLs, bibliotecas padrão)
  • Dependências do backend — Flask, flask-cors, python-dotenv, spacy, etc.
  • Modelo spaCypt_core_news_sm (modelo de língua portuguesa)

Note

O python-embed é ignorado pelo Git (.gitignore) devido ao seu tamanho. Para builds do Electron, ele deve estar presente no diretório raiz do projeto.

Como criar

  1. Baixe o Python embedable compatível no site oficial: https://www.python.org/downloads/windows/ (versão utilizada no projeto: 3.12.0)

  2. Extraia o conteúdo para a pasta python-embed/ na raiz do projeto.

  3. Instale o pip no embedded Python:

    python-embed\python.exe -m ensurepip
  4. Instale as dependências do backend:

    python-embed\python.exe -m pip install -r back-end\requirements.txt
  5. Baixe o modelo spaCy:

    python-embed\python.exe -m spacy download pt_core_news_sm
  6. (Opcional) Compacte para distribuição:

    Compress-Archive -Path python-embed\* -DestinationPath python-embed.zip

Executando o Projeto em Modo Desenvolvedor

O projeto pode ser executado localmente de duas formas:

  • Com Docker
  • Sem Docker

Executando com Docker

1 — Clonar o repositório

git clone https://github.com/pedro-Trovo/MORSLUM

2 — Gerar o arquivo de configuração do backend

Dentro de /MORSLUM/back-end execute:

python setup_env.py

O script gera automaticamente um arquivo .env contendo:

  • SECRET_KEY
  • APP_MODE

⚠ Certifique-se de que:

APP_MODE=dev

3 — Iniciar os containers

Na raiz do projeto:

docker compose up --build

Após iniciar:

Frontend

http://localhost:3000

Backend

http://localhost:5000

Executando sem Docker

Backend

git clone https://github.com/pedro-Trovo/MORSLUM

Gerar .env:

python setup_env.py

Instalar dependências:

pip install -r requirements.txt

Executar servidor:

python app.py

Backend disponível em:

http://localhost:5000

Frontend

cd front-end

Instalar dependências:

npm install

Executar:

npm run dev

Frontend disponível em:

http://localhost:5173

Cronograma de Desenvolvimento

Etapa Período
Revisão teórica sobre gramática e PLN Mês 1
Estudo de estruturas sintáticas e conjunções Mês 2
Pesquisa sobre spaCy e métodos de análise Mês 2
Coleta e organização de frases Mês 3
Desenvolvimento do Backend Mês 4–6
Desenvolvimento do Frontend Mês 7–9
Empacotamento com Electron Mês 10
Testes e validação Mês 10–11
Elaboração do relatório final Mês 10–11

License

MIT License

Copyright (c) 2026 Pedro D. O. R. Trovo - MORSLUM

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

MORSLUM (MORphoSyntaxis LaboratoriUM) — plataforma de análise morfossintática da língua portuguesa. Utiliza spaCy para classificação gramatical e geração de árvores de dependência, com quiz interativo e aplicativo desktop empacotado com Electron.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages