Incorporando Términos Difusos a
Formularios Web
Grupo de Bases de Datos DifusasUniversidad Simón Bolívar, Venezuela
José Ángel Labbad 1
Rosseline Rodríguez 2
Leonid Tineo 2
1
1Universidad Metropolitana, Venezuela2Universidad Católica de Asunción, Paraguay
Agenda
2
• Conjuntos Difusos
• Formularios Web
• El Lenguaje SQLf
• Controles Web con términos difusos
• Metodología de migración
• Conclusiones
• Trabajos Futuros
El lenguaje natural
4
obeso
fuertedelgado
calientefrescofrio mejor peor
extremadamente
cercalejosmás
casi
menos
Color agradableFunción de Pertenencia
6
00,10,20,30,40,50,60,70,80,9
1
Amarillo Verde RojoAzul
Negro
Encuestas Realizadas
57%43%
Programadores
Usuarios
12
95%
5%
Sí No
lenguaje
natural
búsquedas
90%
10%
Sí
No
¿programarías
términos difusos?
Venezuela (182)
Usuarios¿Te ha ocurrido que utilizando formularios de búsqueda de
sitios WEB no encuentras lo que necesitas y
posteriormente te das cuenta de que sí estaba?
94%
6%
Sí
No
13
Programadores WebManejadores más utilizadosManejador Cantidad
MySQL 81
PostgreSQL 81
Oracle 24
Microsoft SQL
Server19
MongoDB 19
SQLite 7
Couchbase 3
Microsoft Access 2
Sybase 1
Teradata 1
DB2 1
Cassandra 1
90%
10%
SQL
No-SQL
14
Controles WEB
15
- +
Campos de entrada de texto
Casillas de Verificación Botón de opción
Rango
Número
Términos Difusos en DBMS
Patrick Bosc y Oliver Pivert
Francia 1995
SQLf
18
José Galindo, Olga Pons y otros
España 1998
FSQL
Lenguajes de Consulta
Selección de Extensión con Lógica DifusaSQLfi PostgreSQLf FSQL SQLf_j
Completitud Sí Sí No Desconocido
Disponibilidad Sí Sí Sí Sí
Visibilidad Si1 No visible Alta2 Alta3
CalidadSí – Términos
difusosNo No No
Soporte Bajo No No No
Portabilidad 6 Manejadores 1 Manejador 2 Manejadores 2 Manejadores
DocumentaciónSí – Instalación
y usuarios
Sí – Instalación y
usuarios
Sí – Instalación y
usuariosSí - Instalación
191https://sourceforge.net/projects/sqlfi/ 2http://www.lcc.uma.es/~ppgg/FSQL/3http://calypso.cs.put.poznan.pl/~sqlf_j/en/index.php
SQLfi
20
Manejador de
Catálogo
Despachador/API
Objeto SQLfiAnalizador
Evaluador /
Calibrador
Traductor/Derivador
SQLfSQL
Interfaz con el RDMBS (Traduce de SQL (estándar) SQL-RDBMS)
RDBMS
Instrucción SQL-RDBMS Respuesta (ResultSet)
Re
sp
ue
sta
(Re
su
ltS
et)
Instr
ucció
n
SQ
L
está
nd
ar
Cri
sp
Re
su
ltS
et
De
fin
ició
n d
e
Té
rmin
o D
ifu
so
Ide
ntifica
do
r
Instrucción
SQLf
Respuesta
(FuzzyResultSet)
Cri
sp
Asw
er
Objeto Instrucción Objeto
Instrucción
(DML)
Respuesta Instrucción
(texto)
Instr
ucció
n
DM
L
Instr
ucció
n
SQ
L
está
nd
ar
Instr
ucció
n S
QL
está
nd
ar
Instr
ucció
n
SQ
L
está
nd
ar
Respuesta
(Re
su
ltS
et)
Instr
ucció
n S
QL
está
nd
ar
SQLfi
21
• Download en: https://sourceforge.net/projects/sqlfi/
• “SQLfi y sus aplicaciones”. Goncalves, M. y Tineo, L.
Revista Avances en Sistemas e Informática. Vol.5, Nro.2,
(2008).
Términos Difusos
CREATE FUZZY PREDICATE joven ON 0..100
AS (0, 0, 60,100);
23
Predicados SQLf
0
0,5
1
0 20 40 60 80 100
Términos Difusos
CREATE FUZZY PREDICATE alto ON 0..250
AS ( X / 250 );
24
Predicados SQLf
0
0,5
1
0 50 100 150 200 250
Términos Difusos
25
Predicados SQLf
0
0,5
1
CREATE FUZZY PREDICATE agradable ON COLOR
AS ( Amarillo / 0.4, Verde / 1, Rojo / 0.1, Azul / 0.7,
Negro/0.3 );
Términos Difusos
CREATE MODIFIER extremadamente AS POWER 3.0;
CREATE MODIFIER muy AS TRANSLATION -50;
CREATE MODIFIER extremadamente
AS max(x + y – 1, 0) POWER 4;
26
Modificadores SQLf
Términos Difusos
CREATE COMPARATOR cercano ON -30..30
AS (x – y) IN (-20, -1, 1, 20);
CREATE COMPARATOR similar ON color
AS (x, y) IN {
(negro,gris)/0.5,
(azul,gris)/0.7,
(blanco,gris)/0.5,
(azul,negro)/0.8,
(azul,blanco)/0.2
};
28
Comparadores SQLf
Términos Difusos
CREATE ABSOLUTE QUANTIFIER
porLoMenos3 AS (3, 8, infinit, infinit);
CREATE RELATIVE QUANTIFIER
muchos AS (0.75, 0.90, 1, 1);
29
Cuantificadores SQLf
0
0,5
1
0 0,5 0,75 0,85 0,9 1
Consultas difusas
SELECT <atts> FROM <rels> WHERE <FuzzyCond> WITH CALIBRATION [n||n, ]
30
SELECT en SQLf
Consultas difusas
SELECT <atts> FROM <rels> WHERE <FuzzyCond> WITH CALIBRATION [n||n, ]
31
SELECT en SQLf
SELECT edad FROM estudiante WHERE edad = joven
WITH CALIBRATION 0.25
SELECT edad FROM estudiante WHERE edad = muy joven
WITH CALIBRATION 10
SELECT color FROM vehiculo
WHERE color similar azul
WITH CALIBRATION 10, 0.25
Controles Web difusosCampo de entrada de texto
34
CREATE FUZZY PREDICATE joven ON 0..100
AS (0, 0, 60,100);
Controles Web difusosCampo de entrada de texto
Botón de opción
35
CREATE FUZZY PREDICATE joven ON 0..100
AS (0, 0, 60,100);
Casilla de verificación
Casilla de Verificación
37
Controles Web difusos
CREATE ABSOLUTE QUANTIFIER
porLoMenos3 AS (3, 8, infinit, infinit);
40
Controles Web difusos
30 200
CREATE COMPARATOR alrededorDe ON 30..200
AS (x – y) IN (-20, -1, 1, 20);
Número
Rango
150 300
CREATE COMPARATOR almenos
ON 150..300 AS min(1,x/y);
Número
Controles Web difusos
41
Color Parecido
CREATE FUZZY PREDICATE
esParecido ON NUMBER
AS ( 1 – (X / 441,6729) );
Parecido
Exacto
Proyecto de Migración
Rol \ Actividad
Detección
de
Servidores
Ingeniería
y
Selección
de
Productos
Planifica-
ción de
Horarios
Metodolo-
gía de
Migración
Va
lid
ac
ión
Pruebas y
Aceptación
Pase a
Producción
Gerente del
Proyecto ✓ ✓ ✓ ✓ ✓ ✓ ✓
Especialista en
Infraestructura
TI✓ ✓ ✓
Programador
SQL ✓ ✓ ✓ ✓
Programador
WEB ✓ ✓ ✓ ✓
Probador de
Software ✓ ✓ ✓
Diseñador WEB ✓ ✓
Clientes ✓ ✓ ✓Usuarios
Finales ✓ 43
Metodología de migración
1. Instalación e integración
Especialista en TI instala SQLfi en DBMS
Programador Web redirecciona consultas a SQLfi
Probador de SW verifica formularios operativos
2. Definición de términos difusos
Cliente + Programador SQL + Programador Web
3. Definición de consultas SQLf
Programador SQL Programador Web
diseña consultas modifica sitio
44
Proyecto de Migración
Rol \ Actividad
Detección
de
Servidores
Ingeniería
y
Selección
de
Productos
Planifica-
ción de
Horarios
Metodolo-
gía de
Migración
Va
lid
ac
ión
Pruebas y
Aceptación
Pase a
Producción
Gerente del
Proyecto ✓ ✓ ✓ ✓ ✓ ✓ ✓
Especialista en
Infraestructura
TI✓ ✓ ✓
Programador
SQL ✓ ✓ ✓ ✓
Programador
WEB ✓ ✓ ✓ ✓
Probador de
Software ✓ ✓ ✓
Diseñador WEB ✓ ✓
Clientes ✓ ✓ ✓Usuarios
Finales ✓ 45
Conclusiones
• Los programadores WEB tienen el deseo de utilizar
herramientas de lógica difusa.
• Los usuarios quedan insatisfechos con los sistemas
de búsqueda actual en aplicaciones WEB.
• Desearían que los sitios WEB permitan lenguaje
natural para expresar sus búsquedas.
• Esto se puede lograr incorporando términos difusos
en los controles WEB.
• Prevalece la tendencia de usar DBMS relacionales
bajo SQL en aplicaciones WEB.
46
Conclusiones
• Los programadores WEB tienen el deseo de utilizar
herramientas de lógica difusa.
• Los usuarios quedan insatisfechos con los sistemas
de búsqueda actual en aplicaciones WEB.
• Desearían que los sitios WEB permitan lenguaje
natural para expresar sus búsquedas.
• Esto se puede lograr incorporando términos difusos
en los controles WEB.
• Prevalece la tendencia de usar DBMS relacionales
bajo SQL en aplicaciones WEB.
47
Conclusiones
• Los programadores WEB tienen el deseo de utilizar
herramientas de lógica difusa.
• Los usuarios quedan insatisfechos con los sistemas
de búsqueda actual en aplicaciones WEB.
• Desearían que los sitios WEB permitan lenguaje
natural para expresar sus búsquedas.
• Esto se puede lograr incorporando términos difusos
en los controles WEB.
• Prevalece la tendencia de usar DBMS relacionales
bajo SQL en aplicaciones WEB.
48
Conclusiones
• Los programadores WEB tienen el deseo de utilizar
herramientas de lógica difusa.
• Los usuarios quedan insatisfechos con los sistemas
de búsqueda actual en aplicaciones WEB.
• Desearían que los sitios WEB permitan lenguaje
natural para expresar sus búsquedas.
• Esto se puede lograr incorporando términos difusos
en los controles WEB.
• Prevalece la tendencia de usar DBMS relacionales
bajo SQL en aplicaciones WEB.
49
Conclusiones
• Los programadores WEB tienen el deseo de utilizar
herramientas de lógica difusa.
• Los usuarios quedan insatisfechos con los sistemas
de búsqueda actual en aplicaciones WEB.
• Desearían que los sitios WEB permitan lenguaje
natural para expresar sus búsquedas.
• Esto se puede lograr incorporando términos difusos
en los controles WEB.
• Prevalece la tendencia de usar DBMS relacionales
bajo SQL en aplicaciones WEB.
50
Conclusiones
• La mayoría de los controles WEB utilizados en la
actualidad pueden usarse para incorporar términos
difusos a los formularios de búsqueda.
• SQLfi es la extensión con lógica difusa que posee
mayor cantidad de características deseables:
completitud, disponibilidad, visibilidad, calidad,
soporte, portabilidad y documentación.
• Se dispone de una metodología para migrar los
controles WEB en formularios de búsqueda que
operan con términos difusos.
51
Conclusiones
• La mayoría de los controles WEB utilizados en la
actualidad pueden usarse para incorporar términos
difusos a los formularios de búsqueda.
• SQLfi es la extensión con lógica difusa que posee
mayor cantidad de características deseables:
completitud, disponibilidad, visibilidad, calidad,
soporte, portabilidad y documentación.
• Se dispone de una metodología para migrar los
controles WEB en formularios de búsqueda que
operan con términos difusos.
52
Conclusiones
• La mayoría de los controles WEB utilizados en la
actualidad pueden usarse para incorporar términos
difusos a los formularios de búsqueda.
• SQLfi es la extensión con lógica difusa que posee
mayor cantidad de características deseables:
completitud, disponibilidad, visibilidad, calidad,
soporte, portabilidad y documentación.
• Se dispone de una metodología para migrar los
controles WEB en formularios de búsqueda que
operan con términos difusos.
53
Algunos trabajos futuros…
• Casos prácticos donde se aplique la metodología
de migración (posible proyectos de tesis).
• Extender SQLfi para manejar lógica difusa con
argumentos de tipo DATE.
• Nuevas versiones de la metodología para
aplicaciones de escritorio y aplicaciones móviles.
• Análisis estadísticos sobre los beneficios obtenidos
de los sitios WEB migrados.
54
Algunos trabajos futuros…
• Casos prácticos donde se aplique la metodología
de migración (posible proyectos de tesis).
• Extender SQLfi para manejar lógica difusa con
argumentos de tipo DATE.
• Nuevas versiones de la metodología para
aplicaciones de escritorio y aplicaciones móviles.
• Análisis estadísticos sobre los beneficios obtenidos
de los sitios WEB migrados.
55
Algunos trabajos futuros…
• Casos prácticos donde se aplique la metodología
de migración (posible proyectos de tesis).
• Extender SQLfi para manejar lógica difusa con
argumentos de tipo DATE.
• Nuevas versiones de la metodología para
aplicaciones de escritorio y aplicaciones móviles.
• Análisis estadísticos sobre los beneficios obtenidos
de los sitios WEB migrados.
56
Algunos trabajos futuros…
• Casos prácticos donde se aplique la metodología
de migración (posible proyectos de tesis).
• Extender SQLfi para manejar lógica difusa con
argumentos de tipo DATE.
• Nuevas versiones de la metodología para
aplicaciones de escritorio y aplicaciones móviles.
• Análisis estadísticos sobre los beneficios obtenidos
de los sitios WEB migrados.
57
MUCHAS GRACIAS
José Angel Labbad Yousef ([email protected])
Rosseline Rodríguez ([email protected])
Leonid Tineo ([email protected])
58
Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres
(Colosenses 3:23)