The CURRENT Platform: Building Conversational Agents in Oz
At the GU Dialogue Systems Lab in Göteborg we are embedding a conversational agent platform – the Current platform – in the Oz programming language. Current is based on a simple and intuitive characterization of conversational agents as interactive transducers, and on the fact that this characterization has a very direct implementation in Oz. Concurrency as offered by Oz allows our agents to ‘perceive’, ‘think’ and ‘act’ at the same time. Concurrency in combination with streams allow our agents to process input in an incremental manner, even when the original underlying algorithms are batch-oriented. Concurrency and streams in combination with ports allow us to specify the ‘toplevel’ transducer as a network of components – an interesting and highly modular architecture. We believe that software tools for specifying networks should have a strong visual aspect, and we have developed a ‘visual programming language’ and an IDE to support it. Also, we have found that if we specify the non-visual aspects of transducers and other components as class definitions that inherit the methods responsible for the interpretation of condition-action rules, regular expressions, grammars, dialogue management scripts, etc. from (abstract) classes provided by separate modules, we are able to hide most of the gory details involving threads, streams and ports from the agent developer.
KeywordsRegular Expression Parse Tree Input Stream Output Stream Conversational Agent
Unable to display preview. Download preview PDF.
- Abney, S.: Partial Parsing via Finite-State Cascades. In: Proceedings of the ESSLLI 1996 Robust Parsing Workshop (1996)Google Scholar
- Appelt, D.E.: The Common Pattern Specification Language. Technical report. SRI International, Artificial Intelligence Center (1996)Google Scholar
- Brill, E.: Transformation-Based Error-Driven Learning and Natural Language Processing: A Case Study in Part of Speech Tagging. Computational Linguistics 21, 543–565 (1995)Google Scholar
- Cunningham, H., Maynard, D., Bontcheva, K., Tablan, V.: GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications. In: Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL 2002), Philadelphia (2002)Google Scholar
- Kronlid, F.: Multi-Party Dialogue in Agent Communities. PhD thesis, Göteborg University (in preparation)Google Scholar
- Larsson, S.: Issue-based Dialogue Management. PhD thesis, Göteborg University (2002)Google Scholar
- Lee, P., Webber, J.: Taxonomy for visual parallel programming languages. School of Computing Science University of Newcastle upon Tyne (2003) See also, http://www.cs.ncl.ac.uk/research/pubs/trs/papers/793.pdf
- McGlashan, S. (ed.): Voice Extensible Markup Language (VoiceXML) Version 2.0. W3C Recommendation, March 16 (2004), http://www.w3.org/TR/voicexml20/
- van Roy, P., Haridi, S.: Concepts, Techniques, and Models of Computer Programming. MIT Press, Cambridge (2004)Google Scholar
- Sutton, S., Cole, R., de Villiers, J., Schalkwyk, J., Vermeulen, P., Macon, M., Yan, Y., Kaiser, E., Rundle, B., Shobaki, K., Hosom, P., Kain, A., Wouters, J., Massaro, M., Cohen, M.: Universal speech tools: the CSLU toolkit. In: Proceedings of the International Conference on Spoken Language Processing (ICSLP), Sydney, Australia, pp. 3221–3224 (1998)Google Scholar