Cómo encontrar un documento Web

En este proyecto vamos a describir el término Búsqueda para los Documentos Web, analizando los diferentes tipos de información, el proceso de indexación y las interfaces utilizadas.

1.Características propias de la web.

Para analizar el término Búsqueda en el contexto de la Web es necesario empezar analizando las propias características de este entorno. Internet ,y más exactamente los Documentos Web que este espacio contiene, es una fuente de información distribuida, dinámica y en constante expansión que nos puede proporcionar una gran cantidad de información. Esta características, surgidas hace unos pocos años, se contraponen a los métodos tradicionales ya que se basaban en técnicas para indexar documentos estáticos, no dinámicos y directamente accesibles , suponiendo una autentica revolución en el campo.

Como consecuencia directa, se cambio la propia arquitectura de los buscadores en un intento de resolver los siguientes problemas surgidos de la revolución de la información:

  • La indexación de un número muy elevado de Webs. El crecimiento exponencial de Internet ha ocasionado un gran problema para la creación de un índice a todo este contenido. Además, unido a este inconveniente, ha surgido un nuevo problema conocido como el SPAM, es decir, aquellos documentos Web que nos proporciona la búsqueda pese a no interesar su información al usuario.
  • Expansión Continua: Cada día, aumenta el número de páginas almacenadas en Internet que crean distintos usuarios. La solución más extendida es, mediante unas herramientas de inserción, añadir las propios autores de las Webs en distintos motores de búsqueda de forma manual. No obstante, muchas personas desconocen este tipo de herramientas.
  • Velocidades de los rastreadores. Es muy importante que se utilicen rastreadores sean eficientes y se utilicen hardware adaptados para poder ejecutar los diferentes software para indexar las Web.
  • Duplicidad de contenido Web: Bajar el contenido de todas las páginas, analizarlo y comprobar que el contenido esta duplicado, provoca perder eficiencia en el proceso ya que tenemos que invertir tiempo para borrarlo, actualizar las URLs y realizar algunas modificaciones en el índice.

2. Tipos de información a considerar en la búsqueda en web

Contenido Textual

La manera más común de expresar y comunicar la información sobre algún tema en la red es mediante el texto. El texto puede codificarse:

  • EBCCDIC y ASCII en 8 bits
  • Unicode: Utilizado para los lenguajes orientales en 16 bits.

Al no existir un formato único, los sistemas de recuperación de información deben recuperar los documentos en todos los formatos posibles y no siempre es posible interpretar el código que estos utilizan. Esto supone un serio problema con difícil solución, ya que, opciones como convertir los documentos en un único formato tienen un coste computacional demasiado alto si pensamos en la variedad de tipografías, diseños y tipos de texto que existen. La solución más extendida y que mejores resultados ha obtenido es aplicar una serie de filtros que permiten evitar estas conversiones y, de este modo, aumentar la eficiencia. Los formatos que nos podemos encontrar en los documentos son:

  • RTF: formato para intercambio de documentos
  • PDF: formato para mostrar documentos
  • MIME formato para el correo
  • RAR: ficheros comprimidos

Una vez tenemos claro el tipo de texto que vamos a buscar, es interesante medir la cantidad de información que nos proporcione un documento. Normalmente las métricas utilizadas estarán relacionadas con la distribución de los símbolos en el documento. Con este fin se ha utilizado términos como la entropía en la teoría de la información para ser utilizada como una magnitud que mide la información de una fuente de datos. Para entenderlo mejor podremos aplicar la siguiente hipótesis: si un fin de semana se celebra un concierto es normal porque es una buena fecha para realizarlo ya que puede tener mucha afluencia de publico, pero, por ejemplo si el concierto se celebra un miércoles puede indicar otros motivos diferentes como pueden ser que exista un festivo cercano o que este en un festival de música.

Los beneficios de aplicar esta medida de la entropía a fuentes de información de distinta naturaleza son varios pero, como podremos ver en el ejemplo, su principal virtud es evitar expresar información redundante de nuestras búsquedas. La definición formal de la entropia es la siguiente: donde H es la entropía, las p son las probabilidades de que aparezcan los diferentes códigos y m el número total de códigos. Normalmente, como podemos observar se utiliza el loggaritmo en base2 para expresar la entropía en bits. Por ejemplo, supongamos que el número de estados de un mensaje es igual a 3, donde la probabilidad de es de 50 , la de es de 25 y la de es de 25 . Por tanto la entropía de la información es:

