top of page

SciVerify

Usando PLN para a Distribuição de Bolsas de Pesquisa

Realizado em parceria com a Divisão de Pesquisa e Inovação da Duke University, esse produto teve como objetivo evitar a alocação de recursos financeiros para propostas de pesquisa muito semelhantes a projetos já realizados na instituição.

Para isso, o produto utiliza um Ensemble de modelos de Processamento de Linguagem Natural para analisar um banco de dados com milhares de documentos extensos e classificá-los com base em sua similaridade com a proposta recém-adicionada. Para os documentosidentificados como sendo mais similares, o produto também exibe pares específicos de frases entre os documentos que apresentam a maior similaridade em termos de conteúdo. Com essa lista mais curta de documentos semelhantes, os membros desse departamento agora precisam analisar apenas os principais candidatos para determinar se a proposta recebida tem semelhanças significativas com um projeto de pesquisa preexistente.

Além disso, os usuários têm a opção de fornecer feedback sobre cada um dos 5 principais resultados, que é então usado para ajustar o conjunto de modelos de aprendizado de máquina que compõem o mecanismo de busca.

Duração

Maio/2022 - Julho/2022

Equipe

6

Tecnologias

Python, Jupyter, Machine Learning, Processamento de Linguagem Natural

Descrição Técnica

Todo o código desse projeto foi escrito em Python, utilizando uma variedade de bibliotecas para incorporar os modelos de PLN e todos os recursos relacionados. Devido aos modelos de IA em larga escala que tivemos que utilizar, o desenvolvimento foi feito utilizando GPUs no sistema de máquinas virtuais da Duke University. No geral, esse foi um projeto muito experimental, portanto, o pipeline de processamento final foi selecionado por meio de testes extensivos baseados em precisão e tempo de execução.

Ao ser feita a primeira análise do banco de dados de propostas de pesquisa (o que leva em média 5 minutos), cada documento é reduzido para alguns parágrafos contendo palavras-chave que indicam que os trechos focam no conteúdo da pesquisa (para evitar a busca por similaridades com base em metodologias gerais semelhantes, por exemplo). Em seguida, esses parágrafos são inseridos em um transformador, que gera um resumo de 5 frases do seu conteúdo.

Usando esse mesmo tipo de resumo para o documento recém-inserido, outro modelo de PLN o compara ao conteúdo do banco de dados e destaca as entradas mais semelhantes. Após a finalização dos 5 principais documentos, outro modelo de PNL é utilizado para comparar apenas esses poucos documentos completos com o documento recebido, de modo que pares específicos de frases dentro deles possam ser identificados como tendo o conteúdo mais semelhante.

A interface do usuário foi desenvolvida usando o Voila, um plugin que converte notebooks do Jupyter em páginas HTML interativas e fáceis de usar.

Minhas Contribuições

Eu assumi um papel de liderança muito importante nessa equipe. Frequentemente, tive que delegar tarefas e incentivar a colaboração entre os membros da equipe.

Em termos de desenvolvimento do produto, eu fui amplamente responsável pela criação e testagem do pipeline de processamento de dados. Liderei a maior parte da exploração dos modelos de resumo e de comparação entre frases, especialmente focando no tratamento cuidadoso da lógica por trás deles para não distorcer os resultados ou levar a cálculos desnecessários que levariam a execuções que levariam horas.

Demonstração em Vídeo

Demonstração da principal funcionalidade do SciVerify, mostrando o upload de uma proposta de pesquisa e a avaliação das similaridades.

Galeria de Fotos

bottom of page