Changes between Version 26 and Version 27 of dialogmanager


Ignore:
Timestamp:
01/04/24 14:48:53 (10 months ago)
Author:
wouter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • dialogmanager

    v26 v27  
    4848It contains two main components:
    49491. The DialogSpecification which is the map of the possible dialogs (see below)
    50 2. The current Parameters containing all processed information given by the user (see below)
     502. The current Parameters which are variables that can be used to build messages and do computations (see below)
    5151
    52 This can be saved and later restored to pick up a dialog.
     52The DialogState can be saved and later restored to resume up a dialog.
    5353
    5454
    5555== Parameters
    56 * The user's answers, current dialog state label, and other parameters relevant for the dialog are stored in a set of parameters. This is just a map with keys and values both strings. The keys are called the "variable name" and the values the "variable value".
    57 * Distance between two parameters is the euclidean distance (sqrt of the sum of squares) of the difference between the two parameter values, on a per-key basis. Only values for which both parameters have the key are compared. For non-numeric values, the difference is usually 0 if the values are equal, or else 1. The exact definition differes per implementation.
     56'Parameters' is a map of key-value pairs. The keys are a simple name String, the value is a ParameterValue, with various subtypes like BooleanValue, StringValue, VectorValue, DoubleValue.
     57
     58A Parameter can be used in various ways
     59* Contain the user's answers,
     60* Contain the current dialog state label,
     61* Contain input and output values of computations
     62
     63The distance between two parameters (the set of key-values) is the euclidean distance (sqrt of the sum of squares) of the difference between the two parameter values, on a per-parameter basis. Only values for which both parameters have the same key are compared. For non-numeric values, the difference is usually 0 if the values are equal, or else 1. The exact definition differes per implementation.
    5864* The parameter values are BoolValue ("bool"), DoubleValue ("num"), KeywordsValue ("keywords"), StringValue ("txt") and VectorValue ("vector"). Check the javadocs for more details.
    59 * The Keywords parameters is useful if you want to do keyword matching. It contains a list of (case-insensitive) keywords. The distance to a list of words (eg another Keywords parameter or the words in a StringParameter) is the minimu distance of any of the words to any of the keywords. Here the Levenshtein distance is used to determine the distance between a word and a keyword.
     65* KeywordsValue is useful if you want to do keyword matching. It contains a list of (case-insensitive) keywords. The distance to a list of words (eg another Keywords parameter or the words in a StringParameter) is the [https://en.wikipedia.org/wiki/Levenshtein_distance Levenshtein distance] of any of the words to any of the keywords.
    6066* The parameter named "phase" is special, it refers to the name of the current phase. If this variable is changed, the dialog jumps to the phase with the given name.
    6167