Modelado del lenguaje Natural

Si analizamos el lenguaje Natural podremos comprobar que esta compuesta por símbolos que son los encargados de separar a las palabras o ser parte de ellas (las palabras las podemos considerar como símbolos). El lenguaje Natural como podemos observar no sigue una distribución uniforme, se trata de un modelo binomial y depende de los símbolos previos. Es considerado un modelo de Markob de orden K.

A partir de estas características en la década de los cuarenta se formulo la Ley de Zipf, por la cual, se mide la frecuencia de aparición de una palabra en un idioma por la siguiente distribución: donde representa la frecuencia de una palabra en la posición n-ésima (cuando las palabras se ordenan de mayor a menor frecuencia) y a es casi 1. Esto significa que el segundo elemento se repetirá aproximadamente con una frecuencia de 1/2 de la del primero, y el tercer elemento con una frecuencia de 1/3 y así sucesivamente.

A partir de estas primera aproximación surgieron nuevas leyes empíricas que realizaban aproximaciones más reales.La Ley de Heaps, una de las más utilizadas, se plantea una relación entre el tamaño del texto (cantidad de palabras) y el crecimiento de vocabulario (cantidad de palabra únicas) a través de la siguiente formula: donde:N: Es el tamaño del documento (cantidad de palabras)K: Constante que depende del texto, típicamente entre 10 y 100 : También es una constante que depende del texto.Para entender la siguiente formula el método más fácil es desarrollar algún ejemplo como el siguiente:

Sabiendo la proporción anterior, si y tendremos:

N V
10000 6325
25000 10000
40000 12649
800000 17889
100000 20000

Con la tabla del ejemplo podemos comprobar que el tamaño del corpus creció 10 veces, mientras que el vocabulario apenas superó las 3 veces su tamaño inicial. Es decir, a medida que se incorporan documentos a una colección , se descubrirán nuevos términos para el vocabulario hasta llegar a un máximo. Su aplicación nos permite estimar el tamaño del vocabulario para, por ejemplo, conocer la escalabilidad de las estructuras de datos para almacenar los índices que soportan el SRI (Sistema de Recuperación de Información). Esto es altamente útil si se utilizará una tabla de hash en memoria para el índice.

Información de los enlaces(Link Anchor Information)

Un hipervínculo, según el documento Effective Site Finding using Link Anchor Information, es una relación entre dos documentos o dos partes del mismo documento. Dentro de un enlace existira siempre:

  • Documento origen: Es el que contiene el enlace
  • Documento destino: Es aquel a que se refiere el enlace

Los métodos que utilizan el ranking basado en hipervínculos utilizan tres suposiciones principalmente:

  • Recomendación: Al vincular un objetivo, podemos interpretar el este vinculo es recomendado por el documento origen. Acorde con esta filosofía, cuando más cantidad de páginas vinculen al documento analizado, mayor será su relevancia. Este juicio de calidad ha sido muy extendido y utilizado ya que aunque el método de conteo puede variar ( se puede basar por ejemplo en un conteo de enlaces simples o en un cálculo de un peso por la propagación de la página) , es necesario clasificar de alguna forma la información para clasificar los documentos.
  • Localización de tema: Las páginas conectadas por enlaces tienen más probabilidad de ser del mismo tema. Es decir, podemos utilizar esta suposición para otorgar más relevancia en una consultas aquellas páginas que estén enlazadas con páginas relevantes.
  • Descripción de anclaje: El texto de anclaje o anchor text de un enlace describe su objetivo. Puede otorgar mayor facilidades para analizar su contenido, ya que si es utilizada correctamente esta capacidad podemos indexar el enlace por la descripción del contenido y por lo tanto obtener una información sobre su su contenido.

Dependiendo de la filosofía aplicada cada software utilizara una, dos o las tres suposiciones, dependiendo de las necesidades del usuario para la búsqueda de documentos.

Estructura de enlace entre páginas

