Doar para arXiv

Título:Quando Aprendizagem Profunda Reuniu-se com a Pesquisa de Código

Autores:José Cambronero, Hongyu Li, Inglês Kim, Koushik Sen, Satish Chandra

Download PDF

Resumo: Há várias propostas recentes sobre o uso de profundidade de redes neurais forcode pesquisa usando linguagem natural. Comum entre estas propostas é o ideaof $\mathit{embedding}$ code and natural language queries, em vetores reais e, em seguida, usando a distância vetorial para aproximar a correlação semântica entre code e a consulta. Existem várias abordagens para aprender estas incorporações, incluindo as técnicas $\mathit{sem supervisão}$, que dependem apenas de um corpo de exemplos de código, e $\mathit{supervisionado}$ técnicas, que usam um$\mathit{alinhado}$ corpus de código emparelhado e descrições de linguagem natural. O objetivo desta supervisão é produzir incorporações mais semelhantes para aquery e o correspondente excerto de código desejado. É evidente que existem opções para utilizar técnicas supervisionadas e, em caso afirmativo, que tipo de rede e formação utilizar para a supervisão. Este artigo é o primeiro a avaliar sistematicamente estas escolhas. Para este fim, reunimos implementações de técnicas de ponta para funcionar numa plataforma comum,corpora de formação e avaliação. Para explorar o espaço de design na complexidade da rede, também introduzimos um novo ponto de design que é uma extensão de supervisão $\mathit{minimal}$a uma técnica existente sem supervisão. A nossa avaliação mostra que: 1. a adição da supervisão a uma técnica não supervisionada existente pode melhorar o desempenho, embora não necessariamente em grande medida; 2. redes simples para a supervisão podem ser mais eficazes que redes mais sofisticadas baseadas em sequências para a pesquisa de códigos; 3. embora seja comum utilizar as “docstrings” para efectuar a supervisão, existe uma diferença considerável entre a eficácia das “docstrings” e um corpus de supervisão mais adequado à consulta.
A avaliação do conjunto de dados já está disponível no arXiv:1908.09804

Assuntos: Engenharia de Software (cs.SE); Computação e Linguagem (cs.CL); Aprendizagem de Máquina (cs.LG)
Cite as: arXiv: 1905.03813
(ou arXiv:1905.03813v4 para esta versão)

Deixe uma resposta

O seu endereço de email não será publicado.