Many years ago, I gave a talk at the Debian Conference on an intriguing paper from MIT:

S.R.K. Branavan, Harr Chen, Luke Zettlemoyer, and Regina Barzilay. 2009. Reinforcement Learning for Mapping Instructions to Actions. In Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP, pages 82–90, Suntec, Singapore. Association for Computational Linguistics.



The paper describes an automated way to translate human, textual instructions into executable actions. Their approach involves reinforcement learning with no human intervention, by probing alternative interpretations of the instructional text in a virtual machine. The computer learns which different actions (such as "choose third option from the menu") correspond to different English words in the instructions. Their system also learns how to re-order instructions (as text presentation doesn't necessarily imply execution order, e.g. "click done after selecting /dev/usb"). They also made their code available (targeted towards a MS Windows VM).

While the paper was well received, this type of technology is still not available within the free software world. Moreover, recent advances in deep reinforcement learning make the approach even more attractive.