Como hemos comentado anteriormente, los hipervínculos son interpretados por los motores de búsqueda como recomendaciones que hace el autor de la pagina web sobre una fuente de información. Es por eso que, una página web que tiene un mayor número de enlaces apuntando hacia ella, tiene un ranking mayor, que una web que posee pocos enlaces. Este tipo de métrica se basa en asociar a cada enlace un valor (llamado peso) y aplicar un algoritmo por propagación iterativa que nos otorgo un valor de relevancia de la página.

Otro aspecto muy interesante relacionada con este aspecto, fue la investigación de Nick Craswell y David Hawking para comparar que método de análisis de la relevancia era más eficaz. Para ello analizaron los métodos de búsquedas por texto de anclaje y los de contenido llegando una conclusión muy interesante. Los autores afirmaron que los métodos de búsqueda por los "anchor text" obtienen resultados más validos que la busqueda por Url directamente.

También es cierto, que a lo largo de los años se ha jugado con este tipo de rankeo y han surgido casos verdaderamente curiosos. Existe el caso de que hace unos años, la Sociedad General de Autores Españoles (SGAE) tuvo enlaces a su web teniendo como término de anclaje "ladrones", de tal forma que, al haber un número tan elevado de enlaces a su site con ese término, si buscábamos en Google "ladrones" aparecía su página posicionada en la primera posición.

Otros.

Otro método es la suposición en que se basa el Topic Locality (Temas Locales) donde se afirma que una web solamente intercambia enlaces entre páginas de la misma temática, de forma que, los enlaces que haya en una web, supuestamente, tratarán sobre la misma temática. Utilizando estos métodos, una página que es accesible por medio de un enlace a páginas consideradas relevantes pude tener una posición más alta en el ranking.

3. Proceso de indexación de la información en web

Este procedimiento se encarga de transformar los documentos para la recuperación de información a través de consultas. Si realizamos correctamente este proceso, un documento indexado debería funcionar como una representación de su contenidos semánticos.

Por lo general, el funcionamiento de la indexación tiene como objetivo conseguir una lista de términos con significado (conceptos) con información asociada acerca de la frecuencia en el documento es referenciado, la frecuencia en la base de datos o su concurrencia. Por su parte, un término puede ser varias cosas como una palabra (reducida a su forma raíz por algún algoritmo de lematización), una frase, un nombre propio o incluso expresiones especiales tales como fecha, lugares, etc.

Los términos se reconocen con técnicas relacionadas con el lenguaje. Según estos métodos, un documento es un conjunto de cadenas concatenadas sin tener en cuenta las propiedades del lenguaje natural y, por lo tanto, enfrentándonos a los siguiente inconvenientes:

  • Los algoritmos de lematización no extraen la base de las palabras vía su análisis morfológico, por lo tanto, falla cuando quieren identificar variaciones de los términos en lenguajes con una morfología más compleja que el Inglés.
  • Ignorar la ambigüedad léxica, lo que supone un problema al no poder distinguir diferentes significados de una misma palabra.
  • Errores a la hora de relacionar palabras sinónimas.

La indexación es un proceso lento y costoso que solamente se ejecuta en el momento que se crear el sistema de recuperación de documentos. Por este motivo, los investigadores han otorgado mayor importancia a realizar métodos de actualización cuando haya modificaciones que es más eficiente. La indexación consta de los siguientes pasos:

  • Recorrer todos los documentos a indexar. Este puede ser un conjunto finito y conocido como por ejemplo un conjunto de páginas HTML de una carpeta, o puede ser desconocido como todas las páginas de Internet. En este último caso, los buscadores utilizan los que se denominan robots, crawlers que son pequeños softwares que van rastreando la estructura de la web en busca de nuevas páginas. Este tipo de programas van recolectando páginas a través de los enlaces a otras páginas, así en un ciclo interminable.
  • Procesar el documento: Se descompone hasta obtener la lista de palabras que lo forman. Este proceso puede ser muy sencillo, como en los archivos de texto plano, que tiene todas las palabras separadas por espacios u otros caracteres, o muy complejo, como un documento PDF que debe ser decodificado, separando el formato y las imágenes, extrayendo solamente el texto.
  • Crear el índice invertido(Es un estructura de datos de índice almacenar una asignación de contenido, como palabras o números, a sus localizaciones en un archivo de base de datos, o en un documento o un conjunto de documentos.): Guardamos la lista de palabras del punto anterior apuntando en qué documento hemos encontrado cada una de ella. Habrá algunas palabras que solo aparezcan en un documento (la búsqueda de esa palabra nos dará un solo resultado), mientras que otras palabras más comunes aparecerán en muchos documentos.
  • Opción de almacenar el documento. Algunos buscadores almacenan una copia del documento en su propia base de datos. De esta forma, podemos consultar cualquier documento aunque el original deje de estar disponible.

