Page 1
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
Page 2
Agenda
2
• Conjuntos Difusos
• Formularios Web
• El Lenguaje SQLf
• Controles Web con términos difusos
• Metodología de migración
• Conclusiones
• Trabajos Futuros
Page 3
Conjuntos Difusos
3
Page 4
El lenguaje natural
4
obeso
fuertedelgado
calientefrescofrio mejor peor
extremadamente
cercalejosmás
casi
menos
Page 5
Representación
Términos Difusos
5
Page 6
Color agradableFunción de Pertenencia
6
00,10,20,30,40,50,60,70,80,9
1
Amarillo Verde RojoAzul
Negro
Page 7
Edad es jovenFunción de Pertenencia
7
0
0,2
0,4
0,6
0,8
1
0 20 40 6080
100
Page 8
Edad es adultoFunción de Pertenencia
8
0
0,2
0,4
0,6
0,8
1
0 20 40 6080
100
Page 9
Edad es ancianoFunción de Pertenencia
9
0
0,2
0,4
0,6
0,8
1
0 20 40 6080
100
Page 10
Formularios Web
10
Page 11
Propuesta
11
formularios web + términos difusos
Page 12
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)
Page 13
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
Page 14
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
Page 15
Controles WEB
15
- +
Campos de entrada de texto
Casillas de Verificación Botón de opción
Rango
Número
Page 16
Controles WEB
16
Menú desplegable y deslizante
Tiempo: año, mes, semana, fecha, hora
URL y Email
Page 17
Controles WEB
17
Color
Page 18
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
Page 19
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
Page 20
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
Page 21
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).
Page 22
El Lenguaje SQLf
SQL + condiciones en lógica difusa
22
Page 23
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
Page 24
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
Page 25
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 );
Page 26
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
Page 27
Términos Difusos
CREATE CONNECTOR IMPLICA AS MAX(1 – X, Y);
27
Conectores SQLf
Page 28
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
Page 29
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
Page 30
Consultas difusas
SELECT <atts> FROM <rels> WHERE <FuzzyCond> WITH CALIBRATION [n||n, ]
30
SELECT en SQLf
Page 31
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
Page 32
Controles WEB con términos difusos
32
Page 33
Controles precisos
33
Page 34
Controles Web difusosCampo de entrada de texto
34
CREATE FUZZY PREDICATE joven ON 0..100
AS (0, 0, 60,100);
Page 35
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
Page 36
Casilla de Verificación
36
Controles Web difusos
Page 37
Casilla de Verificación
37
Controles Web difusos
CREATE ABSOLUTE QUANTIFIER
porLoMenos3 AS (3, 8, infinit, infinit);
Page 38
Menú desplegable
38
Controles Web difusosMenú deslizante
Page 39
Menú desplegable
39
Controles Web difusosMenú deslizante
Fechas
Page 40
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
Page 41
Controles Web difusos
41
Color Parecido
CREATE FUZZY PREDICATE
esParecido ON NUMBER
AS ( 1 – (X / 441,6729) );
Parecido
Exacto
Page 42
Metodología de Migración
42
Page 43
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
Page 44
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
Page 45
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
Page 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.
46
Page 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.
47
Page 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.
48
Page 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.
49
Page 50
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
Page 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.
51
Page 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.
52
Page 53
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
Page 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.
54
Page 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.
55
Page 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.
56
Page 57
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
Page 58
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)