Learning adaptive language interfaces through interaction [electronic resource]
- Sida I. Wang.
- Physical description
- 1 online resource.
Also available at
- Natural language interfaces have the potential to complement GUIs and programming for many tasks, and enable all of us to better communicate with computers. However, until computers think like humans, they may not be able to satisfactorily understand human language, and we might have to settle for adaptive language interfaces where human users have to partially adapt to the capabilities of computers as computers adapt to human communication preferences. Because static datasets do not account for system capabilities, such adaptation must be part of an interactive learning process. In this thesis, we describe two extremes of interactive language learning---learning starting from scratch, and learning by "naturalizing" a programming language. In starting from scratch, the human can use arbitrary languages. The computer does not understand any language initially, but it has the ability to learn based on what the human selects as the correct interpretation. In naturalizing a programming language, the human must use a programming language initially. Through the naturalization process, a community of users can collectively teach the computer to understand languages that they prefer more. With a starting programming language, users can provide much stronger definitional supervision beyond simple selection of the correct answer. To start from scratch, we introduce a new language learning setting relevant to building adaptive natural language interfaces. It is inspired by Wittgenstein's language games: a human wishes to accomplish some task (e.g., achieving a certain configuration of blocks), but can only communicate with a computer, who performs the actual actions (e.g., removing all red blocks). The computer initially knows nothing about language and therefore must learn it from scratch through interaction, while the human adapts to the computer's capabilities. We created a game called SHRDLURN in a blocks world and collected interactions from 100 people playing it. First, we analyze the humans' strategies, showing that using compositionality and avoiding synonyms correlates positively with task performance. Second, we compare computer strategies, showing that modeling pragmatics on a semantic parsing model achieves a higher accuracy for more strategic players. On the other extreme, we seed the system with a core programming language and allow users to ``naturalize'' the core language incrementally by defining alternative syntax and increasingly complex concepts in terms of compositions of simpler ones. Starting with a core language allows the computer to go beyond learning from simple supervision signals like selecting the right interpretation to learning from complex definitions that the users provide. In a voxel world, we show that a community of users can simultaneously teach one system a diverse language and use it to build 240 complex voxel structures. Over the course of three days, these users went from using only the core language to using the naturalized language in 85.9% of the last 10K utterances. Experimentally, we show that our system has sufficient interactive learning ability so that the users and the system can negotiate their language through interaction and reach a language that is natural to the user and understandable by the system; and the resulting languages are diverse and adapted to the task but can deviate from standard English. We hope such adaptive language interfaces can improve human-computer communication even when computers capabilities differ significantly from humans.
- Publication date
- Submitted to the Department of Computer Science.
- Thesis (Ph.D.)--Stanford University, 2017.