ES2796345T3 - Búsqueda de conjunto de datos electrónicos - Google Patents

Búsqueda de conjunto de datos electrónicos Download PDF

Info

Publication number
ES2796345T3
ES2796345T3 ES17183718T ES17183718T ES2796345T3 ES 2796345 T3 ES2796345 T3 ES 2796345T3 ES 17183718 T ES17183718 T ES 17183718T ES 17183718 T ES17183718 T ES 17183718T ES 2796345 T3 ES2796345 T3 ES 2796345T3
Authority
ES
Spain
Prior art keywords
result
results
electronic device
mobile electronic
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17183718T
Other languages
English (en)
Inventor
Laurent Baldeschi
Antoine Vaudaine
Cécile Jouve
Arnaud Thiery
Julien Debon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR1657261A external-priority patent/FR3054762A1/fr
Priority claimed from US15/222,381 external-priority patent/US10387427B2/en
Application filed by Amadeus SAS filed Critical Amadeus SAS
Application granted granted Critical
Publication of ES2796345T3 publication Critical patent/ES2796345T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Un método para buscar un conjunto de datos electrónicos, en el que el método comprende recibir, en uno o más procesadores y desde un dispositivo electrónico móvil (12), una consulta de búsqueda (62) para el conjunto de datos electrónicos; y en respuesta a recibir la consulta de búsqueda (62): determinar, por el uno o más procesadores, una pluralidad de resultados para la consulta de búsqueda (62), incluyendo cada uno de los resultados datos del conjunto de datos electrónicos; el método caracterizado por: seleccionar, por el uno o más procesadores, un primer resultado de los resultados de la pluralidad de resultados para su visualización (112) por el dispositivo electrónico móvil; transmitir, por el uno o más procesadores, únicamente el primer resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización (114) por el dispositivo electrónico móvil (12); después de que se transmite el primer resultado al dispositivo electrónico móvil (12), recibir, en el uno o más procesadores y desde el dispositivo electrónico móvil (12), un rechazo del primer resultado por un usuario del dispositivo electrónico móvil (12), comprendiendo el rechazo una justificación para el rechazo del primer resultado; y en respuesta a recibir el rechazo del primer resultado: seleccionar, por el uno o más procesadores, un segundo resultado de los resultados de la pluralidad de resultados para su visualización (216, 208) por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo; y transmitir, por el uno o más procesadores, únicamente el segundo resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización por el dispositivo electrónico móvil (12).

Description

