# Búsqueda mediante ejemplo

La búsqueda mediante ejemplo (QBE-Query by Example) es una lengua de consulta de bases de datos relacionados similar al lenguaje de consulta estructurado (SQL). Este sistema nos permite que la persona que genera la búsqueda o la aplicación que la realice pueda proporcionar información sobre aquello que está buscando en la base de datos. QBE fue ideado por Moshé M.Zloof en IBM Research durante la década de los 70 de manera conjunta con SQL, siendo el primer idioma gráfico de consulta. Originalmente sólo podía realizar recuperaciones de datos aunque posteriormente se amplió a otros tipos de conceptos, como pueden ser las imágenes.

## Funcionamiento

El sistema QBE consiste en que el usuario introduce, mediante un formulario, información para realizar la búsqueda utilizando tablas de ejemplo. QBE usa variables de dominio como en DRC para crear estas tablas. De esta manera conseguimos que el usuario forme parte de la consulta, ya que el origen de la búsqueda se encuentra en la mente de este. Esto ayuda a poder minimizar los errores de la búsqueda ya que es el propio usuario que nos facilita información sobre aquello que tiene en mente. A continuación mostramos una tabla de ejemplo:
| Empresa | Responsable | Dirección | Teléfono |
| A | XXX | RRRRRRRR | 22222222 |
| B | YYY | TTTTTTTT | 33333333 |
| C | ZZZ | PPPPPPPP | 44444444 |
| D | SSS | QQQQQQQQ | 88888888 |
Mediante una búsqueda QBE y utilizando como ejemplo la tabla anterior, el usuario podría proporcionar la variable empresa y recibir toda la información adicional que se desee saber como puede ser el contacto, el teléfono o la dirección.

### Descriptores

Es importante saber qué tipos de descriptores se pueden utilizar para la realización de cualquier búsqueda.
* Nivel bajo: Son aquellos descriptores que utilizan información exclusiva del contenido del ejemplo proporcionado. Un ejemplo de este tipo de descriptores sería el caso de las imágenes. De éstas podríamos obtener información mediante el histograma, colores, textura…
* Nivel medio: Usan información de contexto del objeto buscado. Utilizando el ejemplo anterior de la imagen, este tipo de descriptores nos proporcionaría información como la fecha de creación, la web donde se encontró…
* Nivel alto: Son aquellos descriptores que utilizan metadatos. En este nivel encontramos las etiquetas manuales que se anotan en la imagen como puede ser el nombre del autor...

## Tipos de búsqueda con ejemplo

Como hemos mencionado anteriormente hay diferentes tipos de descriptores, por lo que podemos realizar varios tipos de búsqueda. Actualmente QBE se utiliza para la búsqueda de la mayoría de conceptos debido a su simplicidad de utilización para el usuario y su correcta presentación de resultados. Podemos utilizar QBE en búsquedas como por ejemplo:

### Búsqueda con texto

Este es el tipo de búsqueda más antiguo. Consiste en dar al sistema cualquier información y que este devuelva entradas relacionas con el tema. Como hemos comentado, el buscador con texto es el más antiguo ya que fueron los primeros buscadores que se pudieron utilizar. Estos consisten en proporcionar al sistema cualquier tipo de texto y este retornar información de cualquier tipo ya sean imágenes, videos… El sistema de búsqueda más conocido es el PageRank que utiliza "Google".

### Búsqueda con imágenes

Es una técnica de consulta que implica dotar al sistema CBIR de un ejemplo como texto, imagen... El sistema CBIR realiza la comparación del contenido del ejemplo con los que tenemos en la base de datos mediante las tablas de comparación mencionadas anteriormente. Un ejemplo de esta aplicación podría ser la búsqueda de imágenes mediante una sola imagen. El CBIR utiliza datos como el histograma, el color, la textura, los metadatos asociados a la imagen o información añadida por el usuario ofreciendo resultados de similares características. Una aplicación actual que proporciona este servicio podría ser “Google Imágenes”. Este tipo de sistema también es utilizado en búsqueda de imágenes para móviles.

### Búsqueda de vídeo

Son sistemas informáticos diseñados para buscar videos guardados en dispositivos digitales con podría ser servidores o bases de datos. Las búsquedas se realizan utilizando la indexación audiovisual. Estos tipos de sistemas utilizan varios tipos de criterios de búsqueda dependiendo de la naturaleza del buscador o del objetivo de este. Los tipos de criterios son:
* Metadatos: informaciones sobre datos concretos como puede ser el título, el autor etc.
* Reconocimiento de voz: Consiste en una transcripción del audio del vídeo para que una vez analizados, el sistema es capaz de saber la temática de la secuencia y de proporcionar la información al usuario.
* Reconocimiento de texto: Se utilizan este tipo de criterios para reconocer personajes de los videos mediante de chyrons.
* Análisis de fotogramas: Como el sistema de video es una sucesión de imágenes se puede extraer información de estos utilizando los sistemas de búsqueda de imágenes.
Un sistema de búsqueda de video muy utilizado es "YouTube".

### Búsqueda con audio

Estos sistemas consisten en que el usuario introduce cualquier tipo de información para realizar una búsqueda de audio. La información podría ser un fichero de audio, texto, imagen… retornando el sistema audios relacionados o similares cumpliendo los requisitos iniciales. Dentro de este tipo de buscadores podemos encontrar los de audio mediante un ejemplo de audio. Estas aplicaciones estudian el audio que aporta el usuario, extrayendo todo tipo de información como la frecuencia, el tono, las voces, los datos asociados… y devuelve un listado de canciones, previamente introducidas en la base de datos, que cumplen las condiciones que el internauta solicita. Un ejemplo de este tipo de aplicación sería el "Shazam". Este programa es un buscador de títulos de canciones. El usuario proporciona al sistema un audio, este lo analiza y retorna el título de la canción.

### Búsqueda multimodal

Es un sistema muy parecido a la búsqueda por ejemplo ya que también hay una interacción entre el usuario y el sistema buscador. La búsqueda multimodal consiste en una interfaz que permite enviar consultas de búsqueda no sólo mediante peticiones de texto sino también mediante otros medios como imágenes, vídeos… además de tener en cuenta otros aspectos como el contexto dónde se encuentra el usuario.

### Búsqueda visuales desde móviles

Los buscadores visuales desde móviles utilizan un sistema diseñado específicamente para teléfonos móviles. Este consiste en la obtención de una imagen mediante la cámara fotográfica incorporada en el aparato. La imagen capturada se envía vía internet-móvil al servidor de la aplicación. La imagen se procesa y retorna al usuario información como imágenes, webs, localizaciones… Esta aplicación tiene varios tipos de búsqueda:
* Objetos: La imagen proporcionada por el usuario contiene un objeto y el sistema intenta retornar todo tipo de información relacionada con este.
* Texto: El sistema ofrece información dependiendo de la interpretación del texto de la imagen ejemplo. Estos tipos de búsqueda utilizan un sistema llamado OCR.
* Personas: El sistema hace una detección mediante un sistema de reconocimiento facial y da como resultado información sobre la persona detectada.
* Símbolos: El sistema lee el logotipo, marca, señal, etc., de un producto ofreciendo información sobre este.
Ejemplos de estas aplicaciones podrían ser el BIDI o el sistema código de barras.