GitHub ha abierto desarrollos en el uso del aprendizaje automático para la búsqueda y análisis de código

GitHub presentado proyecto CódigoBuscarNet, que ha preparado modelos de aprendizaje automático y conjuntos de datos necesarios para analizar, clasificar y analizar código en varios lenguajes de programación. CodeSearchNet, similar a ImagenNet, incluye una gran colección de fragmentos de código con anotaciones que formalizan lo que hace el código. Los componentes para entrenar modelos y ejemplos de uso de CodeSearchNet están escritos en Python usando el marco Tensorflow y distribuido por bajo la licencia del MIT.

Al crear CodeSearchNet, se utilizaron tecnologías de análisis de texto en lenguaje natural, lo que permitió a los sistemas de aprendizaje automático tener en cuenta no solo las características sintácticas, sino también el significado de las acciones realizadas por el código. El sistema GitHub aplica en experimentos sobre la organización de la búsqueda de código semántico mediante consultas sobre lenguaje natural (por ejemplo, al solicitar "ordenar una lista de cadenas", se muestra el código con la implementación de los algoritmos correspondientes).

El conjunto de datos propuesto incluye más de 2 millones de enlaces de comentarios de código, preparados en base a los textos fuente de bibliotecas abiertas existentes. El código cubre el texto fuente completo de funciones o métodos individuales, y el comentario describe las acciones realizadas por la función (se proporciona documentación detallada). Actualmente, los conjuntos de datos están preparados para Python, JavaScript, Ruby, Go, Java y PHP. Se proporcionan ejemplos del uso de los conjuntos de datos propuestos para entrenar varios tipos de redes neuronales, incluidos Bolsa-de-palabras-neural, RNN, Autoatención (BERT) y Híbrido 1D-CNN + Autoatención.

Para desarrollar mecanismos de búsqueda en lenguaje natural, se ha preparado adicionalmente un conjunto de CodeSearchNet Challenge, que incluye
99 típico consultas con alrededor de 4 mil anotaciones de expertos que describen los enlaces de código más probables en el conjunto de datos CodeSearchNet Corpus, que cubren alrededor de 6 millones de métodos y funciones (establecer tamaño unos 20 GB). El CodeSearchNet Challenge puede servir como punto de referencia para evaluar la efectividad de ciertos métodos para buscar código en lenguaje natural. Usando herramientas Kubeflow preparado
ejemplo motor de búsqueda de códigos.

Fuente: opennet.ru

Añadir un comentario