DESCRIPCIÓN
Búsqueda de conjunto de datos electrónicos
Campo técnico
La presente invención se refiere en general a conjuntos de datos electrónicos y, más particularmente, los sistemas, métodos y productos de programa informático para buscar y proporcionar resultados de conjuntos de datos electrónicos.
Antecedentes
Tras recibir una petición de búsqueda desde un usuario, un motor de búsqueda convencional habitualmente examina un conjunto de datos electrónicos para determinar artículos del conjunto de datos que coinciden con la petición de búsqueda. El motor de búsqueda visualiza a continuación los artículos determinados a un usuario en forma de una lista en el dispositivo electrónico del usuario. Sin embargo, debido a que el conjunto de datos buscado a menudo es bastante grande y para ese fin a menudo incluye varios artículos que coinciden con la petición de búsqueda del usuario, la lista de artículos visualizados en el dispositivo del usuario tiende a ser también bastante grande. En consecuencia, la cantidad de datos transmitidos a y almacenados por el dispositivo del usuario para visualizar la lista es grande, a pesar de que varios artículos en la lista pueden no ser de ningún interés para el usuario. Adicionalmente, algunos de los artículos que son de interés al usuario pueden ubicarse más adelante en la lista después de varios artículos en los que el usuario no está interesado, en cuyo caso el usuario a menudo se ve abrumado y detiene su recorrido por la lista antes de alcanzar los artículos interesantes. Además, dependiendo del espacio de pantalla disponible en el dispositivo del usuario, la lista visualizada puede abarrotar el espacio de pantalla o puede representarse en un tamaño de fuente muy pequeño para ajustarse dentro del espacio de pantalla, que, en cualquier caso, hace recorrer la lista bastante difícil. Estos problemas son especialmente frecuentes en dispositivos móviles, que habitualmente incluyen tamaños de pantalla más pequeños.
Por consiguiente, se necesitan sistemas, métodos y productos de programa informático mejorados para buscar conjuntos de datos electrónicos y proporcionar resultados de búsqueda cada vez más relevantes a un usuario de una forma fácilmente legible.
El documento US 2012/278316 A1 presenta un método para mejorar o modificar la salida de resultados de búsqueda. Al recibir una consulta de búsqueda de un usuario, se proporciona primero al usuario un conjunto inicial de resultados de búsqueda. El usuario indica de la lista al menos un resultado de búsqueda no deseado. Sobre la base de la indicación de los usuarios, el resultado no deseado así como resultados con características similares se eliminan de la lista de resultado de búsqueda y la lista modificada se emite al usuario.
El documento US 2009/282022 A1 presenta un dispositivo informático, en concreto un servidor de búsquedas que entrega resultados de búsqueda para páginas de sitios web a dispositivos de cliente. Se supervisan interacciones de usuarios con los resultados de búsqueda para seleccionar mejor resultados de búsqueda de acuerdo con clasificaciones de popularidad y máximos de búsqueda para peticiones de resultados de búsqueda posteriores.
El documento US 2015/169576 A1 presenta un sistema y método para proporcionar resultados de búsqueda dinámicos. Se proporcionan una pluralidad ordenada de resultados de búsqueda a un dispositivo de cliente. Se detecta una falta de selección de cualquiera de los resultados de búsqueda y usa para proporcionar segundos resultados de búsqueda.
Sumario
En una realización, un método para buscar un conjunto de datos electrónicos incluye recibir, en uno o más procesadores y desde un dispositivo de cliente, una consulta de búsqueda para el conjunto de datos electrónicos. En respuesta a recibir la consulta de búsqueda, el método incluye determinar, por el uno o más procesadores, resultados para la consulta de búsqueda. Cada uno de los resultados incluye datos del conjunto de datos electrónicos. Posteriormente, el método incluye seleccionar, por el uno o más procesadores, un primer resultado de los resultados para su visualización por el dispositivo de cliente, y transmitir, por el uno o más procesadores, el primer resultado al dispositivo de cliente para su visualización por el dispositivo de cliente. Después de que se transmite el primer resultado al dispositivo de cliente, el método incluye recibir, en el uno o más procesadores y desde el dispositivo de cliente, un rechazo del primer resultado por un usuario. El rechazo incluye una justificación para el rechazo del primer resultado. En respuesta a recibir el rechazo del primer resultado, el método incluye seleccionar, por el uno o más procesadores, un segundo resultado de los resultados para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo, y transmitir, por el uno o más procesadores, el segundo resultado al dispositivo de cliente para su visualización por el dispositivo de cliente.
En respuesta a recibir la consulta de búsqueda, el método puede incluir también determinar un punto de referencia de datos inicial basándose en la consulta de búsqueda. En consecuencia, seleccionar el primer resultado para su visualización por el dispositivo de cliente puede incluir determinar cuál de los resultados está más cercano al punto de referencia de datos inicial, y seleccionar el resultado que está más cercano al punto de referencia de datos inicial como el primer resultado. Adicionalmente, seleccionar el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo puede incluir, en respuesta a recibir el rechazo, ajustar el punto de referencia de datos inicial basándose en la justificación, determinar cuál de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización está más cercano al punto de referencia de datos ajustado, y seleccionar el resultado que aún no se ha transmitido al dispositivo de cliente para su visualización que está más cercano al punto de referencia de datos ajustado como el segundo resultado.
Después de que el segundo resultado se transmite al dispositivo de cliente, el método puede incluir también recibir, desde el dispositivo de cliente, una indicación de que el usuario está interesado en el segundo resultado. En respuesta a recibir la indicación de que el usuario está interesado en el segundo resultado, el método puede incluir adicionalmente añadir el segundo resultado a una memoria caché de resultados en los que el usuario está interesado, determinar cuál de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización está más cercano al punto de referencia de datos ajustado, y transmitir el resultado que aún no se ha transmitido al dispositivo de cliente para su visualización que está más cercano al punto de referencia de datos ajustado al dispositivo de cliente para su visualización.
El punto de referencia de datos inicial puede incluir primeros valores que se asocian cada uno con una categoría diferente de dos o más categorías, y cada uno de los resultados puede incluir atributos que se relacionan cada uno con una categoría diferente de las categorías. En consecuencia, determinar los resultados para la consulta de búsqueda puede incluir asignar segundos valores a cada uno de los resultados, en el que cada uno de los segundos valores puede asociarse con una categoría diferente de las categorías y puede basarse en el atributo del resultado que se refiere a la categoría asociada. Adicionalmente, determinar cuál de los resultados está más cercano al punto de referencia de datos inicial puede incluir, para cada uno de los resultados, calcular una primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y el resultado basándose en los primeros valores del punto de referencia de datos inicial y los segundos valores asignados al resultado, y seleccionar el resultado con la menor primera distancia cuadrática ponderada como el resultado que está más cercano al punto de referencia de datos inicial.
El método puede incluir también asignar un tercer valor a cada una de las categorías. El tercer valor asignado a cada categoría puede indicar una importancia de la categoría para el usuario. En consecuencia, calcular la primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y cada uno de los resultados puede basarse adicionalmente en el tercer valor asignado a cada una de las categorías.
La justificación para el rechazo puede relacionarse con una de las categorías. En consecuencia, seleccionar el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo puede incluir aumentar el tercer valor asignado a la categoría a la que se refiere la justificación para el rechazo, y seleccionar el segundo resultado para su visualización por el dispositivo de cliente basándose en el tercer valor aumentado. Además, la justificación para el rechazo puede indicar que uno de los segundos valores asignados al primer resultado es demasiado bajo. En consecuencia, seleccionar el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo puede incluir ajustar el punto de referencia de datos inicial aumentando el primer valor que se asocia con la categoría asociada con el segundo valor indicado por la justificación como que es demasiado bajo, calcular una segunda distancia cuadrática ponderada entre el punto de referencia de datos ajustado y cada uno de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización, y seleccionar el resultado con la menor segunda distancia cuadrática ponderada como el segundo resultado.
En respuesta a recibir el primer resultado, el dispositivo de cliente puede configurarse para visualizar una interfaz de usuario gráfica para el primer resultado en una pantalla del dispositivo de cliente. La interfaz gráfica de usuario puede incluir una pluralidad de iconos, y cada uno de los iconos puede asociarse con una categoría diferente de las categorías. La interfaz gráfica de usuario también puede configurarse para habilitar que el usuario mueva uno de los iconos a una de dos o más porciones de la pantalla del dispositivo de cliente, y la justificación para rechazar el primer resultado puede determinarse basándose en a cuál de las porciones de la pantalla se mueve el icono.
La consulta de búsqueda puede incluir criterios de búsqueda, y el conjunto de datos electrónicos puede incluir bases de datos de objetos primarios, una base de datos de memoria caché y bases de datos de información suplementaria proporcionadas por terceras partes. En consecuencia, determinar los resultados para la consulta de búsqueda puede incluir recuperar, de las bases de datos de objetos primarios, objetos de datos primarios basándose en los criterios de búsqueda. Después de que se recuperan los objetos de datos primarios, el método puede incluir recuperar, desde la base de datos de memoria caché, datos suplementarios para cada objeto de datos primario de un primer subconjunto de los objetos de datos primarios. La base de datos de memoria caché puede incluir datos suplementarios recuperados en conexión con una o más consultas de búsqueda previas. Después de que se recuperan los datos suplementarios para cada objeto de datos primario en el primer subconjunto de objetos de datos primarios desde la base de datos de memoria caché, el método puede incluir recuperar, de las bases de datos de información suplementaria proporcionadas por las terceras partes, datos suplementarios para cada uno de los objetos de datos primarios para los que no se recuperaron datos suplementarios desde la base de datos de memoria caché. El método puede incluir adicionalmente formular los resultados basándose en los objetos de datos primarios y los datos suplementarios recuperados desde cada uno de los objetos de datos primarios. Cada uno de los resultados puede incluir al menos una porción de uno de los objetos de datos primarios y los datos suplementarios recuperados para el objeto de datos primario.
En otra realización, un sistema para buscar un conjunto de datos electrónicos incluye al menos un procesador y una memoria que almacena instrucciones. Las instrucciones, tras su ejecución por el al menos un procesador, provocan que el sistema, en respuesta a recibir, desde un dispositivo de cliente, una consulta de búsqueda para el conjunto de datos electrónicos, determine resultados para la consulta de búsqueda. Cada uno de los resultados incluye datos del conjunto de datos electrónicos. Posteriormente, las instrucciones provocan que el sistema seleccione un primer resultado de los resultados para su visualización por el dispositivo de cliente, y transmita el primer resultado al dispositivo de cliente para su visualización por el dispositivo de cliente. Después de que se transmite el primer resultado al dispositivo de cliente, y en respuesta a recibir, desde el dispositivo de cliente, un rechazo del primer resultado por un usuario, incluyendo el rechazo una justificación para el rechazo del primer resultado, las instrucciones provocan que el sistema seleccione un segundo resultado de los resultados para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo, y transmita el segundo resultado al dispositivo de cliente para su visualización por el dispositivo de cliente.
Las instrucciones, tras su ejecución, pueden provocar adicionalmente que el sistema, en respuesta a recibir la consulta de búsqueda, determine un punto de referencia de datos inicial basándose en la consulta de búsqueda. En consecuencia, las instrucciones pueden provocar que el sistema seleccione el primer resultado para su visualización por el dispositivo de cliente provocando que el sistema determine cuál de los resultados está más cercano al punto de referencia de datos inicial, y seleccione el resultado que está más cercano al punto de referencia de datos inicial como el primer resultado. Adicionalmente, las instrucciones pueden provocar que el sistema seleccione el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo provocando que el sistema, en respuesta a recibir el rechazo, ajuste el punto de referencia de datos inicial basándose en la justificación, determine cuál de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización está más cercano al punto de referencia de datos ajustado, y seleccione el resultado que aún no se ha transmitido al dispositivo de cliente para su visualización que está más cercano al punto de referencia de datos ajustado como el segundo resultado.
Después de que el segundo resultado se transmite al dispositivo de cliente, y en respuesta a recibir, desde el dispositivo de cliente, una indicación de que el usuario está interesado en el segundo resultado, las instrucciones, tras su ejecución, pueden provocar adicionalmente que el sistema añada el segundo resultado a una memoria caché de resultados en los que el usuario está interesado, determine cuál de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización está más cercano al punto de referencia de datos ajustado, y transmita el resultado que aún no se ha transmitido al dispositivo de cliente para su visualización que está más cercano al punto de referencia de datos ajustado al dispositivo de cliente para su visualización.
El punto de referencia de datos inicial puede incluir primeros valores que se asocian cada uno con una categoría diferente de dos o más categorías, y cada uno de los resultados puede incluir atributos que se relacionan cada uno con una categoría diferente de las categorías. En consecuencia, las instrucciones pueden provocar que el sistema determine los resultados para la consulta de búsqueda provocando que el sistema asigne segundos valores a cada uno de los resultados. Cada uno de los segundos valores puede asociarse con una categoría diferente de las categorías, y puede basarse en el atributo del resultado que se refiere a la categoría asociada. Adicionalmente, las instrucciones pueden provocar que el sistema determine cuál de los resultados está más cercano al punto de referencia de datos inicial provocando que el sistema, para cada uno de los resultados, calcule una primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y el resultado basándose en los primeros valores del punto de referencia de datos inicial y los segundos valores asignados al resultado, y seleccione el resultado con la menor primera distancia cuadrática ponderada como el resultado que está más cercano al punto de referencia de datos inicial.
Las instrucciones, tras su ejecución, pueden provocar adicionalmente que el sistema asigne un tercer valor a cada una de las categorías. El tercer valor asignado a cada categoría puede indicar una importancia de la categoría para el usuario. En consecuencia, las instrucciones pueden provocar que el sistema calcule la primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y cada uno de los resultados basándose en el tercer valor asignado a cada una de las categorías.
La justificación para el rechazo puede relacionarse con una de las categorías. En consecuencia, las instrucciones pueden provocar que el sistema seleccione el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo provocando que el sistema aumente el tercer valor asignado a la categoría a la que se refiere la justificación para el rechazo, y seleccione el segundo resultado para su visualización por el dispositivo de cliente basándose en el tercer valor aumentado. Adicionalmente, la justificación para el rechazo puede indicar que uno de los segundos valores asignados al primer resultado es demasiado bajo. En consecuencia, las instrucciones pueden provocar que el sistema seleccione el segundo resultado para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo provocando que el sistema ajuste el punto de referencia de datos inicial aumentando el primer valor que se asocia con la categoría asociada con el segundo valor indicado por la justificación como que es demasiado bajo, calcule una segunda distancia cuadrática ponderada entre el punto de referencia de datos ajustado y cada uno de los resultados que aún no se han transmitido al dispositivo de cliente para su visualización, y seleccionar el resultado con la menor segunda distancia cuadrática ponderada como el segundo resultado.
En una realización adicional, un producto de programa informático incluye un medio de almacenamiento legible por ordenador no transitorio e instrucciones almacenadas en el medio de almacenamiento legible por ordenador no transitorio. Las instrucciones, tras su ejecución por uno o más procesadores de un sistema, provocan que el sistema, en respuesta a recibir, desde un dispositivo de cliente, una consulta de búsqueda para un conjunto de datos electrónicos, determine resultados para la consulta de búsqueda. Cada uno de los resultados incluye datos del conjunto de datos electrónicos. Posteriormente, las instrucciones provocan que el sistema seleccione un primer resultado de los resultados para su visualización por el dispositivo de cliente, y transmita el primer resultado al dispositivo de cliente para su visualización por el dispositivo de cliente. Después de que se transmite el primer resultado al dispositivo de cliente, y en respuesta a recibir, desde el dispositivo de cliente, un rechazo del primer resultado por un usuario, incluyendo el rechazo una justificación para el rechazo del primer resultado, las instrucciones provocan que el sistema seleccione un segundo resultado de los resultados para su visualización por el dispositivo de cliente basándose en la justificación para el rechazo, y transmita el segundo resultado al dispositivo de cliente para su visualización por el dispositivo de cliente.
El sumario anterior puede presentar una visión de conjunto simplificada de algunas realizaciones de la invención para proporcionar un entendimiento básico de ciertos aspectos la invención analizada en este documento. El sumario no se concibe para proporcionar una visión de conjunto extensiva de la invención, ni se concibe para identificar ningún elemento clave o crítico, o delinear el alcance de la invención. El único propósito del sumario es presentar meramente algunos conceptos de una forma simplificada como una introducción a la descripción detallada presentada a continuación.
Breve descripción de los dibujos
Realizaciones de la presente invención se entenderán y apreciarán más completamente a partir de la siguiente descripción detallada tomada en conjunto con los dibujos.
La Figura 1 es una vista esquemática de un entorno de operación ilustrativo que incluye una pluralidad de sistemas para buscar un conjunto de datos electrónicos.
La Figura 2 es una vista esquemática de un sistema informático ilustrativo en la Figura 1.
La Figura 3 es una vista esquemática de una arquitectura de procesamiento ilustrativa que puede implementarse por uno o más de los sistemas informáticos de la Figura 1.
La Figura 4 es un diagrama de flujo de un método ilustrativo para procesar una consulta de búsqueda para un conjunto de datos electrónicos que puede realizarse por la arquitectura de procesamiento de la Figura 3.
La Figura 5 es un diagrama de flujo de un método ilustrativo para visualizar resultados a una consulta de búsqueda para un conjunto de datos electrónicos a un usuario que puede realizarse por la arquitectura de procesamiento de la Figura 3.
La Figura 6 es un gráfico ilustrativo que incluye un punto de referencia de datos inicial y resultados a una consulta de búsqueda para un conjunto de datos electrónicos.
La Figura 7 es un gráfico ilustrativo que incluye un punto de referencia de datos ajustado y resultados a una consulta de búsqueda para un conjunto de datos electrónicos.
La Figura 8 es una vista de una interfaz gráfica de usuario ilustrativa que puede proporcionarse por uno o más de los sistemas informáticos de la Figura 1.
La Figura 9 ilustra una interacción ilustrativa con la interfaz gráfica de usuario de la Figura 8.
Descripción detallada
En este documento se describen sistemas, métodos y productos de programa informático inventivos para buscar conjuntos de datos electrónicos para determinar resultados para una consulta de búsqueda, y proporcionar tales resultados a un usuario. Sin embargo, en lugar de la práctica convencional de visualización de una gran lista de resultados al usuario, que puede abrumar al usuario y provocar de este modo que algunos resultados relevantes se pasen por alto, realizaciones descritas en este documento visualizan un resultado al usuario cada vez. Para cada resultado visualizado, el usuario puede indicar si él o ella está interesado en el resultado. Si el usuario indica que él o ella no está interesado en un resultado dado, a continuación el usuario también puede proporcionar una justificación de que el resultado no es satisfactorio. El siguiente resultado visualizado al usuario puede ajustarse a continuación basándose en la justificación proporcionada del usuario. De esta forma, cada resultado visualizado puede determinarse dinámicamente basándose en una entrada de usuario recibida para uno o más resultados anteriormente visualizados, lo que habilita que las realizaciones proporcionen una experiencia de usuario cada vez más centrada y de mayor relevancia cuando se busca un conjunto de datos electrónicos grande, mientras también realiza ahorros de recursos así como disminuye la cantidad de datos a enviarse al dispositivo de usuario a través de una red. Estas realizaciones pueden ser especialmente beneficiosas en situaciones que implican dispositivos con visualizadores más pequeño, tal como teléfonos móviles y tabletas, que, por tu naturaleza, no siempre están bien adaptados para recorrer grandes listas de resultados.
Pasando ahora a las figuras, la Figura 1 ilustra un entorno operativo 10 que puede incluir un dispositivo de cliente 12, un sistema de procesamiento de consultas 14 y uno o más sistemas de proveedores de datos 16. Cada uno de estos sistemas puede estar comunicativamente habilitado para interactuar entre sí a través de una red 24, tal como la Internet. Además, dos o más de los sistemas pueden combinarse entre sí. Por ejemplo, el sistema de procesamiento de consultas 14 puede alojarse en uno o más de los sistemas de proveedores de datos 16.
El dispositivo de cliente 12 puede ser un dispositivo electrónico que habilita que un usuario acceda a información y servicios remotos a través de la Internet. En particular, el dispositivo de cliente 12 puede incluir un navegador y/o una o más aplicaciones que permiten que un usuario acceda al sistema de procesamiento de consultas 14 y los sistemas de proveedores de datos 16. Ejemplos no limitantes de un dispositivo de cliente 12 incluyen un ordenador de sobremesa, un ordenador portátil o un dispositivo electrónico móvil tal como un teléfono móvil o tableta, que pueden incluir un visualizador más pequeño que limita la capacidad de un usuario de recorrer fácilmente una lista grande de resultados para una consulta de búsqueda.
El sistema de procesamiento de consultas 14 puede configurarse para habilitar que un usuario, tal como a través del dispositivo de cliente 12, envíe una consulta de búsqueda para un gran conjunto de datos electrónicos, que puede alojarse en uno o más de los sistemas de proveedores de datos 16. En particular, un usuario puede utilizar el dispositivo de cliente 12 para acceder a una interfaz de usuario gráfica (GUI), que puede almacenarse en el sistema de procesamiento de consultas 14 y/o el dispositivo de cliente 12, y de este modo definir y enviar la consulta de búsqueda. La consulta de búsqueda puede incluir una pluralidad de criterios de búsqueda definidos por el usuario a través de la GUI. En respuesta a recibir la consulta de búsqueda, el sistema de procesamiento de consultas 14 puede enviar una petición de búsqueda a los sistemas de proveedores de datos 16 para datos relacionados con los criterios de búsqueda de la consulta de búsqueda. Posteriormente, el sistema de procesamiento de consultas 14 puede generar una pluralidad de resultados para la consulta de búsqueda basándose en los datos recibidos desde los sistemas de proveedores de datos 16.
Dado que el conjunto de datos relacionado con la consulta de búsqueda recibida puede ser bastante grande, el número de resultados generados por el sistema de procesamiento de consultas 14 puede ser asimismo grande. Por ejemplo, cuando la consulta de búsqueda es una petición para una pluralidad de recomendaciones de viaje, el sistema de procesamiento de consultas 14 puede generar más de aproximadamente ochocientos resultados. Por supuesto, es improbable que el usuario esté interesado en los ochocientos resultados generados por el sistema de procesamiento de consultas 14, y el usuario probablemente no querrá recorrer los ochocientos resultados a través del dispositivo de cliente 12. Esto es especialmente cierto cuando el visualizador del dispositivo de cliente 12 es de un tamaño limitado de pantalla de tal forma que la visualización de los ochocientos resultados resultaría en una interfaz gráfica de usuario incómoda y/o de tal forma que recorrer los ochocientos resultados sería una tarea difícil y abrumante, que, como se ha descrito anteriormente, puede conducir a que se pasen por alto varios resultados interesantes.
Con este fin, un enfoque convencional para visualizar una lista grande de resultados a un usuario a través de un dispositivo de cliente es clasificar los resultados de acuerdo con un criterio predeterminado, tal como precio y, a continuación, visualizar los resultados clasificados. Sin embargo, este enfoque aún produce un número de resultados poco manejable para que el usuario los recorra, y algunos resultados interesantes que tienen un mayor precio pueden seguir pasándose por alto por el usuario. Adicionalmente, el enfoque convencional carece de algún mecanismo por el que los resultados se recalifican dinámicamente basándose en la entrada del usuario en relación con uno de los resultados (por ejemplo, una entrada que indica que un resultado no es interesante para el usuario por una razón dada), que significa que el usuario puede tener que recorrer una larga serie de resultados no relevantes y no interesantes antes de llegar a un resultado en el que el usuario está interesado.
Para optimizar el uso del visualizador del dispositivo de cliente 12, y mejorar la relevancia y eficiencia de búsqueda, el sistema de procesamiento de consultas 14 puede configurarse para transmitir un resultado determinado cada vez al dispositivo de cliente 12 para su visualización. Más particularmente, el sistema de procesamiento de consultas 14 puede transmitir un resultado particular al dispositivo de cliente 12, que puede visualizar a continuación el resultado al usuario y habilitar que el usuario proporcione una entrada con respecto a si el resultado visualizado es interesante para el usuario. Únicamente después de que el usuario proporciona una entrada de este tipo, el sistema de procesamiento de consultas 14 puede transmitir otro resultado al dispositivo de cliente 12 para su visualización. De esta forma, el usuario no se ve abrumado por tener que recorrer una lista de resultados poco manejable, y la pantalla del dispositivo de cliente 12 no se abarrota visualizando un gran número de resultados al mismo tiempo. Adicionalmente, debido a que únicamente se transmite un resultado a y visualiza por el dispositivo de cliente 12 cada vez, el dispositivo de cliente 12 es capaz de realizar ahorros de recursos. En particular, en lugar de recibir, almacenar y procesar datos indicativos de toda una lista de resultados para una consulta de búsqueda, el dispositivo de cliente 12 únicamente necesita almacenar y procesar datos para cada resultado visualizado. Por lo tanto, incluso si se transmiten finalmente varios resultados a y se visualizan en el dispositivo de cliente 12, la cantidad de datos totales almacenados y procesados por el dispositivo de cliente 12 es aún menor que la cantidad de datos que se procesarían y almacenarían si todo el conjunto de resultados determinados por el sistema de procesamiento de consultas 14 se transmitieran a y visualizaran por el dispositivo de cliente 12.
Además, el sistema de procesamiento de consultas 14 puede utilizar una entrada de usuario recibida para un resultado visualizado, que como se ha descrito anteriormente puede indicar si el usuario está interesado en el resultado visualizado, para determinar el siguiente resultado a transmitir al dispositivo de cliente 12 para su visualización. En particular, la entrada de usuario puede indicar una justificación de que el usuario no está interesado en un resultado dado, y el sistema de procesamiento de consultas 14 puede seleccionar dinámicamente el siguiente resultado a transmitir al dispositivo de cliente 12 para su visualización basándose en la justificación indicada. De esta forma, los resultados proporcionados al dispositivo de cliente 12 para su visualización se vuelven cada vez más relevantes al usuario a medida que un usuario continúa proporcionando entradas a través del dispositivo de cliente 12.
Los sistemas de proveedores de datos 16 pueden incluir los sistemas de uno o más proveedores de datos que se usan para responder a una consulta de búsqueda enviada a través del dispositivo de cliente 12. En particular, en respuesta a recibir una consulta de búsqueda desde el dispositivo de cliente 12, el sistema de procesamiento de consultas 14 puede comunicarse con los sistemas de proveedores de datos 16 para determinar la pluralidad de resultados para la consulta de búsqueda. Por ejemplo, en una realización, la consulta de búsqueda puede ser una petición para una pluralidad de recomendaciones de viaje. En este caso, los sistemas de proveedores de datos 16 pueden incluir un sistema que proporciona datos relacionados con disponibilidad de viajes, tal como un sistema de distribución global "GDS", y también pueden incluir sistemas adicionales que recopilan y proporcionan datos suplementarios a los datos de disponibilidad de viajes, tal como sistemas que incluyen motores de búsquedas de imágenes, motores de búsquedas de mapas y motores de búsquedas meteorológicas.
Haciendo referencia ahora a la Figura 2, el dispositivo de cliente 12, el sistema de procesamiento de consultas 14 y los sistemas de proveedores de datos 16 del entorno operativo 10 pueden implementarse en uno o más dispositivos informáticos o sistemas, tal como el sistema informático 26 ilustrativo. El sistema informático 26 puede incluir un procesador 28, una memoria 30, un dispositivo de memoria de almacenamiento masivo 32, una interfaz de entrada/salida (E/S) 34 y una Interfaz de Hombre a Máquina (HMI) 36. El sistema informático 26 también puede acoplarse operativamente a uno o más recursos externos 38 a través de la red 24 o interfaz de E/S 34. Recursos externos pueden incluir, pero sin limitación, servidores, bases de datos, dispositivos de almacenamiento masivo, dispositivos periféricos, servicios de red basados en la nube o cualquier otro recurso informático adecuado que puede usarse por el sistema informático 26.
El procesador 28 puede incluir uno o más dispositivos seleccionados a partir de microprocesadores, microcontroladores, procesadores de señal digital, microordenadores, unidades de procesamiento central, campo de matrices de puertas programables, dispositivos lógicos programables, máquinas de estado, circuitos lógicos, circuitos analógicos, circuitos digitales o cualquier otro dispositivo que manipula señales (analógicas o digitales) basándose en instrucciones operacionales que se almacenan en la memoria 30. La memoria 30 puede incluir un dispositivo de una sola memoria o una pluralidad de dispositivos de memoria que incluyen, pero sin limitación, memoria de sólo lectura (ROM), memoria de acceso aleatorio (RAM), memoria volátil, memoria no volátil, memoria de acceso aleatorio estática (SRAM), memoria de acceso aleatorio dinámica (DRAM), memoria flash, memoria caché o cualquier otro dispositivo capaz de almacenar información. El dispositivo de memoria de almacenamiento masivo 32 puede incluir dispositivos de almacenamiento de datos tales como un disco duro, unidad óptica, unidad de cinta, dispositivo de estado sólido no volátil o cualquier otro dispositivo capaz de almacenar información.
El procesador 28 puede operar bajo el control de un sistema operativo 40 que reside en la memoria 30. El sistema operativo 40 puede gestionar recursos informáticos de modo que código de programa informático incorporado en una o más aplicaciones de software informático, tales como una aplicación 42 que reside en la memoria 30, puede tener instrucciones ejecutadas por el procesador 28. En una realización alternativa, el procesador 28 puede ejecutar la aplicación 42 directamente, en cuyo caso el sistema operativo 40 puede omitirse. Una o más estructuras de datos 44 también pueden residir en la memoria 30, y pueden usarse por el procesador 28, sistema operativo 40 o aplicación 42 para almacenar o manipular datos.
La interfaz de E/S 34 puede proporcionar una interfaz de máquina que acopla operativamente el procesador 28 a otros dispositivos y sistemas, tales como la red 24 o el uno o más recursos externos 38. La aplicación 42 puede trabajar de este modo cooperativamente con la red 24 o los recursos externos 38 comunicándose a través de la interfaz de E/S 34 para proporcionar las diversas características, funciones, aplicaciones, procesos o módulos que comprenden realizaciones de la invención. La aplicación 42 también puede tener código de programa que se ejecuta por el uno o más recursos externos 38, o de otra manera depende de funciones o señales proporcionadas por otros componentes de sistema o red externos al sistema informático 26. De hecho, dadas las casi infinitas configuraciones posibles de hardware y software, los expertos en la materia entenderán que realizaciones de la invención pueden incluir aplicaciones que se ubican externamente al sistema informático 26, distribuyen entre múltiples ordenadores u otros recursos externos 38, o se proporcionan por recursos informáticos (hardware y software) que se proporcionan como un servicio a través de la red 24, tal como un servicio de informática en la nube.
La HMI 36 puede acoplarse operativamente al procesador 28 de sistema informático 26 de una manera conocida para permitir que un usuario interactúe directamente con el sistema informático 26. La HMI 36 puede incluir visualizadores de vídeo o alfanuméricos, una pantalla táctil, un altavoz, y cualquier otro indicador de audio y visual adecuado capaz de proporcionar datos al usuario. La HMI 36 también puede incluir dispositivos de entrada y controles tales como un teclado alfanumérico, un dispositivo puntero, teclados numéricos, botones pulsadores, botones de control, micrófonos, etc., capaces de aceptar comandos o entrada desde el usuario y transmitir la entrada introducida al procesador 28.
Una base de datos 46 puede residir en el dispositivo de memoria de almacenamiento masivo 32, y puede usarse para recopilar y organizar datos usados por los varios sistemas y módulos descritos en este documento. La base de datos 46 puede incluir datos y soportar estructuras de datos que almacenan y organizan los datos. En particular, la base de datos 46 puede disponerse con cualquier organización o estructura de base de datos incluyendo, pero sin limitación, una base de datos relacional, una base de datos jerárquica, una red base de datos, o combinaciones de los mismos. Puede usarse un sistema de gestión de base de datos en forma de una aplicación de software informática que se ejecuta como instrucciones en el procesador 28 para acceder a la información o datos almacenados en registros de la base de datos 46 en respuesta a una consulta, en el que una consulta puede determinarse dinámicamente y ejecutarse por el sistema operativo 40, otras aplicaciones 42 o uno o más módulos.
La Figura 3 ilustra una arquitectura de procesamiento ilustrativa 50 que puede proporcionarse por uno o más de los sistemas del entorno operativo 10. La arquitectura de procesamiento 50 puede incluir un motor de procesamiento de consultas 52 y un conjunto de datos electrónicos 53, que pueden incluir una o más bases de datos de objetos primarios 54 y una o más bases de datos de información suplementaria 56. La arquitectura de procesamiento 50 también puede incluir una base de datos de puntos de referencia 58.
En la operación, el motor de procesamiento de consultas 52 puede recibir una consulta de búsqueda 62 para el conjunto de datos electrónicos 53, tal como desde el dispositivo de cliente 12. En respuesta a recibir la consulta de búsqueda 62, el motor de procesamiento de consultas 52 puede desencadenar interacciones con el conjunto de datos electrónicos 53, o más particularmente las bases de datos de objetos primarios 54 y las bases de datos de información suplementaria 56, para determinar una pluralidad de resultados 64 para la consulta de búsqueda 62. En particular, cada resultado 64 puede incluir datos del conjunto de datos electrónicos 53, o más particularmente de la base de datos de objetos primarios 54 y las bases de datos de información suplementaria 56. Posteriormente, basándose en datos almacenados en la base de datos de puntos de referencia 58, el motor de procesamiento de consultas 52 puede seleccionar uno de los resultados 64 para su visualización al usuario, tal como a través del dispositivo de cliente 12. El motor de procesamiento de consultas 52 puede provocar a continuación que el resultado seleccionado 64 se visualice al usuario, tal como transmitiendo el resultado seleccionado 64 al dispositivo de cliente 12 para su visualización por el dispositivo de cliente 12.
Después de que el resultado seleccionado 64 se transmite a y visualiza por el dispositivo de cliente 12, el usuario puede proporcionar una entrada 66 al motor de procesamiento de consultas 52, tal como a través del dispositivo de cliente 12. Como se ha analizado anteriormente, la entrada 66 puede indicar si el usuario está interesado o no en el resultado visualizado 64. En respuesta a recibir la entrada 66, el motor de procesamiento de consultas 52 puede proceder a seleccionar otro de los resultados 64 basándose en la entrada 66 y, a continuación, provocar que el resultado recientemente seleccionado 64 se visualice al usuario, tal como a través de transmisión al dispositivo de cliente 12. El usuario puede a continuación proporcionan otra entrada 66 con respecto al resultado recientemente visualizado 64. Este proceso de seleccionar un resultado 64 para su visualización al usuario y recibir una entrada 66 puede repetirse hasta que el usuario ordena al motor de procesamiento de consultas 52, tal como a través del dispositivo de cliente 12, que deje de seleccionar resultados 64 adicionales para su visualización. A continuación se analizan detalles adicionales relacionados con la arquitectura de procesamiento 50 en referencia con las Figuras 4 a 9.
La Figura 4 ilustra un proceso 100 para procesar una consulta de búsqueda 62 recibida en conexión con el conjunto de datos electrónicos 53. El proceso 100 puede realizarse por el motor de procesamiento de consultas 52 de la arquitectura de procesamiento 50.
En el bloque 102, puede recibirse una consulta de búsqueda 62 para el conjunto de datos electrónicos 53, tal como en el motor de procesamiento de consultas 52. En particular, un usuario puede acceder a una GUI, que puede generarse por el dispositivo de cliente 12 y/o el motor de procesamiento de consultas 52, para definir y enviar la consulta de búsqueda 62 al motor de procesamiento de consultas 52. La consulta de búsqueda 62 puede incluir una pluralidad de criterios de búsqueda definidos por el usuario para buscar el conjunto de datos electrónicos 53, que puede almacenarse a través de las bases de datos de objetos primarios 54 y las bases de datos de información suplementaria 56.
Como se ha mencionado anteriormente, en una realización ilustrativa, la consulta de búsqueda 62 puede ser una petición para una pluralidad de recomendaciones de viaje. Más particularmente, la consulta de búsqueda 62 puede ser una petición para inspiración de viajes, o en otras palabras, una petición para sugerencias de destino de viajes para el usuario. En este caso, ejemplos no limitantes de criterios de búsqueda que pueden incluirse en la consulta de búsqueda 62 incluyen una fecha o intervalo de fechas, una duración o intervalo de duraciones, una ciudad de origen, un presupuesto o intervalo de presupuestos, una temperatura o intervalo de temperaturas y una distancia o intervalo de distancias.
En el bloque 104, en respuesta a recibir la consulta de búsqueda 62, pueden recuperarse una pluralidad de objetos de datos primarios, tal como de las bases de datos de objetos primarios 54, basándose en los criterios de búsqueda de la consulta de búsqueda 62. En particular, el motor de procesamiento de consultas 52 puede configurarse para desencadenar una búsqueda de las bases de datos de objetos primarios 54 para recuperar una pluralidad de objetos de datos primarios que coinciden con uno o más de los criterios de búsqueda de la consulta de búsqueda 62. Cada uno de los resultados 64 determinados por el motor de procesamiento de consultas 52 puede incluir al menos una porción de uno de los objetos de datos primarios recuperados de las bases de datos de objetos primarios 54.
Cuando la consulta de búsqueda 62 es una petición para una pluralidad de recomendaciones de viaje, las bases de datos de objetos primarios 54 pueden incluir datos representativos de una pluralidad de opciones de viaje. Por ejemplo, las bases de datos de objetos primarios 54 pueden incluir una o más bases de datos de viajes que almacenan 4 datos indicativos de segmentos de vuelos planificados y segmentos de viajes planificados relacionados con otros modos de transporte, así como datos de disponibilidad para cada uno los segmentos planificados. En algunas realizaciones, las bases de datos de viajes pueden proporcionarse por uno o más sistemas de terceros, tal como un GDS, un agente de viajes en línea (OTA), un sistema informático de reserva (CRS) u otro sitio web de búsqueda de viajes.
Por lo tanto, en respuesta a recibir una consulta de búsqueda 62 que es una petición para una o más recomendaciones de viaje, el motor de procesamiento de consultas 52 puede desencadenar una búsqueda de las bases de datos de viajes. Esta búsqueda puede basarse en los criterios de búsqueda relevantes para los datos almacenados en las bases de datos de viajes. Por ejemplo, los criterios de búsqueda relevantes pueden incluir los criterios de búsqueda de fecha o intervalo de fechas, los criterios de búsqueda de las duración o intervalo de duraciones, el criterio de búsqueda de origen y/o los criterios de búsqueda de presupuesto o intervalo de presupuestos. En algunos casos, el motor de procesamiento de consultas 52 puede enviar una petición de búsqueda que incluye los criterios de búsqueda relevantes a los sistemas de terceros que proporcionan las bases de datos de viajes, que pueden proceder a continuación a llevar a cabo la búsqueda de las bases de datos de viajes y devolver las opciones de viaje resultantes al motor de procesamiento de consultas 52. Adicionalmente o como alternativa, el motor de procesamiento de consultas 52 puede configurarse para llevar a cabo una búsqueda directa de una o más de las bases de datos de viajes usando los criterios de búsqueda relevantes. Cada opción de viaje devuelta al motor de procesamiento de consultas 52 desde las bases de datos de viajes o los sistemas de terceros proporcionando las bases de datos de viajes puede considerarse un objeto de datos primario, y cada resultado 64 determinado por el motor de procesamiento de consultas 52 puede incluir al menos una porción de una de las opciones de viaje, tales como un destino de viaje y una fecha o intervalo de fechas incluidas en la opción de viaje.
En el bloque 106, pueden recuperarse datos suplementarios para cada uno de los objetos de datos primarios recuperados. En particular, el motor de procesamiento de consultas 52 puede desencadenar una búsqueda de las bases de datos de información suplementaria 56 para recuperar datos suplementarios acerca de cada objeto de datos primario que se recuperaron en el bloque 104. Cuando se visualiza un resultado 64 que incluye todo o parte de un objeto de datos primario dado al usuario, los datos suplementarios recuperados para ese objeto de datos primario también pueden visualizarse. Tales datos suplementarios pueden ayudar al usuario en la determinación de si el resultado visualizado 64 es interesante, y también pueden utilizarse por el motor de procesamiento de consultas 52 para determinar dinámicamente qué resultados 64 visualizar al usuario, como se describe en más detalle a continuación. Por ejemplo, cuando los objetos de datos primarios recuperados representan una pluralidad de opciones de viaje, las bases de datos de información suplementaria 56 pueden incluir datos suplementarios para destinos de viaje incluidos las opciones de viaje. En particular, las bases de datos de información suplementaria 56 pueden incluir uno o más de información meteorológica, imágenes, localizadores de recursos uniformes (URL), mapas, coordenadas y datos de redes sociales (por ejemplo, el número de me gusta) para cada uno de los destinos de viaje.
En algunas realizaciones, las bases de datos de información suplementaria 56 pueden incluir una pluralidad de bases de datos, incluyendo cada una datos relacionados con un aspecto diferente de los objetos de datos primarios recuperados. Por ejemplo, cuando los objetos de datos primarios recuperados representan una pluralidad de opciones de viaje, una de las bases de datos de información suplementaria 56 puede incluir una imagen para uno o más destinos en las opciones de viaje, otra de las bases de datos de información suplementaria 56 puede incluir información meteorológica para uno o más destinos de viaje en las opciones de viaje, y así sucesivamente.
Adicionalmente, similar a las bases de datos de objetos primarios 54, una o más de las bases de datos de información suplementaria 56 pueden proporcionarse por sistemas de terceros operados por una pluralidad de terceras partes. Por ejemplo, puede proporcionarse una base de datos de información suplementaria 56 que incluye imágenes de destinos de viaje por un sistema de motor de búsqueda de imágenes de una tercera parte, puede proporcionarse una base de datos de información suplementaria 56 que incluye información meteorológica histórica para destinos de viaje por un sistema de una tercera parte que recopila y distribuye datos meteorológicos, y así sucesivamente. En estos casos, para recuperar datos suplementarios para los objetos de datos primarios recuperados, el motor de procesamiento de consultas 52 puede enviar peticiones de búsqueda que incluyen criterios de búsqueda relevantes a los sistemas que proporcionan las bases de datos de información suplementaria 56, que pueden proceder a continuación a llevar a cabo la búsqueda de las bases de datos de información suplementaria 56, y devolver datos suplementarios resultantes al motor de procesamiento de consultas 52. Por ejemplo, en el caso de recuperar información meteorológica para un destino de viaje dado de una opción de viaje, el motor de procesamiento de consultas 52 puede enviar una petición de búsqueda que incluye el destino de viaje y los criterios de búsqueda de fecha o intervalo de fechas a un sistema en línea que proporciona información meteorológica, que puede devolver a continuación información meteorológica para el destino de viaje dado para la fecha o intervalo de fechas al motor de procesamiento de consultas 52.
Adicionalmente o como alternativa, el motor de procesamiento de consultas 52 puede configurarse para llevar a cabo una búsqueda directa de una o más de las bases de datos de información suplementaria 56 usando los criterios de búsqueda relevantes. Por ejemplo, en algunas realizaciones, las bases de datos de información suplementaria 56 pueden incluir una base de datos de memoria caché de datos suplementarios recuperados recientemente o a menudo en conexión con una o más consultas de búsqueda anteriormente enviadas 62. De esta forma, después de recuperar los objetos de datos primarios, pero antes de buscar las bases de datos de información suplementaria 56 proporcionadas por terceras partes, el motor de procesamiento de consultas 52 puede desencadenar una búsqueda de la base de datos de memoria caché para recuperar datos suplementarios relacionados con uno o más, o un subconjunto, de los objetos de datos primarios recuperados. Debido a que la base de datos de memoria caché puede ser relativamente local y/o estar en conexión directa al motor de procesamiento de consultas 52, puede habilitar que el motor de procesamiento de consultas 52 reciba datos suplementarios para uno o más de los objetos de datos primarios más rápido que el envío de peticiones de búsqueda a los sistemas de terceros. Después de buscar la base de datos de memoria caché, el motor de procesamiento de consultas 52 puede proceder a continuación a enviar peticiones de búsqueda a los sistemas de terceros para recuperar datos suplementarios de las bases de datos de información suplementaria 56 proporcionadas por los sistemas de terceros para esos objetos de datos primarios recuperados para los que había disponibles datos suplementarios en o recuperados de la base de datos de memoria caché.
En el bloque 108, puede determinarse una pluralidad de resultados 64 para la consulta de búsqueda 62, tal como por el motor de procesamiento de consultas 52, en el que cada uno de los resultados 64 puede incluir datos recuperados desde el conjunto de datos electrónicos. En particular, el motor de procesamiento de consultas 52 puede formular los resultados 64 basándose en los objetos de datos primarios recuperados y los datos suplementarios recuperados para cada uno de los objetos de datos primarios recuperados, tal como combinando todo o parte de cada objeto de datos primario recuperado con los datos suplementarios recuperados desde ese objeto de datos primario en un resultado 64. En otras palabras, cada resultado 64 puede incluir al menos una porción de uno de los objetos de datos primarios, tal como el destino de viaje y/o fechas de una opción de viaje, y los datos suplementarios recuperados para el objeto de datos primario.
Cada resultado 64 determinado por el motor de procesamiento de consultas 52 también puede incluir uno o más valores asignados al mismo que describen el resultado 64 en relación con una o más categorías. La una o más categorías pueden solaparse con al menos alguno de los criterios de búsqueda incluidos en la consulta de búsqueda 62. Por ejemplo, cuando los resultados 64 incluyen recomendaciones de viaje, la una o más categorías pueden incluir una categoría de precio, una categoría de distancia, una categoría de duración y/o una categoría de meteorología.
Más particularmente, cada uno de los resultados 64 puede incluir uno o más atributos que se relacionan cada uno con una categoría diferente de la una o más categorías. Por ejemplo, cuando los resultados 64 incluyen recomendaciones de viaje, cada recomendación de viaje puede incluir un precio, que se refiere a la categoría de precio, una temperatura promedio en un destino de viaje durante una fecha particular o intervalo de fechas, que se refiere a la categoría de meteorología, y una distancia del destino de viaje desde los criterios de búsqueda de origen incluidos en la consulta de búsqueda 62, que se refiere a la categoría de distancia. El motor de procesamiento de consultas 52 puede asignar una pluralidad de valores a cada uno de los resultados 64 basándose en los atributos del resultado 64, en el que cada uno de los valores asignados a un resultado dado 64 se asocia con la categoría relacionada con el atributo en el que se basó el valor. Por ejemplo, haciendo referencia de nuevo al caso en el que los resultados 64 incluyen recomendaciones de viaje, si un resultado dado 64 incluye datos suplementarios que indican que un destino de viaje del resultado 64 tiene un atributo de ser muy caluroso durante la fecha o intervalo de fechas enviado por el usuario, a continuación el motor de procesamiento de consultas 52 puede asignar un valor relativamente alto al resultado 64 para la categoría de meteorología (por ejemplo, asignar un valor de diez de diez al resultado 64 para la categoría de meteorología). Como alternativa, si los datos suplementarios indican que el destino de viaje tiene un atributo de ser bastante frío durante la fecha o intervalo de fechas enviadas por el usuario, a continuación el motor de procesamiento de consultas 52 puede asignar un valor relativamente bajo al resultado 64 para la categoría de meteorología (por ejemplo, asignar un valor de uno de diez al resultado 64 para la categoría de meteorología). También pueden hacerse asignaciones similares al resultado 64 para las otras categorías basándose en los otros atributos del resultado 64.
En algunas realizaciones, para cada una de una o más de las categorías, cada valor en el intervalo de posibles valores que pueden asignarse a un resultado dado 64 para la categoría puede asociarse con un atributo potencial o un intervalo de atributos potenciales del resultado 64 en relación con la categoría. Por ejemplo, con respecto a la categoría de precio, el intervalo de posibles valores que pueden asignarse a un resultado dado 64 puede ser de uno a diez, en el que uno se asocia con opciones de viaje de menos de cien dólares, dos se asocia con opciones de viaje entre cien y doscientos dólares, y así sucesivamente. Adicionalmente o como alternativa, el valor asignado a un resultado 64 para una categoría dada puede ser igual al atributo del resultado 64 en relación con la categoría dada. Por ejemplo, si un resultado 64 indica que la temperatura media durante una fecha enviada o intervalo de fechas en un destino de viaje es igual a un valor numérico de veintinueve grados Celsius (ochenta y cuatro grados Fahrenheit), a continuación el motor de procesamiento de consultas 52 puede asignar un valor de veintinueve (ochenta cuatro) al resultado 64 para la categoría de meteorología.
También puede asignarse a cada una de las categorías un valor de ponderación, tal como por el motor de procesamiento de consultas 52. En general, un valor de ponderación asignado a una categoría puede indicar una importancia de la categoría para el usuario (por ejemplo, cuanto mayor sea el valor de ponderación, más importante será la categoría asociada). Por ejemplo, cada valor de ponderación puede ser un porcentaje o un número. En algunas realizaciones, el usuario puede definir los valores de ponderación para una o más de las categorías cuando se crea la consulta de búsqueda 62 de tal forma que esos valores de ponderación definidos pueden incluirse en la consulta de búsqueda 62 cuando se envían al motor de procesamiento de consultas 52, que puede asignar a continuación los valores de ponderación a la una o más categorías en consecuencia. Adicionalmente o como alternativa, en respuesta a recibir la consulta de búsqueda 62, el motor de procesamiento de consultas 52 puede asignar automáticamente valores de ponderación a una o más de las categorías, tal como basándose en información incluida un perfil de usuario asociado con el usuario remitente. Por ejemplo, el perfil de usuario puede indicar que la distancia no es un factor importante para el usuario y por tanto la categoría de distancia debería asociarse con un valor de ponderación bajo, y que el precio es un factor bastante importante para el usuario y por tanto la categoría de precio debería asociarse con un mayor valor de ponderación. Como alternativa, el perfil de usuario puede exponer explícitamente diferentes valores de ponderación para que el motor de procesamiento de consultas 52 asigne a una o más de las categorías.
En el bloque 110, puede determinarse un punto de referencia de datos inicial, tal como por el motor de procesamiento de consultas 52. El punto de referencia de datos inicial puede basarse en la consulta de búsqueda 62 y, más particularmente, puede representar el resultado "perfecto" teórico para la consulta de búsqueda 62. Como los resultados 64, el punto de referencia de datos inicial puede incluir uno o más valores asignados al mismo en relación con la una o más categorías. Concretamente, cada uno del uno o más valores asignados al punto de referencia de datos inicial puede asociarse con una categoría diferente de la una o más categorías. El motor de procesamiento de consultas 52 puede configurarse para determinar el punto de referencia de datos inicial basándose en uno o más de los criterios de búsqueda en la consulta de búsqueda 62, y basándose en datos almacenados en la base de datos de puntos de referencia 58.
Concretamente, la base de datos de puntos de referencia 58 puede incluir datos históricos relacionados con consultas de búsqueda previas 62 recibidas y procesadas por el motor de procesamiento de consultas 52. Los datos históricos pueden indicar, para cada una de las consultas de búsqueda previas 62, los resultados 64 que un usuario indicó como interesantes y/o resultaron en una compra. Por lo tanto, para determinar el punto de referencia de datos inicial, el motor de procesamiento de consultas 52 puede recuperar los datos históricos de la base de datos de puntos de referencia 58 que es para consultas de búsqueda previas 62 que son los mismos o similares para la consulta de búsqueda 62 que se están procesando en la actualidad (por ejemplo, que tiene los mismos o similares criterios de búsqueda). Posteriormente, el motor de procesamiento de consultas 52 puede determinar el punto de referencia de datos inicial basándose en los valores que se asignaron a los resultados 64 interesantes y/o comprados en los datos históricos recuperados. Por ejemplo, para cada una de la una o más categorías, el motor de procesamiento de consultas 52 puede calcular un promedio de los valores asignados para esa categoría a cada uno de los resultados 64 interesantes y/o comprados y, a continuación, asignar el promedio al punto de referencia de datos para esa categoría.
En algunas realizaciones, el motor de procesamiento de consultas 52 puede determinar el punto de referencia de datos inicial antes de la recepción de la consulta de búsqueda 62 en consideración. En particular, después de que las consultas de búsqueda previas 62 que tienen los mismos o similares criterios de búsqueda se han terminado de procesar por el motor de procesamiento de consultas 52, el motor de procesamiento de consultas 52 puede configurarse para calcular y almacenar un punto de referencia de datos basándose en las acciones que tomaron los usuarios en relación con las consultas de búsqueda previas 62, tal como indicando que un resultado 64 es interesante y/o haciendo una compra basándose en un resultado 64. Concretamente, el motor de procesamiento de consultas 52 puede configurarse para calcular promedios a partir de los resultados 64 interesantes y/o comprados, y definir un punto de referencia de datos basándose en estos promedios, como se ha descrito anteriormente. El motor de procesamiento de consultas 52 puede realizar este cálculo múltiples veces antes de recibir la consulta de búsqueda actual 62, siendo cada vez para actualizar un punto de referencia de datos anteriormente determinado basándose en consultas de búsqueda 62 adicionales, o para crear un nuevo punto de referencia de datos basándose en un grupo de consultas de búsqueda previas 62 que tienen los mismos o similares criterios de búsqueda para las que aún no se ha calculado un punto de referencia de datos. Después de que se ha creado o actualizado un punto de referencia de datos, el motor de procesamiento de consultas 52 puede configurarse para almacenar el punto de referencia de datos en la base de datos de puntos de referencia 58 de tal forma que se asocia con uno o más de los criterios de búsqueda en los que se basó el punto de referencia de datos dentro de la base de datos de puntos de referencia 58. De esta forma, cuando la consulta de búsqueda actual 62 se recibe en el motor de procesamiento de consultas 52, el motor de procesamiento de consultas 52 puede recuperar el punto de referencia de datos apropiado de la base de datos de puntos de referencia 58 basándose en los criterios de búsqueda de la consulta de búsqueda actual 62, y hacerlo sin tener que calcular el punto de referencia de datos, que habilita que el motor de procesamiento de consultas 52 realice tiempos de respuesta mejorados reduciendo la latencia de sistema.
En realizaciones adicionales, el punto de referencia de datos inicial puede establecerse manualmente por el usuario (por ejemplo, cada uno de los valores asignados al punto de referencia de datos inicial puede corresponder a los criterios de búsqueda incluidos en la consulta de búsqueda 62, y no basarse en promedios calculados a partir de consultas de búsqueda previas 62). Como alternativa, el punto de referencia de datos inicial puede definirse por un administrador de sistema. El motor de procesamiento de consultas 52 también puede utilizar datos de redes sociales (por ejemplo, datos recuperados con un inicio de sesión de FACEBOOK® o GOOGLE®), y/o datos de comportamiento de usuario asociados con consultas de búsqueda previas 62 enviadas por usuarios que tienen características similares, para determinar el punto de referencia de datos inicial. Por ejemplo, si los datos de redes sociales y/o datos de comportamiento indican que personas en un grupo de edad particular habitualmente prefieren opciones de viaje con precios más bajos, a continuación un punto de referencia de datos inicial determinado para una consulta de búsqueda 62 enviada por un usuario en el grupo de edad particular puede incluir un valor para la categoría de precio que es menor que el valor promedio calculado para la categoría de precio a partir de consultas de búsqueda previas 62 que tienen los mismos o similares criterios de búsqueda que la consulta de búsqueda 62 que se está procesando en la actualidad.
En el bloque 112, puede determinarse el resultado 64 más cercano al punto de referencia de datos, tal como por el motor de procesamiento de consultas 52. En particular, el motor de procesamiento de consultas 52 puede configurarse para determinar cuál de los resultados 64 está más cercano al punto de referencia de datos inicial, tal como comparando los valores asignados a cada uno de los resultados 64 para la una o más categorías con los valores asignados al punto de referencia de datos inicial para la una o más categorías, y seleccionar el resultado 64 más cercano al punto de referencia de datos inicial para su visualización al usuario.
En algunas realizaciones, el motor de procesamiento de consultas 52 puede llevar a cabo la comparación calculando la distancia cuadrática ponderada entre cada resultado 64 y el punto de referencia de datos inicial. Este cálculo puede basarse en los valores del punto de referencia de datos inicial y los valores asignados a cada uno de los resultados 64 para la una o más categorías, y también puede basarse en los valores de ponderación asignados a la una o más categorías que indican cómo de importante es cada una de las categorías para el usuario. El motor de procesamiento de consultas 52 puede seleccionar a continuación el resultado 64 que tiene la menor distancia cuadrática ponderada como el resultado 64 que está más cercano al punto de referencia de datos inicial. El motor de procesamiento de consultas 52 puede calcular la distancia cuadrática ponderada para cada resultado 64 usando la siguiente fórmula:
Figure imgf000012_0001
en la que n es el número categorías, Ci es el valor asignado al punto de referencia de datos inicial para la iésima categoría, Vi es el valor asignado al resultado 64 para la iésima categoría, y es el valor de ponderación para la iésima categoría para el usuario particular que envió la consulta de búsqueda 62.
En el bloque 114, el resultado seleccionado 64 determinado más cercano al punto de referencia de datos puede visualizare al usuario para su revisión. En particular, el motor de procesamiento de consultas 52 puede provocar que el resultado seleccionado 64 se transmita al dispositivo de cliente 12, que tras la recepción del resultado 64, puede configurarse para visualizar el resultado 64 al usuario.
La Figura 5 ilustra un proceso 200 para seleccionar resultados 64 posteriores para su visualización al usuario en respuesta a recibir una entrada 66 del usuario con respecto a un resultado 64 anteriormente visualizado. El proceso 200 puede realizarse por el motor de procesamiento de consultas 52.
En el bloque 202, después de que el resultado anterior 64 se ha transmitido a y visualizado por el dispositivo de cliente 12, puede recibirse una entrada 66, tal como en el motor de procesamiento de consultas 52, que se refiere al resultado anteriormente visualizado 64. En particular, un usuario puede utilizar el dispositivo de cliente 12 para generar y enviar la entrada 66 al motor de procesamiento de consultas 52. La entrada 66 puede indicar si el usuario está interesado o no en el resultado anteriormente visualizado 64. Por ejemplo, la entrada 66 puede incluir un rechazo del resultado anteriormente visualizado 64, y puede incluir una justificación para el rechazo. Como alternativa, la entrada 66 puede incluir una indicación de que un usuario está interesado en el resultado anteriormente visualizado 64.
En el bloque 204, en respuesta a recibir la entrada 66, puede hacerse una determinación de si la entrada 66 representa o no un interés del resultado anteriormente visualizado 64 o un rechazo del resultado anteriormente visualizado 64. Si la entrada 66 indica que el usuario está interesado en el resultado anteriormente visualizado 64 (rama "NO" del bloque 204), a continuación en el bloque 206, el resultado anteriormente visualizado 64 puede añadirse a una memoria caché. Esta memoria caché puede incluir cada uno de los resultados 64 visualizados al usuario en los que el usuario ha indicado un interés. De esta forma, el usuario puede referirse posteriormente a la memoria caché para revisar esos resultados 64 en los que él o ella tiene un interés, y posiblemente hacer una compra basándose en uno o más de los resultados 64 almacenados en memoria caché.
Después de que el resultado anteriormente visualizado 64 se añade a la memoria caché, en el bloque 208, el resultado 64 que aún no se ha transmitido al dispositivo de cliente 12 para su visualización (es decir, puede determinarse uno de los resultados 64 "restantes") y que está más cercano al punto de referencia de datos inicial, tal como a través de la fórmula de distancia cuadrática ponderada descrita anteriormente, para su visualización por el dispositivo de cliente 12. En el bloque 210, el resultado 64 determinado puede visualizare al usuario, tal como a través de transmisión del resultado 64 determinado al dispositivo de cliente 12, que puede visualizar a continuación el resultado 64 determinado y recibir otra entrada 66 con respecto al resultado 64 determinado.
Como alternativa, si la entrada 66 indica que el usuario no está interesado y ha rechazado el resultado anteriormente visualizado 64 (rama "SÍ" del bloque 204), a continuación en el bloque 212, el resultado anteriormente visualizado 64 puede descargarse. Posteriormente, en el bloque 214, el punto de referencia de datos inicial puede ajustarse basándose en la entrada 66. En particular, la entrada 66 puede incluir una justificación para el rechazo del resultado anteriormente visualizado 64, y el punto de referencia de datos inicial puede ajustarse basándose en la justificación. En una realización, la justificación puede indicar que un atributo del resultado anteriormente visualizado 64 asociado con una de las categorías (y en consecuencia el valor asignado al resultado anteriormente visualizado 64 para la categoría) es demasiado alto (o demasiado bajo) desde la perspectiva del usuario. En respuesta a recibir una justificación de este tipo, el motor de procesamiento de consultas 52 puede ajustar el punto de referencia de datos inicial disminuyendo (o aumentando) el valor asignado al punto de referencia de datos inicial que se asocia con la categoría asociada con el atributo (y en consecuencia con el valor) indicado por la justificación como que es demasiado alto (o demasiado bajo).
Por ejemplo, la justificación puede indicar que la temperatura media para un destino de viaje propuesto, que puede asociarse con la categoría de meteorología, es demasiado fría (o demasiado caluroso) desde la perspectiva del usuario. Por consiguiente, en respuesta a recibir una entrada 66 con una justificación de este tipo, el motor de procesamiento de consultas 52 puede ajustar el punto de referencia de datos inicial aumentando (o disminuyendo) el valor asignado al punto de referencia de datos inicial para la categoría de meteorología, tal como por un número fijo (por ejemplo, 1, 2, 5, 10, etc.), un factor o un porcentaje. Como otros ejemplos, la justificación puede indicar que una recomendación de viaje incluye un precio que es demasiado caro o no lo suficientemente caro, o incluye un destino de viaje que está demasiado cercano al criterio de búsqueda de origen o no lo suficientemente cercano, que puede provocar que el motor de procesamiento de consultas 52 ajuste el valor asignado al punto de referencia de datos para la categoría de precio o la categoría de distancia, respectivamente.
Cuando la justificación de una entrada 66 se refiere a una categoría particular de las categorías, tal como la categoría de precio, a continuación puede suponerse que esta categoría particular es importante para el usuario, ya que esta categoría se está gestionando activamente por el usuario. Por consiguiente, en algunas realizaciones, tras recibir una entrada 66 que incluye una justificación relacionada con una categoría dada, el motor de procesamiento de consultas 52 puede configurarse para aumentar el valor de ponderación asignado a la categoría a la que se refiere la justificación, tal como un número fijo, un factor o un porcentaje. Por ejemplo, si la entrada 66 indica que la temperatura asociada con una recomendación de viaje es demasiado baja, a continuación la consulta de búsqueda 62 puede configurarse para aumentar el valor de ponderación asignado a la categoría de meteorología antes de determinar el resultado restante 64 que está más cercano al punto de referencia de datos ajustado. De esta forma, esa categoría de temperatura tendrá una influencia adicional cuando se determina que el resultado restante 64 está más cercano al punto de referencia de datos ajustado. En otras palabras, el siguiente resultado 64 seleccionado para su visualización por el dispositivo de cliente 12 puede basarse en el valor de ponderación aumentado.
En el bloque 216, después de que el punto de referencia de datos inicial se ha ajustado, y posiblemente después de que la ponderación asignada a una de las categorías se ha aumentado, el resultado 64 que aún no se ha transmitido al dispositivo de cliente 12 y que está más cercano al punto de referencia de datos ajustado puede seleccionarse para su visualización. En particular, el motor de procesamiento de consultas 52 puede calcular la distancia cuadrática ponderada, como se ha analizado anteriormente, entre el punto de referencia de datos ajustado y cada uno de los resultados 64 que aún no se han transmitido al dispositivo de cliente 12 para su visualización, y seleccionar el resultado 64 con la menor distancia cuadrática ponderada como el siguiente resultado 64 para su visualización al usuario. De esta forma, el motor de procesamiento de consultas 52 puede seleccionar el siguiente resultado 64 para su visualización basándose en la justificación para el rechazo del resultado visualizado 64 anterior.
Después de que se selecciona el resultado 64 más cercano al punto de referencia de datos ajustado, en el bloque 210, el resultado seleccionado 64 puede visualizare al usuario, tal como a través del motor de procesamiento de consultas 52 que transmite el resultado seleccionado 64 al dispositivo de cliente 12 para su visualización por el dispositivo de cliente 12. El proceso 200 puede repetirse a continuación para cada entrada 66 proporcionada por el usuario para un resultado visualizado 64.
Las Figuras 6 y 7 proporcionan gráficos para ilustrar un ejemplo de los procesos 100 y 200. En particular, la Figura 6 ilustra un gráfico 300a que incluye un punto de referencia de datos inicial 302a y los resultados 304, 306 y 308. Cada uno de los resultados 304, 306 y 308 y el punto de referencia de datos inicial 302a incluyen un valor asignado a los mismos para "Categoría A" y un valor asignado a los mismos para "Categoría B". Como se ha analizado anteriormente, en el bloque 112 del proceso 100, puede determinarse el resultado 64 más cercano al punto de referencia de datos inicial 302a, tal como usando la fórmula de distancia cuadrática ponderada descrita anteriormente. Basándose en el gráfico 300a, el resultado 64 que está más cercano al punto de referencia de datos inicial 302a puede ser el resultado 304. Por consiguiente, en el bloque 114 del proceso 100, el resultado 304 puede visualizare al usuario para su revisión, tal como a través de transmisión al dispositivo de cliente 12.
La Figura 7 ilustra un gráfico ilustrativo 300b que puede representar el resultado del bloque 214 del proceso 200. En particular, después de visualizarse el resultado 304, el usuario puede proporcionar una entrada 66 que indica que un atributo del resultado visualizado 304 en relación con la Categoría A es demasiado alto. Por consiguiente, como se ilustra en el gráfico 300b, el punto de referencia de datos inicial 302a puede ajustarse de modo que se asigna un valor inferior al mismo para la Categoría A (es decir, el punto de referencia de datos ajustado 302b). Posteriormente, en el bloque 216 del proceso 200, puede hacerse una determinación de qué resultado restante 64 está más cercano al punto de referencia de datos ajustado 302b. En la realización ilustrada, el resultado restante 64 que está más cercano al punto de referencia de datos ajustado 302b puede ser el resultado 308. Por consiguiente, en el bloque 210 del proceso 200, el resultado 308 puede visualizare al usuario para su revisión, tal como a través de transmisión al dispositivo de cliente 12. Obsérvese que si la entrada 66 ha indicado que el usuario se interesó en el resultado 64, a continuación el punto de referencia de datos inicial 302a puede no haberse ajustado, y en el bloque 208 del proceso 200, el resultado restante 64 que está más cercano al punto de referencia de datos inicial 302a puede haber sido el resultado 306 en lugar del resultado 308. Además, las diferencias en los valores de ponderación asignados la Categoría A y Categoría B también pueden afectar al resultado anterior.
La Figura 8 ilustra una GUI ilustrativa 400 que puede generarse por el dispositivo de cliente 12 y/o motor de procesamiento de consultas 52 para visualizar un resultado seleccionado 64 al usuario. En particular, el dispositivo de cliente 12 puede configurarse para visualizar la GUI 400 en respuesta a recibir un resultado 64 seleccionado para su visualización al usuario en una pantalla del dispositivo de cliente 12. La GUI 400 puede configurarse para aceptar entradas desde el usuario que indican si el usuario está interesado o desinteresado en el resultado visualizado 64. En la realización ilustrada, el resultado visualizado 64 es una recomendación de viaje que incluye Bangkok como un destino de viaje sugerido.
La GUI 400 puede incluir una imagen 510 (por ejemplo, una imagen de Bangkok), que puede ser parte de la porción de datos suplementarios del resultado 64 seleccionado a visualizar al usuario. La imagen 510 puede haberse recuperado de una de las bases de datos de información suplementaria 56 durante el proceso 100. La GUI 400 también puede incluir iconos interactivos 504 que se asocian cada uno con una categoría diferente de las categorías para las que se han asignado valores al resultado 64 seleccionado para su visualización. En la realización ilustrada, los iconos interactivos 504 incluyen un icono 504a que se asocia con la categoría de meteorología, un icono 504b que se asocia con la categoría de distancia y un icono 504c que se asocia con la categoría de precio. Los iconos interactivos 504 pueden utilizarse por el usuario para generar y proporcionar una entrada 66 al motor de procesamiento de consultas 52 que indica una justificación de que el usuario no está interesado en el resultado visualizado 64, que se describe en más detalle a continuación.
La GUI 400 puede incluir adicionalmente otra información incluida en el resultado 64 seleccionado para su visualización al usuario. Por ejemplo, cuando el resultado 64 es una recomendación de viaje, la GUI 400 también puede incluir un nombre de destino de viaje 506 (por ejemplo, Bangkok), una fecha o intervalo de fechas 508 (por ejemplo, Lu 22 de ene - Mie 05 de feb), un precio 512 (por ejemplo, 255 €/pers.), información meteorológica 514 (por ejemplo, una temperatura promedio de veinte dos grados y parcialmente nuboso durante la fecha o fechas relevantes), datos de redes sociales 516 (por ejemplo, a 123 personas les gustó el destino de viaje), y/o información de distancia 518 (por ejemplo, el destino de viaje está a 7207 km del criterio de búsqueda de origen proporcionada en la consulta de búsqueda 62). La GUI 400 también puede incluir un icono interactivo 520 (por ejemplo, un símbolo de pulgar hacia arriba), que puede, cuando se selecciona, generar y proporcionar una entrada 66 al motor de procesamiento de consultas 52 que indica el usuario está interesado en el resultado visualizado 64. El icono interactivo 520 también puede incluir un número (por ejemplo, dos), que representa el número de resultados anteriores 64 en el que el usuario ha indicado un interés. Además o como alternativa al icono interactivo 520, la GUI 400 puede configurarse de tal forma que tocar la imagen 510 genera y proporciona una entrada 66 al motor de procesamiento de consultas 52 que indica el usuario está interesado en el resultado visualizado 64.
La Figura 9 ilustra cómo un usuario puede interactuar con la GUI 400 para proporcionar una entrada 66 al motor de procesamiento de consultas 52 que indica el usuario no está interesado en el resultado visualizado 64. En la realización ilustrada, el usuario puede seleccionar uno de los iconos interactivos 504 asociados con las categorías para las que se han asignado valores al resultado 64, y arrastrar el icono hacia o bien una porción superior de la g Ui 400 o una porción inferior de la GUI 400. Tras interactuar con y mover uno de los iconos interactivos 504, la GUI 400 puede configurarse para visualizar un gráfico de aumento 602 y un gráfico de disminución 604. En respuesta al usuario arrastrando uno de los iconos interactivos 504 a o próximo al gráfico de aumento 602, puede generarse una entrada 66 y proporcionarse al motor de procesamiento de consultas 52 que indica el desinterés del usuario en el resultado seleccionado 64 porque un atributo del resultado visualizado 64 en relación con la categoría asociada con el icono arrastrado es demasiado bajo. Como alternativa, en respuesta al usuario arrastrando uno de los iconos interactivos 504 a o próximo al gráfico de disminución 604, puede generarse una entrada 66 y proporcionarse al motor de procesamiento de consultas 52 que indica el desinterés del usuario en el resultado visualizado 64 porque el atributo del resultado 64 en relación con la categoría asociada con el icono arrastrado es demasiado alto. Por ejemplo, en la realización ilustrada, un usuario ha seleccionado y arrastrado el icono 504b, que se asocia con la categoría de distancia, próximo al gráfico de aumento 602. Por consiguiente, una vez que el icono 504b se libera por el usuario, el motor de procesamiento de consultas 52 puede recibir una entrada 66 que indica el desinterés del usuario en Bangkok como un destino de viaje porque no está lo suficientemente lejos del origen del usuario y, basándose en la misma, ajustar el punto de referencia de datos asignando un valor aumentado al mismo para la categoría de distancia.
La GUI 400 también puede configurarse para suportar gestos adicionales por el usuario para indicar el interés o desinterés del usuario de un resultado 64 seleccionado a visualizarse al usuario. Por ejemplo, si un usuario está interesado en un resultado visualizado 64, a continuación la GUI 400 puede configurarse de modo que el usuario puede seleccionar y deslizar la imagen 510 hacia arriba. En respuesta, el número incluido con el icono interactivo 520 puede incrementarse, ya que otro resultado 64 puede añadirse a la memoria caché como resultado del gesto del usuario (bloque 206 del proceso 200). Como alternativa, si el usuario no está interesado en el resultado visualizado en la actualidad 64, pero no desea alterar el punto de referencia de datos actual, a continuación la GUI 400 puede configurarse para habilitar que el usuario seleccione o deslice hacia abajo la imagen 510 sin interactuar con los iconos interactivos 504. En consecuencia, el bloque 214 del proceso 200 puede saltarse, y el motor de procesamiento de consultas 52 puede proceder a realizar el bloque 216 del proceso 200 determinando el resultado restante 64 que está más cercano al punto de referencia de datos no ajustado. Además, la GUI 400 puede configurarse de tal forma que, después de que el usuario toca y libera la imagen 510, detalles adicionales acerca del resultado visualizado 64 pueden proporcionarse a través de la GUI 400.
Además, para limitar el número de iconos interactivos 504 que se incluyen en la GUI 400 para no abarrotar el visualizador del dispositivo de cliente 12, pero también para habilitar que el usuario indique de forma efectiva una justificación de que él o ella no está interesado en un resultado visualizado 64, las categorías asociadas con los iconos interactivos 504 pueden personalizarse dinámicamente hacia el usuario y/o los comportamientos del usuario. Por ejemplo, si datos de redes sociales, tales como de las bases de datos de información suplementaria 56, indican que el usuario es parte de un grupo, tal como un grupo de edad particular, que habitualmente no se refiere a una categoría particular, a continuación la GUI 400 puede generarse para limitar el icono interactivo 504 asociado con esa categoría, y en su lugar visualizar un icono interactivo 504 asociado otra categoría, tal como la categoría de duración. Además, como el usuario proporciona entradas 66 para resultados visualizados 64, puede ser evidente que el usuario no se centra en una categoría particular, tal como la categoría de precio, debido a una falta de uso del icono interactivo 504 asociado con la categoría particular. Por consiguiente, para el siguiente resultado 64 que se visualiza al usuario, la GUI 400 puede sustituir el icono interactivo 504 asociado con la categoría particular con un icono interactivo 504 asociado con una categoría de potencialmente más importancia para el usuario, tal como la categoría de duración.
En general, las rutinas ejecutadas para implementar las realizaciones de la invención, si se implementa como parte de un sistema operativo o una aplicación específica, componente, programa, objecto, módulo o secuencia de instrucciones, o incluso un subconjunto las mismas, pueden denominarse en este documento como "código de programa informático", o simplemente "código de programa". Código de programa habitualmente comprende instrucciones legibles por ordenador que están residentes diversas veces en diversos dispositivos de memoria y almacenamiento en un ordenador y que, cuando se leen y ejecutan por uno o más procesadores en un ordenador, provocan que el ordenador realice las operaciones necesarias para ejecutar operaciones y/o elementos que incorporan los diversos aspectos de las realizaciones de la invención. Instrucciones de programa legibles por ordenador para efectuar operaciones de las realizaciones de la invención pueden ser, por ejemplo, lenguaje de ensamblaje o bien código fuente o bien código objeto escrito en cualquier combinación de uno o más lenguajes de programación.
Diverso código de programa descrito en este documento puede identificarse basándose en la aplicación dentro de la que se implementa en realizaciones específicas de la invención. Sin embargo, debería apreciarse que cualquier nomenclatura de programa particular que sigue se usa meramente por conveniencia y, por lo tanto, la invención no debería limitarse a su uso solamente en cualquier aplicación especificada identificada y/o supuesta por tal nomenclatura. Adicionalmente, dado el número generalmente infinito de maneras en las que pueden organizarse programas informáticos en rutinas, procedimientos, métodos, módulos, objetos y similares, así como las diversas maneras en las que puede asignare la funcionalidad de programa entre diversas capas de software que están residentes dentro de un ordenador típico (por ejemplo, sistemas operativos, librerías, API, aplicaciones, subprogramas, etc.), debería apreciarse que las realizaciones de la invención no se limitan a la organización y asignación específicas de la funcionalidad de programa en este documento.
El código de programa incorporado en cualquiera de las aplicaciones/módulos descritos en este documento se puede distribuir individual o colectivamente como un producto de programa en una diversidad de diferentes formas. En particular, el código de programa puede distribuirse usando un medio de almacenamiento legible por ordenador que tiene instrucciones de programa legibles por ordenador en el mismo para provocar que un procesador efectúe aspectos de las realizaciones de la invención.
Medio de almacenamiento legible por ordenador, que inherentemente no es transitorio, puede incluir medios tangibles volátiles y no volátiles y extraíbles y no extraíbles implementados en cualquier método o tecnología para almacenamiento de información, tal como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos. Medio de almacenamiento legible por ordenador puede incluir adicionalmente RAM, ROM, memoria de sólo lectura borrable y programare (EPROM), memoria de sólo lectura eléctricamente programare borrable (EEPROM), memoria flash u otra memoria de estado sólido tecnología, memoria de sólo lectura de disco compacto (CD-ROM) portátil u otro almacenamiento óptico, casetes magnéticas, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede usarse para almacenar la información deseada y que puede leerse por un ordenador. Un medio de almacenamiento legible por ordenador no debería interpretarse como señales transitorias en sí mismas (por ejemplo, ondas de radio u otras ondas electromagnéticas de propagación, ondas electromagnéticas que se propagan a través de un medio de transmisión tal como una guía de ondas, o señales eléctricas transmitidas a través de un alambre). Instrucciones de programa legibles por ordenador pueden descargarse a un ordenador, otro tipo de aparato de procesamiento de datos programable u otro dispositivo desde un medio de almacenamiento legible por ordenador o a un ordenador externo o dispositivo de almacenamiento externo a través de una red.
Instrucciones de programa legibles por ordenador almacenadas en un medio legible por ordenador pueden usarse para dirigir un ordenador, otros tipos de aparato de procesamiento de datos programable, u otros dispositivos para funcionar de una manera particular, de tal forma que las instrucciones almacenadas en el medio legible por ordenador produce un artículo de fabricación que incluyen instrucciones que implementan las funciones, actos y/u operaciones especificados en los diagramas de flujo, diagrama de secuencias y/o diagramas de bloque. Las instrucciones de programa informático pueden proporcionarse a uno o más procesadores de un ordenador de fin general, un ordenador de fin especial u otro aparato de procesamiento de datos programable para producir una máquina, de tal forma que las instrucciones, que se ejecutan a través del uno o más procesadores, provocan que se realicen una serie de cálculos para implementar las funciones, actos y/u operaciones especificados en los diagramas de flujo, diagrama de secuencias y/o diagramas de bloque.
En ciertas realizaciones alternativas, las funciones, actos y/u operaciones especificados en los diagramas de flujo, diagrama de secuencias y/o diagramas de bloque pueden reordenarse, procesarse en serie y/o procesarse simultáneamente consistentes con realizaciones de la invención. Además, cualquiera de los diagramas de flujo, diagrama de secuencias y/o diagramas de bloque puede incluir más o menos bloques que los ilustrados consistentes con realizaciones de la invención.
La terminología usada en este documento es para el propósito de describir únicamente realizaciones particulares y no se pretende que sea limitante de las realizaciones de la invención. Como se usa en este documento, la forma singular "un", "una", "el" y "la" se conciben para incluir también las formas plurales, a menos que el contexto indique claramente lo contrario. Se entenderá adicionalmente que los términos "comprende" y/o "que comprende", cuando se usan en esta memoria descriptiva, especifican la presencia de características indicadas, elementos integrantes, etapas, operaciones, elementos y/o componentes, pero no excluyen la presencia o la adición de una o más otras características, elementos integrantes, etapas, operaciones, elementos, componentes y/o grupos de los mismos. Adicionalmente, en la medida en que los términos "incluye", "que tiene", "tiene", "con", "comprendido de", o variantes de los mismos se usan en o bien la descripción detallada o bien las reivindicaciones, tales términos se conciben para ser inclusivos de una manera similar al término "que comprende".
Mientras toda la invención se ha ilustrado mediante una descripción de diversas realizaciones y mientras estas realizaciones se han descrito en considerable detalle, no es la intención del solicitante restringir o de cualquier forma limitar el alcance de las reivindicaciones adjuntas a tal detalle. A los expertos en la materia se les ocurrirán fácilmente ventajas y modificaciones adicionales. La invención en sus aspectos más amplios no se limita, por lo tanto, a los detalles específicos, aparato y método representativos y ejemplos ilustrativos mostrados y descritos. Por consiguiente el alcance de protección se expone por el conjunto adjunto de reivindicaciones.

