Una Lista de Respuesta es Bot Libre de formato de archivo de texto para la definición de un bot respuestas. Una respuesta de la lista es una lista de pregunta/respuesta de los pares. Cada frase está separado por una línea nueva, y cada pregunta/respuesta de la lista separados por una línea vacía. También puede etiquetar las respuestas con meta datos tales como palabras clave para influir cuando se utiliza la respuesta. Respuesta listas son la forma recomendada para entrenar a un bot. El bot automáticamente a encontrar la mejor coincidencia de respuesta para cualquier pregunta, las preguntas no tienen que ser exactas las coincidencias, sólo lo suficientemente similares, o incluir una palabra clave.
Etiqueta | Descripción |
---|---|
pregunta: | Define a la pregunta. Esto no es necesario, ya que la primera línea después de una línea en blanco se supone que para ser una nueva pregunta. |
patrón: | Define una pregunta como un patrón. Los patrones permiten el comodín * y otros comodines para ser utilizado. |
respuesta: | Define una respuesta. Esto no es necesario, como las líneas después de la pregunta como se supone ser las respuestas. |
plantilla: | Define una plantilla de respuesta. Esto le permite incrustar Auto de código dentro de llaves {} para las respuestas dinámicas. |
sentimiento: | Puede asociar el sentimiento (bueno/malo) con la frase. |
condición: | Opcionalmente se puede dar una condición en auto de código que se debe evaluar a true para que la respuesta se va a utilizar. |
pensar: | Opcionalmente se puede dar un 'pensar' código en el auto que se evalúa cuando se utiliza la respuesta. |
comando: | Opcionalmente se puede dar un JSON comando (Mismo código) que se evalúa y devuelve al cliente para soporte de los juegos y de la asistencia virtual. |
tema: | Opcionalmente se puede dar un tema para clasificar la respuesta. |
requieren tema: | Si el tema se requiere, la respuesta sólo se utiliza cuando el tema está activo. |
tema exclusivo: | Si el tema es exclusiva, la única respuesta que compartir el tema va a ser utilizado, mientras que el tema está activo. |
etiqueta: | Opcionalmente se puede dar una etiqueta a la reutilización de la respuesta. |
palabras clave: | Opcionalmente se puede dar a las palabras clave de la pregunta que va a influir en la respuesta partido. |
se requiere: | Opcionalmente se puede dar necesarios palabras de la pregunta que se requiere para una respuesta partido. |
emociones: | Puede asociar una emoción con la respuesta. |
acciones: | Puede asociar una acción con la respuesta. |
plantea: | Puede asociar una pose con la respuesta. |
en la repetición: | Opcionalmente se puede dar una respuesta que se utilizan si la respuesta ya ha sido utilizado en esta conversación. |
no repetir: | Requieren que la respuesta o la frase utilizarse sólo una vez. |
anterior: | Opcionalmente se puede dar una respuesta anterior para dar una respuesta a un contexto. |
requerir la previa: | Requieren que la respuesta sólo puede utilizarse si la respuesta anterior coincide con una de las respuestas anteriores. |
confianza: | La confianza puede ser utilizado si la respuesta no es cierto. La coincidencia de respuesta con la máxima confianza en que será utilizado. |
La respuesta de la pregunta puede ser una frase que se cotejan con preguntas similares, o puede ser un Patrón. Los patrones son coincidentes, literalmente, en el orden de las palabras en el patrón, y puede tener caracteres comodín como * y también puede incluir Expresiones Regulares. Normalmente es mejor utilizar una frase, y dejar que el bot decidir si una pregunta debe coincidir, también puede añadir palabras clave y palabras requeridas para mejorar cuando una pregunta es correspondido. Para entrar en un patrón de uso de la forma: etiqueta.
what is your name
question: what is your name
pattern: What is *
La respuesta puede ser una frase, puede contener HTML o ricos en contenido como imágenes, vídeos, y los botones, o una respuesta puede ser una Plantilla. Una plantilla es una respuesta que puede incluir algo de código. Cualquier código dentro de {} en una plantilla que va a ser ejecutado, y el resultado impreso en la respuesta. Para entrar en un uso de la plantilla la plantilla: etiqueta e introduzca el Auto de código dentro de llaves {}.
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 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.
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 *").
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.
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
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
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.
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 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;
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.
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
Siguientes preguntas en una respuesta puede ser utilizado para controlar el seguimiento de las preguntas y la conversación fluye. Para iniciar un flujo de conversación, aplicar una sangría a la siguiente pregunta de seguimiento a la respuesta. Usted puede utilizar las fichas o 4 espacios por guiones. También se puede aplicar sangría a múltiples niveles para definir un árbol de conversación.
Un respones siguiente pregunta que define a un aislado de conversación espacio. El bot solo elegir su próximo respuesta de las respuestas. Para definir una respuesta predeterminada, utilice el valor predeterminado: etiqueta. Si el bot no puede coincidir con el del usuario a la pregunta con la siguiente pregunta, de la búsqueda de las respuestas de los padres, de lo contrario usar el bot de respuesta predeterminada.
Siguiente es similar a la anterior, pero a diferencia de los anteriores es aislado a la respuesta. En el contexto de una respuesta siguiente, el bot nunca use ninguna de sus respuestas fuera del contexto de la respuesta siguiente. Esto hace que sea fácil de definir aislado y se anidan en las conversaciones.
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.
Un saludo es el bot de la primera respuesta en una nueva conversación. Saludos puede tener la mayoría de las mismas etiquetas como las respuestas. Para definir un saludo el saludo: etiqueta se utiliza.
greeting: Welcome to my website. I am Julie, how may I be of service?
Si el bot no se encontró ninguna buena pregunta correspondiente a la entrada de un usuario, se utiliza el valor predeterminado de respuesta. Las respuestas por defecto puede tener la mayoría de las mismas etiquetas como las respuestas. Para definir una respuesta predeterminada la configuración predeterminada: etiqueta se utiliza.
default: Sorry, I do not understand. default: Sorry, I do not understand. Please email sales@acme.com for more information. topic: Sales
Frases puede ser definido para asociar el sentimiento, las emociones, la acción, o representa a una frase.
thanks for the help sentiment: good you are not helping me sentiment: bad
Una palabra puede ser definido para asociar el sentimiento, las emociones y los sinónimos. Una palabra también puede ser una palabra clave, un tema o un tema exclusivo.
word: good sentiment: good synonyms: great wonderful cool amazing word: bad sentiment: bad synonyms: sucks terrible horrible word: aiml keyword: true topic: true
Etiqueta | Descripción |
---|---|
palabra: | Definir una palabra. |
sentimiento: | Opcionalmente se puede asociar un sentimiento con la palabra. |
emociones: | Opcionalmente se puede asociar una emoción con la palabra. |
palabra clave: | Definir la palabra a ser una palabra clave. |
sinónimos: | Opcionalmente se puede dar un sinónimo para la palabra, a fin de que semejantes palabras en una pregunta para desencadenar la misma respuesta. |
tema: | Definir la palabra a ser un tema. |
tema exclusivo: | Definir la palabra a ser un tema exclusivo. |