domingo, 30 de noviembre de 2014

Recuperación de la información

En esta entrada al blog vamos a hablar de un tema interesante como es la recuperación de datos. Es un asunto bastante complejo pero importante, por lo que vamos a tratar de explicarlo de manera que sin tener excesivos conocimientos por parte del lector, se pueda tener un concepto más o menos general de qué es, cómo funciona y cómo se consigue.
El proceso de recuperación: se lleva a cabo mediante consultas a la base de datos donde se almacena la información estructurada, mediante un lenguaje de interrogación adecuado.

Técnicas de recuperación de información

Hay muchas técnicas, aunque vamos a ver que se basan principalmente en el uso de los operadores adecuados para cada contexto.
Sistemas de recuperación de lógica difusa: Es un procedimiento que permite establecer consultas con frases. La máquina de manera sistemática al realizar la búsqueda elimina caracteres que considera innecesarios como signos de puntuación, artículos, palabras comunes…,  y quedándose sólo con  aquellas palabras que el sistema considera relevantes. La recuperación se basa en proposiciones lógicas con valores de verdadero y falso (true or false), teniendo en cuenta la localización de la palabra en el documento.
Técnicas de retroalimentación por relevancia: Esta técnica pretende obtener el mayor número de documentos relevantes tras establecer varias estrategias de búsqueda. Dentro de ésta, destacamos el “Algoritmo Genético”, que recibe este nombre porque se basa en un esquema similar al de la teoría de la evolución biológica, es decir, por así decirlo, prosperan los argumentos que se adaptan mejor al “medio”. En este caso, a la circunstancia que requiramos.
Técnicas de ponderación de términos: Los documentos recuperados se encuentran en función del valor obtenido en la ponderación. El valor no es algo estrictamente subjetivo de la máquina, sino que depende de los términos pertinentes que contenga el documento y la frecuencia con que se repita. De forma que, el documento más pertinente de búsqueda sería aquel que tenga representado todos los términos de búsqueda y además el que más valor tenga repetidos más veces, independientemente de donde se localice en el documento.
Técnica de clustering o de agrupamiento: Su nombre procede del inglés. Cluster significa racimo, lo cual nos puede guiar bastante sobre en qué consiste esta técnica. Consiste en un procedimiento de agrupación de una serie de vectores de acuerdo con un criterio. Esos criterios son por lo general distancia o similitud. La cercanía se define en términos de una determinada función de distancia, como la euclídea, aunque existen otras más robustas o que permiten extenderla a variables discretas. La medida más utilizada para medir la similitud entre los casos es la matriz cuadrada de correlación entre los nxn casos. Sin embargo, también existen muchos algoritmos que se basan en la maximización de una propiedad estadística llamada verosimilitud. Y esta técnica es bastante utilizada en el campo de la estadística matemática, aunque requiere de conocimientos previos en la materia para poder entenderse. Para los propósitos que tiene este blog, con lo contado del clustering, es suficiente.
Técnicas de stemming: La técnica de Stemming lo que pretende es eliminar las posibles confusiones semánticas que se puedan dar en la búsqueda de un concepto, para ello trunca la palabra y busca solo por la raíz. Stem(inglés)=tallo(español).
Uno de los problemas con los que nos podemos encontrar en nuestra búsqueda es que se pueden recuperar muchos documentos que no son relevantes, ya que la búsqueda ha sido demasiado genérica, lo que conocemos como ruido documental, o bien no podemos recuperar la información almacenada en la base de datos, ya que la estrategia de búsqueda ha sido demasiado específica o las palabras clave utilizadas no eran las adecuadas, esto es conocido como silencio documental. No es algo sencillo, por lo que aparte de dominar de ciertas técnicas también hay que saber qué elementos y sistemas nos pueden ayudar para la recuperación de la información.

Herramientas de búsqueda