3.1 Lematización

El stemming o la lematización es un método para reducir una palabra a su raíz. Estos algoritmos están muy relacionados con los sistemas de recuperación de información ya que aumentan el número de documentos que se pueden encontrar con una consulta(Recall: Metrica para contabilizar el número de documentos recuperados.). Por ejemplo una consulta sobre "bibliotecas" también encuentra documentos en los que solo aparezca "bibliotecario" porque la raiz de las dos palabras es el mismo ("bibliotec").

El algoritmo más común para stemming es el algoritmo de Porter aunque existen otros métodos basados en análisis lexicográfico por ejemplo que también son muy utilizados (KSTEM, stemming con cuerpo, métodos lingüísticos...). Por otra parte, estos algoritmos se implementan con un pequeño lenguaje de programción conocido como Snowball utilizado básicamente para el manejo de strings permitiendo implementar fácilmente algoritmos de lematización. Las páginas de Snowball contienen stemmers para 12 idiomas (incluido el castellano , gallego, valenciano y euskera). Todas las explicaciones, sin embargo, son dadas en inglés.

3.2 Extracción de palabras clave

Los términos que nos proporciona el stemming son utilizados como términos para la indexación de los documentos. Se asigna un peso acorde con la frecuencia a cada término en cada documento y en la colección.Existen dos tipos de frecuencia:

  • Frecuencia del término tf(t): Número de ocurrencias de la palabra (t) en el documento. Cuanta más veces se repita un término, más relación va a tener el documento con ese término concreto.
  • Frecuencia en el documento f(t): Número de documentos que se indexan por t, es decir, el total de documentos que contienen el término. Cuanto menos aparezca un término en los documentos, más discriminatorio es.

Para valorar el peso que tiene cada término se usa la siguiente fórmula: donde N representa el número total de documentos que hay en la colección.

4. Interfaces, browsing y visualización de la búsqueda.

La búsqueda de información es un proceso poco preciso debido a que los usuarios no saben cómo realizar una consulta de búsqueda con los términos necesarios. Es por ello que se necesitan interfaces de usuario que ayuden a solventar esta falta de conocimiento. Para elaborar una interfaz eficiente hemos de cumplir unos principios de diseño que son

  • Feedback o la retroalimentación: Este principio consiste en analizar conjunto de reacciones o respuestas que manifiesta un receptor respecto a la interfaz, lo que es tenido en cuenta por este para cambiar o modificar. Gracias a ella, se realizan
  • elecciones importantes de diseño como por ejemplo, qué operaciones van a realizarse de forma automática por el sistema y cuáles deben iniciarlas y controlarlas los usuarios.
  • Reducción de la carga de memoria. Para disminuir esta carga podemos utilizar dos métodos:
    • Proporcionando mecanismos para guardar constancia de las decisiones que se realizan durante el proceso de búsqueda.
    • Proporcionando información navegable que sea relevante al estado actual del proceso de acceso a la información.
  • Técnicas de la visualización: Donde destacamos
    • La muestra de iconos y cambios en el colorido.
    • Mostrar enlaces entre distintos documentos.
    • Capacidad de poder realizar zooms.

Por otra parte, aparte de los principios que siempre deberemos intentar cumplir hay una serie de interfaces alternativos para usuarios expertos y noveles, que enfrentan la simplicidad contra la potencia y que ofrecen puentes que son más o menos avanzados dependiendo del usuario al que vayan dirigidos.

Otra decisión importante que debe tomarse a la hora de realizar un diseño, es la cantidad de información que queremos mostrar al usuario mediante el sistema de acceso a la información

