Disciplina: DCA3702 - Algoritmos e Estruturas de Dados II - T01 (2026.1) Unidade 01 - Trabalho 01
Este projeto aplica Named Entity Recognition (NER) sobre o codigo-fonte do Claude Code para construir grafos de co-ocorrencia entre entidades identificadas. A analise utiliza conceitos de teoria de grafos estudados na disciplina, incluindo distribuicao de grau, componentes conectados, coeficiente de agrupamento, deteccao de comunidades e visualizacao interativa.
Explore os grafos de co-ocorrencia diretamente no navegador:
├── analysis.py # Metricas, visualizacoes e comunidades
├── extractor.py # Extracao de texto do codigo-fonte
├── ner_pipeline.py # Pipeline de NER (spaCy + regex)
├── graph_builder.py # Construcao do grafo de co-ocorrencia
├── data/
│ ├── raw/ # Arquivos brutos do repositorio-alvo
│ └── graphs/ # Grafos serializados (.gexf)
├── figures/
│ ├── 01-initial/ # Grafos e metricas — extracao inicial (regex)
│ ├── 02-filtered/ # Grafos apos filtragem de ruido
│ ├── 03-spacy/ # Grafos com NER via spaCy (en_core_web_lg)
│ ├── 04-louvain/ # Deteccao de comunidades Louvain
│ └── 05-pyvis/ # Visualizacoes interativas (HTML)
├── docs/ # Relatorios de cada iteracao
├── pyproject.toml
├── uv.lock
└── README.md
uv sync
python -m spacy download en_core_web_lg
extractor.py)Percorre o repositorio-alvo e extrai texto de multiplas fontes:
#, // e blocos """ """.md e .txtner_pipeline.py)Aplica Named Entity Recognition em duas camadas:
en_core_web_lg) para entidades em linguagem naturalLIB, CLASS, FUNC, PER, ORG, TECH, LOCgraph_builder.py)Gera grafos de co-ocorrencia com tres granularidades:
Os grafos sao serializados em formato GEXF (data/graphs/).
analysis.py)Metricas e visualizacoes:
| # | Descricao | Doc | Figuras |
|---|---|---|---|
| 01 | Extracao inicial com regex | relatorio | figures/01-initial/ |
| 02 | Filtragem de ruido NER | relatorio | figures/02-filtered/ |
| 03 | NER com spaCy (en_core_web_lg) | relatorio | figures/03-spacy/ |
| 04 | Comunidades Louvain | relatorio | figures/04-louvain/ |
| 05 | Visualizacao interativa (pyvis) | relatorio | figures/05-pyvis/ |
en_core_web_lg) — NER