Para recuperar la información contamos con una serie de herramientas que pasaremos a definir a continuación.
Bases de datos: son un conjunto de información homogénea que mantiene una estructura ordenada y relacionada entre sí.
Internet: donde podemos obtener información de manera automática, según los criterios de nuestra búsqueda, a través del manejo de buscadores, directorios y otras herramientas (a estas alturas, no debería ser necesario explicar el funcionamiento de internet).
Lenguajes de indización y  control terminológico: Índices que, son un listado de términos normalizados que representan el contenido de un recurso. Algunos tipos son:
Índice de materias.
Índice alfabético. 
Índice KWIC: en el que el contenido temático de una obra se representa mediante palabras clave de su título 
Índice KWOC: en que las palabras clave aparecen como un encabezamiento en línea separada. 
Palabras clave (Keywords): esta opción nos permite acotar y precisar información, para definir la palabra exacta es conveniente utilizar especificadores.
Tesauros: es un listado terminológico controlado sobre un área de conocimiento que mantiene entre sí relaciones semánticas y genéricas. Su principal característica es que los términos están ordenados jerárquicamente, permitiendo la precisión terminológica en la búsqueda de información.
Lenguajes de interrogación y ecuaciones de búsqueda: cada sistema de recuperación tiene su propio lenguaje de interrogación con una sintaxis propia, que es el que nos permite "hablar" en el mismo lenguaje que la base de datos. Las reglas gramaticales en el lenguaje de interrogación son los operadores lógicos 
Operadores: son los encargados de expresar la relación que mantienen entre sí los términos que pueden definir las necesidades informativas del usuario. Los más utilizados son: 
·Operadores lógicos (o booleanos) que, nos proporcionan un resultado a partir de que se cumpla o no una cierta condición. Los tres operadores básicos son. 
El operador suma/unión (+, generalmente identificado como O/OR), 
El operador producto/intersección ( identificado como Y/AND), y 
El operador resta/negación (-, identificado como NO/NOT).
Operadores posicionales, que permiten especificar la posición de las palabras dentro del documento. Hay tres tipos, que son: 
Cerca (NEAR).
Junto (ADJ).
O simplemente, sentencias o frases.

Calidad de la recuperación

Por último, vamos a presentar  unos criterios básicos que se deben cumplir para que el proceso de recuperación que hemos realizado  sea de calidad.
Consistencia: Capacidad que tiene un sistema de búsqueda en coordinar su sistema de clasificación con el lenguaje de búsqueda, permitiendo de esta manera establecer ecuaciones de búsqueda sobre términos admitidos.
Exhaustividad: Es la cualidad de un sistema de información para recuperar la totalidad de los documentos relevantes que posee una colección, conforme a los requerimientos establecidos en la estrategia de búsqueda.
Tasa de acierto: coeficiente que surge de dividir el número de documentos relevantes recuperados, sobre el número total de documentos relevantes de la colección (por así decirlo, supondría un coeficiente de rendimiento).
Relevancia: Característica de un documento recuperado que cumple con la necesidades de información.
Tasa de relevancia: coeficiente que surge de dividir el número de documentos relevantes recuperados, sobre el número total de documentos recuperados.
Apropiación: Es la cualidad que tiene el documento recuperado de adaptarse a las necesidades de información.
Tasa de pertinencia: coeficiente que surge de dividir el número de documentos pertinentes recuperados, sobre el número total de documentos recuperados.
Precisión: es la capacidad que tiene el sistema de búsqueda en coordinar la ecuación con los documentos más relevantes. De otra forma son aquellos documentos relevantes recuperados.
Tasa de precisión: coeficiente que surge de dividir el número de documentos relevantes recuperados, sobre el número total de documentos de la colección.



Como podemos ver, la recuperación de datos e información es una rama del conocimiento bastante extensa y algo compleja de entender si no se está habituado a cierta terminología y tecnicismos. Tras la lectura de esta entrada al blog, probablemente el funcionamiento y características de este proceso le haya quedado algo más claro, si bien, la información que se ha detallado es sólo una pequeña parte de todo lo que este proceso comprende. Haciendo un guiño al tema que hablamos en la anterior entrada, si algo no le ha quedado del todo claro, mediante el uso de cualquier buscador, puede encontrar muchísima más información pues como ya se ha dicho, es un tema muy extenso y de gran utilidad en cualquiera de los ámbitos que nos podamos encontrar a nivel doméstico o profesional.

Referencias:
http://es.wikipedia.org/wiki/B%C3%BAsqueda_y_recuperaci%C3%B3n_de_informaci%C3%B3n
http://www.mariapinto.es/e-coms/recu_infor.htm
http://eprints.rclis.org/16262/1/libro-ri.PDF
http://www.elprofesionaldelainformacion.com/contenidos/1995/octubre/teora_de_recuperacin_de_informacin_modelos_fundamentales_y_aplicaciones_a_la_gestin_documental.html

domingo, 9 de noviembre de 2014

Buscadores

En esta entrada vamos a hablar de un elemento que ya pasa desapercibido en nuestras vidas, que era inconcebible hace tan sólo un par de décadas para el usuario común pero que actualmente es un complemento utilizado por todos nosotros cada día, incluso para llegar a ver este blog. Hablamos de los motores de búsqueda, o más comúnmente conocidos como buscadores. 