Claims (13)

REIVINDICACIONES
1. Un método para buscar un conjunto de datos electrónicos, en el que el método comprende recibir, en uno o más procesadores y desde un dispositivo electrónico móvil (12), una consulta de búsqueda (62) para el conjunto de datos electrónicos; y en respuesta a recibir la consulta de búsqueda (62): determinar, por el uno o más procesadores, una pluralidad de resultados para la consulta de búsqueda (62), incluyendo cada uno de los resultados datos del conjunto de datos electrónicos;
el método caracterizado por:
seleccionar, por el uno o más procesadores, un primer resultado de los resultados de la pluralidad de resultados para su visualización (112) por el dispositivo electrónico móvil;
transmitir, por el uno o más procesadores, únicamente el primer resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización (114) por el dispositivo electrónico móvil (12); después de que se transmite el primer resultado al dispositivo electrónico móvil (12), recibir, en el uno o más procesadores y desde el dispositivo electrónico móvil (12), un rechazo del primer resultado por un usuario del dispositivo electrónico móvil (12), comprendiendo el rechazo una justificación para el rechazo del primer resultado; y
en respuesta a recibir el rechazo del primer resultado:
seleccionar, por el uno o más procesadores, un segundo resultado de los resultados de la pluralidad de resultados para su visualización (216, 208) por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo; y
transmitir, por el uno o más procesadores, únicamente el segundo resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización por el dispositivo electrónico móvil (12).
2. El método de la reivindicación 1, que comprende adicionalmente:
en respuesta a recibir la consulta de búsqueda (62), determinar un punto de referencia de datos inicial basándose en la consulta de búsqueda (62),
en el que seleccionar el primer resultado para su visualización por el dispositivo electrónico móvil (12) comprende:
determinar cuál de los resultados está más cercano al punto de referencia de datos inicial; y seleccionar el resultado que está más cercano al punto de referencia de datos inicial como el primer resultado.
3. El método de la reivindicación 2, en el que seleccionar el segundo resultado para su visualización por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo comprende:
en respuesta a recibir el rechazo, ajustar el punto de referencia de datos inicial basándose en la justificación; determinar cuál de los resultados que aún no se han transmitido al dispositivo electrónico móvil (12) para su visualización está más cercano al punto de referencia de datos ajustado; y
seleccionar el resultado que aún no se ha transmitido al dispositivo electrónico móvil (12) para su visualización que está más cercano al punto de referencia de datos ajustado como el segundo resultado.
4. El método de la reivindicación 3, que comprende adicionalmente:
después de que el segundo resultado se transmite al dispositivo electrónico móvil (12), recibir, desde el dispositivo electrónico móvil (12), una indicación de que el usuario está interesado en el segundo resultado; y
en respuesta a recibir la indicación de que el usuario está interesado en el segundo resultado:
añadir el segundo resultado a una memoria caché de resultados en los que el usuario está interesado; determinar cuál de los resultados que aún no se han transmitido al dispositivo electrónico móvil (12) para su visualización está más cercano al punto de referencia de datos ajustado; y
transmitir el resultado que aún no se ha transmitido al dispositivo electrónico móvil (12) para su visualización que está más cercano al punto de referencia de datos ajustado al dispositivo electrónico móvil (12) para su visualización.
5. El método de una cualquiera de las reivindicaciones 2-4, en el que el punto de referencia de datos inicial incluye una pluralidad de primeros valores que se asocian cada uno con una categoría diferente de una pluralidad de categorías, cada uno de los resultados incluye una pluralidad de atributos que se relacionan cada uno con una categoría diferente de las categorías, y determinar los resultados para la consulta de búsqueda (62) comprende:
asignar una pluralidad de segundos valores a cada uno de los resultados, asociándose cada uno de los segundos valores con una categoría diferente de las categorías y basándose en el atributo del resultado que se refiere a la categoría asociada,
en el que determinar cuál de los resultados está más cercano al punto de referencia de datos inicial comprende:
para cada uno de los resultados, calcular una primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y el resultado basándose en los primeros valores del punto de referencia de datos inicial y los segundos valores asignados al resultado; y
seleccionar el resultado con la menor primera distancia cuadrática ponderada como el resultado que está más cercano al punto de referencia de datos inicial.
6. El método de la reivindicación 5, que comprende adicionalmente:
asignar un tercer valor a cada una de las categorías, indicando el tercer valor una importancia de la categoría para el usuario, en el que calcular la primera distancia cuadrática ponderada entre el punto de referencia de datos inicial y cada uno de los resultados se basa adicionalmente en el tercer valor asignado a cada una de las categorías.
7. El método de la reivindicación 6, en el que la justificación para el rechazo se refiere a una de las categorías, y seleccionar el segundo resultado para su visualización por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo comprende:
aumentar el tercer valor asignado a la categoría a la que se refiere la justificación para el rechazo; y seleccionar el segundo resultado para su visualización por el dispositivo electrónico móvil (12) basándose en el tercer valor aumentado.
8. El método de una cualquiera de las reivindicaciones 5-7, en el que la justificación para el rechazo indica que uno de los segundos valores asignados al primer resultado es demasiado bajo, y seleccionar el segundo resultado para su visualización por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo comprende: ajustar el punto de referencia de datos inicial aumentando el primer valor que se asocia con la categoría asociada con el segundo valor indicado por la justificación como que es demasiado bajo;
calcular una segunda distancia cuadrática ponderada entre el punto de referencia de datos ajustado y cada uno de los resultados que aún no se han transmitido al dispositivo electrónico móvil (12) para su visualización; y seleccionar el resultado con la menor segunda distancia cuadrática ponderada como el segundo resultado.
9. El método de una cualquiera de las reivindicaciones 5-8, en el que en respuesta a recibir el primer resultado, el dispositivo electrónico móvil (12) se configura para:
visualizar una interfaz de usuario gráfica para el primer resultado en una pantalla del dispositivo electrónico móvil (12), incluyendo la interfaz gráfica de usuario una pluralidad de iconos, asociándose cada uno de los iconos con una categoría diferente de las categorías,
en el que la interfaz gráfica de usuario se configura para habilitar que el usuario mueva uno de los iconos a una de una pluralidad de porciones de la pantalla del dispositivo electrónico móvil (12), en el que la justificación para rechazar el primer resultado se determina basándose en a cuál de las porciones de la pantalla se mueve el icono.
10. El método de una cualquiera de las reivindicaciones 1-9, en el que la consulta de búsqueda (62) comprende una pluralidad de criterios de búsqueda, el conjunto de datos electrónicos comprende una pluralidad de bases de datos de objetos primarios, una base de datos de memoria caché y una pluralidad de bases de datos de información suplementaria proporcionadas por una pluralidad de terceras partes, y determinar los resultados para la consulta de búsqueda (62) comprende:
recuperar, de las bases de datos de objetos primarios, una pluralidad de objetos de datos primarios basándose en los criterios de búsqueda; después de recuperar los objetos de datos primarios, recuperar, desde la base de datos de memoria caché, datos suplementarios para cada objeto de datos primario de un primer subconjunto de los objetos de datos primarios, incluyendo la base de datos de memoria caché datos suplementarios recuperados en conexión con una o más consultas de búsqueda previas;
después de que se recuperan los datos suplementarios para cada objeto de datos primario en el primer subconjunto de objetos de datos primarios desde la base de datos de memoria caché, recuperar, de las bases de datos de información suplementaria proporcionadas por las terceras partes, datos suplementarios para cada uno de los objetos de datos primarios para los que no se recuperaron datos suplementarios desde la base de datos de memoria caché, y
formular los resultados basándose en los objetos de datos primarios y los datos suplementarios recuperados desde cada uno de los objetos de datos primarios, en el que cada uno de los resultados incluye al menos una porción de uno de los objetos de datos primarios y los datos suplementarios recuperados para el objeto de datos primario.
11. Un sistema para buscar un conjunto de datos electrónicos, comprendiendo el sistema al menos un procesador; y una memoria que almacena instrucciones que, tras su ejecución por el al menos un procesador, provocan que el sistema: en respuesta a recibir, desde un dispositivo electrónico móvil (12), una consulta de búsqueda (62) para el conjunto de datos electrónicos: determine una pluralidad de resultados para la consulta de búsqueda (62), incluyendo cada uno de los resultados datos del conjunto de datos electrónicos; el sistema caracterizado por:
seleccionar un primer resultado de los resultados de la pluralidad de resultados para su visualización por el dispositivo electrónico móvil (12); y
transmitir únicamente el primer resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización por el dispositivo electrónico móvil (12); y
después de que se transmite el primer resultado al dispositivo electrónico móvil (12), y en respuesta a recibir, desde el dispositivo electrónico móvil (12), un rechazo del primer resultado por un usuario del dispositivo electrónico móvil (12), comprendiendo el rechazo una justificación para el rechazo del primer resultado:
seleccionar un segundo resultado de los resultados de la pluralidad de resultados para su visualización por el dispositivo electrónico móvil (12) basándose en la justificación para el rechazo; y
transmitir únicamente el segundo resultado de la pluralidad de resultados al dispositivo electrónico móvil (12) para su visualización por el dispositivo electrónico móvil (12).
12. El sistema de la reivindicación 11, en el que las instrucciones, tras su ejecución, provocan adicionalmente que el sistema realice el método de una cualquiera de las reivindicaciones 2-10.
13. Un producto de programa informático que comprende instrucciones de código de programa almacenadas en un medio legible por ordenador para ejecutar las etapas de proceso de acuerdo con las reivindicaciones 1-10 cuando dicho programa se ejecuta en un ordenador.
ES17183718T 2016-07-28 2017-07-28 Búsqueda de conjunto de datos electrónicos Active ES2796345T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1657261A FR3054762A1 (fr) 2016-07-28 2016-07-28 Effectuer des recherches dans un ensemble de donnees electroniques
US15/222,381 US10387427B2 (en) 2016-07-28 2016-07-28 Electronic dataset searching

