Integrated Virtual Humans
The Integrated Virtual Humans project (IVH) seeks to create a wide range of virtual human systems by combining the various research efforts within USC and ICT into a general Virtual Human Architecture. These virtual humans range from relatively simple, statistics based question / answer characters to advanced, cognitive agents that are able to reason about themselves and the world they inhabit. Our virtual humans can engage with real humans and each other both verbally and nonverbally, i.e., they are able to hear you, see you, use body language, talk to you, and think about whether or not they like you. The Virtual Humans research at ICT is widely considered one of the most advanced in its field and brings together a variety of research areas, including natural language processing, nonverbal behavior, vision perception and understanding, task modeling, emotion modeling, information retrieval, knowledge representation, and speech recognition.
Some of the challenges when developing virtual humans are the complexity of the system and the amount of specialized knowledge one needs in order to create new agents. Tools that support the authoring and debugging of agents are therefore essential, but in no way trivial to develop. For instance, how would you visualize the agent’s state of mind, taking into consideration that this involves its emotions, its views of others, its desires and intentions, its beliefs about possible actions and their consequences, and the current state of the conversation?
Considering this challenge, the tasks outlined for the summer internship are as follows:
- Become familiar with the general Virtual Humans Architecture and interact with several virtual humans;
- Create a new virtual human within a small domain, using existing authoring and debug tools;
- Give feedback on these tools;
- Implement this feedback in existing tools and/or create new tools.
Working within IVH requires a solid understanding of general software engineering principles and distributed architectures. The work touches on a variety of Computer Science areas, including Artificial Intelligence and Human-Computer Interaction. Given the scope of the Virtual Humans Architecture, the ability to quickly learn how to use existing components and develop new ones is essential.
- Fluent in C++, C# or Java
- Fluent in one or more scripting languages, like Python, TCL, LUA, or PHP
- Excellent general computer skills
- Background in Artificial Intelligence a plus