{"id":26182570,"url":"https://github.com/lucianoayres/nlp-sentinel","last_synced_at":"2026-04-28T03:36:06.286Z","repository":{"id":262004897,"uuid":"885944568","full_name":"lucianoayres/nlp-sentinel","owner":"lucianoayres","description":"Uma solução completa para classificação de sentimentos em avaliações de e-commerce usando técnicas avançadas de Deep Learning e Processamento de Linguagem Natural.","archived":false,"fork":false,"pushed_at":"2025-04-21T13:25:09.000Z","size":10829,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-28T20:53:20.121Z","etag":null,"topics":["ai","gradio","huggingface-transformers","in-context-learning","natural-language-processing","product-reviews","sentimental-analysis"],"latest_commit_sha":null,"homepage":"https://huggingface.co/spaces/layers2024/sentiment-analysis","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucianoayres.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-11-09T20:01:21.000Z","updated_at":"2025-04-21T13:25:12.000Z","dependencies_parsed_at":"2024-11-09T21:22:05.599Z","dependency_job_id":"a20af2c3-5577-4515-a2e3-cdf9967b2246","html_url":"https://github.com/lucianoayres/nlp-sentinel","commit_stats":null,"previous_names":["lucianoayres/npl-sentinel","lucianoayres/nlp-sentinel"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lucianoayres/nlp-sentinel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoayres%2Fnlp-sentinel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoayres%2Fnlp-sentinel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoayres%2Fnlp-sentinel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoayres%2Fnlp-sentinel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucianoayres","download_url":"https://codeload.github.com/lucianoayres/nlp-sentinel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucianoayres%2Fnlp-sentinel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32365514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"online","status_checked_at":"2026-04-28T02:00:07.250Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","gradio","huggingface-transformers","in-context-learning","natural-language-processing","product-reviews","sentimental-analysis"],"created_at":"2025-03-11T22:16:57.820Z","updated_at":"2026-04-28T03:36:06.263Z","avatar_url":"https://github.com/lucianoayres.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NLP-Sentinel\n\n**Análise de Sentimentos em Português usando Deep Learning e LLMs**\n\nUma solução completa para classificação de sentimentos em avaliações de e-commerce usando técnicas avançadas de Deep Learning e Processamento de Linguagem Natural.\n\n## Documentação e Recursos\n\n- 📝 Relatório Completo: [Markdown](report/project-report.md) | [PDF](report/project-report.pdf)\n- 📓 [Jupyter Notebook](notebook/Pos_Deep_Learning_Projeto_NLP_Sentinel_Projeto.ipynb)\n- 💻 [Código Fonte](src/pos_deep_learning_projeto_nlp_sentinel_projeto.py)\n\n## Demo Online\n\nExperimente a aplicação em:  \n➡️ [Hugging Face Spaces](https://huggingface.co/spaces/layers2024/sentiment-analysis)\n\n## 📊 Resultados Principais\n\n| Modelo              | Acurácia | F1-Score |\n|---------------------|----------|----------|\n| BERTimbau          | 94.26%   | 94.37%   |\n| XLM-RoBERTa        | 93.85%   | 93.94%   |\n| DistilBERT         | 93.28%   | 93.37%   |\n| SVM + SBERT        | 92.80%   | 92.93%   |\n| SVM + USE          | 91.95%   | 92.05%   |\n\n*LLMs (GPT-4, Gemini 1.5) atingiram 100% de acurácia em teste limitado (10 amostras)*\n\n## 🎯 Objetivos\n\n- Implementar e comparar diferentes abordagens de Deep Learning para classificação binária de sentimentos em português\n- Avaliar trade-offs entre performance e custo computacional\n- Desenvolver uma aplicação web para demonstração em tempo real\n- Explorar o potencial de LLMs em zero-shot para análise de sentimentos em português\n\n## 💻 Tecnologias\n\n### Modelos Supervisionados\n- **Transformers**\n  - BERTimbau (BERT português, ~110M parâmetros)\n    - Base: [neuralmind/bert-base-portuguese-cased](https://huggingface.co/neuralmind/bert-base-portuguese-cased)\n    - Fine-tuned: [layers2024/bert-sentiment](https://huggingface.co/layers2024/bert-sentiment)\n  - XLM-RoBERTa (multilíngue, ~125M parâmetros)\n  - DistilBERT (multilíngue leve, ~66M parâmetros)\n\n### Abordagens Híbridas\n- **SVM + Embeddings**\n  - Universal Sentence Encoder (USE)\n  - Sentence-BERT (SBERT)\n\n### LLMs Zero-shot\n- OpenAI GPT-4\n- Google Gemini 1.5\n\n## 📚 Dataset\n\n- **Origem**: Olist Store (e-commerce brasileiro)\n- **Volume**: +100.000 avaliações em português (2016-2018)\n- **Classes**:\n  - Positivo: 4-5 estrelas (~40k reviews)\n  - Negativo: 1-2 estrelas (~20k reviews)\n  - *Neutro (3 estrelas) excluído*\n- **Split**: 80/10/10 (treino/validação/teste)\n\n## 📱 Aplicação Web\n\nUma interface web intuitiva foi desenvolvida usando o melhor modelo (BERTimbau):\n\n- **Framework**: Gradio\n- **Características**:\n  - Interface intuitiva e responsiva\n  - Processamento em tempo real\n  - Indicador de confiança na classificação\n  - Exemplos pré-carregados\n- **Repositório**: [sentiment-analysis-app](https://github.com/lucianoayres/sentiment-analysis-app)\n\n## 🔍 Principais Conclusões\n\n1. **Alta Performance**: Todos os modelos transformer superaram 93% de acurácia\n2. **Melhor Modelo**: BERTimbau fine-tunado (94.26% acurácia)\n3. **Alternativa Eficiente**: SVM + SBERT oferece boa performance com menor custo computacional\n4. **Potencial LLMs**: Excelente performance em zero-shot, porém testado em amostra limitada\n\n## 🚀 Como Executar\n\n### Projeto Principal\n\n1. Clone o repositório\n```bash\ngit clone https://github.com/lucianoayres/nlp-sentinel.git\ncd nlp-sentinel\n```\n\n2. Instale as dependências\n```bash\npip install -r requirements.txt\n```\n\n### Aplicação Web\n\n1. Clone o repositório da aplicação\n```bash\ngit clone git@github.com:lucianoayres/sentiment-analysis-app.git\ncd sentiment-analysis-app\n```\n\n2. Execute o script de instalação\n```bash\n./run.sh\n```\n\n3. Execute a aplicação web\n```bash\npython app.py\n```\n\n## 📝 Citação\n\n```bibtex\n@article{carvalho2024nlpsentinel,\n  title={Análise Comparativa de Técnicas Avançadas de Deep Learning para Classificação de Sentimentos em Avaliações Multidomínio},\n  author={Carvalho, Luciano Ayres Farias de},\n  institution={Centro de Informática (CIn-UFPE)},\n  year={2024}\n}\n```\n\n## 👤 Autor\n\n**Luciano Ayres Farias de Carvalho**  \nCentro de Informática (CIn)  \nUniversidade Federal de Pernambuco (UFPE)  \nEmail: lafc@cin.ufpe.br\n\n## 📄 Licença\n\nEste projeto está sob a licença MIT. Veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n\n---\nDesenvolvido como parte do curso de Pós-graduação em Deep Learning no CIn-UFPE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucianoayres%2Fnlp-sentinel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucianoayres%2Fnlp-sentinel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucianoayres%2Fnlp-sentinel/lists"}