GitHub abriu desenvolvementos no uso da aprendizaxe automática para a busca e análise de código

GitHub introducido proxecto CodeSearchNet, que preparou modelos de aprendizaxe automática e conxuntos de datos necesarios para analizar, clasificar e analizar código en varias linguaxes de programación. CodeSearchNet, similar a IMAGEnet, inclúe unha gran colección de fragmentos de código con anotacións que formalizan o que fai o código. Os compoñentes para os modelos de adestramento e os exemplos de uso de CodeSearchNet están escritos en Python usando o framework Tensorflow e distribuído por baixo a licenza MIT.

Ao crear CodeSearchNet, utilizáronse tecnoloxías de análise de textos en linguaxe natural, que permiten que os sistemas de aprendizaxe automática teñan en conta non só as características sintácticas, senón tamén o significado das accións realizadas polo código. O sistema GitHub aplicado en experimentos sobre a organización da busca de código semántico mediante consultas sobre linguaxe natural (por exemplo, ao solicitar "ordenar unha lista de cadeas", móstrase código coa implementación dos algoritmos correspondentes).

O conxunto de datos proposto inclúe máis de 2 millóns de ligazóns de comentarios de código, elaboradas a partir dos textos fonte das bibliotecas abertas existentes. O código abrangue o texto fonte completo de funcións ou métodos individuais, e o comentario describe as accións realizadas pola función (achégase documentación detallada). Actualmente, os conxuntos de datos están preparados para Python, JavaScript, Ruby, Go, Java e PHP. Ofrécense exemplos de uso dos conxuntos de datos propostos para adestrar varios tipos de redes neuronais, incluíndo Neural-Bolsa-de-palabras, RNN, Auto-atención (BERT) e 1D-CNN+Híbrido de autoatención.

Para desenvolver mecanismos de busca en linguaxe natural, preparouse adicionalmente un conxunto de CodeSearchNet Challenge, incluíndo
99 típico consultas con preto de 4 mil anotacións de expertos que describen os enlaces de código máis probables no conxunto de datos CodeSearchNet Corpus, que abarcan uns 6 millóns de métodos e funcións (establecer tamaño uns 20 GB). O CodeSearchNet Challenge pode servir como punto de referencia para avaliar a eficacia de certos métodos para buscar código de linguaxe natural. Usando ferramentas KubeFlow preparado
exemplo buscador de código.

Fonte: opennet.ru

Engadir un comentario