Todos los artículos

Entendiendo el concepto detrás de AIML

·
8 dic 2017
·
2 min de lectura
·
••• visitas
·
••• me gusta

Traducido del artículo original en inglés. Leer en inglés

¿Qué es AIML?

AIML o Artificial Intelligence Markup Language (lenguaje de marcado de inteligencia artificial) es un lenguaje basado en XML que se usa para crear chatbots (IA), y siempre se guarda con la extensión (.aiml).

La etiqueta que siempre se usa en AIML para especificar una nueva función es la etiqueta category, que tiene otras dos etiquetas dentro, la etiqueta pattern y la etiqueta template. Dentro de la etiqueta template también podemos tener otras etiquetas integradas “Depende del tipo de BOT que estés construyendo”, por ejemplo set, br/, srai…etc

Pero fíjate en algo, igual que en HTML o en cualquier otro lenguaje de programación o de scripting, incluso los lenguajes de marcado tienen una etiqueta de cierre, y aquí en AIML no hay mucha diferencia, las etiquetas de cierre son /category, /template, /srai>, /set…etc

Ejemplo

<category><pattern>WHO IS ABRAHAM LINCOLN</pattern>

<template>was a great President of the United States, during the American Civil War.<br/>

</template>

</category>

Entonces, cuando el usuario escribe esto o algo muy parecido, el bot responderá a la entrada

“WHO IS ABRAHAM LINCOLN” con la respuesta “was a great President of the United States, during the American Civil War.”.

Ahora vamos a crear un bot sencillo usando AIML

<!doctype html>
<html>
  <body>
    <em>Emphasized text</em><br />
    <strong>Strong text</strong><br />
    <code>A piece of computer code</code><br />
    <samp>Sample output from a computer program</samp><br />
    <kbd>Keyboard input</kbd><br />
    <var>Variable</var>
  </body>
</html>
<?xml version=”1.0" encoding=”UTF-8"?>

<aiml version=”1.0">

<category><pattern>Hi</pattern>

<template>Hi, I’m Oscar I was developed by Shodipo Ayomide 2017, <br/>How may I be of help</template>

</category>

<category><pattern>What are you </pattern>

<template>I said, My name is Oscar and I was developed by Shodipo Ayomide ok! </template>

</category>

<category><pattern>Why are you rude </pattern>

<template>Oh sorry, Please forgive my manners do not report me PLEASE!!! </template>

</category>

<category><pattern>ok </pattern>

<template>PLEASE!!! </template>

</category>

</aiml>

Ahora expliquemos las plantillas

Una plantilla especifica la respuesta a un patrón que coincide.

Me llamo Oscar

Una plantilla puede usar variables como

Me dijiste que tienes get name=”user-age” años lo que obtendrá la edad del usuario si está en la db.


¡Gracias por leer! 🔥🚀

•••
Comparte este artículo:

Mantente al día

Recibe los últimos artículos en tu bandeja de entrada.