Leonardo Amorim premiado no WSCAD e publica artigo no IEEE
Prêmio durante o WSCAD
Neste ano o XIX WSCAD aconteceu na cidade de São Paulo, no período de 01 a 03 de outubro e o nosso instrutor e consultor Leonardo Amorim, responsável pela criação do treinamento de Python and Hadoop for Data Engineering – um dos cursos lançados em 2018 pela 4Linux – foi premiado no Simpósio de Sistemas Computacionais de Alto Desempenho (WSCAD) – evento anual que apresenta os principais desenvolvimentos, aplicações e tendências nas áreas de Arquitetura de Computadores, Processamento de Alto Desempenho e Sistemas Distribuídos.
O artigo “A Fast Similarity Search kNN for Textual Datasets“, com autorias de Leonardo Amorim, Mateus Freitas, Paulo Silva e Wellington Martins foi selecionado dentre os 3 melhores e escolhido para menção honrosa.
Conversamos com o Leonardo Amorim e pedimos para ele nos contar um pouco mais sobre o artigo:
O artigo “A Fast Similarity Search kNN for Textual Datasets” trata da melhora de desempenho do algoritmo KNN (Os “k” vizinhos mais próximos) que tem como objetivo encontrar os “k” – documentos mais próximos dado um documento de consulta. Devido ao seu alto custo computacional, várias soluções paralelas tem sido propostas para acelerar o KNN incluindo aceleradores modernos como as GPUs.
No entanto, a maioria das propostas assumem que os dados são densos e de baixa dimensionalidade, estas condições não se aplicam a documento de texto, que é conhecido pela sua alta dimensionalidade e alta esparsidade.
Este artigo apresenta um algoritmo de granularidade fina que aplica técnica de filtragem baseada nos termos em comum mais importantes do documento de consulta usando para isto um índice invertido e sua implementação em GPU. Os resultados foram promissores alcançando um speedup de até 37 vezes.
Publicação de artigo no IEEE
Leonardo também teve um artigo publicado no IEEE World Congress on Computational Intelligence (IEEE WCCI) – maior evento técnico no campo de Inteligência Computacional.
O IEEE WCCI 2018 sediou três conferências: a IJCNN 2018 (Redes Neurais Artificiais), a FUZZ-IEEE 2018 (Lógica Nebulosa) e o IEEE CEC 2018 (Computação Evolutiva) e o objetivo deste congresso é incentivar o cruzamento de ideias entre estas três grandes áreas e fornecer um fórum para intelectuais de todo o mundo discutir e apresentar seus resultados de pesquisa em Inteligência Computacional.
O evento ocorre a cada 2 anos e neste ano ocorreu entre 8 e 13 de Julho no Rio de Janeiro, os eventos anteriores ocorreram no Canadá, China e Austrália e o próximo evento está previsto para acontecer na Escócia, em 2020.
Ele também nos deu detalhes e explicou mais sobre este artigo:
A principal contribuição do artigo “A new word embedding approach to evaluate potential fixes for automated program repair” publicado na IJCNN 2018 foi propor um novo método para avaliar a qualidade de patches (ou correções) gerados automaticamente por métodos de Reparo Automatizado de Software. Para isto foi aplicado o algoritmo Word2Vec adaptado pelos autores do artigo a fim de dar uma “nota” indicando a qualidade semântica de um código-fonte que recebeu uma correção gerada automaticamente.
O Word2Vec é uma classe de algoritmos usada para verificar a similaridade entre palavras, sentenças e até documentos de textos e é muito usado em aplicações de Processamento Natural de Linguagem, ele utiliza uma Rede Neural Artificial (RNA) simples quem tem como objetivos:
(i) criar um vetor compacto para cada palavra de um vocabulário a fim de que possa ser calculada a similaridade entre duas palavras usando como métrica o cálculo de distância cosseno;
(ii) aumentar a probabilidade quando as palavras de um corpus (como, por exemplo, a Wikipedia) concorrem com muita frequência e diminuir a probabilidade quando elas não concorrem.
Com isso é possível analisar a qualidade semântica de um documento de texto que pode ser um código-fonte de um programa. Para o segundo objetivo, a RNA usa um classificador chamado Softmax.
O Word2Vec só gera como resultado os vetores compactados que representam as palavras de um texto, mas não mostra o valor de probabilidade, dada duas palavras ou tokens de um código-fonte acontecerem em uma determinada sequência.
Para obter este valor de probabilidade, o Word2Vec foi adaptado para obtê-lo a fim de compor a “nota” que diz, que um código-fonte corrigido automaticamente é natural ou não, isto é, se é próximo de uma correção gerada por um ser humano, o algoritmo Word2Vec para atingir resultados satisfatórios deve ser treinado com uma grande base de dados (Big Data) de códigos-fontes que podem ser obtidos de projetos de Software Livre.
E porque este trabalho é importante?
É importante pois a depuração de código é frequentemente uma tarefa manual e dispendiosa, alguns trabalhos recentemente apresentaram métodos automatizados de reparo de softwares com o objetivo de reduzir o tempo de depuração.
O artigo pode ser obtido em: https://ieeexplore.ieee.org/document/8489079.
Leonardo Amorim foi responsável pela criação e atualmente ministra o treinamento Python and Hadoop for Data Engineering oferecido pela 4Linux. Para os interessados, no link é possível conhecer o conteúdo programático, diferencias e pré-requisitos do treinamento.
About author
Você pode gostar também
Certificação em TI: seu trampolim para o mercado de trabalho
Reflita sobre como a certificação profissional pode te colocar mais rapidamente no mercado de trabalho. Este artigo abaixo foi escrito em 2007 mas nesta semana dois acontecimento me fizeram retomá-lo
4Linux celebra treinamento de 10.000 alunos com promoções especiais
A 4Linux – tradicional empresa de treinamento de Linux e software Livre – está comemorando durante o mês de abril de 2005 o treinamento de 10.000 alunos. Um número expressivo
Dia do Profissional de Informática: Conheça as datas comemorativas da área
19 de outubro: Dia do Profissional de Informática. Faça uma busca no Google por ‘datas comemorativas’ ou ‘ hoje é dia do quê?’ ou ‘o que é comemorado no dia