Un motor de búsqueda es un sistema informático que busca archivos almacenados en la base de datos de servidores web gracias a lo que se conoce como spider o araña web. Nos vamos a centrar en los buscadores de Internet (algunos buscan únicamente en la web, pero otros lo hacen además en noticias, servicios como Gopher, FTP, etc.) cuando se pide información sobre algún tema. Las búsquedas se hacen con palabras clave o con árboles jerárquicos por temas. El resultado de esta búsqueda es un listado con direcciones web en los que se mencionan temas relacionados con las palabras clave buscadas.
Por fuera y sin valorar con demasiada profundidad el funcionamiento de un buscador, se basa principalmente en introducir unas keywords (palabras clave) en la barra de texto que habilita la página de búsqueda. Entonces el buscador busca de manera textual o aproximada los términos introducidos, es decir, aquellas páginas webs cuyo contenido guarde relación con el tema solicitado. Esto cumple con lo básico pero existen también opciones más avanzadas para depurar la búsqueda, que puede filtrar miles de páginas y así poder trabajar con un número más reducido de páginas.
El hecho de cuál es mejor buscador o cuál peor es algo completamente subjetivo y de lo que luego un modesto servidor opinará al respecto. Una opinión que no tiene por qué ser compartida ya que no hay una verdad absoluta al respecto. Sin embargo, internet es un mundo dinámico que cambia a cada décima de segundo, por lo que ningún buscador tiene un registro actualizado constante del contenido de cualquier página. Esto hace que un buscador pueda albergar direcciones útiles que otro no. Por lo tanto, una recomendación es utilizar varios buscadores para optimizar nuestros procesos en internet.
Por así decirlo, “macroscópicamente” ya hemos determinado cómo funcionan los motores de búsqueda. Pero… ¿cómo funciona por dentro un sistema de búsqueda?
Para localizar la información existen los llamados algoritmos de búsqueda que, están diseñados para localizar un elemento concreto dentro de una estructura de datos.

Interesante y relacionado con este tema, en marzo de 2013 la compañía referencia de los motores de búsqueda, Google, explicó públicamente en un vídeo cómo funciona su algoritmo de búsqueda. Hasta entonces había sido unos de los secretos mejores guardados del mundo de la información.
El motor de búsqueda recoge más de 30 millones de millones de páginas, maneja alrededor de 100 millones de gigabytes, recibe unos 100.000 millones de búsquedas mensuales y “está en constante crecimiento” según miembros de su compañía. Recalcular y ordenar este material se produce a través del «crawling», que recorre las diferentes páginas. Los propietarios de los portales pueden decidir si su contenido se rastrea o no, aunque el deseo de un creador de web suele ser las visitas de terceras personas.
Google ordena las páginas en función del contenido y otros factores mediante una serie de fórmulas matemáticas que ofrecen «el mejor resultado posible». Esos algoritmos ponen manos a la obra al motor de búsqueda para traducir lo que el usuario pretende encontrar. Así que mediante diversas funcionalidades como la corrección de errores ortográficos, la proporción de alternativas de búsqueda o el autocompletado se acota la búsqueda.
Una explicación más detallada y mejor elaborada que la mía será la de Matt Cutts, ingeniero del equipo de Google. Por ello, se adjunta el enlace del vídeo al que hacemos referencia.
http://www.youtube.com/watch?v=MY42gAZqlSQ
Existen varios tipos de algoritmos de búsqueda que vamos a explicar a continuación:
·Búsqueda binaria: se utiliza cuando el vector en el que queremos determinar la existencia de un elemento está previamente ordenado. Este algoritmo reduce el tiempo de búsqueda considerablemente, ya que disminuye exponencialmente el número de iteraciones necesarias. Está altamente recomendado para buscar en arrays de gran tamaño.
·Búsqueda secuencial: se utiliza cuando el vector no está ordenado o no puede ser ordenado previamente. Consiste en buscar el elemento comparándolo secuencialmente (de ahí su nombre) con cada elemento del arreglo hasta encontrarlo, o hasta que se llegue al final. La existencia se puede asegurar cuando el elemento es localizado, pero no podemos asegurar que no exista hasta no haber analizado todos los elementos del arreglo.
No todos los buscadores son iguales. Se pueden agrupar y distinguir en diferentes grupos en función del propósito que tengan o de su manera de operar. Según su funcionalidad pueden ser:
 ·Genérico u horizontal (como por ejemplo Google, Yahoo o Bing) funciona utilizando unos programas (llamados robots o arañas) como ya hemos explicado, que rastrean Internet y leen tantas páginas como puedan. El buscador crea posteriormente un índice que contiene las palabras de los documentos leídos, utilizando un algoritmo propietario que asegure que para cada búsqueda se devuelvan los resultados más significativos.
