miércoles, 28 de noviembre de 2012

Modelo Booleano

Es el modelo con más solera en recuperación de información. Se basa en la teoría de conjuntos del álgebra de George Boole, mediante la aplicación de operaciones lógicas AND (Intersección), OR (Unión), NOT (Resta) y XOR (Complemento). Para llevarlo a efecto sólo se necesita un fichero diccionario donde almacenar los términos de los documentos de la colección y la correspondencia de aparición de los mismos, véase tabla1.

Id
Término
Id del documento
T1
Archivo
{1, 3, 4, 5,…}
T2
Biblioteca
{2, 3, 4,…}
T3
Museo
{1, 3,…}
T4
Arquitectura
{1,…}
T5
Facultad
{1, 2, 3, 4,…}
T6
Documentación
{1, 2, 3, 4, 5,…}
T7
Investigación
{3, 4, 0…}
Tabla1. Ejemplo de fichero diccionario con los términos y los identificadores de documento

De esta forma se obtiene que el término T4 aparece sólo en el documento 1 y que el término T3 aparece en los documentos 1 y 3. Si se analiza esta representación, se observará que el modelo booleano es en efecto un modelo binario por determinar fundamentalmente la presencia o la ausencia de los términos de los textos de la colección. De esta forma también se podría representar en otro ejemplo una matriz que pusiera en relación los términos del diccionario con los documentos, véase tabla2.

Diccionario
Doc1
Doc2
Doc3
Doc4
Doc5
Archivo
1
0
1
1
1
Biblioteca
0
1
1
1
0
Museo
1
0
1
0
0
Arquitectura
0
1
0
0
0
Facultad
1
1
1
1
0
Documentación
1
1
1
1
1
Investigación
0
0
1
1
0
Tabla2. Ejemplo de matriz término-documento, donde se aprecia el modelo binario.

Obsérvese que la presencia de un término en un documento se representa con el valor "1" y la ausencia con el valor "0". De esta forma una hipotética consulta booleana para recuperar aquellos documentos en los que aparezcan los términos "archivo" y "biblioteca", se expresará de la siguiente forma: 
  • Q = 10111 AND 01110 = 00110
Por otro lado, también se debe cuidar la forma de generar el fichero diccionario, si bien en los ejemplos anteriores, no se han mostrado términos coincidentes, la frecuencia de aparición de los términos suele ser superior a la unidad, implicando un proceso de varios pasos para la optimización de los datos recopilados por el sistema, véase la tabla3.

Tabla diccionario

Ordenación alfabética

Armonización
Término
ID doc
Término
ID doc
Término
TF
ID
doc
Lengua
1
Bilingüismo
2
Bilingüismo
1
2
Cerebro
1
Capacidad
1
Capacidad
1
1
Idioma
1
Cerebro
1
Cerebro
2
1, 2
Redes
1
Cerebro
2
Comunicativa
1
1
Neuronales
1
Comunicativa
1
Español
1
2
Políglotas
1
Español
2
Funcional
1
2
Monolingüe
1
Funcional
2
Idioma
2
1, 2
Persona
1
Idioma
1
Inglés
1
2
Comunicativa
1
Idioma
2
Lengua
2
1, 2
Capacidad
1
Inglés
2
Monolingüe
1
1
Neuropsicología
2
Lengua
1
Neuronales
1
1
Funcional
2
Lengua
2
Neuropsicología
1
2
Lengua
2
Monolingüe
1
Persona
1
1
Bilingüismo
2
Neuronales
1
Políglotas
1
1
Cerebro
2
Neuropsicología
2
Psicología
1
2
Idioma
2
Persona
1
Redes
1
1
Español
2
Políglotas
1
Romance
1
2
Inglés
2
Psicología
2
Solapamiento
1
2
Romance
2
Redes
1



Psicología
2
Romance
2



Solapamiento
2
Solapamiento
2



Tabla3. Ejemplo de transformación del fichero diccionario

Como se puede ver, la tabla diccionario del sistema se compone originalmente de todos los términos de todos los textos del corpus documental, recogiendo el término propiamente dicho y el identificador del documento en el que aparecía. Obsérvese que en este estadio se encuentran términos repetidos en distintos documentos. El siguiente paso es la ordenación alfabética de los términos de la tabla diccionario, donde se visualiza mejor si cabe la duplicidad de los términos "cerebro", "idioma" y "lengua". Finalmente se lleva a cabo un proceso de armonización en el que se suprimen los términos duplicados hasta que sólo quede uno de ellos. El valor del campo identificador de documentos "ID doc" amplía su información con la lista de documentos en los que aparece el término correspondiente. Por otro lado, se añade el campo "TF" que indicará la frecuencia de aparición del término para futuros cálculos. Este proceso permite ahorrar memoria y facilita el proceso de recuperación.

Casos fundamentales
El algebra de Boole aplicada a la recuperación de información consta de una serie de casos básicos a los que pueden añadirse múltiples cadenas de resolución booleana. Dicho de otra forma, pueden llevarse a cabo operaciones verdaderamente complejas dependiendo de la cantidad de conjuntos a dirimir.

Operador AND :: Q = "A" AND "B"
El operador AND es el encargado de intersecar o especificar que dos condiciones, premisas ó terminos tienen que cumplirse obligatoriamente, simultáneamente ó a la vez. Esto significa que si no se produce de esta forma, el sistema de recuperación no devolverá resultado alguno. Según lo que se muestra en la figura1,  sólo los documentos que posean el término A y B (zona sombreada) se recuperarán, desechando por lo tanto aquellos términos que o bien sólo contengan A o bien sólo contengan B.

