Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NPCEditor controls the spoken behavior of the characters in the Toolkit, as well as the structure and logic of the interaction through its dialog manager.  It It contains a list of user and character utterances, divided into  "Questions" and character "Answers", and the links between them.   NPCEditor NPCEditor uses a statistical text classifier to determine the best character response to novel user input, allowing users to converse with the characters with minimal reduced authoring effort.

Quick facts:

...

In the launcher, click 'Launch' in the NPCEditor row under the 'Agents' group.  It It will also run by default when you launch 'Run Checked'

...

The quickest way to make a character speak a line is to double click an entry in the right side of the Utterances Tab, under 'Answers'.  The The character should speak the line you've selected, with lip sync and gestures provided by Nonverbal NonVerbal Behavior Generator.

Reviewing and Editing Character Dialog

All of Brad's, or any character's, lines of dialog are stored in a plist generated by NPCEditor. NPCEditor uses a tabbed layout, with the two main tabs for users being the Utterances Tab and the Chat Tab.  Dialog Dialog is found in the Utterances Tab.

...

The left hand side of the Utterances Tab lists the Questions, while the right is dedicated to the Answers.  Questions Questions are examples of user utterances that the system expects to receive.  This This can include questions, "What is your name?", or statements, "Tell me about yourself."  When When NPCEditor receives user input, whether typed or spoken through AcquireSpeech, it uses a statistical classifier to compare the input to known Questions.  If If there is an exact match, NPCEditor automatically responds with the highest scoring Answer.  If If there is not an exact match, the classifier determines the closest line in the Questions tab and responds with the highest scored linked Answer.  These These scores are determined by the links between Questions and Answers.

Character dialog is listed as Answers on the right of the tab.  Each Each of a character's lines of dialog has its own entry.  

 

An Answer consists of a number of fields.: 

  • External ID is the file name of the sound file to be played back with a line of dialog.  
  • Text is the transcript of the line.  
  • Domain is used to control different dialog phases.  
  • Speaker and Addressee designate which character speaks this line and who is listening, whether another character of the user.  
  • Type is used to denote specific types of dialog, such as control lines, for example when Brad cannot understand the user's question.
  • Topic and Sound are used to sort the dialog.

...

The Chat Tab allows you to see a log of the latest discussion with an NPCEditor controlled character, and interact with a character independent of other tools.  You You do not need a renderer or any other components.  The The body of the tab is by default a maximized chat interface.  Users Users may enter what they wish to say to a character at the bottom, and the classifier will select the best response and print it to the Conversation Log.  

For example, as you speak to Brad with your microphone, you will see your speech and Brad's responses populate the log.  If If you wish to type an answer, you may do so here by selecting the user to speak as, typing your utterance, then clicking "Enter Question" in the bottom right.  If If Unity or another engine is running, Brad should speak and respond there, as well as in his window.  Even Even without any other components running, you can test text interaction with a character through this interface.

...

Groovy is a scripting language which uses java like syntax. You can find more about it at http://groovy.codehaus.org/

See these slides to get started: 2013-03.NPCEditor-secrets.key.pdf

plist Format

The NPCEditor uses a .plist file format for loading.  

High Level Format

Image Added

categories

The character names and ids can be found in this section 

Image Added

questions

Lists all the user questions 

Image Added

answers

Lists all the system answers that the virtual humans respond with. Speaker id is the index of categories → speaker → tokens array

Image Added

map

Contains an array of dicts that maps a question  from the questions section of the plist to an answer from the answer section of the plist using array indices.

Image Added

Message API

Input:

Output:

Known Issues

  • Heavy memory usage under Windows XP 64 bit.

...