Para acabar en este apartado ,en el artículo de Alan J.Dix, Janet E. Finlay, Gregory D. Abowd, Russell Beale y Prentice Hall, Human Computer Interaction, se ofrece una métrica de evaluación, no para la web sino para todo el sistema de interacción, formado por 10 elementos(414):

  • Visibilidad del estado del sistema. El sistema debe mantener al usuario informado de lo que está pasando.
  • Correspondencia entre el sistema y el mundo real.
  • Control del usuario y libertad. Soportar deshacer y rehacer.
  • Consistencia y estándares.
  • Prevención de errores.
  • Reconocimiento mejor que tener que confiar en la memoria.
  • Flexibilidad y eficiencia de uso.
  • Diseño estético y minimalista.
  • Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de sus errores. Los errores deberían ser expresados en lenguaje sencillo.
  • Ayuda y Documentación. Incluso si es mejor que el sistema pueda ser usado sin documentación, puede ser necesario proporcionar ayuda y documentación. Esta información debería ser fácil de buscar y estar enfocada a la tarea del usuario, listar pasos concretos y no ser muy grande.

5. Metabúsqueda.

Un metabuscador es un motor de búsqueda que envía una solicitud de búsqueda a otros múltiples buscadores o bases de datos, retornando un listado con los resultados de búsqueda o un listado de enlaces para acceder a los resultados individuales de cada buscador de forma fácil.

Los metabuscadores permiten a sus usuarios ingresar criterios de búsqueda una sola vez, y acceder a múltiples buscadores de forma simultánea. No suelen tener una base de datos propia, ya que simplemente emplean los resultados de otros buscadores, generalmente unificándolos empleando algoritmos propios para ordenarlos en relevancia (por lo general, eliminando aquellos resultados idénticos).

Estos software suelen entregar resultados de páginas web de la WWW, pero también existen algunos específicos que buscan en foros de discusión, grupos de noticias, weblogs, imágenes en la web, documentos gratuitos o libres en la web, etc.

Los pasos del funcionamiento de un metabuscador:

  • El usuario realiza su petición al metabuscador.
  • El metabuscador formatea dicha petición de acuerdo a la interfaz de cada uno de los buscadores y les pasa la petición.
  • Los buscadores realizan la búsqueda utilizando sus medios habituales a partir de los sitios web en internet.
  • Éstos devuelven la información obtenida al metabuscador, el cual analiza los datos.
  • El metabuscador organiza la información de acuerdo a los criterios del mismo y se la muestra al usuario.

Por último, algunos de los metabuscadores que hay en la actualidad son los siguientes:

  • Vivísimo

    Sus fuentes son los principales buscadores internacionales, Alltheweb, Yahoo y MSN entre otros y presenta los resultados agrupados automáticamente por categorías.

  • IxQuick

    Combina los resultados basándose en los 10 primeros sitios web recibidos de los diferentes busca-dores. Sus principales fuentes son Alltheweb, ODP (Open Directory Project) y MSN, entre otros.

  • Infonetware

    Metabuscador que interroga a los principales buscadores y bases de datos de noticias que muestran los resultados estructurados y sin duplicaciones. Ofrece la opción de acotar los resultados propuestos agrupados por términos o palabras clave.

6. Agentes web.

