Você está na página 1de 19

Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).

Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

FUNDACIÓN UNIVERSITARIA KONRAD LORENZ1


PROGRAMA DE INGENIERÍA DE SISTEMAS

SISTEMAS BASADOS EN EL CONOCIMIENTO I

Mayo de 2007

Prof. Pervys Rengifo Rengifo(pervys2000@yahoo.es )

Sistema Experto para Decidir si un Crédito es Estudiado

Por Felipe Forero Lozano2

En la actualidad dentro de los procesos de un Banco importante del País, el estudio


de crédito comienza por la recolección de los documentos del cliente en la oficina o
por parte del asesor de crédito que está representando al Banco en el momento
ante el cliente. Estos documentos son enviados al centro de procesos, en donde se
revisan todos los documentos, y se determina si se puede llevar a cabo el estudio
del crédito por parte de los analistas de crédito, que se encargan de estudiar el
estado económico del cliente para determinar el riesgo que representa el otorgar el
crédito.

En el Banco existen varias líneas de crédito como son Crediestudiantil,


Credivehiculo, para Gas Vehicular, Libre Destino, Crediservice, Libranzas, Sobregiro,
entre otras. Para cada una de estas líneas de crédito son necesarios unos
documentos y otros no, dependiendo de si el cliente es Asalariado, Independiente, y
en algunos casos si es Pensionado.

El problema que se trata en este proyecto, es el que se presenta en el momento de


que los operarios del Centro de Procesos revisan los documentos requeridos para el
tipo de crédito al que el cliente aspira. Como para cada tipo de cliente importan
unos documentos y otros no, los operarios algunas veces tienen que remitirse a los

1
Esta Universidad se encuentra ubicada en la Cra 9ª bis No 62-43 Bogotá-Colombia.
2
Estudiantes del Programa de Ingeniería de Sistemas de la Fundación Universitaria Konrad
Lorenz, FUKL, http://www.fukl.edu
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

manuales de cada línea para determinar si un documento es requerido o no. Los


más experimentados ya no tienen problema con esto, ya que a medida que pasa el
tiempo, recuerdan todos los documentos que se necesitan para cada crédito y para
cada tipo de cliente.

El problema se presenta más que todo en las personas que hasta ahora van a iniciar
esta actividad, ya que el remitirse a los manuales es algo demorado, y el volumen
de créditos es alto. Su otra alternativa es preguntar a alguien que sea más antiguo,
y la gente por pena muchas veces deja de preguntar.

Justificación

Es importante encontrar una solución a este problema, ya que muchas veces es


origen de error el no saber con claridad que documentos son requeridos para cierto
tipo de crédito. Además de ser fuente de error, en este punto se crea un cuello de
botella que hace que los demás procesos se lleguen a atrasar ya que el crédito no
puede ser estudiado por los analistas.

Marco Conceptual

Arboles de Decisión

Un árbol de decisión es un modelo de predicción utilizado en el ámbito de la


inteligencia artificial, dada una base de datos se construyen estos diagramas de
construcciones lógicas, muy similares a los sistemas de predicción basados en
reglas, que sirven para representar y categorizar una serie de condiciones que
suceden de forma sucesiva, para la resolución de un problema.

Un árbol de decisión tiene unas entradas las cuales pueden ser un objeto o una
situación descrita por medio de un conjunto de atributos y a partir de esto devuelve
una respuesta la cual en últimas es una decisión que es tomada a partir de las
entradas. Los valores que pueden tomar las entradas y las salidas pueden ser
valores discretos o continuos. Se utilizan más los valores discretos por simplicidad,
cuando se utilizan valores discretos en las funciones de una aplicación se denomina
clasificación y cuando se utilizan los continuos se denomina regresión.
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

