...
Comments can be inserted using the Java style. Single line comments are // and multi-line comments are /* */.
Debugging:
Syntax checks:
Syntax checks are executed at load time and if problems are encountered the policy is discarded and a message printed that says where the problem was encountered.
Other messages are printed that may require your attention. For example, if user or system actions use undefined string identifiers you may need to press ENTER to continue the execution.
Graph conversion:
Also, if one defines very complex sub-dialogues with many different variable updates a warning may be presented saying that too many possible final conversation states (a conversation state is a set of effects defined along each possible path of the sub-dialogue tree) are defined. This will make the search step impossibly slow and consequentially the rewards useless. One way to avoid the problem is to add ignore
statements to tell the code that process the sub-dialogue to find the possible different final conversation states to avoid considering a specific variable. These ignore
statements should be added at the beginning of the network. For example, the statement: #ignore: var1
tells the code to ignore updates to the variable named var1
.
...
Then after the policy is loaded, you'll find a .gdl file named policy_complete_path_to_policy_file.gdl. Open this using the aiSee software.
Dialogue manager logs:
The system generates two log files in the logs directory. for each conversation, it generates a separate xml file with the following name: chat-log-MACHINE-USER-[YEAR_MONTH_DAY]-[HOURS_MINUTES_SECONDS]-sid=999-pid=.xml
. This file should be seen in a .gdl file named policy_complete_path_to_policy_file.gdl. Open this using the aiSee softwarebrowser that supports xsl style files (e.g. Firefox). It contains the record of the conversation with the NLU interpretation and the changes in the information state.
The second log file has the name: system-logs-MACHINE-USER-[YEAR_MONTH_DAY]-[HOURS_MINUTES_SECONDS]-sid=999-pid=
with no extension. This contains the system messages generated and the content depends on the log level set for each component in the log4j configuration file: src/log4j.properties.
Event listeners:
As mentioned in the information state section one can also define event listeners that execute predefined updates to the information state every time a particular event is received irrespectively of the currently active sub-dialogue.
...
The chat interface allows the user to select a character, train the NLU, see what the system says, send text to the system and momentarily block event processing in the dialogue manager.