You are on page 1of 3

En este plano se tratar detalladamente las partes del cdigo que reconocen en el texto

situaciones, personas, nombres, acciones, actitudes y dems. No incluir cdigo fuente (no mucho)
pare evitar que solo est dirigido a programadores, aunque es me!or saber programar para hacer el
bot "no#
$o primero a tratarse, ser los pasos que seguir cualquier texto ingresado por el usuario. $a idea
de %ubn de dividir el motor de reconocimiento qui& no se mala, pero en una persona (como en
un bot) el procesamiento natural de la pginas es absolutamente 'ntegro y sin ser perfecto, es el
me!or.
El pensamiento del bot se puede dividir en dos partes( )*+,%EN-./N 0 1E12))./N, en este
plano tratamos )*+,%E-./N, si queres aportar algo a la parte 1eductiva, podes leer el plano
general.
*3, empecemos, vamos a dividir el proceso en pasos o etapas(

45er paso(
$a informacin en bruto que viene del usuario llena dos variables, pongmosles original 678 y
primero 678, bueno, aclaro que son dos variables que forman parte de una matri& (una 9tabla9 que
se llena con valores en criollo), le puse primero a la variable porque ah' es donde se guarda el
contenido de original pero editado con el modulo de gramtica. (ya mencionado en el primer
esquema del plano principal)
2n simple e!emplo para cerrar este paso( 2suario escribe ( 9:ola como ests, yo bien, "y vos#9
original 678 ( 9:ola como ests, yo bien, "y vos#9 ;)< E- 1*N1E E$ =*> ,%*)E-; $;
EN>%;1; 0 $; 9)*+,%EN1E9 primero 678 ( 9hola como estas9 primero 658 ( 9yo bien9 primero 6?8
( 9"y vos#9
En los pasos siguientes se explica porque hi&o lo que hi&o en la compresin.
4?do paso(
$o siguiente que hay que hacer es muy simple, y es pasar todo lo que escribi el usuario a
min@sculas, esto parece in@til, pero despus nos ahorramos l'neas de programacin al no tomar en
cuenta las may@sculas. No cono&co la instruccin del delphi para traba!ar con cadenas y pasar de
may@sculas a min@sculas, pero no debe ser dif'cil Este paso no requiere e!emplo, debido a su
simplicidad.

4Aer paso(
$o siguiente es algo que flotaba en mi mente hace tiempo, y es separar las oraciones para facilitar
la compresin, esto hace que la m'nima unidad de sentido sea la oracin y que un par de palabras
sin sentido no sean las que confundan la bot, por que si las oraciones no tienen sentidos o son
incompletas, el programa pregunta al usuario "en que forma puede ser el ms claro# y evitar que
reine la confusin. $os posibles separadores de oraciones son( 9.9 9,9 9B9 9#9 e indicadores tipo
con!unciones (E!emplo 9pero9 9aunque9 9sin embargo9). No se debe abusar de estos @ltimos ya que
pueden desproveer de sentido a una oracin y deben indicarse el tipo de conector para facilitar la
compresin. )abe destacar una @nica excepcin, y es cuando lo que est entre comillas es una
aposicin y eso significa que aclara al receptor del mensa!e sobre algo de manera concisa.
Separacin clsica:
E!emplos( 9>odas las personas desean la felicidad. ;lgunas de diferente manera que de otras9
Cue se separa as'(
9todas las personas desean la felicidad9
9algunas de diferente manera que de otras9
o
9>engo un perro, ayer se lo mostr a Dos9
Cue se separa as'(
9tengo un perro9
9ayer se lo mostr a Dos9

Separacin "gramtica" o por compresin:
9)om' hace una hora sin embargo sigo teniendo hambre9
Cue se separa as'(
9com' hace una hora9
9sigo teniendo hambre9
(debe referirse el sin embargo en alg@n lado, sino la oracin carecer'a de sentido al !untarla)

4Eto paso(
)omo un paso previo a la averiguacin del tema, el cdigo deber anali&ar (aunque sea
mecnicamente) el clsico -2DE>* F GE%=* F +*1.H.);1*%E-, en caso de que la oracin no
sigua este @til y ms que usado esquema, debern buscarse mtodos alternativos, que serna
tratados ms adelante, en este mismo plano. ,rimero el su!eto, que ser buscado eliminado el
verbo, los art'culos, los ad!etivos y las preposiciones que los acompaIa. $as palabras menores o
iguales de dos letras no pueden ser su!etos (salvo raras excepciones).
$o que significa que si uno le dice al bot(
9:ola amigo9
se elimina 9hola9 por ser saludo y solo queda 9amigo9

o en 9mi perro muri ayer9
9mi9 J ad!etivo posesivo, se relaciona con su!eto
9perro9 J posible sustantivo
9muri9 J verbo 4K convertido a sustantivo (para elaborar tema)
9ayer9 J ad!etivo 4K se copia a la variable temporal del tema.

=ien, una ve& anali&ados esta simple oracin tenemos camino libre para que el bot averigLe
fcilmente el tema (ya se que era una oracin fcil, pero ahora vienen algunas ms dif'ciles) ;hora
se complica ms con la frase 9-e habin ido9 cuyo ra&onamiento ser'a as'(
9-e9 J verbo irregular 4K consultando base de datos se averigua que expresa acciones pasadas
9hab'an9 verbo pasado 4K por terminacin 9n9 se deduce su!eto tcito 9ellos9 (se inicia b@squeda en
oraciones anteriores de su!eto con morfolog'a 9ellos9. -e confirma que la oracin expresa algo
pasado. 9hab'an9 se encuentra en conocimiento que es verbo compuesto 9hab'an ido9( verbo
completo
9ido9 4K palabra desconocida, busqueda heurog'stica indica que puede relacionarse con el
sustantivo 9ida9, significado relacionado a 9irse9, sinnimos encontrados 9partir9 y 9marcharse9

4Mto paso(
Este paso es muy simple y lo unico que hace es comparar la oracin directamente con frases muy
comunes almacenadas