Un árbol de decisión lleva a cabo un test a medida que este se recorre hacia las
hojas para alcanzar así una decisión. El árbol de decisión suele contener nodos
internos, nodos de probabilidad, nodos hojas y arcos. Un nodo interno contiene un
test sobre algún valor de una de las propiedades. Un nodo de probabilidad indica
que debe ocurrir un evento aleatorio de acuerdo a la naturaleza del problema, este
tipo de nodos es redondo, los demás son cuadrados. Un nodo hoja representa el
valor que devolverá el

árbol de decisión. Y finalmente las ramas brindan los posibles caminos que se
tienen de acuerdo a la decisión tomada.

Algoritmo ID3

El algoritmo ID3 es utilizado dentro del ámbito de la inteligencia artificial. Su uso se


engloba en la búsqueda de hipótesis o reglas en él dado un conjunto de ejemplos.

El conjunto de ejemplos deberá estar conformado por una serie de tuplas de


valores, cada uno de ellos denominados atributos, en el que uno de ellos (el atributo
a clasificar) es el objetivo el cual es de tipo binario (positivo o negativo, si o no,
valido o invalido, etc.)

De esta forma el algoritmo trata de obtener las hipótesis que clasifiquen ante
nuevas instancias si dicho ejemplo va a ser positivo o negativo.

ID3 realiza esta labor mediante la construcción de un árbol de decisión.

Los elementos son:

 Nodos: Los cuales contendrán atributos


 Arcos: Los cuales contienen valores posibles del nodo padre.
 Hojas: Nodos que clasifican el ejemplo como positivo o negativo.

El Algoritmo

Id3(Ejemplos, Atributo-objetivo, Atributos)


Si todos los ejemplos son positivos devolver un nodo positivo
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

Si todos los ejemplos son negativos devolver un nodo negativo


Si Atributos está vacío devolver el voto mayoritario del valor del atributo
objetivo en Ejemplos
En otro caso
Sea Al Atributo el MEJOR de atributos
Para cada v valor del atributo hacer
Sea Ejemplos(v) el subconjunto de ejemplos cuyo valor de atributo A
es v
Si Ejemplos(v) está vacío devolver un nodo con el voto mayoritario del
Atributo objetivo de Ejemplos
Sino Devolver Id3(Ejemplos(v), Atributo-objetivo, Atributos/{A})

Obsérvese que la construcción del árbol se hace forma recursiva, siendo las tres
primeras líneas y la penúltima los casos base que construyen los nodos hojas.

Elección del mejor Atributo

La elección del mejor atributo se establece mediante la entropía. Eligiendo aquel


que proporcione una mejor ganancia de información. La función elegida puede
variar, pero en forma más sencilla es como esta:

Donde p es el conjunto de los ejemplos positivos, n el de los negativos y d el total


de ello

Estado del Arte

En el momento en el Banco se cuenta con unas tablas de los documentos para


cada uno de los créditos, que para los operarios es un poco confusa de entender, y
la información que se muestra allí no se recuerda con facilidad, lo que hace que a
cada rato se tenga que remitir a las tablas y si no, a los manuales de cada crédito.
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

El sistema que se quiere crear sería una gran ayuda para la inducción del nuevo
personal, y para la fácil consulta y recordación de los diferentes documentos que
son necesarios para cada caso.

Análisis y Diseño

Una vez indagado el proceso que se lleva a cabo con los papeles de los créditos, y
la forma en que son clasificados, se puede determinar cuál es la manera más viable
de hacer que un sistema basado en el conocimiento puede ayudar a este proceso.

Debido a los datos de entrada y al proceso que se lleva a cabo con los documentos
del crédito se puede pensar en desarrollar un sistema experto por medio de un
árbol de decisión que se induce de los datos de los documentos solicitados para
cada una línea de crédito. Estos datos se obtendrían de entrevistas con los
expertos, en este caso, los operarios, que manejan este proceso normalmente.

La inducción del árbol de decisión se realizará por medio del algoritmo ID3, que por
medio de operaciones sobre la tabla de datos y de cálculos de las entropías de cada
uno de los datos, se obtiene el árbol de decisión que representa los datos que están
en las tablas.