·Temáticos o verticales (como Rastreator o Trivago) que envían sus robots a un número limitado de páginas web sobre un tema concreto, lo que permite que tanto la obtención de la información como la creación del índice sean más especializadas en el sector del que se trata. Al tratarse de un número de fuentes más reducido que en un buscador genérico los buscadores verticales pueden también actualizar su información con mayor frecuencia. Adicionalmente, un buscador vertical ofrece a los usuarios mecanismos de búsqueda avanzada específicamente diseñados para el sector.
Los buscadores verticales o temáticos suponen una nueva generación después de los modelos de búsqueda horizontal. La revista Business Week ha clasificado los buscadores verticales como parte de un “renacimiento tecnológico”.
En principio se puede pensar que es imposible competir ante empresas gigantes como Google o Yahoo, pero el hecho de ofrecer un servicio específico supone varias ventajas para el consumidor, ya que el contenido es más exacto y fiable al haber responsables en la empresa para corroborar los servicios y precios. Además, económicamente se pueden generar muchos ingresos, ya que al ser temáticas, abarcan a un restringido tipo de consumidor que acude a dichas páginas con buscadores en principio para solicitar un servicio. Es decir, son compradores potenciales, y eso supone que las empresas del sector quieran publicitarse en dichas páginas en busca de clientes.
Otro tipo de agrupación, en este caso en función del origen de sus datos es la que constituyen los buscadores propiamente dichos que ya han quedado definidos y los llamados metabuscadores.
El meta-search o metabuscador es un sistema que localiza información en los motores de búsqueda más usados y que se distingue de estos en que carece de base de datos propia, ya que usa las de otros buscadores y muestra una combinación de las mejores páginas que ha devuelto cada uno. Para que quede completamente claro y no haya lugar a equívocos, un metabuscador es otra vuelta de rosca, es un buscador de buscadores. Hay gran cantidad de metabuscadores, como Metacrawler o Zapmeta. Como todo, ofrecen ventajas e inconvenientes que el usuario debe siempre tener en consideración:
Ofrecen gran cantidad de respuestas. Aunque no todos operan igual, muchos enseñan la relevancia de las webs que muestran como resultado, lo cual puede guiar al usuario para un uso óptimo. Sin embargo, cada buscador trabaja de una manera distinta y con diferente sintaxis mientras que los metabuscadores trabajan con el mismo criterio de búsqueda y sin hacer distinciones en este aspecto, lo cual puede dar lugar a resultados diferentes a los esperados o que nos pueden resultar poco útiles. Además, al ser un buscador de buscadores, el proceso tiende a ralentizarse en exceso en comparación con un buscador convencional.
Como ven, hay una gran variedad de motores de búsqueda, cada uno con sus particularidades. Como siempre decimos, es el usuario el que decide finalmente qué sistema es el más apropiado para sus necesidades. En algunos casos, porque Google es el genérico que suele venir como predeterminado en la mayoría de sistemas y para el nivel usuario, resulta sobradamente eficaz. En otros casos, el desconocimiento de otros buscadores hace que se utilice el que viene por defecto.

Sean o no éstos los motivos, lo cierto es que casi tres cuartas partes de las búsquedas por internet (71,36%) se realizan mediante Google. Muy a la zaga están Baidu, con un 16,35%. Puede resultar bastante sorprendente por lo poco conocido que resulta en el mundo occidental este buscador, pero si decimos que está destinado al idioma chino, debido a la gran población en el país asiático, el dato encaja perfectamente. Relegado a la tercera posición, el motor de búsqueda diseñado por Microsoft, Bing, con sólo un 5,83%, cercano al 5,45% de Yahoo. Todos los datos los puedes encontrar en el blog de informática de la Universidad Cardenal Herrera, cuyo enlace se adjunta en el apartado “Referencias”.
Como último punto y para terminar esta entrada, una recomendación. Usar un buscador u otro no es garantía de nada, y el hecho de que una página aparezca antes o después tras una búsqueda no supone absolutamente nada. No por ello la información que contiene es mejor o completamente cierta. No todo es real en internet y un buscador no tiene manera de descubrir si algo es cierto o no. Por ello, siempre es recomendable utilizar varios buscadores, y a partir de ahí, decidir qué información es útil para nuestro propósito y cuál no.
Y tú, ¿qué motor de búsqueda empleas usualmente y por qué?

Referencias: