Versão adaptada do Lucylattes
- Inclui qualisnovo_2020.csv
- Remove os antigos
- Versão 1.1
- Thu 2021-01-14 17:18:11 -04, verifique os logs aqui.
O CNPq por meio do currículo Lattes agrega dados do registro da vida profissional de estudantes, professores, e pesquisadores do país, e tornando-se padrão nacional no meio científico para consulta sobre a produção científica dos referidos profissionais.
Contudo, após a criação do captcha para o acesso aos currículos Lattes,
extrair dados dos currículos se tornou uma tarefa árdua, pois todas vez
que pretende-se acessar um currículo, torna-se necessário passar pelo
captcha. Com o intuito de auxiliar na obtenção destes dados, o
lucyLattes
foi desenvolvido.
Extração, compilação, e organização dos dados dos currículos da plataforma Lattes em arquivos de texto, e geração de um relátório simplificado, que proporcionam agilidade para a geração de informação.
Veja algumas informações geradas:
Publicações de periódicos por ano Publicações de periódicos por qualis Interações entre pesquisadores na publicação de periódicosAlém das figuras, algumas tabelas são geradas:
Petter Pan
- http://lattes.cnpq.br/000000 (atualizado em: 13-12-2018)
iniciacao_cientifica = 27
trabalho_de_conclusao_de_curso_graduacao = 23
YEAR | A2 | B1 | B2 | B3 | B4 | B5 | C | XX | |
---|---|---|---|---|---|---|---|---|---|
2015 | 0 | 4 | 0 | 4 | 0 | 0 | 0 | 0 | |
2016 | 0 | 3 | 0 | 0 | 0 | 0 | 1 | 2 | |
2017 | 0 | 2 | 1 | 3 | 0 | 2 | 0 | 1 | |
2018 | 0 | 0 | 0 | 4 | 0 | 0 | 0 | 0 |
Resumo da produção de artigos em periódicos do grupo 2010-2019
FULL_NAME | A1 | A2 | B1 | B2 | B3 | B4 | B5 | C | XX | TOTAL | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | Celite | 0 | 2 | 19 | 0 | 2 | 3 | 4 | 0 | 1 | 31 |
1 | Dijon | 0 | 2 | 8 | 4 | 3 | 2 | 22 | 1 | 1 | 43 |
2 | Cido | 0 | 8 | 15 | 3 | 9 | 1 | 10 | 3 | 1 | 50 |
3 | Petter Pan | 0 | 1 | 20 | 2 | 18 | 3 | 6 | 1 | 9 | 60 |
INDICADORES CAPES
Índice de orientação do grupo
QUADRIENIO_INI | QUADRIENIO_FIM | INDORI | INDORI_CLASSIFICACAO | |
---|---|---|---|---|
0 | 2013 | 2016 | 1.4 | MUITO_BOM |
1 | 2017 | 2020 | 1 | BOM |
Índice de produção de artigo
QUADRIENIO_INI | QUADRIENIO_FIM | INDPRODART | |
---|---|---|---|
0 | 2013 | 2016 | 1.4975 |
1 | 2017 | 2020 | 1.64667 |
Índice de autoria discente
Considera apenas produção em periódicos
QUADRIENIO | INDOUT | INDIS | |
---|---|---|---|
0 | 2013-2016 | 0.848485 | 3.12121 |
1 | 2017-2020 | 0.789474 | 2.47368 |
INDAUT: Índice de discentes autores, INDDIS: Índice de produtos com autoria discente
Indicador de distribuição dos docentes permanentes por faixa de IndProd
Classificação dos pesquisadores por quadriênio
QUADRIENIO | FULL_NAME | INDPRODART | CLASSIF | |
---|---|---|---|---|
0 | 2013-2016 | Jose | 0.53 | REGULAR |
1 | 2013-2016 | Maria | 0.21 | FRACO |
2 | 2013-2016 | Peter | 0.386667 | REGULAR |
3 | 2013-2016 | Rafae | 0.21 | FRACO |
4 | 2013-2016 | Thiago | 0.553333 | REGULAR |
5 | 2017-2020 | Jose | 0.773333 | REGULAR |
6 | 2017-2020 | Maria | 0.295 | REGULAR |
7 | 2017-2020 | Peter | 0.24 | FRACO |
8 | 2017-2020 | Rafael | 0.17 | FRACO |
9 | 2017-2020 | Thiago | 0.346667 | REGULAR |
Indicador DistIndProdDP
QUADRIENIO | DISTINDPRODDP | |
---|---|---|
0 | 2013-2016 | 50 |
1 | 2017-2020 | 60 |
O lucyLattes não tem vínculo com o CNPq. Este programa computacional é fruto de um esforço (independente) realizado com o objetivo de dar suporte às rotinas de análise de dados cadastradas nos Currículos Lattes (publicamente disponíveis).
Este programa é um software livre; você pode redistribui-lo e/ou modificá-lo dentro dos termos da Licença Pública Geral GNU. Verifique o arquivo LICENSE.txt .
Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Verifique o arquivo LICENSE.txt .
Inicialmente recomenda-se a leitura dos próximos tópicos (Instalação e Como executar o programa).
Posteriormente, se achar necessário, há uma explicação mais detalhada no blog: Blog - post LucyLattes
-
Requerimentos:
- Sistema operacional Linux ou com base Unix (preferencialmente), ou ainda Windows;
- Python 3 ou superior;
- Navegador (Firefox ou Chorme) para visualizar relatório.
-
Se não possuir Python3 ou superior instalado executar no terminal:
Se vc usar DEBIAN, UBUNTU ou derivados
sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt-get install python3-tk
Se vc usar Windows
Acesse
https://python.org.br/instalacao-windows/
e instale a versão do Python 3
, basta seguir as instruções. Não esqueça de instalar o PIP.
Para todos os sistemas operacionais (Linux, MACOS, Windows, Solaris,
etc) são necesssários as mesmas bibliotecas. Para instalar as
bibliotecas em amientes Linux acesse o Terminal. Caso seja usuário
Windows
, acess o prompt do DOS
ou o PowerShell
. Posteriormente
basta digitar:
pip3 install pandas
pip3 install numpy
pip3 install requests
pip3 install beautifulsoup4
pip3 install matplotlib
pip3 install networkx
pip3 install lxml
pip3 install tabulate
- Faça o Download do arquivo
.zip
que contém olucyLattes
. Antes do dowload, caso queira, vc pode pode ajudar com quanto quiser para manter o projeto:
Download aqui: https://github.com/rafatieppo/lucyLattes/archive/master.zip
-
Descompacte o arquivo
.zip
que pode ser obtido em um diretório de sua preferência. -
Na pasta descompactada, abra o arquivo
list_id_name.txt
com um editor de texto, leias as instruções no arquivo e faça as alterações necessárias. Salve e feche o arquivo. -
Faça o dowload dos curriculos Lattes desejados e copie todos no diretório
xml_zip
. Para realizar o download, acesso o currículo Lattes do pesquisador, e no canto superior direito clique sobre um botãoXML
, salve o arquivo e NÃO altere o nome e nem o formato, NÃO DESCOMPACTE OS ARQUIVOS. O nome do arquivo é composto por 16 caracteres e a extensão.zip
, e.g.3275865819287843.zip
. -
Abra o arquivo
config.txt
com um editor de texto e altere o que for necessário. Somente edite à direita do símbolo ":" Salve e feche o arquivo. -
Acesse o diretório descompactado pelo terminal e digite:
- Se for em ambiente
Linux
:
python3 lucyLattes.py
- Se for em ambiente
Windows
py lucyLattes.py
ou
py -3 lucyLattes.py
- Se tudo ocorreu corretamente, um relatório foi gerado no diretório
relatório
, basta acessar com um navegador (Chrome ou Firefox).
Atenção, Atenção, Atenção.
Sempre que editar o arquivo list_id_name.txt
APAGUE todos os
arquivos do diretório csv_producao
.
- Nos de uma estrela clicando na estrela no topo da página (lado direito)
- Deixe um comentário no Blog - post LucyLattes
-
DONE Capturar os projetos de pesquisa, e extensão, com seus respectivos participantes, classificação do tipo de projeto (pesquisa ou extensão) organizando os dados em um
DataFrame
; -
DONE Capturar produção técnica de cada pesquisador
-
DONE Capturar as atividades de orientação;
-
DONE Ler o
.xml
direto do.zip
; -
DONE Realizar um looping para caturar uma série de currículos.
-
DONE Capturar produção em periódicos;
-
DONE Associar produção em periódico com capes qualis;
-
DONE Gerar um arquivo
.csv
com o extrato de produção na pasta relatório; -
TODO Gerar índices utilizados pela CAPES para avaliação de PPG [100%]
- Índice de Orientação (IndOri)
- Índice de discentes autores (IndAut)
- Índice de produtos com autoria discente (IndDis)
- Índice de Produtividade referente a artigos científicos do Programa (IndProdArt)
- Validação
-
DONE Salva em pasta específica arquivos
.csv
individuais para cada pesquisador[100%]- os projetos de pesquisa e extensão;
- cursos de curta duração;
- publicações em periódico com qualis, revista;
- publicações de livros e capítulos;
- orientações (tcc, ic, mestrado, doutorado);
-
TODO Grafo de interação entre pesquisadores [40%]
- realiza interações somente entre artigos
- como observação, deve-se atentar que os integrantes que não possuem interação(s) não aparecem no grafo.
- Verificar as interações nos projetos de pesquisa e extensão;
- Calcular o peso das interações dos membros no grafo;
- Capturar as atividades dos projetos de extensão;
-
DONE Relatório em
.html
[100%]- relação de pesquisadores, cidade, estado, link lattes, lattes atualização;
- lista de projetos de pesquisa e extensão;
- síntese de artigos publicados em periódicos;
- gráficos dos periódicos por período e por qualis;
- extrato de produção por pesquisador;
- relação de livros
- relação de orientações
- indicadores CAPES
- indicadores JCR
- Correção no gráfico de interação. Ao inserir o JCR uma coluna foi deslocada, e por consequência a interação entre os autores não estava sendo realziada corretamente.
- Fator JCR dos artigos foi inserido no relatório Relação de artigos em periódicos. Os dados são oriundos de uma lista compilada a partir do scimago e do site JCR.
- Extração das disciplinas em atividades de ensino. Disciplinas listadas por pesquisador no relatório.
- Disponibilização do arquivo qualis geral 2019 para avaliação dos artigos.
- No arquivo
verify.py
foi adicionada a verificacao para as orientações (nome do curso) seguindo a mesma lógica dos periódicos (YEAR).
- Inserido no relatório o local de trabalho do pesquisador (conforme
informado no Lattes). Foi adicionada na correcao de
Tue 2019-07-23 07:38:14 -04
a condicao de VAZIO para o ano inicial dos projetos se não constar o ano inicial do projeto o mesmo é excluído (uma msg é impressa na tela).
- Devido à solicitações de usuários
Windows
, foi implementado funções para possibilitar olucyLattes
rodar em sistema operacionalWindows
. Salienta-se a necessidade de mais testes, acredito que faverá problemas com unicode no arquivoconfig.txt
.
- Duas melhorias siginificativas foram realizadas. Uma é a melhoria do relatório. A outra a implementação do indicadores CAPES. Segue método de cálculo:
Por padrão os indicadores CAPES estão habilitados, caso queira desabilitar
deve-se editar o arquivo config.txt
.
1 Índice de Orientação (IndOri)
Avalia as defesas com orientação de docentes permanentes (DP) do programa. A análise leva em consideração o tempo recomendado de titulação, sendo 24 meses para mestrados (A) e 48 meses para doutorado (B). O indicador é calculado para cada ano e depois calculada a média para o quadriênio.
3 Índice de discentes autores (IndAut)
Avalia a proporção de discentes autores (E) em relação ao total de discentes do programa. Foram considerados para o cálculo de E, os discentes e egressos até cinco anos quando autores de artigos, livros, capítulos, trabalho completo em anais e produção técnica (sem apresentação de trabalho). Cabe destacar que a prática de geração de produtos intelectuais após a conclusão do curso é comum; portanto, este indicador tem, como denominador (F), todo o corpo discente do ano em avaliação mais os egressos dos últimos 5 anos que publicaram no referido ano.
4 Índice de produtos com autoria discente (IndDis)
Avalia a quantidade de produtos intelectuais (artigos, livros, capítulos, trabalhos completos em anais e produção técnica - excluindo apresentação de trabalho) de autoria discente ou de egressos até 5 anos, em relação ao total de discentes do programa (G). O denominador leva em consideração todo o corpo discente do ano em avaliação mais egressos dos últimos 5 anos que publicaram no referido ano (F).
5 Índice de Produtividade referente a artigos científicos do Programa (IndProdArt)
Avalia toda a produção intelectual do programa no formato de artigo científico, sendo que a participação de um docente permanente como autor é condição obrigatória para validar a produção. Os pesos de cada produto foram atribuídos previamente por meio da avaliação dos periódicos científicos - Sistema Qualis Periódicos. De acordo com os estratos atribuídos, os pontos são contabilizados e divididos pelo total de docentes permanentes do programa. O cálculo é anual, sendo realizada a média para o quadriênio posteriormente. Cabe destacar que a pontuação obtida por um programa é o somatório dos pontos obtidos em todos os estratos (A1 até B5). Porém, os pontos obtidos pelo somatório dos estratos B4 e B5, não podem ultrapassar 20% do total de pontos do ano. Assim, valores percentuais superiores a 20% são glosados.
14 Indicador de distribuição dos docentes permanentes por faixa de IndProd (%DistIndProdDP)
Nesse caso, calcula-se o IndProd para cada docente permanente e posteriormente os docentes são distribuídos conforme as faixas apresentadas para o IndProd. Feito isso, calculou-se o percentual de docentes permanentes (DP) classificados em cada faixa (MB = muito bom, B = bom, R = regular e F/D = fraco / deficiente) em relação ao corpo docente permanente total. O somatório dos percentuais das faixas MB, B e R permite avaliar o equilíbrio na distribuição da produção docente.
Referências: Ministério da Educação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior Diretoria de Avaliação.
if IndProd < 0.15:
classif = 'DEFICIENTE'
elif IndProd >= 0.15 and IndProd <= 0.29:
classif = 'FRACO'
elif IndProd > 0.29 and IndProd <= 0.79:
classif = 'REGULAR'
elif IndProd > 0.79 and IndProd <= 1.19:
classif = 'BOM'
else:
classif = 'MUITO_BOM'
- Foi implementado o cálculo de indicadores para os quadriênios (a
partir de 2013). Os indicadores inseridos foram Índice de discentes
autores e Índice de produtos com autoria discente. Ambos são
disponibilizados no relatório. Caso não seja desejado a geração dos
indicadores, no arquivo
config.txt
é possível desabilitar esta função.
- Foi implementado o cálculo de indicadores para os quadriênios (a
partir de 2013). Os indicadores inseridos foram Índice de orientação do
grupo e Índice de produção de artigo. Ambos são disponibilizados no
relatório. Caso não seja desejado a geração dos indicadores, no arquivo
config.txt
é possível desabilitar esta função.
- No resumo do pesquisador, para alguns casos, ocorria falha na captura
do texto. Possivelmente em função de "/n" no decorrer do texto. Este
problema foi resolvido com melhoria na
regex
.
- Havia um erro na leitura dos anos de início dos projetos, qdo a
passava-se a variável (ANO) de
str
paraint
em alguns casos a variável continha uma casa decimal (e.g. 2010.0), impossibilitando deixar o número inteiro em um único passo.
- Melhoria no código de verify (
verify.py
). MétodoIOError
foi substituído porOSError, IOError
. In 3.3, IOError became an alias for OSError, and FileNotFoundError is a subclass of OSError. PEP 3151.
- Melhoria no código de verificação (
verify.py
). Quando um arquivo.csv
de produção é solicitado e o mesmo não foi gerado por falta de produção nos currículos, um aviso é emitido na tela e uma observação é impressa no relatório (report.py
).
- Um código para verificação dos anos em todos os arquivos de produção
foi desenvolvido (
verify.py
). Se o ano da produção não foi extraído, a produção é excluída do arquivo.csv
. Quando há falha na extração do ano, os arquivos são atualizados e salvos.
- Organização do arquivo para relação de orientações de cada pesquisador. As orientações estão divididas de acordo com a classificação do CNPq. No relatório para cada pesquisador há uma síntese das orientações, e no final do relatório há uma tabulação com o tipo de orientação e quantidade de orientações por pesquisador.
- Extração da orientação de doutorado concluída ok. Falta realizar o relatório de todas as orientações.
- Houve tentantiva de melhorar a extracao do resumo (
scrapper.py
), mas sem sucesso. A mensagem para os resumos nao capturados foi alterada para: Nao foi possivel extrair o resumo.
- No
scrapper.py
para ppe os limites de seleção foram melhorados.
- Insirido no relatório publicação de livros e capítulos (gráficos e listas). Na produção individual também insirido o número de livros e capítulos. No resumo da produção foi inserido o número de profissionais que formam a equipe.
- No relatório, caso tenha ocorrência de pesquisadores que não possuam interação em periódicos, uma lista com o nome dos mesmos é adicionada. Melhoria na disposição do grafo, relatório aprimorado.
- Melhorias no relatório com indicação do número total de projetos como coordenador e integrante.
- Problema no ids que inciavam com o zero foram corrigidos. O relatório foi melhorado com adicao de link lattes na producao individual, um extrato do grupo foi adicionado no final. Avisos para PPE e PAPERS sem ano foram adicionados. Corrigido para resumo gerado automaticamente pelo Lattes.
- No relatório as produções foram enumeradas. Avisos foram inseridos após a finalização dos processos.
- o método de verificação da ordem de autoria do paper foi melhorado, a ordem é obtida direto do lattes.
- relatório está implementado, como produto um arquivo
.html
é gerado. Para verificar a interação entre os integrantes um Grafo é gerado, assumindo somente as interações entre publicações em periódicos.
- relatório
.html
foi iniciado, mas não foi implementado na função ainda.
- foi inserido uma verificação no scraperlattes, caso o comprimento da
lista seja zero é informado. Há um arquivo
.csv
com o nome completo, sobrenome, e id do pesquisador. Foi iniciado a análise de dados para o reatório.
- foi criado um arquivo
config.txt
com objetivos de:- especificar o arquivo
.csv
que será utilizado no qualis.
- especificar o arquivo
- função para capturar os periódicos com qualis foi concluída, os
arquivos
.xml
foram movidos para a pastaxml_zip
.
- os arquivos
.xml
são lidos diretamente do arquivo.zip
. Foi criado um arquivo lista no formato.csv
, neste arquivo deve conter o id Lattes de cada pesquisador e seus respectivo nome.
- do arquivo
.xml
do lattes é possível extrair o nome do projeto, tipo do projeto, ano de início, e integrantes, etc
scraperlattes.py
: contém as funções que extraem as informações necessárias e geram os.csv
;readidlist.py
: faz a leitura da lista que contém o id dos pesquisadores ;lucyLattes.py
: funciona como o executável;config.txt
: configurações para funcionamento do script;tidydf.py
: organiza osDataFrame
;report.py
: gerador do relatório;grapho.py
: gerador do gráfico com as interações entre os membros.verify.py
: verifica e corrige extração do anos para as produções.extrafuns.py
: funções de apoio para minimizar a poluição do códigoindex_capes.py
: calcula os indicadores CAPES
J. P. Mena-Chalco e R. M. Cesar-Jr. scriptLattes: An open-source knowledge extraction system from the Lattes platform. Journal of the Brazilian Computer Society, vol. 15, n. 4, páginas 31--39, 2009.
Rossum, G. van ( C. voor W. en I. (CWI)). (1995). Python tutorial. Python (Vol. 206). Amsterdam.
- Rafael Tieppo
- rafaeltieppo@yahoo.com.br
- https://rafatieppo.github.io/