Un agente Web son software diseñado para intentar ayudar al usuario a organizar la información que necesita de la red a partir de sus intereses.Para poder conseguir esto, existen las técnicas de aprendizaje automático y los agentes inteligentes, o agentes web que utilizan estas técnicas para conseguir su objetivo. Principalmente, existen dos métodos para poder conseguir ayudar al usuario a encontrar la información deseada, con los asistentes de usuario o sistemas de recomendación:

  • Basados en contenido: El enfoque de los agentes que utilizan el método , es el siguiente:
    • Para clasificar el texto, el sistema busca objetos similares a los que tiene el usuario comparándolo completamente por el contenido de cada uno. Un problema principal de los agentes que usan este método, es encontrar contenido que ya ha sido visto anteriormente y descartarlo.
    • Este tipo de agentes, utilizan diferentes métodos de text-learning.
    • El método basado en contenido es muy popular en los sistemas que trabajan con datos que son texto, por ejemplo, en documentos web o noticias.
  • Existen distintos tipos de agentes que utilizan este método, como por ejemplo:
    • WebWatcher : el usuario realiza una búsqueda, y cuando accede a un artículo, el agente examina la web y los enlaces que posee, marcando los que son más relevantes, incitando al usuario a que los visite.
    • Lira :aprende mientras navega el usuario por internet. Sus búsquedas son almacenadas y el agente selecciona las mejores páginas y recibe información por parte del usuario, que evalúa los enlaces que ve.
    • Musag: funciona creando un diccionario con las palabras más relevantes en las búsquedas que realiza el usuario, y busca las páginas relacionadas en función de la repetición de estas palabras en el contenido de los artículos que ha leído el usuario.
    • Letizia: el sistema ofrece nuevos enlaces al usuario, habiéndose fijado en la búsqueda que se ha realizado, mostrando la información de los enlaces sugeridos, en una nueva pestaña.
  • Colaborativos: Este método se basa en los siguientes puntos:
    • En el enfoque colaborativo, hay un conjunto de usuarios que usan el sistema.
    • Está basado en el Social learning.
    • No analiza el contenido, analiza la evaluación que realizan los usuarios con cada enlace, en función de los intereses de cada uno.
    • Este tipo de enfoque, se utiliza sobre todo para documentos no textuales, como por ejemplo, vídeos, imágenes, películas, etc.
  • Algunos ejemplos de agentes que utilizan este método son los siguientes:
    • Firefly y Ringo: se utiliza para la recopilación de música, teniendo en cuenta el tipo de música que le gusta a cada usuario y las votaciones.
    • Siteseers: Sistema de recomendación de páginas web, que posee marcadores individuales.
    • Phoaks: Sistema que reconoce automáticamente y distribuye recomendaciones de recursos Web minados desde nuevos mensajes desde Usenet.
    • GroupLense: Tiene una segunda base de datos para almacenar puntuaciones que los usuarios han dado a los mensajes y correlaciones entre parse de usuarios basados en sus puntuaciones.
    • Referral Web: Sistema interactivo para reconstrucción, visualización y búsqueda de redes sociales en Internet. Es parecido a ContactFinder.
    • Fab sytem: Combina los dos métodos realmente, basado en contenido y colaborativo. Usa el método basado en contenido para crear un perfil de usuario y además cada usuario puntúa los diferentes enlaces.
    • WebCobra: también combina los dos métodos como el agente anterior.
    • Lifestyle Finder: funciona generando un perfil de usuario, y en función de los intereses de cada uno, se crean grupos de usuarios con los mismos intereses.

7. Áreas de investigación relacionadas con la búsqueda en web.

La búsqueda en la web, esta relacionada con otra serie de campos, pero básicamente en esto dos campos:

  • Recuperación de la información
  • Procesamiento del lenguaje natural.

Además de las dos anteriores, basándonos en el estudio realizado en este trabajo, y teniendo en cuenta las distintas fases por las que se debe pasar para tener una buena búsqueda en la web, está también relacionado con las siguientes áreas de investigación:

  • Contenidos textuales: leyes de Zipf y Heaps entre otras, que plantean que a medida que se incorporan documentos a una colección, cada vez se descubrirán nuevos términos para el vocabulario.
  • Información en los enlaces y sus métodos: Métodos de recomendación, localización de tema y descripción de anclaje.
  • Indexación web: y lo que supone con ella, lematización y extracción de palabras clave.
  • Aprendizajes Automatico: aplicaciones que ayudan a los usuarios a encontrar en la red todo lo que es de su interés, de una manera más rápida y totalmente automatizada.

8. Conferencias internacionales donde se aborda la búsqueda en web.

Algunas de las conferencias internacionales que abordan el tema de la búsqueda web, indexación y métodos de indexación son las siguientes:

  • International World Wide Web Conference(IW3C2).
  • International journal of Computer Networks Communications (IJCNC)
  • International Conference on Internet and Web Engineering
  • Interlink Web Design Conference
  • International Conference on Web Intelligence, Mining and Semantics
  • International Conference on Web-based Learning (ICWL 2010)
  • International Conference on Machine Learning (ICML97)
  • International Conference on Autonomous Agents (Agents ’98)
  • International Conference on Web Information Systems and Technologies