- Sobre o Projeto
- Equipe
- Metodologia
- Pré-requisitos
- Primeiros Passos
- Análises Realizadas
- Estrutura do Projeto
- Solução de Problemas no Windows
Este projeto de Ciência de Dados realiza uma análise abrangente dos currículos da Plataforma Lattes de docentes e pesquisadores do Centro de Informática (CI). A Plataforma Lattes, mantida pelo CNPq, é uma base de dados rica em informações sobre a produção acadêmica, profissional e intelectual de pesquisadores brasileiros.
- Sarah Fernanda Calixto de Araújo —
20240011267 - Luiz Carlos Veloso de Araujo Lima Neto —
20240102334 - Sofia Pontes Leitão de Lima —
20240011285 - Cauã Henrique Formiga de Lacerda —
20240011089
Utilizamos a biblioteca Playwright para navegar automaticamente na Plataforma Lattes, capturando os currículos completos dos pesquisadores. Esta abordagem permite contornar limitações de APIs e capturar dados estruturados diretamente das páginas web.
Após o download, um segundo script utiliza as bibliotecas BeautifulSoup e Pandas para fazer o parsing do conteúdo HTML. Ele extrai informações-chave como dados básicos (nome, resumo), formação acadêmica, projetos de pesquisa e redes de colaboração (coautores e integrantes de projetos). Os dados são então consolidados e exportados em formatos estruturados como JSON, prontos para a análise.
Aplicamos técnicas de:
- Análise de Redes: construção de grafos de coautoria com métricas de centralidade
- Clustering: agrupamento temático usando TF-IDF e K-Means
- Análise Estatística: correlações entre formação, experiência e produtividade
- Visualização Interativa: uso de Plotly e NetworkX para exploração visual dos dados
Certifique-se de instalar os seguintes programas antes de começar:
-
Visual Studio Code 👉 Download VSCode
-
Git 👉 Download Git
-
uv O
uvé um gerenciador de pacotes e ambientes virtuais extremamente rápido para Python. Instale utilizando o comando adequado ao seu sistema operacional:# Windows (PowerShell) powershell -ExecutionPolicy ByPass -c "irm [https://astral.sh/uv/install.ps1](https://astral.sh/uv/install.ps1) | iex" # macOS/Linux curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh
Siga os passos abaixo para configurar rapidamente o projeto em sua máquina.
git clone https://github.com/cacdia/lattes.git
cd lattesCrie o ambiente virtual e instale todas as dependências do projeto com um único comando:
# Sincroniza o ambiente: cria o .venv e instala os pacotes listados no pyproject.toml
uv syncAbra o projeto no Visual Studio Code:
code .Ao abrir o projeto pela primeira vez:
- Uma notificação aparecerá sugerindo a instalação das extensões recomendadas.
- Clique em Install All ou em Show Recommendations.
- Alternativamente, pressione
Ctrl+Shift+X(ouCmd+Shift+Xno macOS) e digite@recommendedna barra de pesquisa.
É crucial que o VSCode utilize o ambiente virtual (.venv) que o uv criou.
- Pressione
F1(ouCtrl+Shift+P) - Digite Python: Select Interpreter
- Escolha o interpretador que tem ('.venv') no nome. Ex:
"Python 3.13 ('.venv':venv)"
O projeto funciona em duas etapas principais: primeiro baixar os currículos, depois processá-los.
# Comando principal para executar o download
uv run scripts/download_profile.py --input data/professores_ci.csvVocê também pode especificar onde os arquivos HTML dos currículos serão salvos com a flag --output.
# Salva os arquivos no diretório 'meu_diretorio'
uv run scripts/download_profile.py --input data/professores_ci.csv --output meu_diretorioApós baixar os arquivos HTML, utilize o script parse_lattes.py para processá-los e gerar um arquivo consolidado com os dados extraídos.
O formato de saída (CSV ou JSON) é definido pela extensão do arquivo que você especificar em --output.
# Processa os HTMLs da pasta 'meus_curriculos' e salva os dados em um arquivo CSV
uv run scripts/parse_profiles.py --input meu_diretorio --output data/professores.csv# Processa os HTMLs e salva os dados em formato JSON
uv run scripts/parse_profiles.py --input meu_diretorio --output data/professores.jsonAbra o Jupyter Lab e execute os notebooks na pasta notebook/:
uv run jupyter lab notebook/Comece pelo notebook_relatorio.ipynb que contém as análises principais.
- Top pesquisadores por número de publicações
- Top pesquisadores por número de coautorias
- Análise de correlação entre produção e colaboração
- Relação entre nível de formação (Mestrado/Doutorado/Pós-doc) e produtividade
- Análise estatística com ANOVA e tratamento de outliers
- Correlação entre anos de experiência e produção científica
- Construção de grafos de coautoria
- Métricas de centralidade (betweenness, eigenvector, grau)
- Visualização interativa com Plotly
- Análise específica dos laboratórios ARIA e LAVID
- Construção de grafo não direcionado com nós = pesquisadores
- Arestas ponderadas pelo número de publicações em coautoria
- Cálculo de métricas de centralidade (betweenness, eigenvector, grau)
- Filtragem para coautorias internas (apenas entre docentes do CI)
- Visualização interativa com layout forçado e cores por centralidade
- Análise específica de subrede ARIA/LAVID com mapeamento por laboratório
- Pré-processamento de texto com remoção de stopwords em português
- Vetorização TF-IDF de títulos de publicações (3.000 features)
- Determinação do número ótimo de clusters usando múltiplas métricas:
- Método do Cotovelo (WCSS)
- Coeficiente de Silhueta
- Índice Calinski-Harabasz
- Índice Davies-Bouldin
- Aplicação de K-Means com validação por ranking combinado
- Visualização 2D e 3D dos clusters usando PCA
- Identificação de 4 clusters principais de áreas temáticas
lattes/
├── .github/
│ └── ISSUE_TEMPLATE/
├── data/
│ ├── professores_ci.csv # Lista de entrada dos professores
│ ├── professores.json # Dados consolidados (JSON)
│ ├── prof_labs.csv # Mapeamento professor ↔ laboratório
│ └── titulos_producoes.json # Títulos para análise de clustering
├── professores_perfil_html/ # HTMLs dos currículos coletados
├── notebook/
│ ├── notebook_relatorio.ipynb # Notebook principal com análises
│ └── utils_lattes.py # Funções utilitárias
├── scripts/
│ ├── download_profile.py # Script para coleta dos currículos
│ └── parse_profiles.py # Script para parsing dos HTMLs
├── src/
│ └── __init__.py
├── .vscode/ # Configurações do VS Code
├── .gitignore
├── pyproject.toml # Dependências e metadados
├── README.md
├── ruff.toml # Configurações de formatação
└── uv.lock # Lock file para dependências
Caso encontre problemas de permissão ao executar scripts no PowerShell (comum ao instalar o uv), execute o seguinte comando para permitir a execução de scripts assinados:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserEste projeto foi desenvolvido para fins acadêmicos como parte da disciplina de Introdução à Ciência de Dados, ministrada pelo professor Yuri Malheiros.