Mapping Python Programs to Vectors using Recursive Neural Encodings

Paaßen B, McBroom J, Jeffries B, Koprinska I, Yacef K (2021)
Journal of Educational Datamining 13(3): 1–35.

Zeitschriftenaufsatz | Veröffentlicht | Englisch
 
Download
Es wurden keine Dateien hochgeladen. Nur Publikationsnachweis!
Autor*in
Paaßen, BenjaminUniBi ; McBroom, Jessica; Jeffries, Bryn; Koprinska, Irena; Yacef, Kalina
Abstract / Bemerkung
Educational data mining involves the application of data mining techniques to student activity. However, in the context of computer programming, many data mining techniques can not be applied because they require vector-shaped input, whereas computer programs have the form of syntax trees. In this paper, we present ast2vec, a neural network that maps Python syntax trees to vectors and back, thereby enabling about a hundred data mining techniques that were previously not applicable. Ast2vec has been trained on almost half a million programs of novice programmers and is designed to be applied across learning tasks without re-training, meaning that users can apply it without any need for deep learning. We demonstrate the generality of ast2vec in three settings. First, we provide example analyses using ast2vec on a classroom-sized dataset, involving two novel techniques, namely progress-variance projection for visualization and a dynamical systems analysis for prediction. In these examples, we also explain how ast2vec can be utilized for educational decisions. Second, we consider the ability of ast2vec to recover the original syntax tree from its vector representation on the training data and two other large-scale programming datasets. Finally, we evaluate the predictive capability of a linear dynamical system on top of ast2vec, obtaining similar results to techniques that work directly on syntax trees while being much faster (constant- instead of linear-time processing). We hope ast2vec can augment the educational data mining toolkit by making analyses of computer programs easier, richer, and more efficient.
Erscheinungsjahr
2021
Zeitschriftentitel
Journal of Educational Datamining
Band
13
Ausgabe
3
Seite(n)
1–35
Page URI
https://pub.uni-bielefeld.de/record/2978969

Zitieren

Paaßen B, McBroom J, Jeffries B, Koprinska I, Yacef K. Mapping Python Programs to Vectors using Recursive Neural Encodings. Journal of Educational Datamining. 2021;13(3):1–35.
Paaßen, B., McBroom, J., Jeffries, B., Koprinska, I., & Yacef, K. (2021). Mapping Python Programs to Vectors using Recursive Neural Encodings. Journal of Educational Datamining, 13(3), 1–35. https://doi.org/10.5281/zenodo.5634224
Paaßen, Benjamin, McBroom, Jessica, Jeffries, Bryn, Koprinska, Irena, and Yacef, Kalina. 2021. “Mapping Python Programs to Vectors using Recursive Neural Encodings”. Journal of Educational Datamining 13 (3): 1–35.
Paaßen, B., McBroom, J., Jeffries, B., Koprinska, I., and Yacef, K. (2021). Mapping Python Programs to Vectors using Recursive Neural Encodings. Journal of Educational Datamining 13, 1–35.
Paaßen, B., et al., 2021. Mapping Python Programs to Vectors using Recursive Neural Encodings. Journal of Educational Datamining, 13(3), p 1–35.
B. Paaßen, et al., “Mapping Python Programs to Vectors using Recursive Neural Encodings”, Journal of Educational Datamining, vol. 13, 2021, pp. 1–35.
Paaßen, B., McBroom, J., Jeffries, B., Koprinska, I., Yacef, K.: Mapping Python Programs to Vectors using Recursive Neural Encodings. Journal of Educational Datamining. 13, 1–35 (2021).
Paaßen, Benjamin, McBroom, Jessica, Jeffries, Bryn, Koprinska, Irena, and Yacef, Kalina. “Mapping Python Programs to Vectors using Recursive Neural Encodings”. Journal of Educational Datamining 13.3 (2021): 1–35.
Alle Dateien verfügbar unter der/den folgenden Lizenz(en):
Creative Commons Namensnennung - Nicht kommerziell - Keine Bearbeitungen 4.0 International (CC BY-NC-ND 4.0):

Link(s) zu Volltext(en)
Access Level
OA Open Access

Export

Markieren/ Markierung löschen
Markierte Publikationen

Open Data PUB

Suchen in

Google Scholar