El sistema experto que se va a implementar, se hará de una línea de crédito, que es


la Tarjeta de crédito, teniendo en cuenta los diferentes tipos de clientes que pueden
aspirar a esta. El sistema se desarrollará en Prolog, y la inducción de las reglas se
hará por medio del applet3 desarrollada previamente para la clase, el cual
implementa el algoritmo ID3, usado para inducción de arboles de decisión.

El sistema experto preguntará al usuario si tiene o no un cierto tipo de documento,


y de qué tipo de cliente se trata, con base a esta información, informará si se
puede o no remitir el caso a los analistas para que sea estudiado el riesgo crediticio.

Implementación del Sistema

Los datos que se obtuvieron de las entrevistas con los operarios para el crédito de
Tarjeta de Credito, son los siguientes:
3
Este applet, induce un árbol de decisión a partir de un conjunto de datos, utilizando el algoritmo ID3.
Adicionalmente el applet genera automáticamente el código con sintaxis de prolog, el cual se pega en Winprolog o
en cualquier interprete de Prolog.
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

Identificaci
Formatos on Certificados Otros Tipo

Fotocopia_de_los_ultimos_3_desprendibles_de_nomina

Copia_extracto_bancario_de_los_ultimos_tres_meses
Copia_de_ultimo_extracto_de_tarjeta_de_credito
Fotocopia_de_factura_de_servicio_publico
Carta_aclaratoria_o_de_paz_y_salvo
Estados_financieros_del_ultimo_año

Fotocopia_de_declaracion_de_renta
Solicitud_servicios_financieros

Autorizacion_compra_cartera

Certificado_de_Ingresos

Certificado_Laboral
Fotocopia_cedula

Tipo_de_Cliente

SEGUIR_CASO
RUT

SI SI SI NO SI SI NO SI SI NO SI SI NO asalariado SI
NO SI SI NO SI SI NO SI SI NO SI SI NO asalariado NO
SI NO SI NO SI SI NO SI SI NO SI SI NO asalariado NO
SI SI NO NO SI SI NO SI SI NO SI SI NO asalariado NO
SI SI SI NO NO SI NO SI SI NO SI SI NO asalariado NO
SI SI SI NO SI NO NO SI SI NO SI SI NO asalariado NO
SI SI SI NO SI SI NO NO SI NO SI SI NO asalariado NO
SI SI SI NO SI SI NO SI NO NO SI SI NO asalariado NO
SI SI SI NO SI SI NO SI SI NO NO SI NO asalariado NO
SI SI SI NO SI SI NO SI SI NO SI NO NO asalariado NO
SI SI SI SI NO NO SI SI SI NO NO SI SI asalariado NO
independie
SI SI SI SI NO NO SI SI SI NO NO SI SI nte SI
independie
NO SI SI SI NO NO SI SI SI NO NO SI SI nte NO
independie
SI NO SI SI NO NO SI SI SI NO NO SI SI nte NO
independie
SI SI NO SI NO NO SI SI SI NO NO SI SI nte NO
independie
SI SI SI NO NO NO SI SI SI NO NO SI SI nte NO
independie
SI SI SI SI NO NO NO SI SI NO NO SI SI nte NO
independie
SI SI SI SI NO NO SI NO SI NO NO SI SI nte NO
independie
SI SI SI SI NO NO SI SI NO NO NO SI SI nte NO
independie
SI SI SI SI NO NO SI SI SI NO NO NO SI nte NO
independie
SI SI SI SI NO NO SI SI SI NO NO SI NO nte NO
independie
NO NO SI SI NO NO SI SI SI NO NO SI SI nte NO
independie
NO NO NO SI NO NO SI SI SI NO NO SI SI nte NO
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

