32 research outputs found
Recommended from our members
Teaching the Art of Computer Programming at a Distance by Generating Dialogues using Deep Neural Networks
While teaching the art of Computer Programming, students with visual impairments (VI) are disadvantaged, because speech is their preferred modality. Existing accessibility assistants can only read out predefined texts sequentially, word-for-word, sentence-for-sentence, whilst the presentations of programming concepts could be conveyed in a more structured way. Earlier we have shown that deep neural networks such as Tree-Based Convolutional Neural Networks (TBCNN) and Gated Graph Neural Networks (GGNN) can be used to classify algorithms across different programming languages with over 90% accuracy. Furthermore, TBCNN or GGNN have been shown useful for generating natural and conversational dialogues from natural language texts. In this paper, we propose a novel pedagogy called “Programming Assistant”, by creating a personal tutor that can respond to voice commands, which trigger an explanation of programming concepts, hands-free. We generate dialogues using DNNs, which substitute code with the names of algorithms characterising the programs, and we read aloud descriptions of the code. Furthermore, the application of the dialogue generation can be embodied into an Alexa Skill, which turns them into fully natural voices, forming the basis of a smart assistant to handle a large number of formative questions in teaching the Art of Computer Programming at a distance
Code Prediction by Feeding Trees to Transformers
We advance the state-of-the-art in the accuracy of code prediction (next
token prediction) used in autocomplete systems. First, we report that using the
recently proposed Transformer architecture even out-of-the-box outperforms
previous neural and non-neural systems for code prediction. We then show that
by making the Transformer architecture aware of the syntactic structure of
code, we further increase the margin by which a Transformer-based system
outperforms previous systems. With this, it outperforms the accuracy of an
RNN-based system (similar to Hellendoorn et al. 2018) by 18.3\%, the Deep3
system (Raychev et al 2016) by 14.1\%, and an adaptation of Code2Seq (Alon et
al., 2018) for code prediction by 14.4\%.
We present in the paper several ways of communicating the code structure to
the Transformer, which is fundamentally built for processing sequence data. We
provide a comprehensive experimental evaluation of our proposal, along with
alternative design choices, on a standard Python dataset, as well as on a
Facebook internal Python corpus. Our code and data preparation pipeline will be
available in open source
Graph Neural Networks in TensorFlow and Keras with Spektral
In this paper we present Spektral, an open-source Python library for building
graph neural networks with TensorFlow and the Keras application programming
interface. Spektral implements a large set of methods for deep learning on
graphs, including message-passing and pooling operators, as well as utilities
for processing graphs and loading popular benchmark datasets. The purpose of
this library is to provide the essential building blocks for creating graph
neural networks, focusing on the guiding principles of user-friendliness and
quick prototyping on which Keras is based. Spektral is, therefore, suitable for
absolute beginners and expert deep learning practitioners alike. In this work,
we present an overview of Spektral's features and report the performance of the
methods implemented by the library in scenarios of node classification, graph
classification, and graph regression.Comment: ICML 2020 - GRL+ Worksho