Intent
Refers to user intent
Several Situations in which "intent" occurs
- "#user_intent#" node's "intent" attribute (this node can be located behind the #single_turn_interact# node or the "#trigger#" node)
- The "intent" part of the "response_script" attribute in the "#start#" node
- The "intent" part of the "#start#" node's "dynamic_reference_information" attribute
- The "intent" part of the "#start#" node's "intent_trigger" attribute
- "#multi_turn_interact#" node's "exit_intent" attribute
Specification Requirements of Intent Description Text
- It can only be a declarative sentence with the subject "user"(usually omitted) and no punctuation marks at the end.
- Such as: agree/disagree ..., refuse/not refuse ..., have/not have ..., express ..., ask ..., worry about ..., expect that ..., inquiry ..., etc.
- Use the "you" or the "system_role" of "#start#" node to refer to the AI robot in the dialogue, and use the "user" or "user_role" of the "#start#" node to refer to the other party (i.e. the user) in the dialogue; use other pronouns that may cause confusion with caution
- To express relevant information completely, accurately, and avoid ambiguity
- For example, it should not be "Ask about the time required" but "Ask about the time required to litigate". If there are same or similiar user intent in other scenarios of the same ChatTree, scene information needs to be added, such as "Asking about time required to litigate a divorce case."
- Cannot simply use a word "yes/no", "agree/disagree", "have/have not", etc. You must write clearly the object "have ... / have not ...", "agree ... / disagree ..."
- AI asks "Is there an end date" and you answer "Next December 33rd", the affirmative intent at this time is "has an end date". It can be optimized to "has an end date or provides an end date directly" and adds the constraint "even invalid dates count"
- "I want a divorce", "the other party wants a divorce", "both parties want a divorce" can be optimized to "only I want a divorce", "only the other party wants a divorce", "both parties want a divorce",
- Be careful with negative or exclusive expressions (such as "not ...", "other ...")
- You can also use the following "intent_constraint" to further refine the semantics of intent and avoid ambiguity
- The semantic connotations of the "intent" of multiple "#user_intent#" nodes after the same "#single_turn_interact#" node or after the same "#trigger#" node must be "mutually exclusive" and cannot overlap. When necessary, they can be distinguished by constraint (see below). For example, "consulting on debts, arrears and other dispute-type legal issues" can be added with the constraint "non-property type" to distinguish it from "consulting on property-type legal issues"
- For the "#user_intent#" node after the "#single_turn_interact#" node, if it is a "whether" judgment, it can be one of the "affirmative, neutral, negative" modes: affirmative|negative, affirmative|neutral|negative, affirmative+neutral|negative, affirmative|neutral+negative, where "neutral" represents an intermediate state (neither affirmative nor negative). For example, "It's the patient himself" and "It's not the patient himself" ("affirmative | negative" mode), which can be adjusted to:
- "Not denying that it is the patient himself" and "denying that it is the patient himself" are equivalent to merging the intermediate state into the affirmative side ("affirmative + neutral | negative" mode)
- "Confirmed to be the patient himself" and "Not confirmed to be the patient himself" are equivalent to merging the intermediate state into the negative side ("affirmative | neutral + negative" mode)
- The above two situations will also prevent the system from interpreting the intermediate state as the user's refusal to answer
- But please note that "not agreed" means disagreement, which is different from "not confirmed", so you can only use "not explicitly agreed", but there is no need for "not explicitly denied" or "not explicitly confirmed"
- At the same time, be careful to use it in conjunction with the InfoItem modifier "explicit"
- Cannot ask LLM to "do" or "say" anything, such as "Tell me...", "Help me...", "Give me...", "Say...", "Answer..." etc.
- Character Specifications: can only be digits, uppercase and lowercase letters, single quotes, commas, underscores, hyphens, forward slashes and dot
Intent Constraint
- In addition to the intent itself, there is an optional "constraint" part, which is a detailed restriction, explanation or description of the user's intent. The constraint content cannot contain characters such as "(){}[]|":
- example:
- Intent "Clearly requires face-to-face consultation with a lawyer", you can add the intent constraint "Merely specifying the lawyer’s location does not count"
- Intent "Consulting on legal issues related to criminal cases", you can add the intent constraint "Excluding traffic accidents"
- Intent "Rebook another flight", you can add intention constraint "Changes of starting point, destination, and airline are not counted"
- Intent "Query goods or vehicles" can be added with intent constraint "but does not include inquiries about app issues or website issues"