Figura1. Intersección de documentos con el término A y B

Operador AND :: Q = "A" AND "B" AND "C"
En este caso, la consulta propuesta implica la intersección de 3 términos. Por lo tanto, la recuperación sólo se efectuará para aquellos documentos que tengan presentes los términos A, B y C. Si faltase uno de estos términos el documento no se recuperaría, véase figura2

Figura2. Intersección de documentos con los términos A, B y C

Operador OR :: Q = "A" OR "B"
El operador OR implica unión, alternativa y adición. Esto significa que dos conjuntos conectados por el operador OR se sumarán o unirán y si constan de elementos comunes, éstos también se recogerán. En recuperación de información significa que para una consulta de términos A OR B, se recuperarán aquellos documentos que tengan presencia de A, presencia de B y presencia de A y B a la vez. Por ello la consulta AND es más específica y restrictiva que OR, mucho más amplia, véase figura3.

Figura3. Unión de los documentos con los términos A y B 

Operador NOT :: Q = "A" NOT "B"
El operador NOT también conocido como de negación, implica resta, diferencia, reducción o sustracción. Esto es restar a un conjunto de documentos aquellos que contenga el término B. Obsérvese la figura4, en la que sólo se recuperan aquellos documentos que contengan los términos A pero no los términos B.

Figura4. Documentos que contengan el término A pero no B

Operador AND y NOT :: Q = "A" AND "B" NOT "C"
La flexibilidad del lenguaje booleano permite combinar distintos operadores para obtener resultados más restringidos. Según se muestra en este caso, véase figura5, el operador AND y NOT pueden precisar la distinción de términos basándose en la negación de un tercero. De esta forma la consulta Q recuperará aquellos documentos en los que esté presente el término A y B pero no C.

Figura5. Documentos que contengan los términos A y B pero no C

Operador XOR :: Q = "A" XOR "B" XOR "C"
El operador XOR se utiliza para seleccionar todos los elementos complementarios de los conjuntos. Dicho de otra forma, evita las intersecciones. En la figura6, se observa que la zona de documentos que serán recuperados es aquella en la que no se combinan los términos A, B y C. Así por ejemplo, de esta forma la expresión A XOR B es equivalente a (A AND (NOT B)) OR ((NOT A) and B).

Figura6. Documentos cuyos términos complementaros sean A, B y C

Ventajas
  • El modelo booleano permite procesar colecciones muy grandes rápidamente. Resulta sistemático y ello supone una gran velocidad de recuperación.
  • Es un modelo flexible ya que permite el empleo de distintas conectivas para precisar la consulta del usuario. Permite aproximar bastante las consultas por frase exacta y resulta perfectamente válido para recuperar por medio de vocabulario controlado.
  • Entraña ventajas para efectuar una recuperación de información igualada, en el sentido de que el sistema de información presente la mejor respuesta a una necesidad de información expresada por ciertas palabras clave.
Inconvenientes del modelo Booleano
  • En muchos casos, las necesidades de información son complejas y ello entraña cierta dificultad a la hora de expresar las consultas mediante fórmulas lógicas que pueden incluso llegar a concatenarse.
  • A veces el usuario puede imponer una lógica semántica que no se corresponda con la lógica algebraica de Boole, implicando un uso incorrecto de los operadores.
  • El volumen de resultados no se puede controlar, ya que la consulta plantea una resolución absoluta para toda la colección en la que se aplica. Esto significa que el resultado puede ser excesivamente grande o pequeño.
  • Los resultados obtenidos pueden ser perfectamente relevante o absolutamente irrelevante, no hay gradación o término medio, ya que el funcionamiento del modelo booleano se basa en equiparación exacta. Es decir que no ordena los documentos por orden de relevancia, tal como se llevaría a cabo en un modelo basado en pesos o ponderación de los términos.
Resolución de consultas booleanas ordenadas
El modelo booleano puro no contempla el uso TF (Term Frequency), pero los sistemas de recuperación más modernos suelen utilizar métodos para mejorar la ordenación o el ranking de los resultados mostrados. En este sentido en la tabla3, ya se avanzaba esta consideración. El modo de proceder en tal caso es el que se muestra a continuación:
  • Input de la consulta booleana
  • Ordenar los términos de la tabla diccionario en orden descendiente de frecuencia TF
  • Ejecutar la consulta, resolviéndose por orden de frecuencia de los términos.
  • Suma de frecuencias de los términos de consulta para los documentos recuperados.
  • Devolución de resultados ordenados.

Bibliografía

BAEZA YATES, R.; RIBEIRO NETO, B. 2005. Modelling: Boolean model. En: Modern Information Retrieval. Disponible en: http://grupoweb.upf.es/WRG/mir2ed/pdf/slides_chap03.pdf

MANNING, C.D.; RAGHAVAN, P.; SCHÜTZE, H. 2008. Introduction to Information Retrieval. Cambridge University Press

POHL, S.; ZOBEL, J.; MOFFAT, A. 2010. Extended Boolean retrieval for systematic biomedical reviews. En: ACSC '10 Proceedings of the Thirty-Third Australasian Conferenc on Computer Science - Volume 102. Disponible en: http://dl.acm.org/citation.cfm?id=1862212

1 comentario:

  1. Excelente aporte, seria posible si pudiera publicar informacion sobre otras tecnicas como: Extended, Probalistic, etc.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.