Академический Документы
Профессиональный Документы
Культура Документы
Ejemplo:
<category>
<pattern> El * es una *. </pattern>
<template>
Estas seguro que el <star index="1" /> es una <star index="2" />?
</template>
</category>
<srai>
Es una etiqueta multipropsito ya que define diferentes objetivos para la misma
plantilla.
Sintaxis:
Reduccin simblica
Divide y vencers
Resolucin de sinnimos
Deteccin de palabras claves
Reduccin simblica
Human: Quien fue Steve Jobs?
Robot: Steve Jobs fue el fundador de Apple.
Human: Quien fue Dennis Ritchie?
Robot: Dennis Ritchie fue el creador de C y Unix
<category>
<pattern>Quien fue Steve Jobs?</pattern>
<template>Steve Jobs fue el fundador de Apple.</template>
</category>
<category>
<pattern>Quien fue Dennis Ritchie</pattern>
<template>Dennis Ritchie fue el creador de C y Unix</template>
</category>
<category>
<pattern>Conoces a *?</pattern>
<template>
<srai>Quien fue <star/></srai>
</template>
</category>
Divide y vencers
Para reusar sub sentencias y reduce la definicin de mltiples categoras
Conversacin de ejemplo:
Human: Bye
Robot: GoodBye!
Human: Bye Alice!
Robot: GoodBye!
AIML:
<category>
<pattern>adios</pattern>
<template>Hasta pronto</template>
</category>
<category>
<pattern>adios *</pattern>
<template>
<srai>adios</srai>
</template>
</category>
Resolucin de sinnimos
Para responder de la misma forma a palabras similares
Conversacin de ejemplo:
Human: Universidad
Robot: Un centro de estudios
Human: Colegio
Robot: Un centro de estudios
AIML:
<category>
<pattern>UNIVERSIDAD</pattern>
<template>Un centro de estudios</template>
</category>
<category>
<pattern>COLEGIO</pattern>
<template>
<srai>UNIVERSIDAD</srai>
</template>
</category>
Deteccin de palabras clave
Para lograr una respuesta simple si el usuario escribe una palabra clave especifica.
Conversacin de ejemplo:
AIML:
<category>
<pattern>IA</pattern>
<template>Que Bueno, la IA es una rama de la informatica muy interesante</template>
</category>
<category>
<pattern>* IA</pattern>
<template>
<srai>IA</srai>
</template>
</category>
<category>
<pattern>* IA *</pattern>
<template>
<srai>IA</srai>
</template>
</category>
<random>
Utilizada para obtener respuestas aleatorias. <random> es utilizada con <li>.
Sintaxis:
<random>
<li> pattern1 </li>
<li> pattern2 </li>
...
<li> patternN </li>
</random>
Conversacin de ejemplo:
Human: hola
Robot: hola
Human: hola
Robot: hola! Mucho gusto!
AIML:
<category>
<pattern>hola</pattern>
<template>
<random>
<li>Hola</li>
<li>Hola!, mucho gusto! </li>
</random>
</template>
</category>
<set> y <get>
Utilizadas para trabajar con variables en AIML
Sintaxis:
Conversacin de ejemplo:
AIML:
<category>
<pattern>soy *</pattern>
<template>
Hola <set name="nombre"><star /></set>!
</template>
</category>
<category>
<pattern>Buenas noches</pattern>
<template>
Buenas noches <get name="nombre" />! Gracias por la conversacin!
</template>
</category>
<that>
Es utilizada para responder basado en el contexto.
Sintaxis:
Conversacin de ejemplo:
AIML:
<category>
<pattern>HOLA HARVEY PREGUNTAME ALGO DE IA</pattern>
<template>Te gusta programar en AIML?</template>
</category>
<category>
<pattern>SI</pattern>
<that>Te gusta programar en AIML</that>
<template>Ohh! Que Bueno, mi cerebro funciona con AIML.</template>
</category>
<category>
<pattern>NO</pattern>
<that>Te gusta programar en AIML</that>
<template>Que mal :(</template>
</category>
<topic>
Para almacenar un contexto y posteriormente usarlo en la conversacin.
Sintaxis:
<template><set name="topic-name">topic</set></template>
<topic name="topic-name">
<category>
...
</category>
</topic>
Conversacin de ejemplo:
AIML:
<category>
<pattern>HABLEMOS SOBRE PELICULAS</pattern>
<template>Si, <set name="topic">peliculas</set> :D</template>
</category>
<topic name="peliculas">
<category>
<pattern> * </pattern>
<template>Mirar buenas peliculas refrescan nuestra mente</template>
</category>
<category>
<pattern>Me gustan las de comedia</pattern>
<template>A mi tambien :)</template>
</category>
</topic>
<think>
Utilizada para almacenar variables sin notificar al usuario.
Sintaxis:
Conversacin de ejemplo:
AIML:
<category>
<pattern>Mi nombre es *</pattern>
<template>
Hola!<think><set name="nombre"><star /></set></think>
</template>
</category>
<category>
<pattern>Adios</pattern>
<template>
Adios <get name="nombre"/>, gracias por la conversacin
</template>
</category>
<condition>
Similar a switch en otros lenguajes de programacin.
Sintaxis:
Conversacin de ejemplo:
AIML:
<category>
<pattern>COMO TE SIENTES HOY</pattern>
<template>
<think><set name="estado">feliz</set></think>
<condition name="estado" value="feliz">
Estoy feliz!
</condition>
<condition name="state" value="triste">
Estoy triste!
</condition>
</template>
</category>