Publications (1)

Publication Number Publication Date
ES2796345T3 true ES2796345T3 (es) 2020-11-26

Family

ID=59383521

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17183718T Active ES2796345T3 (es) 2016-07-28 2017-07-28 Búsqueda de conjunto de datos electrónicos

Country Status (3)

Country Link
EP (1) EP3276510B1 (es)
CN (1) CN107665236B (es)
ES (1) ES2796345T3 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3080472B1 (fr) * 2018-04-19 2021-06-04 Amadeus Sas Controle de la generation des resultats de recherche a entrees multiples
CN110458452B (zh) * 2019-08-12 2022-02-01 哈尔滨工业大学 质量驱动的公平数据市场平台、交易系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7836057B1 (en) * 2001-09-24 2010-11-16 Auguri Corporation Weighted preference inference system and method
US8051077B2 (en) * 2008-02-21 2011-11-01 Maphook, Inc. Geo-trip notes
US8364664B2 (en) * 2008-05-12 2013-01-29 Enpulz, L.L.C. Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison
US20120278318A1 (en) * 2011-05-01 2012-11-01 Reznik Alan M Systems and methods for facilitating enhancements to electronic group searches
US9235642B1 (en) * 2011-09-15 2016-01-12 Isaac S. Daniel System and method for conducting searches and displaying search results
US20150169576A1 (en) * 2013-01-30 2015-06-18 Google Inc. Dynamic Search Results
US20160162583A1 (en) * 2014-12-09 2016-06-09 Rhys Maddocks Apparatus and method for searching information using graphical user interface