independie
NO NO NO NO NO NO SI SI SI NO NO SI SI nte NO
independie
NO NO NO NO NO NO NO SI SI NO NO SI SI nte NO
independie
NO NO NO NO NO NO NO NO SI NO NO SI SI nte NO
independie
NO NO NO NO NO NO NO NO NO NO NO SI SI nte NO
independie
NO NO NO NO NO NO NO NO NO NO NO NO SI nte NO
independie
NO NO NO NO NO NO NO NO NO NO NO NO NO nte NO
independie
SI SI SI NO SI SI NO SI SI NO SI SI NO nte NO

Datos que fueron recolectados haciendo entrevistas a los operarios, quienes


explicaron los diferentes casos que se presentan con los documentos

A estos datos les aplicamos el algoritmo ID3, para obtener las reglas del sistema, y
luego escribimos el código en Prolog que nos va a implementar el sistema experto.

Las reglas resultantes de aplicar el algoritmo son:

• seguir_caso( si ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( no ),
certificado_de_ingresos( si ), certificado_laboral( si ),
fotocopia_de_los_ultimos_3_desprendibles_de_nomina( si ), tipo_de_cliente(
asalariado ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( no ),
certificado_de_ingresos( si ), certificado_laboral( si ),
fotocopia_de_los_ultimos_3_desprendibles_de_nomina( si ), tipo_de_cliente(
independiente ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( no ),
certificado_de_ingresos( si ), certificado_laboral( si ),
fotocopia_de_los_ultimos_3_desprendibles_de_nomina( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( no ),
certificado_de_ingresos( si ), certificado_laboral( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( no ),
certificado_de_ingresos( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( si ),
estados_financieros_del_ultimo_año( si ),
copia_extracto_bancario_de_los_ultimos_tres_meses( si ), tipo_de_cliente(
asalariado ), !.

• seguir_caso( si ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( si ),
estados_financieros_del_ultimo_año( si ),
copia_extracto_bancario_de_los_ultimos_tres_meses( si ), tipo_de_cliente(
independiente ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( si ),
estados_financieros_del_ultimo_año( si ),
copia_extracto_bancario_de_los_ultimos_tres_meses( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( si ), rut( si ),
estados_financieros_del_ultimo_año( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
si ), copia_de_ultimo_extracto_de_tarjeta_de_credito( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( si ), carta_aclaratoria_o_de_paz_y_salvo(
no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( si ),
fotocopia_de_declaracion_de_renta( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( si ), fotocopia_cedula( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( si ),
autorizacion_compra_cartera( no ), !.

• seguir_caso( no ) :- solicitud_servicios_financieros( no ), !.

Los predicados para poder implementar el sistema en Prolog son:

inicio :- write('Seleccione la opcion según el Atributo: '), nl, nl, pregunta1,


pregunta2, pregunta3, pregunta4, pregunta5, pregunta6, pregunta7, pregunta8,
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

pregunta9, pregunta10, pregunta11, pregunta12, pregunta13, pregunta14,


conclusion, !.

pregunta1 :- write( 'SOLICITUD_SERVICIOS_FINANCIEROS' ), nl, nl, write( '1. si'), nl,


write( '2. no'), nl, nl, read( N ), respuesta1( N ).

respuesta1( 1) :- assert( solicitud_servicios_financieros( si ) ), !.

respuesta1( 2) :- assert( solicitud_servicios_financieros( no ) ), !.

respuesta1(_) :- write('Intente de nuevo'), nl, pregunta1 ,!.

pregunta2 :- write( 'AUTORIZACION_COMPRA_CARTERA' ), nl, nl, write( '1. si'), nl,


write( '2. no'), nl, nl, read( N ), respuesta2( N ).

respuesta2( 1) :- assert( autorizacion_compra_cartera( si ) ), !.

respuesta2( 2) :- assert( autorizacion_compra_cartera( no ) ), !.

respuesta2(_) :- write('Intente de nuevo'), nl, pregunta2 ,!.

pregunta3 :- write( 'FOTOCOPIA_CEDULA' ), nl, nl, write( '1. si'), nl, write( '2. no'), nl,
nl, read( N ), respuesta3( N ).

respuesta3( 1) :- assert( fotocopia_cedula( si ) ), !.

respuesta3( 2) :- assert( fotocopia_cedula( no ) ), !.

respuesta3(_) :- write('Intente de nuevo'), nl, pregunta3 ,!.

pregunta4 :- write( 'RUT' ), nl, nl, write( '1. no'), nl, write( '2. si'), nl, nl, read( N ),
respuesta4( N ).

respuesta4( 1) :- assert( rut( no ) ), !.

respuesta4( 2) :- assert( rut( si ) ), !.

respuesta4(_) :- write('Intente de nuevo'), nl, pregunta4 ,!.


Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

pregunta5 :- write( 'CERTIFICADO_DE_INGRESOS' ), nl, nl, write( '1. si'), nl, write( '2.
no'), nl, nl, read( N ), respuesta5( N ).

respuesta5( 1) :- assert( certificado_de_ingresos( si ) ), !.

respuesta5( 2) :- assert( certificado_de_ingresos( no ) ), !.

respuesta5(_) :- write('Intente de nuevo'), nl, pregunta5 ,!.

pregunta6 :- write( 'CERTIFICADO_LABORAL' ), nl, nl, write( '1. si'), nl, write( '2. no'),
nl, nl, read( N ), respuesta6( N ).

respuesta6( 1) :- assert( certificado_laboral( si ) ), !.

respuesta6( 2) :- assert( certificado_laboral( no ) ), !.

respuesta6(_) :- write('Intente de nuevo'), nl, pregunta6 ,!.

pregunta7 :- write( 'ESTADOS_FINANCIEROS_DEL_ULTIMO_AÑO' ), nl, nl, write( '1.


no'), nl, write( '2. si'), nl, nl, read( N ), respuesta7( N ).

respuesta7( 1) :- assert( estados_financieros_del_ultimo_año( no ) ), !.

respuesta7( 2) :- assert( estados_financieros_del_ultimo_año( si ) ), !.

respuesta7(_) :- write('Intente de nuevo'), nl, pregunta7 ,!.

pregunta8 :- write( 'FOTOCOPIA_DE_DECLARACION_DE_RENTA' ), nl, nl, write( '1.


si'), nl, write( '2. no'), nl, nl, read( N ), respuesta8( N ).

respuesta8( 1) :- assert( fotocopia_de_declaracion_de_renta( si ) ), !.

respuesta8( 2) :- assert( fotocopia_de_declaracion_de_renta( no ) ), !.

respuesta8(_) :- write('Intente de nuevo'), nl, pregunta8 ,!.


Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

pregunta9 :- write( 'CARTA_ACLARATORIA_O_DE_PAZ_Y_SALVO' ), nl, nl, write( '1.


si'), nl, write( '2. no'), nl, nl, read( N ), respuesta9( N ).

respuesta9( 1) :- assert( carta_aclaratoria_o_de_paz_y_salvo( si ) ), !.

respuesta9( 2) :- assert( carta_aclaratoria_o_de_paz_y_salvo( no ) ), !.

respuesta9(_) :- write('Intente de nuevo'), nl, pregunta9 ,!.

pregunta10 :- write( 'FOTOCOPIA_DE_FACTURA_DE_SERVICIO_PUBLICO' ), nl, nl,


write( '1. no'), nl, nl, read( N ), respuesta10( N ).

respuesta10( 1) :- assert( fotocopia_de_factura_de_servicio_publico( no ) ), !.

respuesta10(_) :- write('Intente de nuevo'), nl, pregunta10 ,!.

pregunta11 :- write(
'FOTOCOPIA_DE_LOS_ULTIMOS_3_DESPRENDIBLES_DE_NOMINA' ), nl, nl, write( '1.
si'), nl, write( '2. no'), nl, nl, read( N ), respuesta11( N ).

respuesta11( 1) :- assert( fotocopia_de_los_ultimos_3_desprendibles_de_nomina(


si ) ), !.

respuesta11( 2) :- assert( fotocopia_de_los_ultimos_3_desprendibles_de_nomina( no


) ), !.

respuesta11(_) :- write('Intente de nuevo'), nl, pregunta11 ,!.

pregunta12 :- write( 'COPIA_DE_ULTIMO_EXTRACTO_DE_TARJETA_DE_CREDITO' ), nl,


nl, write( '1. si'), nl, write( '2. no'), nl, nl, read( N ), respuesta12( N ).

respuesta12( 1) :- assert( copia_de_ultimo_extracto_de_tarjeta_de_credito( si ) ), !.

respuesta12( 2) :- assert( copia_de_ultimo_extracto_de_tarjeta_de_credito( no ) ), !.

respuesta12(_) :- write('Intente de nuevo'), nl, pregunta12 ,!.


Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

pregunta13 :- write(
'COPIA_EXTRACTO_BANCARIO_DE_LOS_ULTIMOS_TRES_MESES' ), nl, nl, write( '1.
no'), nl, write( '2. si'), nl, nl, read( N ), respuesta13( N ).

respuesta13( 1) :- assert( copia_extracto_bancario_de_los_ultimos_tres_meses(


no ) ), !.

respuesta13( 2) :- assert( copia_extracto_bancario_de_los_ultimos_tres_meses( si


) ), !.

respuesta13(_) :- write('Intente de nuevo'), nl, pregunta13 ,!.

pregunta14 :- write( 'TIPO_DE_CLIENTE' ), nl, nl, write( '1. asalariado'), nl, write( '2.
independiente'), nl, nl, read( N ), respuesta14( N ).

respuesta14( 1) :- assert( tipo_de_cliente( asalariado ) ), !.

respuesta14( 2) :- assert( tipo_de_cliente( independiente ) ), !.

respuesta14(_) :- write('Intente de nuevo'), nl, pregunta14 ,!.

conclusion :- seguir_caso( V ), write( 'Conclusion: ' ), nl, write( V ),

retract( solicitud_servicios_financieros(_)),

retract( autorizacion_compra_cartera(_)),

retract( fotocopia_cedula(_)),

retract( rut(_)),

retract( certificado_de_ingresos(_)),

retract( certificado_laboral(_)),

retract( estados_financieros_del_ultimo_año(_)),

retract( fotocopia_de_declaracion_de_renta(_)),

retract( carta_aclaratoria_o_de_paz_y_salvo(_)),

retract( fotocopia_de_factura_de_servicio_publico(_)),

retract( fotocopia_de_los_ultimos_3_desprendibles_de_nomina(_)),

retract( copia_de_ultimo_extracto_de_tarjeta_de_credito(_)),
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

retract( copia_extracto_bancario_de_los_ultimos_tres_meses(_)),

retract( tipo_de_cliente(_)),

final.

final :- nl,nl, write('Desea continuar s/n : '), read(X), continuar(X).

continuar('s'):-inicio,!.

continuar('S'):-inicio,!.

continuar('n'):-write('Hasta Pronto'),nl,nl,!.

continuar('N'):-write('Hasta Pronto'),nl,nl,!.

Con esto, tenemos el sistema experto que ayudara en el proceso de tomar la


decisión de si un caso puede ser remitido a los analistas de crédito para su estudio
o si debe ser devuelto por falta de algún documento.

Pruebas

Se realizó la siguiente prueba, la cual arrojó un resultado esperado por los operarios
que realizan el proceso:

| ?- inicio.
Seleccione la opcion según el Atributo:

SOLICITUD_SERVICIOS_FINANCIEROS

1. si
2. no

|: 2.
AUTORIZACION_COMPRA_CARTERA

1. si
2. no

|: 1.
FOTOCOPIA_CEDULA
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

1. si
2. no

|: 1.
RUT

1. no
2. si

|: 1.
CERTIFICADO_DE_INGRESOS

1. si
2. no

|: 2.
CERTIFICADO_LABORAL

1. si
2. no

|: 1.
ESTADOS_FINANCIEROS_DEL_ULTIMO_AÑO

1. no
2. si

|: 2.
FOTOCOPIA_DE_DECLARACION_DE_RENTA

1. si
2. no

|: 2.
CARTA_ACLARATORIA_O_DE_PAZ_Y_SALVO

1. si
2. no

|: 2.
FOTOCOPIA_DE_FACTURA_DE_SERVICIO_PUBLICO

1. no

|: 1.
FOTOCOPIA_DE_LOS_ULTIMOS_3_DESPRENDIBLES_DE_NOMINA

1. si
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

2. no

|: 1.
COPIA_DE_ULTIMO_EXTRACTO_DE_TARJETA_DE_CREDITO

1. si
2. no

|: 1.
COPIA_EXTRACTO_BANCARIO_DE_LOS_ULTIMOS_TRES_MESES

1. no
2. si

|: 1.
TIPO_DE_CLIENTE

1. asalariado
2. independiente

|: 1.
Conclusion:
no

Se realizó también la siguiente prueba, en la cual también hubo un resultado


positivo:

Seleccione la opción según el Atributo:

SOLICITUD_SERVICIOS_FINANCIEROS

1. si
2. no

|: 1.
AUTORIZACION_COMPRA_CARTERA

1. si
2. no

|: 1.
FOTOCOPIA_CEDULA

1. si
2. no

|: 1.
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

RUT

1. no
2. si

|: 1.
CERTIFICADO_DE_INGRESOS

1. si
2. no

|: 1.
CERTIFICADO_LABORAL

1. si
2. no

|: 1.
ESTADOS_FINANCIEROS_DEL_ULTIMO_AÑO

1. no
2. si

|: 1.
FOTOCOPIA_DE_DECLARACION_DE_RENTA

1. si
2. no

|: 1.
CARTA_ACLARATORIA_O_DE_PAZ_Y_SALVO

1. si
2. no

|: 1.
FOTOCOPIA_DE_FACTURA_DE_SERVICIO_PUBLICO

1. no

|: 1.
FOTOCOPIA_DE_LOS_ULTIMOS_3_DESPRENDIBLES_DE_NOMINA

1. si
2. no

|: 1.
COPIA_DE_ULTIMO_EXTRACTO_DE_TARJETA_DE_CREDITO
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

1. si
2. no

|: 2.
COPIA_EXTRACTO_BANCARIO_DE_LOS_ULTIMOS_TRES_MESES

1. no
2. si

|: 1.
TIPO_DE_CLIENTE

1. asalariado
2. independiente

|: 1.
Conclusion: no

CONCLUSIONES

Se pudo observar la utilidad de un sistema experto, ya que puede servir de soporte


a las decisiones tomadas por los operarios que realizan la labor normalmente. En
este caso, se paso de una entrada de 30 casos a 13 reglas, lo que quiere decir que
se logró hacer una extracción de conocimiento de los datos entregados por los
expertos.

En los datos que se entregan no está la totalidad de los casos que pueden suceder,
sin embargo, se pudo extraer de estos, las reglas adecuadas para la toma de las
decisiones. Seguramente si se tuvieran todos los casos posibles, se vería mucho
más clara la reducción de una gran cantidad de datos y unas pocas reglas que
representaran el conocimiento implícito en los datos.

Este proceso es aplicable a cualquier campo del conocimiento donde se efectúen


procesos de decisión teniendo en cuenta distintas variables, esto hace a los arboles
de decisión una herramienta muy importante en el desarrollo de sistemas expertos
Fundación Universitaria Konrad Lorenz(FUKL-www.fukl.edu).
Sistemas Basados en el Conocimiento I-Felipe Forero Lozano

que ayuden a la toma de decisiones en una empresa, yen general a cualquier


persona que lleve a cabo procesos similares

Você também pode gostar