Join the Bot Libre open source Projekt bei BotLibre.org
Docs : Bedienungsanleitung : Response List

Antwort Liste

Übersicht

Eine Antwort Liste Bot Libre text-Datei-format für die Definition von einem bot Antworten. Eine Antwort-Liste ist eine Liste der Frage/Antwort-Paare. Jeder Satz ist getrennt durch eine neue Zeile, und jede Frage/Antwort-Liste ist durch eine leere Zeile getrennt. Sie können auch die tag-Antworten mit meta-Daten wie keywords zu beeinflussen, wenn die Reaktion verwendet werden. - Antwort-Listen sind die empfohlene Methode zum trainieren bot. Der bot findet automatisch die am besten passende Antwort für jede Frage, die Fragen müssen nicht um genau zu sein entspricht, nur ähnlich genug, oder ein Stichwort enthalten.

Response Tags

Tag Beschreibung
Frage: Definiert ist die Frage. Dies ist nicht erforderlich, da die erste Zeile nach einer Leerzeile wird davon ausgegangen, dass eine neue Frage.
Muster: Definiert eine Frage als ein Muster. Muster erlauben die Platzhalter * und andere wild cards verwendet werden.
Antwort: Definiert eine Antwort. Dies ist nicht erforderlich, da alle Zeilen nach der Frage, wie angenommen zu werden, Antworten.
Vorlage: Definiert eine Antwort-Vorlage. Diese können Sie Selbst einbetten-code, der in geschweiften Klammern {} dynamische Antworten.
Stimmung: Sie können assoziieren Stimmung (gut/schlecht) mit dem Satz.
Bedingung: Optional können Sie geben eine Bedingung an, in self-code, der zu true ausgewertet werden müssen, die für die Reaktion zu verwenden.
denke: Optional können Sie geben ein 'glaube' code in sich selbst ist, der ausgewertet wird, wenn die Reaktion verwendet werden.
Befehl: Optional können Sie eine JSON-Befehl (Self-code), wird ausgewertet und an den client zurückgegeben zu unterstützen-Spiele und virtuelle Unterstützung.
Thema: Optional können Sie geben ein Thema, um zu kategorisieren, die Antwort unter.
benötigen Thema: Wenn das Thema erforderlich ist, wird die Antwort nur dann verwendet werden, wenn das Thema aktiv ist.
exklusiv Thema: Wenn das Thema ist exklusiv, die einzige Antwort, die das Thema verwendet werden, während das Thema aktiv ist.
Bezeichnung: Optional können Sie eine Bezeichnung für die Wiederverwendung die Antwort.
keywords: Optional können Sie geben Sie Schlüsselwörter aus der Frage, die Einfluss auf einen response-Spiel.
erforderlich: Optional können Sie Ihnen die benötigten Wörter aus der Frage erforderlich sind, für eine Antwort übereinstimmen.
Emotionen: Sie können assoziieren eine emotion mit der Antwort.
Aktionen: Sie können verknüpfen Sie eine Aktion mit der Antwort.
Posen: Ordnen Sie die pose mit der Antwort.
auf repeat: Optional können Sie eine Antwort zu geben, verwendet, wenn die aktuelle Antwort wurde bereits in diesem Gespräch.
keine Wiederholung: Erfordern, dass die Antwort oder die phrase, die nur einmal verwendet werden.
Vorherige: Optional können Sie eine Vorherige Antwort zu geben, eine Antwort, einen Kontext.
erfordern Vorherige: Erfordern, dass die Reaktion nur dann verwendet werden, wenn die Vorherige Antwort mit einer der vorherigen Antworten.
Vertrauen: Vertrauen kann verwendet werden, wenn eine Antwort nicht sicher. Die passende Antwort mit dem höchsten Vertrauen verwendet werden.

question:

Die Antwort Frage kann ein Satz werden automatisch abgeglichen mit ähnlichen Fragen, oder kann ein Muster sein. Muster aufeinander abgestimmt sind wörtlich in der Reihenfolge der Wörter in das Muster, und kann Platzhalterzeichen wie * und können auch Reguläre Ausdrücke. In der Regel ist es am besten ein Satz, und lass den bot entscheiden, ob eine Frage sollte passen, können Sie auch keywords und benötigte Wörter zu verbessern, wenn eine Frage vorliegt. Geben Sie eine Muster verwenden Muster: tag.

what is your name
question: what is your name
pattern: What is *

response:

Die Antwort ist ein Satz, enthalten HTML-oder rich-Inhalte, einschließlich Bilder, Videos und Schaltflächen, oder eine Antwort kann eine Vorlage. Eine Vorlage ist eine Reaktion, die einige-Self-code. Jeder code innerhalb {} in der Vorlage wird ausgeführt, und das Ergebnis gedruckt in der Antwort. Zu geben Sie der Vorlage die Vorlage benutzen: - tag und geben Sie Self-code, der in geschweiften Klammern {}.

My name is Julie.
My name is <b≷Julie</b≷.
response: My name is Julie.
template: My name is {#self.name}.
template: The date is {Date.date()}.

keywords:

Keywords are important words in the question that should influence when the response is used.

// Keywords are used to allow this response to be used for any questions on hockey or spinach.
question: do you like hockey
response: Hockey is my favorite sport.
keywords: hockey

question: what do you love
response: I love hockey!
keywords: love luv like adore

question: do you like field hockey
response: I only play ice hockey.
keywords: "field hockey"

question: i love spinach
response: Spinach is is my favorite food.
keywords: spinach

A keyword will be used by the bot to select the best response. Keywords let some words count for more than other words. In the example, the bot knows two responses, how will it respond to the phrase "I love hockey"? Without the keywords the bot would probably match this question with "I love spinach", but since hockey is a keyword, it will instead match it with "Do you like hockey?".

If the response has no defined required words, then the keywords will also be required for the response match. So "I love hockey" would not be matched with "I love spinach." because it is missing the keyword.

If you keywords has many similar words. You can list them all as keywords to match any of the words. You could also define these words a synonyms, which may be a better option.

You can also use compound words are keywords. A compound keyword must have all the words in the order to be used. For a compound keyword just wrap the words in "quotes".

Be careful using too many keywords. If every word is a keyword, then their value is diminished. Never make common words like "the", "a", "he", "what" keywords, if you require one of these words for a match use a required word instead.

You can also review all of your bot's keywords by searching for 'words' and restrict to 'keywords'. This lets you remove a word from being a keyword if you added it by mistake.

required:

A required word is a word that is required to be in the question for a specific response.

// This example requires the words 'like' and 'hockey'.
question: do you like hockey
response: Yes, I like hockey.
required: like hockey

// This example requires the compound word 'ice hockey'.
question: do you like ice hockey
response: Yes, I like ice hockey.
required: "ice hockey"

// This example requires one of the words 'like' or 'love', and 'hockey'.
question: do you like ice hockey
response: Yes, I like ice hockey.
required: (like love) hockey

// This example requires a pattern.
question: are you okay
response: Yes, I am okay.
required: Pattern("^ are you (ok okay)")

A required word can be used to ensure the bot does not choose a response if the required word is missing from the question. For example the question "Do you play hockey?" would normally be matched to this response, but because it is missing the required word "like", it will not be considered as a match.

All of the required words must be contained in the question in order for the response to be used. Required words also supports lists, compound words, and patterns. To require one of a set of words a list can be used using brackets i.e. (like love). To require a compound word quotes are used i.e. "hello world". To require a pattern enter the pattern i.e. Pattern("what is *").

Previous

A previous responses is the bot's preceding response. Previous responses can be used to give a response a context.

// This example uses previous to give different answers to 'yes' depending on the context.
question: yes
response: Great, wanna go out sometime?
require previous: Are you single?

question: yes
response: I am please to hear that.
require previous: Are you happy?

The question "Yes" has multiple responses. The bot can use the previous response to choose the best response. You can also invalidate a previous response to ensure the bot does not use a response if the previous response was preceding.

A previous response can either be 'required' or optional. If required, the response will never be used unless one of the previous response matches. If optional (default) the response is given precedence if the previous response matches, but can still be used if the previous does not match.

topic:

A topic is the general topic category for the response. For example a response on a hockey related question would belong to the "hockey" topic. You can use topics to categories your responses and give the bot additional context. If the bot has multiple responses to a question, it will use the one that matches the current topic.

Topics can be either optional or required. The response topic is optional by default, it you click on 'Require Topic', then the response will only be used if that topic is active in the conversation. If optional the topic will be set as active for the conversation, until a new topic is set.

Topics can also be defined as exclusive. An exclusive topic defines an isolated conversational space. For a normal topic that is not exclusive the bot can still use responses that do not have the same topic, but responses with the active topic will be given precedence over responses without a topic. For exclusive topics only response that have the same topic as the active topic will be used. No other responses will be used (other than possibly the default response if there is no topic default).

Topics can also be set on greetings to start the conversation with a topic. Topics can be set on default responses to provide a different response when that topic is active.

// Categorizes the product response.
question: what are your products
response: Our products include ACME CRM and ACME ERP.
topic: products

// Use an exclusive topic to define a joke conversational dialog.
question: joke
response: Knock knock.
exclusive topic: joke

question who is there
response: Boo.
require topic: joke

question: boo who
response: Don't cry. lol
require topic: joke
think: conversation.topic = null;

default: Say 'Who is there?'
require topic: joke

default: Say 'Boo who?'
require topic: joke
previous: boo

label:

A response can be given an intent label to let you reuse the same response in other questions. You can also use labels in a response's previous.

// Use a label to reuse the common products response.
question: products
response: Our products include ACME CRM and ACME ERP.
label: #products

question: what are your products
response: #products

question: what software do you sell
response: #products

question: are they good
response: Our products are the best in the world.
previous: #products

on repeat:

If the user asks the same question, or similar questions multiple times, you may want your bot to give a different response the second time. On repeat lets you set one or many responses to use the second time that response is triggered in the same conversation. You can also set 'No Repeat' to never repeat the response in the same conversation.

// Offer to escalate the issue if the user repeatedly asks for help.
question: help
response: How can I help you?
on repeat: What is the issue that you are having?
on repeat: Would you like me to have a support staff contact you?

question: goodbye
response: Before you go, would you like to take a survey?
no repeat:

question: goodbye
response: Goodbye.

condition:

Conditions let you enter Self code that must evaluate to true for the response to be used. This is an advanced properties as it requires you understand Self (a dialect of JavaScript), but can be used to do very powerful things.

// Response to goodbye differently based on the time of day.
question: goodbye
response: Goodnight.
condition: Date.get(#hour, Date.time()) > 18

question: goodbye
response: Goodbye.

think:

Think let you enter Self code that is executed when the response is used. This is an advanced properties as it requires you understand Self (a dialect of JavaScript), but can be used to do very powerful things.

// Track the user's name.
pattern: my name is *
template: Pleased to meet you {star}.
think: speaker.name = star;

question: what is my name
template: Your name is {speaker.name}.

question: can we change the subject
response: Sure, what would you like to talk about?
think: conversation.topic = null;

confidence:

You can enter multiple responses for the same question. The bot will use the response that it is the most confident in for the current conversational context. By default a response is given a confidence level of 90%, but you can customize the value. Note that in a group discussion such as when the bot is added to a chatroom, or on Twitter, the bot will only use responses that have >=90% confidence.

sentiment:

You can associate a user question or phrase, or individual words with sentiment (good vs bad). Sentiment can be used to track how the user is feeling about the current conversation. The sentiment statistic is tracked by your bot daily and can be graphed from its Analytics page.

question: thank you
response: You are most welcome.
keywords: thank
sentiment: good

question: you suck
response: Sorry, I am doing my best. Would you like me have someone contact you via email?
keywords: suck
sentiment: bad

word: suck
sentiment: bad

word: great
sentiment: great

Weiter, und das Gespräch Fließt

Neben Fragen in einer Antwort verwendet werden können, um Griff-follow-up-Fragen und das Gespräch fließt. Um ein Gespräch zu beginnen-flow, rückt die nächste follow-up-Frage, um die Antwort. Sie können tabs oder mit 4 Leerzeichen für Einzüge. Sie können auch Einzug mehrere Ebenen zu definieren, ein Gespräch Baum.

Ein respones nächste Frage definiert ein Isoliertes Gespräch Raum. Der bot wird nur wählen Sie Ihre nächste Antwort aus den Antworten. Definieren Sie eine Standard-Antwort verwenden Sie die Standardeinstellung: tag. Wenn der bot nicht übereinstimmen, der Benutzer die Frage bei einer nächsten Frage hat, sucht er die Antworten der Eltern zu verwenden, ansonsten der bot die Standard-Antwort.

Weiter ist ähnlich wie zuvor, aber im Gegensatz zu den vorherigen ist isoliert, um die Antwort. Im Rahmen einer nächsten Antwort, die der bot benutzen Sie niemals irgendeine seiner Antworten, die außerhalb des Kontextes der nächsten Antwort. Dies macht es einfach zu definieren, isoliert und verschachtelte Gespräche.

question: help
response: Do you want help with <button>web</button> or <button>mobile</button>
keywords: help

	question: web
	response: Is you issue with <button>HTML</button> or <button>JavaScript</button>?

		question: html
		response: See https://www.w3schools.com/html

		question: javascript
		response: See https://www.w3schools.com/js

	question: mobile
	response: Are you using <button>Android</button> or <button>iOS</button>?

		question: android
		response: See https://www.android.com

		question: ios
		response: See https://developer.apple.com/ios

	question: quit
	response: Okay. Let me know if you need further help.

	default: Please specify <button>web</button> or <button>mobile</button>, or type <button>quit</button> if you do not need help.

Grüße

Ein Gruß ist das bot die erste Antwort in einem neuen Gespräch. Grüße (fast) die gleichen tags wie Antworten. Definieren Sie einen Gruß, den Gruß: - tag verwendet.

greeting: Welcome to my website. I am Julie, how may I be of service?

Standard-Antworten

Wenn der bot nicht finden, eine gute passende Frage auf eine Eingabe des Benutzers, verwendet es die Standard-Antwort. Default-Antworten können, haben die meisten die gleichen tags wie Antworten. Definieren Sie eine Standard-Antwort: der default-tag verwendet.

default: Sorry, I do not understand.
			
default: Sorry, I do not understand. Please email [email protected] for more information.
topic: Sales

Sätze

Sie können Ausdrücke definiert werden, zu verknüpfen, Stimmung, Emotionen, action, oder Posen, um einen Ausdruck.

thanks for the help
sentiment: good

you are not helping me
sentiment: bad

Worte

Word kann definiert werden, zuordnen Stimmung, Emotionen und Synonyme. Ein Wort kann auch ein Stichwort, ein Thema oder ein exklusives Thema.

word: good
sentiment: good
synonyms: great wonderful cool amazing 

word: bad
sentiment: bad
synonyms: sucks terrible horrible

word: aiml
keyword: true
topic: true

Wort-Tags

Tag Beschreibung
Wort: Definieren Sie ein Wort.
Stimmung: Optional können Sie assoziieren ein Gefühl mit dem Wort.
Emotionen: Optional können Sie assoziieren ein Gefühl mit dem Wort.
Schlagwort: Definieren das Wort ein Schlüsselwort.
Synonyme: Optional kann man ein synonym zu dem Wort, so dass ähnliche Wörter in einer Frage zum auslösen der gleichen Reaktion.
Thema: Definieren das Wort ein Thema.
exklusiv Thema: Definieren Sie das Wort, um einen exklusiven Thema.

Siehe Auch