Also Published As

Publication number Publication date
EP3276510A1 (en) 2018-01-31
CN107665236A (zh) 2018-02-06
EP3276510B1 (en) 2020-03-11
CN107665236B (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
CN111343075B (zh) 在基于地图的社交媒体平台上的位置隐私关联
US11455657B2 (en) Navigating through content items on a computing device
US9363634B1 (en) Providing context-relevant information to users
US10387427B2 (en) Electronic dataset searching
US20200073901A1 (en) Searching for Application Content with Social Plug-ins
US11062382B2 (en) Search machine with dynamically updated flag on graphical slider
US8874144B1 (en) Selecting location-based content
US11487720B2 (en) Unified data model and interface for databases storing disparate types of data
CN109074378B (zh) 模块化电子数据分析计算系统
JP7436654B2 (ja) 繰り返し可能クエリの識別および発行
EP3156916A1 (en) Information-processing device, control method, and program
US20160321230A1 (en) Generating a data table
JP2018530833A (ja) ジオフェンシング探索結果に基づく通知の提供
ES2796345T3 (es) Búsqueda de conjunto de datos electrónicos
US20170053034A1 (en) Display control device, display control method, and program
US20160104176A1 (en) Visualizing forecast data
CN110659406B (zh) 搜索方法及装置
US9854397B1 (en) Systems and user interfaces for dynamic and interactive person and event data access and analysis
KR20190130395A (ko) 이종 데이터 웹기반 분석 장치 및 방법
US10070279B2 (en) Network apparatuses and message providing method
CN115203513A (zh) 搜索语句推荐方法、装置、设备和介质
US20170279919A1 (en) Handling User Interface Components
FR3054762A1 (fr) Effectuer des recherches dans un ensemble de donnees electroniques