FR3080472A1 - Controle de la generation des resultats de recherche a entrees multiples - Google Patents

Controle de la generation des resultats de recherche a entrees multiples Download PDF

Info

Publication number
FR3080472A1
FR3080472A1 FR1853428A FR1853428A FR3080472A1 FR 3080472 A1 FR3080472 A1 FR 3080472A1 FR 1853428 A FR1853428 A FR 1853428A FR 1853428 A FR1853428 A FR 1853428A FR 3080472 A1 FR3080472 A1 FR 3080472A1
Authority
FR
France
Prior art keywords
search
entries
final
predicted
client device
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.)
Granted
Application number
FR1853428A
Other languages
English (en)
Other versions
FR3080472B1 (fr
Inventor
Karim Halioui
Antoine Menard
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
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1853428A priority Critical patent/FR3080472B1/fr
Priority to CN201980029270.6A priority patent/CN112041835A/zh
Priority to PCT/EP2019/060169 priority patent/WO2019202112A1/fr
Priority to EP19717946.8A priority patent/EP3782047A1/fr
Priority to US17/047,233 priority patent/US11416508B2/en
Publication of FR3080472A1 publication Critical patent/FR3080472A1/fr
Application granted granted Critical
Publication of FR3080472B1 publication Critical patent/FR3080472B1/fr
Expired - Fee Related 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9532Query formulation
    • 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/245Query processing
    • G06F16/2455Query execution

Landscapes

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

Abstract

Un procédé de contrôle de génération des résultats de recherche basés sur une pluralité d'entrées de recherche inclut, au niveau d'un serveur : la réception d'une requête intermédiaire contenant un sous-ensemble d'entrées de recherche intermédiaires ; la génération, basée sur le sous-ensemble d'entrée de recherche intermédiaires : un sous-ensemble d'entrées de recherche prédites ; et un niveau de confiance associé au sous-ensemble d'entrées de recherche prédites ; lorsque le niveau de confiance dépasse un seuil, l'initiation d'une opération de recherche pour générer les résultats de recherche prédits basés sur un ensemble d'entrées initiales y compris (i) le sous-ensemble d'entrées de recherche intermédiaires et (ii) le sous-ensemble d'entrées de recherche prédites ; lorsque le niveau de confiance ne dépasse pas le seuil, l'attente d'une requête supplémentaire sans initier l'opération de recherche; et la transmission d'une réponse de recherche basée sur au moins l'une parmi la requête intermédiaire et la requête supplémentaire.

Description

CONTROLE
DE LA GENERATION DES RESULTATS DE RECHERCHE A ENTREES MULTIPLES
DOMAINE [0001] D’une manière générale, la présente invention concerne la génération de résultats de recherche, et spécifiquement les systèmes et procédés pour contrôler la génération des résultats de recherche à entrées multiples.
CONTEXTE [0002] Différents types de recherche de données, telles que les recherches liées au voyage impliquent des requêtes de recherche contenant un nombre d’entrées variables qui doivent correspondre à un grand ensemble variable de résultats de recherche possibles. L’exécution des recherches dans de telles conditions est coûteuse en ressources informatiques et l’achèvement d’une recherche peut par conséquent exiger une durée non négligeable. Lorsque les recherches sont exécutées à réception des entrées, le laps de temps pour produire les résultats peut dépasser plusieurs secondes, pendant lesquelles le dispositif client demandeur est en mode inactif. Par ailleurs, le laps de temps susmentionné peut engendrer une diminution de la fidélisation des clients.
[0003] Quelques tentatives pour résoudre les problèmes susmentionnés se sont appuyées sur des résultats de recherche précalculés et mis en mémoire cache pour un certain nombre de requêtes. Les requêtes entrantes sont comparées aux requêtes précalculées et lorsqu’une correspondance est trouvée, les résultats mis en mémoire cachent sont retournés. Bien que cette approche puisse fournir des temps de réponse améliorés, les résultats précalculés mis en mémoire cache peuvent devenir obsolètes et par conséquent des résultats de recherche imprécis peuvent être produits.
RESUME [0004] Un aspect de l’invention fournit un procédé de contrôle de la génération des résultats de recherche basés sur une pluralité d’entrées de recherche y compris, au niveau d’un serveur : la réception d’une requête intermédiaire contenant un sous-ensemble d’entrées de recherche intermédiaires ; la génération, basée sur le sous-ensemble d’entrées de recherche intermédiaires : un sous-ensemble d’entrées de recherche prédites ; et un niveau de confiance associé au sousensemble d’entrée de recherche prédites ; lorsque le niveau de confiance dépasse un seuil, l’initiation d’une opération de recherche pour générer des résultats de recherche prédits basés sur un ensemble d’entrées initiales y compris (i) le sous-ensemble d’entrées de recherche intermédiaires et (ii) le sous-ensemble d’entrées de recherche prédites ; lorsque le niveau de confiance ne dépasse pas le seuil, l’attente d’une requête supplémentaire sans initier l’opération de recherche ; et la transmission d’une réponse de recherche basée sur au moins l’une parmi la requête intermédiaire et la requête supplémentaire.
[0005] Selon un autre aspect de l’invention, la transmission de la réponse de recherche comprend, en réponse à la génération de résultats de recherche prédits, la transmission de résultats de recherche prédits au dispositif client pour les afficher au niveau du dispositif client suite à la réception d’un ensemble d’entrées finales correspondant à l’ensemble initial d’entrées au niveau du dispositif client.
[0006] Selon un autre aspect de l’invention, la transmission de la réponse de recherche comprend, en réponse à la génération de résultats de recherche prédits, le stockage des résultats de recherche prédits en attendant la réception d’une requête finale.
[0007] Un autre aspect de l’invention comprend la réception d’une requête finale contenant un ensemble d’entrées finales ; en réponse au fait de déterminer que l’ensemble d’entrées finales corresponde à l’ensemble d’entrées initiales, la transmission des résultats de recherche prédits ; et en réponse au fait de déterminer que l’ensemble d’entrées finales ne correspond pas à l’ensemble d’entrées initiales, l’initiation d’une autre opération de recherche pour générer des résultats de recherche finaux basés sur un ensemble d’entrées finales, et la transmission des résultats de recherche finaux.
[0008] Un autre aspect de l’invention comprend la réception d’une requête finale contenant un ensemble d’entrées finales qui ne correspond pas à l’ensemble d’entrées initiales ; et l’initiation d’une autre opération de recherche pour générer des résultats de recherche finaux basés sur un ensemble d’entrées finales ; la transmission de la réponse de recherche comprenant par ailleurs la transmission des résultats de recherche finaux au dispositif client.
[0009] Selon un autre aspect de l’invention, la requête finale contient par ailleurs une commande de recherche indiquant une sélection d’un élément de recherche au niveau du dispositif client.
[0010] Un autre aspect de l’invention comprend la réception d’une requête supplémentaire ; et lorsque la requête supplémentaire est une autre requête intermédiaire contenant un sousensemble d’autres entrées de recherche intermédiaires, la répétition de la génération d’entrées de recherche prédites et un niveau de confiance associé aux entrées de recherche prédites ; et lorsque la requête supplémentaire est une requête finale contenant un ensemble d’entrées finales, l’initiation d’une autre opération de recherche pour générer les résultats de recherche finaux basés sur un ensemble d’entrées finales, et la transmission des résultats de recherche finaux.
[0011] Selon un autre aspect de l’invention, le sous-ensemble d’entrées intermédiaires correspond à un premier sous-ensemble de champs d’entrée prédéfinis au niveau du dispositif client ; et le sous-ensemble d’entrées prédites correspond au sous-ensemble restant de champs d’entrée prédéfinis.
[0012] Selon un autre aspect de l’invention, le procédé comprend par ailleurs, en réponse à la réception d’une requête intermédiaire, avant la génération du sous-ensemble d’entrées de recherche prédites, la récupération d’un élément multimédia et la transmission de l’élément multimédia au dispositif client pour être stocké au niveau du dispositif client en attendant la réception des résultats de recherche.
[0013] Un autre aspect de l’invention comprend, avant la récupération et la transmission de l’élément multimédia, la génération d’un niveau de confiance préliminaire indiquant une probabilité selon laquelle le dispositif client générera une requête finale ; et la mise en œuvre de récupération et de la transmission uniquement si le niveau de confiance préliminaire dépasse un seuil préliminaire.
[0014] Selon un autre aspect de l’invention, la génération du sous-ensemble d’entrées prédites et le niveau de confiance inclut la récupération d’un enregistrement historique des requêtes reçues et des réponses correspondantes, et la comparaison de l’enregistrement historique au sous-ensemble d’entrées intermédiaires.
[0015] Selon un autre aspect de l’invention, un serveur conçu pour contrôler une génération de résultats de recherche basés sur une pluralité d’entrées de recherche est fourni. Le serveur comprend une mémoire ; une interface de communication ; et un processeur interconnecté à la mémoire et à l’interface de communication, et configuré pour mettre en œuvre l’un quelconque des procédés susmentionnés.
[0016] Selon un autre aspect de l’invention, un produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par ordinateur, pour mettre en œuvre les étapes du procédé, selon les procédés susmentionnés, lorsque ledit programme est exécuté sur un ordinateur, est fourni.
[0017] Selon autre aspect de l’invention, un procédé, au niveau d’un dispositif client, de contrôle de la fourniture des résultats de recherche basés sur une pluralité d’entrées de recherche est fourni. Le procédé du dispositif client comprend, au niveau du dispositif client, la réception d’un sous-ensemble d’entrées de recherche intermédiaires ; la génération et l’envoi d’une requête intermédiaire contenant un sous-ensemble d’entrées de recherche intermédiaires ; en réponse à l’envoi de la requête intermédiaire, la réception et le stockage : un ensemble d’entrées initiales y compris (i) le sous-ensemble d’entrées de recherche intermédiaires et (ii) un sous-ensemble d’entrées de recherche prédites ; et des résultats de recherche prédits correspondant à l’ensemble d’entrées initiales ; la réception d’un ensemble d’entrées finales ; et la présentation d’une réponse de recherche sur un dispositif d’affichage du dispositif client, selon que l’ensemble d’entrées finales correspond à l’ensemble d’entrées initiales.
[0018] Selon un autre aspect de l’invention, la présentation de la réponse de recherche comprend la récupération de l’ensemble d’entrées initiales dans le stockage ; la comparaison de l’ensemble d’entrées initiales à l’ensemble d’entrées finales ; en réponse au fait de déterminer que l’ensemble d’entrées finales correspond à l’ensemble d’entrées initiales, la récupération des données de résultats prédits et la présentation des résultats de recherche prédits sur le dispositif d’affichage.
[0019] Un autre aspect de l’invention comprend, en réponse au fait de déterminer que l’ensemble d’entrées finales ne correspond pas à l’ensemble d’entrées initiales, l’envoi d’une requête finale contenant les entrées finales, et la réception et la présentation sur le dispositif d’affichage, en réponse à la requête finale, des résultats de recherche finaux.
[0020] Un autre aspect de l’invention comprend, en réponse au fait de déterminer que l’ensemble d’entrées finales ne correspond pas à l’ensemble d’entrées initiales, la suppression des entrées de recherche prédites.
[0021] Selon un autre aspect de l’invention, la génération et l’envoi de la requête 5 intermédiaire comprennent la surveillance d’une pluralité de champs d’entrée ; et la génération et envoi de la requête intermédiaire lorsqu’au moins l’un des champs d’entrée a été complété.
[0022] Selon un autre aspect de l’invention, un dispositif client conçu pour contrôler une génération de résultats de recherche basés sur une pluralité d’entrées de recherche, est fourni. Le dispositif client comprend une mémoire ; une interface de communication ; et un processeur 10 interconnecté à la mémoire et à l’interface de communication, et configuré pour mettre en œuvre l’un quelconque des procédés du dispositif client susmentionné.
[0023] Selon un autre aspect de I invention, un produit-programme informatique comprenant des instructions de code de programme stockées sur un support lisible par ordinateur, pour mettre en œuvre les étapes du procédé, conformément aux étapes du dispositif client susmentionnées, 15 lorsque ledit programme est exécuté sur un ordinateur, est fourni.
BREVE DESCRIPTION DES DESSINS [0024] Les modes de réalisation de l’invention sont décrits en référence aux dessins suivants, sur lesquels :
[0025] La FIG. 1 représente un système pour contrôler la génération de résultats de recherche à entrées multiples ;
[0026] La FIG. 2 représente un procédé pour contrôler la génération de résultats de recherche à entrées multiples ;
[0027] La FIG. 3A représente une interface d’entrée de recherche utilisée dans le procédé de 25 la FIG. 2 ;
[0028] La FIG. 3B représente l’interface d’entrée de recherche de la FIG. 3A, partiellement achevée ;
[0029] La FIG. 4 représente la transmission d’une requête intermédiaire pendant la mise en œuvre du procédé de la FIG. 2 ;
[0030] La FIG. 5 représente la réception d’entrées de recherche initiales et d’entrées de recherche prédites pendant la mise en œuvre du procédé de la FIG. 2 ;
[0031] La FIG. 6 représente l’achèvement de l’interface d’entrée de recherche de la FIG. 3A ;
[0032] La FIG. 7 représente les résultats de recherche générée via la mise en œuvre du procédé de la FIG. 2 ;
[0033] La FIG. 8 représente la transmission d’une requête finale pendant la mise en œuvre du procédé de la FIG. 2 ;
[0034] La FIG. 9 représente un procédé pour contrôler la génération de résultats de recherche à entrées multiples, conformément à un autre mode de réalisation ; et [0035] La FIG. 10 représente un procédé de récupération d’éléments multimédias à titre préventif pour les utiliser dans la présentation des résultats de recherche.
DESCRIPTION DETAILLEE [0036] La FIG. 1 représente un système 100 pour contrôler la génération de résultats de recherche à entrées multiples. Le système 100 comprend un serveur 104 configuré pour recevoir des requêtes de résultats de recherche, par exemple via un réseau 150 provenant d’au moins un dispositif de calcul client 154 (également appelé dans les présentes dispositif client 154 simplement dispositif 154). En réponse à de telles requêtes, le serveur 104 est configuré pour générer des résultats de recherche et fournir des résultats de recherche au dispositif client 154 via le réseau 150.
[0037] Les résultats de recherche, dans le présent exemple, sont des résultats de recherche liés au voyage. En particulier, les exemples ci-après illustrent les résultats de recherche en tant que vols. Cela signifie que chaque résultat de recherche correspond à des vols partir d’un aéroport d’origine donné vers un aéroport de destination donnée, à une date spécifique et à un prix spécifique. Divers autres types de résultats de recherche sont également examinés, y compris d’autres résultats de recherche liés au voyage (par ex., les voyages basés au sol tel que les voyages en train ou en bus, les réservation d’hôtel, les locations de véhicules et similaires) ainsi que les résultats de recherche non liés au voyage.
[0038] Comme cela sera évident pour les hommes de métier, la génération de résultats de recherche tels que ceux susmentionnés au niveau du serveur 104 requiert typiquement la correspondance d’entrées multiples fournies par le dispositif client 154 avec un nombre important de résultats potentiels, qui peuvent eux-mêmes faire l’objet de changements fréquents. La génération desdits résultats de recherche peut par conséquent être suffisamment complexe et durer un laps de temps non négligeable pour être achevée au niveau du serveur 104. Par conséquent, un laps de temps non négligeable peut s’écouler entre la soumission d’une requête de recherche par le dispositif client 154 et la réception et la présentation des résultats de recherche au niveau du dispositif client 154.
[0039] Un laps de temps non négligeable, dans le contexte de la présente révélation, indique un laps de temps aisément perceptible par un opérateur humain du dispositif client 154. Par exemple, un laps de temps négligeable peut être tout laps de temps supérieur à une seconde environ. Par exemple, l’achèvement des recherches de vols peut nécessiter entre 2 et 20 secondes environ. On comprendra que les laps de temps susmentionnés sont fournis simplement à titre d illustration ; les fonctionnalités du système 100 peuvent également être déployées pour générer des résultats de recherche exigeant des laps de temps inférieurs ou supérieurs aux exemples susmentionnés.
[0040] Comme nous le verrons plus en détail ci-dessous, le serveur 104 et le dispositif client 154 sont configurés pour interagir dans le but de permettre l’initiation du calcul de recherche au niveau du serveur 104 à titre préventif dans certaines conditions. L’initiation à titre préventif du calcul de recherche au niveau du serveur 104 peut en revanche réduire le laps de temps qui s écoule entre la soumission d’une requête de recherche au niveau du dispositif client 154, et la réception et la présentation des résultats de recherche, tout en minimisant les effets négatifs sur la précision des résultats de recherche.
[0041] Avant d’aborder les fonctionnalités du système 100 plus en détail, certains composants du serveur 104 et du dispositif client 154 seront décrits. Le serveur 104 inclut au moins un processeur 108, tel qu’une unité centrale de traitement (CPU) ou similaire. Le processeur 108 est interconnecté à une mémoire 112, mis en œuvre sous la forme d'un support lisible par ordinateur non transitoire approprié (par ex. une association appropriée de sous30 systèmes de mémoire volatile et non volatile y compris un(e) ou plusieurs mémoire(s) à accès aléatoire (RAM), mémoire(s) à lecture seule (ROM), mémoire(s) à lecture exclusivement, programmable et effaçable électriquement (EEPROM), mémoire(s) flash, stockage(s) informatique(s) magnétique(s) et similaire(s). Le processeur 108 et la mémoire 112 sont généralement constitués d’un ou de plusieurs circuits intégrés (IC).
[0042] Le processeur 108 est également interconnecté à une interface de communication 116, qui permet au serveur 104 de communiquer avec d’autres dispositifs de calcul (par ex., le dispositif client 154) via le réseau 150. L’interface de communication 116 inclut par conséquent tout composant nécessaire (par ex., les contrôleurs d’interface réseau (NIC), les unités radio et similaires) pour communiquer via le réseau 150. Les composants spécifiques de l’interface de communication 116 sont sélectionnés sur la base de la nature du réseau 150, qui inclut toute combinaison appropriée de réseaux locaux câblés et/ou sans fil et de réseaux étendus câblés et/ou ou son fils Le serveur 104 peut également inclure des dispositifs d’entrée et de sortie connectés au processeur 108, tels que des claviers, des souris, des écrans, et similaires (non représentés).
[0043] Les composants du serveur 104 susmentionnés peuvent être déployés dans une seule enceinte ou dans un format distribué. Dans certains exemples, le serveur 104 inclut une pluralité de processeurs qui partagent la mémoire 112 et l’interface de communication 116 ou qui ont chacun des mémoires et des interfaces de communication associées distinctes.
[0044] La mémoire 112 stocke une pluralité d’instructions de programmation lisibles par ordinateur, exécutables par le processeur 108, sous la forme d’applications diverses, incluant une application de recherche 120. Comme le comprendront les hommes de métier, le processeur 108 exécute les instructions de l’application 120 (et de toute autre application appropriée) dans le but de mettre en œuvre diverses actions définies par les instructions contenues dans les présentes. Dans la description ci-dessous, le processeur 108, et plus généralement le serveur 104, sont considérés comme configurés pour mettre en œuvre ces actions. On comprendra qu’ils sont ainsi configurés via l’exécution (par le processeur 108) des instructions des applications stockées dans la mémoire 112. L’exécution de l’application de recherche 120, comme nous le verrons ci-après, configure le serveur 104 pour recevoir des requêtes de recherche à partir du dispositif client 154, générer des résultats de recherche basés sur les requêtes, et retourner les résultats de recherche au dispositif client 154.
[0045] La mémoire 112 stocke également une base de données 124 de données primaires à partir desquelles les résultats de recherche susmentionnés sont générés. La base de données 124, dans le présent exemple, contient par conséquent des attributs définissant une pluralité de vols (par ex., les lieux d’origine et de destination, les dates, les identifiants de compagnies aériennes, les tarifs, les sièges disponibles et similaires). Comme cela sera évident pour les hommes de métier, le serveur 104 peut également être configuré pour mettre à jour périodiquement la base de données et refléter les changements de données de planification, de disponibilité, de prix et similaires. Le format spécifique des enregistrements dans la base de données 124, ainsi que la gestion de ces enregistrements, ne sont pas abordés en détail dans la présente invention.
[0046] Le dispositif client 154 est mis en œuvre comme l’un quelconque d’une variété de dispositifs informatiques, y compris un ordinateur de bureau, un ordinateur portable, un smartphone, une tablette électronique et similaire. Le dispositif client 154 peut également être mis en œuvre, dans certains exemples, sous la forme d’un kiosque, par exemple déployé dans un aéroport et exploité par une compagnie aérienne.
[0047] Le dispositif client 154 inclut au moins un processeur 158, tel qu’une unité centrale de traitement (CPU) ou similaire. Le processeur 158 est interconnecté à une mémoire 162, mis en œuvre sous la forme d'un support lisible par ordinateur non transitoire approprié (par ex. une association appropriée de sous-systèmes de mémoire volatile et non volatile y compris un(e) ou plusieurs mémoire(s) à accès aléatoire (RAM), mémoire(s) à lecture seule (ROM), mémoire(s) à lecture exclusivement, programmable et effaçable électriquement (EEPROM), mémoire(s) flash, stockage(s) informatique(s) magnétique(s) et similaire(s). Le processeur 158 et la mémoire 162 sont généralement constitués d’un ou plusieurs circuit(s) intégré(s) (IC).
[0048] Le processeur 158 est également interconnecté à une interface de communication 166, qui permet au dispositif client 154 de communiquer avec d’autres dispositifs de calcul (par ex., le serveur 104) via le réseau 150. L’interface de communication 166 inclut par conséquent tout composant nécessaire (par ex., les contrôleurs d’interface réseau (NIC), les unités radio et similaires) pour communiquer via le réseau 150. Les composants spécifiques de l’interface de communication 166 sont sélectionnés sur la base de la nature du réseau 150, qui inclut toute combinaison appropriée de réseaux locaux câblés et/ou sans fil, et de réseaux étendus câblés et/ou sans fil.
[0049] Le dispositif client 154 inclut également au moins un ensemble d’entrées 167 configuré pour recevoir l’entrée (par ex., à partir d’un opérateur du dispositif client 154) et fournir l’entrée au processeur 158. L’ensemble d’entrées 167 inclut l’un quelconque, ou toute combinaison appropriée, des éléments suivants : un clavier, une souris, un écran tactile, un microphone et similaire. Le dispositif client 154 inclut par ailleurs un dispositif d’affichage 168 interconnecté au processeur 158 et contrôlable par le processeur pour présenter diverses informations (y compris, comme nous le verrons ci-après, des champs d’entrée sélectionnables via l’ensemble d’entrées 167, ainsi que des résultats de recherche reçue en provenance du serveur 104) à un opérateur du dispositif client 154. Le dispositif client 154 inclut également, dans certains exemples, les ensembles de sorties supplémentaires au-delà du positif d’affichage 168, tel qu’un haut-parleur (non représenté).
[0050] La mémoire 162 stocke une pluralité d’instructions de programmation lisibles par ordinateur, exécutables par le processeur 158, sous la forme de diverses applications, y compris une application de recherche client 170. Comme le comprendront les hommes de métier, processeur 158 exécutent les instructions de l’application 170 (et de toute autre application appropriée) dans le but de mettre en œuvre diverses actions définies par les instructions contenues dans les présentes. Dans la description ci-dessous, le processeur 158, et plus généralement le dispositif client 154, sont considérés comme configurés pour mettre en œuvre ces actions. On comprendra qu’ils sont ainsi configurés via l’exécution (par le processeur 158) les instructions des applications stockées dans la mémoire 162. L’exécution de l’application 170, comme nous le verrons ci-après, configure le dispositif client 154 pour recevoir des entrées et transmettre les requêtes au serveur 104, et pour recevoir les résultats de recherche provenant du serveur 104 et présenter les résultats de recherche via le dispositif d’affichage 168. L’application 170, dans certains exemples, est une application dédiée qui configure le dispositif client 154 pour interagir avec le serveur 104 aux fins spécifiques d’obtention des résultats de recherche. Dans d’autres exemples, l’application 170 est un navigateur Web qui permet au dispositif client 154 à la fois d’interagir avec le serveur 104 et d’interagir avec divers autres dispositifs de calcul (non représentés).
[0051] Faisant maintenant référence à la FIG. 2, l’exploitation du système 100 sera décrite plus en détail. Spécifiquement, la FIG. 2 illustre un procédé 200 de contrôle de la génération de résultats de recherche. Le procédé 200 sera décrit conjointement avec sa mise en œuvre au sein du système 100. Ainsi, dans la discussion ci-dessous certains blocs du procédé 200 sont mis en œuvre par le dispositif client 154 via l’exécution de l’application 170 par le processeur 158, tandis que d’autres blocs du procédé 200 sont mis en œuvre par le serveur 104 via l’exécution de l’application 120 par le processeur 108.
[0052] Au bloc 205, le dispositif client 154 est configuré pour attendre une entrée, par ex., provenant de l’ensemble d’entrées 167. Avant le bloc 205, le dispositif client 154 est présumé avoir récupéré (par ex., à partir des données stockées en association avec l’application 170 ou en demandant une page Web à partir du serveur 104) et présenté sur le dispositif d’affichage 168 une pluralité de sollicitations pour les entrées de recherche. Faisant maintenant référence à la 10 FIG. 3A, un exemple d’interface de recherche tel que généré sur le dispositif d’affichage 168 avant la mise en œuvre du bloc 105 est illustré.
[0053] L’interface de recherche représentée à la FIG. 3A, inclut une pluralité de sollicitations d’entrée sélectionnables (via l’ensemble d’entrées 167), chacune correspondant à une entrée de recherche à fournir au serveur 104. Dans l’exemple représenté, l’interface inclut des sollicitations 15 correspondant à un ensemble de sept entrées de recherche. Les sollicitations sont généralement appelées « champs » dans la discussion ci-dessous, bien que l’on comprendra qu’une grande variété de formats (par ex., des champs texte, des menus déroulants et similaires) puissent être employés pour collecter les entrées de recherche. En particulier, un premier champ de recherche 300 inclut une paire de boutons radio sélectionnables (typiquement de manière 20 mutuellement exclusive, de telle sorte qu'un seul des boutons à la fois puisse être marqué comme étant sélectionné) pour indiquer si un vol de retour ou un vol aller simple doit être requis. Les deuxième et troisième champs de recherche 304 et 308 sont des champs dans lesquels un lieu d’origine et un lieu de destination, respectivement, sont fournis. Les quatrième et cinquième champs 312 et 316 sont des champs dans lesquels les dates de départ et de retour (si applicable, 25 sur la base d’une sélection associée au champ 300), respectivement, sont fournis. Les sixième et septième champs 320 et 324 sont des champs dans lesquels un nombre de passagers adultes et un nombre de passagers enfants, respectivement, sont fournis. Comme cela sera évident pour les hommes de métier, divers autres champs de recherche peuvent également être fournis. Par exemple, l’interface de recherche peut inclure d’autres champs pour l’une quelconque ou 30 plusieurs indications pour savoir s’il faut ou non limiter la recherche aux vols sans escale (c.-à-d.
directs) uniquement, à une préférence de classe, une préférence de compagnie aérienne et similaire. L’interface inclut également un élément de recherche sélectionnable 328 pour soumettre une requête de recherche au serveur 104 contenant les entrées fournies dans les champs 300-324.
[0054] Faisant à nouveau référence à la FIG. 2, dans le présent exemple, le dispositif client 154 est par conséquent configuré pour attendre la réception d’une entrée associée à l’interface représentée à la FIG. 3. Le dispositif client 154 configurer pour effectuer différentes actions en fonction du fait de savoir si l’entrée reçue au bloc 205 est une entrée intermédiaire ou une commande de recherche. Une commande de recherche est une sélection de l’élément de recherche 328. En d’autres termes, une commande de recherche est une instruction explicite reçue au niveau de l’ensemble d’entrées 167 pour transmettre une requête de recherche au serveur 104.
[0055] Une entrée intermédiaire, d’un autre côté, est la réception de données dans l’un quelconque des champs 300-324. Par exemple, le dispositif client 154 peut être configuré pour détecter une entrée intermédiaire en recevant des données d’entrée correspondant à un champ particulier, suivi par la sélection (par ex., mise au point sur) d’un champ différent. Ainsi, la réception d’un lieu d’origine dans le champ 304, suivie d’un changement de mise au point sur le champ du lieu de destination 308 (par ex., via l’activation d’une touche « Tab » sur un clavier, la sélection du champ 308 avec une souris ou un écran tactile), est détectée comme étant une entrée intermédiaire. Divers autres mécanismes de détection des entrées intermédiaires seront également évidents pour les hommes de métier.
[0056] Faisant à nouveau référence à la FIG. 2, le traitement des entrées intermédiaires sera abordé dans un premier temps. Suite à la réception d’une entrée intermédiaire, le dispositif client 154 est configuré pour poursuivre avec le bloc 210. La FIG. 3B illustre la réception d’un exemple d’entrée intermédiaire, sous la forme d’un lieu d’origine fourni dans le champ 304, suivi d’un mouvement de mise au point vers le champ 308, indiquant l’achèvement de l’entrée de recherche dans le champ 304. Au bloc 210, le dispositif client 154 est configuré pour transmettre une requête intermédiaire contenant un sous-ensemble d’entrées de recherche intermédiaires au serveur 104, via le réseau 150. La requête intermédiaire contient non seulement l’entrée de recherche reçue le plus récemment au bloc 205 mais également toute autre entrée reçue en rapport avec les champs 300-324.
[0057] Faisant référence à la FIG. 4, un exemple de requête intermédiaire 400 est illustré. Elle est transmise du dispositif client 154 au serveur 104 via le réseau 150. La requête intermédiaire 400 inclut un sous-ensemble d’entrées de recherche intermédiaires 408, incluant à la fois le lieu d’origine susmentionné et le type de voyage « retour » représenté, comme sélectionné dans le champ 300 aux FIG. 3A et 3B. La requête intermédiaire 400 peut également inclure un drapeau ou un autre indicateur 404 distinguant la requête intermédiaire d’une requête de recherche finale découlant de la sélection de l’élément de recherche 328. Dans le présent exemple, la requête 400 inclut simplement le terme « intermédiaire » en tant qu’indicateur. Cependant, dans d’autres exemples, divers autres moyens de distinguer les requêtes intermédiaires des requêtes finales peuvent être déployés. Par exemple, les requêtes finales peuvent inclure un indicateur, tandis que les requêtes intermédiaires peuvent omettre l’indicateur.
[0058] Dans le présent exemple, la requête intermédiaire 400 est envoyée automatiquement par le dispositif client au bloc 210. Cela signifie qu’aucune autre entrée n’est requise pour initier la transmission de la requête intermédiaire 400, au-delà de la réception d’une entrée intermédiaire au bloc 205. Le dispositif client 154 n’a par ailleurs pas besoin de présenter toute indication (par ex., via le dispositif d’affichage 168 et autres ensembles de sorties) selon laquelle la requête intermédiaire 400 a été transmise. Cela signifie que la requête intermédiaire 400 peut être envoyée de manière invisible un opérateur du dispositif client 154.
[0059] Avant la transmission susmentionnée de la requête intermédiaire, le serveur 104 est configuré pour attendre la réception d’une requête au bloc 215. Le serveur 104, comme cela apparaîtra dans la discussion ci-dessous, est configuré pour traiter les requêtes intermédiaires telles que la requête 400 différemment des requêtes de recherche finales découlant de la sélection de l’élément de recherche 328 au niveau du dispositif client 154. Ainsi, en réponse à la réception de la requête intermédiaire 400 au bloc 215, le serveur 104 poursuit avec le bloc 220.
[0060] Au bloc 220, le serveur 104 est configuré pour recevoir la requête intermédiaire 400 et pour générer un sous-ensemble d’entrées de recherche prédites basées sur les entrées intermédiaires 408 contenues dans la requête intermédiaire 400. Comme cela apparaîtra à partir de la requête intermédiaire 400 représentée à la FIG. 4, le sous-ensemble d’entrées intermédiaires reçu en provenance du dispositif client 154 peut être incomplet. Cela signifie que les entrées intermédiaires ne peuvent pas inclure des valeurs pour chacun d’un ensemble d’entrées requis par le serveur 104 pour initier une recherche. Par exemple, l’ensemble d’entrées requises pour initier une recherche au niveau du serveur 104 peut inclure des entrées de recherche correspondant aux champs 300, 304, 308, 312 et 316 au moins, comme représenté à la FIG. 3. Le sous-ensemble d’entrées prédites généré au bloc 220 inclut des entrées prédites correspondant à celles de l’ensemble d’entrées de recherche requis pour lesquels la requête intermédiaire n’inclut aucune valeur. Cela signifie que la requête intermédiaire peut inclure un sous-ensemble d’entrées requises, et que les entrées prédites représentent le reste des entrées requises. Les entrées prédites peuvent également inclure des entrées supplémentaires (par ex., des valeurs correspondant aux champs de code de type passager 320 et 324) qui ne sont pas obligatoires pour initier une recherche.
[0061] Divers mécanismes sont envisagés pour générer les entrées de recherche prédites. En général, les résultats de recherche prédits sont générés par le serveur 104 et basés non seulement sur les entrées de recherche intermédiaires mais aussi sur les enregistrements historiques de requêtes de recherche finales. De tels enregistrements peuvent être stockés dans la base de données 124 ou un autre référentiel approprié dans la mémoire 112.
[0062] Dans certains exemples, le serveur 104 est configuré pour générer les entrées prédites en comparant les entrées intermédiaires, individuellement ou en ensembles, aux enregistrements historiques afin d’identifier ceux contenant les entrées de recherche qui correspondent aux entrées intermédiaires. Ainsi, dans le présent exemple, dans lequel les entrées intermédiaires inclut le type de voyage « retour » et le lieu d’origine « Toronto (YYZ) », le serveur 104 peut être configuré pour identifier tous les enregistrements historiques ayant le même type de voyage et lieu d’origine. Chacun des champs restants non pris en compte par les entrées intermédiaires (là encore, individuellement ou en tant qu’ensemble), le serveur 104 est ensuite configuré pour identifier la valeur la plus courante ou une pluralité de valeurs dans les enregistrements historiques identifiés.
[0063] Par exemple, les enregistrements historiques peuvent contenir une pluralité d’enregistrements ayant le même type de voyage et lieu d’origine, comme représenté à la FIG. 4. Le serveur 104 peut être configuré pour classer cette pluralité d’enregistrements historiques selon le lieu de destination le plus courant. Le classement peut révéler, par exemple, qu’une première portion (par ex., 75 %) les enregistrements a une destination donnée (par ex., Boston (BOS)), une autre portion (par ex., 10 %) des enregistrements a une autre destination (par ex., Montreal (YUL)), etc. Le serveur 104 peut être configuré pour répéter le même processus pour chacune des autres entrées à prédire.
[0064] Comme cela apparaîtra, pour certaines entrées prédites telles que les dates de départ et de retour (c.-à-d. Les entrées correspondant aux champs 312 et 316), le serveur 104 est configure pour ne pas sélectionner les dates apparaissant dans les enregistrements historiques, mais les dates (dates de départ et/ou de retour) basées sur celles qui se trouvent dans les enregistrements historiques. Par exemple, une première portion des enregistrements historiques (par ex., 60 %) ayant des types de voyages et des lieux d’origine correspondant à ceux de la requête 400 peuvent avoir des dates de départ situées vingt jours après la réception de la requête de recherche historique au niveau du serveur 104. Ainsi, le serveur 104 peut être configuré pour sélectionner, comme date de départ prédite correspondant à la requête 400, une date située vingt jours après la date de réception de la requête 400.
[0065] Le serveur 104 est configuré, dans certains exemples, pour mettre en œuvre des mécanismes plus complexes de génération des entrées de recherche prédites au bloc 220. Par exemple, le serveur 104 peut stocker un modèle prédictif configuré antérieurement (c.-à-d. formé sur un échantillon des enregistrements historiques susmentionnés) pour générer les entrées de recherche prédites. La génération au bloc 220 est mise en œuvre, dans certains exemples, en traitant les entrées intermédiaires reçues dans la requête intermédiaire via le modèle susmentionné. L’un quelconque d'une variété de modèles d'apprentissage machine peut être employé, y compris par exemple un modèle arborescent aléatoire. La génération d’entrées de recherche prédites peut être employée en exécutant une pluralité desdits modèles chacun configuré pour générer une entrée de recherche prédite en particulier (par ex., date de retour), chacun employant différents sous-ensembles d’entrées intermédiaires pour générer l’entrée de recherche prédite correspondante.
[0066] La génération des entrées de recherche prédites au bloc 220 peut également se baser sur des données supplémentaires au-delà des entrées intermédiaires elles-mêmes. De telles données supplémentaires peuvent inclure des données dérivées des entrées intermédiaires. Par 30 exemple, les données supplémentaires peuvent inclure le continent sur lequel le lieu d’origine se situe, un jour de la semaine où la requête 400 a été reçue, un jour de la semaine d’une date de départ intermédiaire, ou similaire. D’autres exemples de données supplémentaires dérivées de la requête intermédiaire 400 incluent l’heure du jour où la requête 400 a été reçue.
[0067] La génération d’entrées de recherche prédites au bloc 220 peut également se baser sur d’autres données non directement dérivées des entrées intermédiaires. Par exemple, le dispositif client 154 peut être configuré pour transmettre serveur 104, avec ou en tant que partie de la requête intermédiaire 400, un cookie ou d’autres données stockées dans la mémoire 162 contenant les entrées stockées à partir de recherches antérieures requises par le dispositif client 154. Par exemple, le dispositif client 154 peut être configuré pour stocker toute entrée 10 saisie dans les champs 320 et 324, pour un rapport futur au serveur 104 (bien qu’il ne soit pas sous la forme d une entrée intermédiaire). D’autres exemples de données non directement dérivées des entrées intermédiaires dans la requête 400 mais employé dans la génération au bloc 220 incluent un emplacement d’opérateur, par exemple sur la base d’une adresse réseau du dispositif client 154, ou sur une adresse postale d’opérateur stockée au niveau du dispositif 15 client 154 et fournie au serveur 104 avec la requête 400.
[0068] Le Tableau 1 ci-dessous illustre le résultat de la mise en œuvre du bloc 220. En particulier, le Tableau 1 adresse à la fois la liste des entrées intermédiaires reçues dans la requête 400, et les entrées prédites générées sur la base des entrées intermédiaires. On comprendra que le serveur 104 n’a pas besoin de stocker les entrées intermédiaires et prédites 20 dans le format représenté ci-dessous.
Tableau 1 : Entrées intermédiaires et prédites
Champ d’entrée Valeur
Entrées intermédiaires Type de voyage Retour
Lieu d’origine Toronto (YYZ)
Entrées prédites 1 Lieu de destination Boston (BOS)
Date de Départ 6 mai 2018
Date de retour 8 mai 2018
Passagers adultes 1
Passagers enfants 0
[0069] L’ensemble d’entrées de recherche contenant à la fois les entrées intermédiaires et les 25 entrées prédites est appelé ci-après ensemble initial d’entrées de recherche.
[0070] Au bloc 220, le serveur 104 est également configuré pour générer un niveau de confiance correspondant aux entrées de recherche prédites. Le niveau de confiance en général fournit une évaluation de l’exactitude des entrées de recherche prédites. En prenant l’exemple cidessus dans lequel les entrées de recherche prédites sont générées par la sélection des entrées provenant des enregistrements historiques qui correspondent aux entrées intermédiaires, le niveau de confiance associée au lieu de destination Boston (BOS) est de 75 %. Le serveur 104 est configuré pour générer votre confiance agrégé pour l’intégralité du sous-ensemble d’entrées de recherche prédites, par exemple sur la base de niveaux de confiance individuels ,pour chaque entrée de recherche prédite. Le niveau de confiance agrégé peut être, par exemple, la moyenne de chaque niveau de confiance individuel. Lorsque les résultats de recherche prédites sont générés à l’aide d’un modèle arborescent aléatoire, par exemple, niveau de confiance pour chaque entrée prédite peut être la fraction d’arbres de classification qui ont voté pour l’entrée prédite sélectionnée. Le niveau de confiance généré au bloc 220 peut par conséquent être un agrégat des fractions susmentionnées.
[0071] Le serveur 104 est ensuite configuré, au bloc 225, pour déterminer si le niveau de confiance généré au bloc 220 pour le sous-ensemble d’entrées de recherche prédites dépasse un seuil configuré antérieurement (par ex., stocké en tant que réglage dans l’application 120). Comme nous le verrons ci-après, un ou plusieurs sous-ensemble(s) d’entrée de recherche prédites qui dépasse(nt) le seuil du niveau de confiance est/sont employé(s) dans la génération des résultats de recherche. Parce que la génération de résultats de recherche consomme une portion des ressources de calcul finies du serveur 104, le seuil est fixé pour limiter l’engagement des ressources de calcul uniquement aux ensembles d’entrées prédites qui sont susceptibles d’être suffisamment précises. Par exemple, le seuil peut être fixé à 50 % (ou toute expression équivalente de la même fraction). Comme cela apparaîtra, une grande variété d’autres seuils peut être employée, sur la base de l’une quelconque ou de plusieurs ressources de calcul disponible(s) sur le serveur 104, le volume des requêtes traitées par le serveur, la complexité du processus de recherche lui-même, et similaire.
[0072J Lorsque la détermination au bloc 225 est négative, les entrées de recherche prédites sont rejetées, et le serveur 104 retourne au bloc 215 pour attendre une autre requête, sans initier une opération de recherche. Comme il est maintenant apparent, la prochaine requête peut être une autre requête intermédiaire avec des entrées supplémentaires qui permettent la génération d’un ensemble d’entrées prédites plus précis au bloc 220 (c.-à-d. ayant un niveau de confiance plus élevé).
[0073] Si la détermination au bloc 225 est affirmative, le serveur 104 poursuit avec le bloc 230. Au bloc 230, le serveur 104 est configuré pour initier une opération de recherche et générer des résultats de recherche prédits basés sur les entrées initiales susmentionnées (c’est-àdire la combinaison des entrées de recherche intermédaires et des entrées de recherche prédites). L’opération de recherche elle-même est mise en œuvre conformément à tout mécanisme de recherche approprié, une variété de ceux-ci apparaîtra aux hommes de métier. En général, le serveur 104 est configuré pour sélectionner un ou plusieurs enregistrement(s) dans la base de données 124 satisfait/satisfont les critères fixés par les entrées initiales. Les enregistrements sélectionnés sont les résultats de recherche prédits (appelés prédits et découlant de l’opération menant à leur sélection étant basés sur les entrées de recherche prédites).
[0074] Dans certaines mises en œuvre du procédé 200, la génération d’entrées de recherche prédites au bloc 220 peut conduire à une pluralité de sous-ensembles d’entrées de recherche prédites, dont plus d’une peut atteindre le seuil évalué au bloc 225. Dans de tels exemples, le serveur 104 est configuré pour initier une opération de recherche distincte au bloc 230 pour chacun des sous-ensembles des entrées recherche prédites. Ainsi, au bloc 230 le serveur 104 génère une pluralité d’ensembles de résultats de recherche prédits, chacun correspondant à un ensemble différent d’entrées initiales.
[0075] Lorsqu’une pluralité de sous-ensembles d’entrées de recherche prédites est générée au bloc 220 et atteint le seuil au bloc 225, le serveur 104 est configuré, dans certains exemples, pour sélectionner uniquement une portion des sous-ensembles d’entrées de recherche prédites pour laquelle initier l’exécution d’une opération de recherche au bloc 230. Par exemple, si quatre sous-ensembles d’entrées de recherche prédites générées au bloc 220 atteignent le seuil au bloc 225, le serveur 104 peut être configuré pour sélectionner uniquement les trois sousensembles d’entrées de recherche prédites ayant les plus hauts niveaux de confiance pour être utilisés au bloc 230. En d’autres termes, le serveur 104 peu initier un certain nombre d’opérations de recherche au bloc 230 égales au nombre de sous-ensembles d’entrées de recherche prédites passant l’évaluation au bloc 225, jusqu’à un nombre maximum configurable.
[0076] Au bloc 235, le serveur 104 est configuré pour transmettre les résultats de recherche prédits et l’ensemble correspondant d’entrées initiales au dispositif client 154. Faisant référence à la FIG. 5, les résultats de recherche prédits sont représentés comme étant sélectionnés dans la base de données 124 via l’exécution de l’application 120 et transmis via le réseau 150 au dispositif client 154. Le dispositif client 154, au bloc 240, est configuré pour recevoir et stocker les résultats de recherche prédits et les entrées initiales dans la mémoire 162. Par exemple, la FIG. 5 illustre un ensemble de résultats de recherche prédits 500 et les entrées initiales 504 employées pour générer les résultats de recherche prédits 500. Les entrées initiales 504, par exemple, peuvent contenir les entrées initiales représentées ci-dessus dans le Tableau 1. Lorsque plus d’un ensemble de résultats de recherche prédits est généré au bloc 230, chacun des ensembles de résultats de recherche prédits est transmis au dispositif client 154 pour stockage dans la mémoire 162, avec l’ensemble correspondant d’entrées initiales.
[0077] Suite à la transmission des résultats de recherche prédits et des entrées initiales au bloc 235, le serveur 104 retourne au bloc 215 pour attendre d’autres requêtes. Par ailleurs, suite à la réception et au stockage des résultats de recherche prédits et des entrées initiales au bloc 240, le dispositif client 154 est configuré pour retourner au bloc 205 et attendre une autre entrée. On note que les résultats de recherche prédits 500 ne s’affichent pas sur le dispositif client 154 en réponse à leur réception au bloc 240. Cela signifie que la réception et le stockage des résultats de recherche prédits est invisible pour l’opérateur 154 dans le présent exemple.
[0078] Comme il est maintenant apparent, des entrées intermédiaires supplémentaires sont typiquement reçues au niveau du dispositif client 154 (par ex., le remplissage du champ du lieu de destination 308). De telles entrées intermédiaires supplémentaires amènent le dispositif client 154 à émettre des requêtes intermédiaires supplémentaires au serveur 104, qui configuré pour traiter les requêtes d’entrée supplémentaires, comme décrit ci-dessus. En effet, le serveur 104 peut traiter une pluralité de requêtes intermédiaires en parallèle. Par exemple, une requête intermédiaire suivante peut être reçue au bloc 220 avant que la génération des résultats de recherche pour la requête intermédiaire précédente ne soit terminée au bloc 230. Le serveur 104 est configuré pour poursuivre la transmission des résultats de recherche prédits et des entrées initiales au bloc 235, à mesure que les résultats de recherche prédits deviennent disponibles (via l’achèvement des opérations de recherche correspondantes). Entre temps, le dispositif client 154 peut être configuré pour stocker uniquement les résultats de recherche prédits les plus récemment reçus, mais il est de préférence configuré pour stocker tous les ensembles de résultats de recherches prédits reçues jusqu’à ce qu’une commande de recherche soit reçue au bloc 205.
[0079] Lorsqu’une commande de recherche est reçue par le dispositif client 154 au bloc 205, par exemple, sous la forme d’une sélection de l’élément de recherche 328 représenté à la FIG. 3 via l’ensemble d’entrées 167, le dispositif client 154 poursuit avec le bloc 245. Au bloc 245, le dispositif client 154 est configuré pour comparer l’ensemble final d’entrées présent dans les champs 300-324, au moment où la commande de recherche est reçue avec les entrées initiales 504 stockées dans la mémoire 162. Ainsi, le dispositif client 154 est configuré pour récupérer les entrées initiales 504 et comparer les entrées initiales 504 aux entrées finales. La FIG. 6 illustre un ensemble d’entrées finales reçues au niveau du dispositif client 154 via l’ensemble d’entrées 167. Comme cela est visible à la FIG. 6, les entrées finales correspondent aux entrées initiales 504 (représentées au Tableau 1). Faisant à nouveau référence à la FIG. 2, la détermination au bloc 245 est par conséquent affirmative. Le dispositif client 154 poursuit directement avec le bloc 270, au niveau duquel les résultats de recherche stockés dans la mémoire 162 en association avec les entrées initiales correspondantes (c.-à-d. les résultats de recherche prédits 500, dans le présent exemple) sont présentés sur le dispositif d’affichage 168.
[0080] La FIG. 7 illustre la présentation des résultats de recherche 700-1, 700-2 et 700-3 (trois résultats de recherche 700 sont représentés, mais on comprendra que tout nombre de résultats de recherche peut être présenté) sur le dispositif d’affichage 168. Les résultats de recherche incluent, par exemple, les lieux d’origine de destination correspondant à ceux des entrées initiales et finales, ainsi que les heures et dates de départ et d’arrivée et les prix. Des attributs supplémentaires peuvent être présentés en association avec les résultats de recherche, tels que les noms de compagnies aériennes, des escales si applicables, et similaires. Comme il est maintenant apparent, suite à une détermination affirmative au bloc 245 les résultats de recherche 700 peuvent être affichés sans autre requête au serveur 104.
[0081] La présentation des résultats de recherche peut inclure la présentation des éléments multimédias supplémentaires 704, tels que des publicités, des images, et similaires. Les éléments 704 peuvent également être récupérés de manière préventive dans le serveur 104, comme discuté ci-dessous plus en détail.
[0082] Faisant à nouveau référence à la FIG. 2, lorsque la détermination au bloc 245 est négatif, parce que les entrées initiales 504 ne correspond pas aux entrées finales ou parce qu’aucune entrée initiale n’est stockée dans la mémoire 162, le dispositif client 154 poursuit avec le bloc 250. Le dispositif client 154 est également configuré, suite à une détermination négative au bloc 245, pour rejeter toute entrée initiale et résultat de recherche prédit correspondant stocké dans la mémoire 162.
[0083] Au bloc 250, le dispositif client 154 est configuré pour transmettre une requête finale au serveur 104, contenant les entrées finales. La FIG. 8 illustre la transmission d’une requête finale 800 du dispositif client 154 au serveur 104. Comme on le voit également sur la FIG. 8, les résultats de recherche prédits 500 et les entrées initiales 504 ont été supprimés suite à la détermination négative au bloc 245. La requête finale inclut un ensemble d’entrées finales 804 (dans lesquelles les dates de départ et de retour ne correspondent pas à celles prédites dans les entrées initiales 504 susmentionnées). La requête finale 800 inclut également une indication 808 distinguant la requête finale 800 des requêtes intermédiaires, telles que la requête 400 mentionnée plus tôt. L’indicateur 808 peut prendre une grande variété de formes et marque généralement la requête 800 comme étant une instruction de recherche explicite donnée au serveur 104, plutôt qu’une requête qui peut ou ne peut pas conduire à la mise en œuvre d’une recherche.
[0084] Faisant à nouveau référence à la FIG. 2, le serveur 104 est configuré pour recevoir la requête finale au bloc 255 et initier une opération de recherche unique pour générer les résultats de recherche finaux correspondant aux entrées finales. Au bloc 260, le serveur 104 est configuré pour envoyer les résultats de recherche finaux au dispositif client 154 pour qu’ils soient stockés et affichés. Le dispositif client 154, à son tour, est configuré pour recevoir et stocker les résultats de recherche finaux au bloc 265, et pour poursuivre ensuite avec le bloc 270 et afficher les résultats de recherche stockés (c.-à-d. les résultats de recherche finaux reçus au bloc 265).
[0085] Typiquement, une commande de recherche ne sera pas reçue au bloc 205 jusqu’à ce qu’une pluralité de requêtes intermédiaires ait été envoyée via des mises en œuvres successives du bloc 210. Cependant, dans certaines conditions la commande de recherche peut être reçue avant que les réponses à toute requête intermédiaire n’aient été reçues au bloc 240, par exemple si les champs 300-324 représentés à la FIG. 3 sont complétés et l’élément de recherche 328 est sélectionné en moins de temps que nécessaire au serveur 104 pour achever la génération des résultats de recherche prédits pour la première requête intermédiaire. Dans de telles situations, suite à la réception d’une commande de recherche au bloc 205, la détermination au bloc 245 est négative, parce qu’aucune entrée initiale n’est stockée dans la mémoire 162.
[0086] Le dispositif client 154 est par conséquent configuré pour transmettre la requête finale au bloc 250. Cependant, les réponses aux requêtes intermédiaires sont susceptibles d’arriver au niveau du dispositif client 154 avant les résultats de recherche finaux. Ainsi, après l’envoi d’une requête finale au bloc 250, le dispositif client 154 peut être configuré pour répéter la détermination au bloc 245 en réponse à la réception de tout résultat de recherche et ensemble associé d’entrées initiales.
[0087] Le dispositif client 154 est également configuré, dans certains exemples, pour fournir un retour au serveur 104 en réponse à une détermination négative au bloc 245. Par exemple, le dispositif client 154 peut être configuré pour transmettre une copie des entrées initiales qui ne correspondaient pas aux entrées finales avec la requête finale au bloc 250. Le serveur 104 peut être configuré, à son tour, pour mettre à jour le modèle prédictif (par ex., arborescence aléatoire susmentionnée) sur la base de l’indication selon laquelle la prédiction des entrées de recherche était un échec. Le serveur 104 est également configuré pour stocker les entrées de recherche finale dans les enregistrements historiques mentionnés précédemment. Pour permettre encore la mise à jour des enregistrements historiques, le dispositif client 154 peut être configuré pour transmettre les entrées finales au serveur 104 même suite à une détermination affirmative au bloc 245. Les entrées finales peuvent être transmises au serveur dans ce cas avec une indication selon laquelle la transmission est faite uniquement à des fins de journalisation (c.-à-d. qu’aucun résultat de recherche n’est requis).
[0088] Faisant référence à la FIG. 9, un autre procédé 900 de contrôle de la génération des résultats de recherche est illustré. Plusieurs blocs du procédé 900 sont mis en œuvre comme décrit ci-dessus en rapport avec le procédé 200 ; ces blocs sont numérotés avec le préfixe « 9 » et un suffixe à deux chiffres correspondant au suffixe à deux chiffres du bloc correspondant dans le procédé 200. Par exemple, le bloc 905 est mis en œuvre par le dispositif client 154, comme décrit ci-dessus en rapport avec le bloc 205. D’autres blocs du procédé 900 présentent des exemples dans lesquels le procédé 900 diverge du procédé 200 ; ces blocs ne partagent pas un suffixe avec tout autre bloc du procédé 200.
[0089] Au bloc 905, le dispositif client 154 est configuré pour attendre l’entrée, comme discuté plus tôt. A réception d’une entrée intermédiaire, le dispositif client 154 transmet une requête intermédiaire au bloc 910, comme également discuté ci-dessus en rapport avec le procédé 200. Cependant, suite à la transmission de la requête intermédiaire, le dispositif client 154 retourne au bloc 905 ; comme on le verra ci-dessous, le dispositif client 154 ne reçoit pas les résultats de recherche prédits avant de recevoir une commande de recherche.
[0090] Le serveur 104 est configuré pour recevoir la requête intermédiaire au bloc 915 et pour poursuivre avec le bloc 920, au niveau duquel les entrées de recherche prédites et un niveau de confiance correspondant sont générés. Le serveur 104 est ensuite configuré pour déterminer si le niveau de confiance atteint un seuil préconfiguré au bloc 925. Comme exposé ci-dessus en rapport avec le procédé 200, la détermination au bloc 925 est négative, le serveur 104 poursuit avec le bloc 915 et lorsque la détermination au bloc 925 est affirmative, le serveur 104 poursuit avec le bloc 930. Au bloc 930, le serveur 104 initier une ou plusieurs opérations de recherche, comme exposé ci-dessus en rapport avec le bloc 230.
[0091] Au bloc 931, plutôt que d’envoyer les résultats de recherche prédits et les entrées initiales correspondantes au dispositif client 154, comme dans le procédé 200, le serveur 104 est configuré pour stocker les résultats de recherche prédits et les entrées initiales correspondantes dans la mémoire 112. Le serveur 104 retourne alors au bloc 915 pour attendre une autre requête.
[0092] Le dispositif client 154, en réponse à la réception d’une commande de recherche au bloc 905, envoie une requête finale au bloc 950, contenant les entrées finales. En d’autres termes, le dispositif client 154 envoie la requête finale pour chaque commande de recherche reçue, plutôt que comme dans le procédé 200 lorsque les entrées finales ne correspondent pas aux entrées initiales. En effet, le dispositif client 154 dans le procédé 900 ne peut pas évaluer si les entrées initiales et finales correspondent, dans la mesure où les entrées initiales ne sont pas envoyées au dispositif client 154.
[0093] Lorsque la requête reçue au bloc 915 est une requête finale, le serveur 104 poursuit avec le bloc 946. Au bloc 946, une détermination est faite pour savoir si les entrées finales reçues du dispositif client 154 correspondent aux entrées initiales stockées au bloc 93 L Cela signifie que la détermination au bloc 946 est similaire à celle mise en œuvre au bloc 245 du procédé 200, sauf que la détermination est mise en œuvre par le serveur 104 plutôt que par le dispositif client 154.
[0094] Lorsque la détermination au bloc 946 est négative (c.-à-d. lorsque les entrées de recherche initiales stockées au bloc 931 ne correspondent pas aux entrées finales), le serveur 104 est configuré pour supprimer les résultats de recherche prédits et initier une opération de recherche au bloc 950 pour générer les résultats de recherche finaux. Les résultats de recherche finaux sont stockés dans la mémoire 112 pour être transmis au dispositif client 154 au bloc 961. Lorsque la détermination au bloc 946 est affirmative, le serveur 104 poursuit directement avec le bloc 961, au niveau duquel les résultats de recherche stockée sont transmis au dispositif client 154, pour réception et affichage par le dispositif client 154au bloc 971. Comme il est maintenant apparent, le serveur 104 est également configuré pour mettre à jour les enregistrements historiques, et en option le modèle prédictif employé au bloc 925, basés sur la requête finale et le résultat de la détermination au bloc 946.
[0095] Comme noté précédemment, la présentation des résultats de recherche au niveau du dispositif client 154 peut inclure l’affichage des éléments multimédias, tels que les éléments 704 représentés à la FIG. 7. Des éléments multimédias 704 peuvent être récupérés dans le serveur 104 à titre préventif dans certains exemples. Faisant référence à la FIG. 10, un procédé 1000 de récupération à titre préventif des éléments multimédias pour une utilisation dans la présentation des résultats de recherche est représentée telle que mise en œuvre par le serveur 104.
[0096] En particulier, le serveur 104 est configuré, au bloc 1005, à réception d’une requête intermédiaire provenant du dispositif client 154, pour générer un niveau de confiance préliminaire indiquant la probabilité selon laquelle le dispositif client 154 générera une requête finale. Le niveau de confiance préliminaire peut être généré en employant des mécanismes similaires à ceux décrits conjointement avec le bloc 220. Le niveau de confiance préliminaire peut être généré, dans certains exemples, sur la base du nombre d’entrées intermédiaires contenues dans la requête intermédiaire. Par exemple, le niveau de confiance préliminaire peut être fixé à 70 %, si la requête intermédiaire contient une seule entrée, et à 100 %, si la requête intermédiaire contient plus d’une entrée. Dans d’autres exemples, les enregistrements historiques stockés par le serveur 104 peuvent également inclure des recherches incomplètes (par ex., si une ou plusieurs requêtes intermédiaires a/ont été reçue(s), mais aucune requête finale). Le serveur 104 peut par conséquent déterminer la confiance préliminaire basée sur toute combinaison appropriée de facteurs, y compris les entrées, l’heure de la journée et similaire (par ex., basés sur un modèle prédictif tel que l’arborescence aléatoire susmentionnée).
[0097] Le serveur 104 est ensuite configuré, au bloc 1010, pour déterminer si le niveau de confiance préliminaire atteint un seuil préliminaire configurable. Le seuil préliminaire est fixé à un niveau indiquant une probabilité suffisante selon laquelle le dispositif client 154 soumettra une requête finale pour justifier l’engagement des ressources de calcul et la bande passante de réseau requise pour transmettre les éléments 704 au dispositif client 154.
[0098] Lorsque la détermination au bloc 1010 est négative, le serveur 104 retourne au bloc 215 ou 915, sans mettre en œuvre le bloc 220 ou 920. Cependant, si la détermination au bloc 1010 est affirmative, le serveur 104 au bloc 1015 récupère et envoie un ou plusieurs élément(s) multimédia(s) ( par ex., les éléments multimédias 704) au dispositif client 154 pour stockage en attendant la réception d’une requête finale. Le serveur 104 poursuit alors avec le serveur 220 ou 920.
[0099] Des variations de ce qui précède sont envisagées. Par exemple, le dispositif client 154 peut être configurés pour retarder la transmission d’une requête intermédiaire jusqu’à ce qu’un nombre minimum d’entrées de recherche ait été reçu, ou jusqu’à ce qu’une ou plusieurs entrées spécifiques ai(en)t été reçue(s) (par ex., le lieu d’origine et la date de départ).
[00100] Dans d’autres exemples, le serveur 104 peut être configuré pour stocker les résultats de recherche prédits et les utiliser au cas où les entrées de recherche prédites correspondantes ne correspondent pas aux entrées de recherche finales. Par exemple, si les entrées finales ne correspondent pas aux entrées prédites, mais uniquement si les entrées de code de type de passager ont été prédites de manière incorrecte, le serveur 104 peut être capable de réutiliser les résultats de recherche, qui ne dépendent pas typiquement du code de type de passager. La génération des résultats de recherche finaux requiert ensuite uniquement une évaluation de disponibilité des résultats de recherche déjà sélectionnés (qui correspondent à toutes les entrées finales restantes).
[00101] Dans d’autres exemples encore, le seuil appliqué aux blocs 225 et 925 peut être ajusté de manière dynamique par le serveur 104. Par exemple, les enregistrements historiques peuvent inclure des indications dont les recherches conduisent à des réservations (c.-à-d. des billets de vol achetés). Lorsque les entrées de recherches prédites générées aux blocs 220 et 920 correspondent aux entrées de recherche associée à une probabilité élevée de conduire à une réservation, le serveur 104 peut-être configuré pour baisser le seuil appliqué aux blocs 225 ou 925, dans le but d’augmenter le nombre d’ensembles de résultats de recherche prédits préparés pour le dispositif client 154.
[00102] Les personnes de métier comprendront que dans certains modes de réalisation, les 10 fonctionnalités des applications 120 et 170 peuvent être mises en œuvre à l’aide d’éléments matériels ou micrologiciels préprogrammés (par ex., des circuits intégrés spécifiques (ASIC), des mémoires à lecture exclusivement, programmable et effaçable électriquement (EEPROM), des matrices prédiffusées programmables par l'utilisateur (FGPA), etc.) ou autres composants liés.
[00103] La portée des revendications ne doit pas être limitée aux modes de réalisation exposés dans les exemples ci-dessus mais l'interprétation la plus large cohérente avec la description dans son ensemble doit être donnée.

Claims (13)

  1. REVENDICATIONS
    1. Un procédé de contrôle de la génération de résultats de recherche basés sur une pluralité d’entrées de recherche, le procédé comprenant, au niveau du serveur :
    la réception d’une requête intermédiaire contenant un sous-ensemble d’entrées de recherche intermédiaires ;
    la génération, basée sur le sous-ensemble d’entrées de recherche intermédiaires :
    un sous-ensemble d’entrées de recherche prédites ; et un niveau de confiance associé au sous-ensemble d’entrées de recherche prédites ; lorsque le niveau de confiance dépasse un seuil, l’initiation d’une opération de recherche pour générer des résultats de recherche prédits basés sur un ensemble d’entrées initiales y compris (i) le sous-ensemble d’entrées de recherche intermédiaires et (ii) le sous-ensemble d’entrées de recherche prédites ;
    lorsque le niveau de confiance ne dépasse pas le seuil, l’attente d’une requête supplémentaire sans initier l’opération de recherche ; et la transmission, à un dispositif client, d’une réponse de recherche basée sur au moins l’une parmi la requête intermédiaire et la requête supplémentaire.
  2. 2. Le procédé selon la revendication 1, dans lequel la transmission de la réponse de recherche comprend :
    en réponse à la génération de résultats de recherche prédits, la transmission des résultats de recherche prédits au dispositif client pour être affichés au niveau du dispositif client suite à la réception d’un ensemble d’entrées finales correspondant à l’ensemble initial d’entrées au niveau du dispositif client.
  3. 3. Le procédé selon la revendication 1 ou la revendication 2, dans lequel la transmission de la réponse de recherche comprend :
    en réponse à la génération des résultats de recherche prédits, le stockage des résultats de recherche prédits en attendant la réception d’une requête finale.
  4. 4. Le procédé selon la revendication 3, comprenant par ailleurs :
    la réception d’une requête finale contenant un ensemble d’entrées finales ;
    en réponse à la détermination selon laquelle l’ensemble d’entrées finales correspond à l’ensemble d’entrées initiales, la transmission des résultats de recherche prédits ; et en réponse à la détermination selon laquelle l’ensemble d’entrées finales ne correspond pas à l’ensemble d’entrées initiales, l’initiation d’une autre opération de recherche pour générer les résultats de recherche finaux sur la base de l’ensemble d’entrées finales, et la transmission des résultats de recherche finaux.
  5. 5. Le procédé selon la revendication 3 ou la revendication 4, dans lequel la requête finale contient par ailleurs une commande de recherche indiquant une sélection d’un élément de recherche au niveau du dispositif client.
  6. 6. Le procédé selon la revendication 1 ou la revendication 2 comprenant par ailleurs :
    la réception de la requête supplémentaire ;
    lorsque la requête supplémentaire est une autre requête intermédiaire contenant un sousensemble d’autres entrées de recherche intermédiaires, la répétition de la génération d’entrées de recherche prédites et un niveau de confiance associé aux entrées de recherche prédites ; et lorsque la requête supplémentaire est une requête finale contenant un ensemble d’entrées finales, l’initiation d’une autre opération de recherche pour générer des résultats de recherche finaux basés sur l’ensemble d’entrées finales, et la transmission des résultats de recherche finaux.
  7. 7. Le procédé selon l’une quelconque des revendications 1 à 6, dans lequel le sous-ensemble d’entrées intermédiaires correspond à un premier sous-ensemble de champs d’entrées prédéfinis présentés au niveau du dispositif client ; et dans lequel le sous-ensemble d’entrées prédites correspond à un sous-ensemble restant des champs d’entrée prédéfinis.
  8. 8. Le procédé selon l'une quelconque des revendications 1 à 7, comprenant par ailleurs :
    en réponse à la réception de la requête intermédiaire, avant de générer le sous-ensemble d’entrées de recherche prédites, la récupération d’un élément multimédia et la transmission de l’élément multimédia au dispositif client pour qu’il soit stocké au niveau du dispositif client en attendant la réception des résultats de recherche.
  9. 9. Le procédé selon la revendication 8 comprenant par ailleurs :
    avant de récupérer et de transmettre l’élément multimédia, la génération d’un niveau de confiance préliminaire indiquant une probabilité selon laquelle le dispositif client générera une requête finale ; et la mise en oeuvre de la récupération et de la transmission uniquement lorsque le niveau de confiance préliminaire dépasse un seuil préliminaire.
  10. 10. Le procédé selon l’une quelconque des revendications 1 à 9, dans lequel la génération du sous-ensemble d’entrées prédites et du niveau de confiance inclut la récupération d’un enregistrement historique des requêtes reçues et des réponses correspondantes, et la comparaison de l’enregistrement historique au sous-ensemble d’entrées intermédiaires.
    1L Un procédé de contrôle de la fourniture des résultats de recherche basés sur une pluralité d’entrées de recherche, le procédé comprenant, au niveau d’un dispositif client :
    la réception d’un sous-ensemble d’entrée de recherches intermédiaires ;
    la génération et l’envoi d’une requête intermédiaire contenant le sous-ensemble d’entrées de recherche intermédiaires ;
    en réponse à l’envoi de la requête intermédiaire, la réception et le stockage :
    d’un ensemble d’entrées initiales y compris (i) le sous-ensemble d’entrées de recherche intermédiaires et (ii) un sous-ensemble d’entrées de recherche prédites ; et les résultats de recherche prédits correspondant à l’ensemble d’entrées initiales ;
    la réception d’un ensemble d’entrées finales ; et la présentation d’une réponse de recherche sur un dispositif d’affichage du dispositif client, selon que l’ensemble d’entrées finales correspond à l’ensemble d’entrées initiales.
  11. 12. Le procédé selon la revendication 11, dans lequel la présentation de la réponse de recherche comprend :
    la récupération de l’ensemble d’entrées initiales dans le stockage ;
    la comparaison de l’ensemble d’entrées initiales à l’ensemble d’entrées finales ;
    en réponse à la détermination selon laquelle l’ensemble d’entrées finales correspond à l’ensemble d’entrées initiales, la récupération des résultats de recherche prédits et la présentation des résultats de recherche prédits sur le dispositif d’affichage ;
    en réponse à la détermination selon laquelle l’ensemble d’entrées finales ne correspond pas à l’ensemble d’entrées initiales, l’envoi d’une requête finale contenant les entrées finales et la réception et la présentation sur le dispositif d’affichage, en réponse à la requête finale, des résultats de recherche finaux.
  12. 13. Un serveur pour contrôler la génération de résultats de recherche basés sur une pluralité d’entrées de recherche, le serveur comprenant :
    une mémoire ;
    une interface de communication ; et un processeur interconnecté à la mémoire et à l’interface de communication, et configuré pour mettre en œuvre le procédé de l’une quelconque des revendications 1 à 10.
  13. 14. Un dispositif client pour contrôler la génération des résultats de recherche basés sur une pluralité d’entrées de recherche, le dispositif client comprenant :
    un dispositif d’entrée ;
    une mémoire ;
    une interface de communication ; et un processeur interconnecté à la mémoire et à l’interface de communication, et configuré pour mettre en œuvre le procédé de l’une quelconque des revendications 11 à 12.
FR1853428A 2018-04-19 2018-04-19 Controle de la generation des resultats de recherche a entrees multiples Expired - Fee Related FR3080472B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1853428A FR3080472B1 (fr) 2018-04-19 2018-04-19 Controle de la generation des resultats de recherche a entrees multiples
CN201980029270.6A CN112041835A (zh) 2018-04-19 2019-04-18 控制多输入搜索结果的生成
PCT/EP2019/060169 WO2019202112A1 (fr) 2018-04-19 2019-04-18 Commande de génération de résultats de recherche à entrées multiples
EP19717946.8A EP3782047A1 (fr) 2018-04-19 2019-04-18 Commande de génération de résultats de recherche à entrées multiples
US17/047,233 US11416508B2 (en) 2018-04-19 2019-04-18 Controlling generation of multi-input search results

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1853428A FR3080472B1 (fr) 2018-04-19 2018-04-19 Controle de la generation des resultats de recherche a entrees multiples
FR1853428 2018-04-19

Publications (2)

Publication Number Publication Date
FR3080472A1 true FR3080472A1 (fr) 2019-10-25
FR3080472B1 FR3080472B1 (fr) 2021-06-04

Family

ID=63294333

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1853428A Expired - Fee Related FR3080472B1 (fr) 2018-04-19 2018-04-19 Controle de la generation des resultats de recherche a entrees multiples

Country Status (5)

Country Link
US (1) US11416508B2 (fr)
EP (1) EP3782047A1 (fr)
CN (1) CN112041835A (fr)
FR (1) FR3080472B1 (fr)
WO (1) WO2019202112A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791904B (zh) * 2021-09-13 2022-11-08 北京百度网讯科技有限公司 用于处理查询输入的方法、装置、设备和可读存储介质
US20240119058A1 (en) * 2022-10-10 2024-04-11 Zoom Video Communications, Inc. Contextual comparision engine for historical record search and review

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343551B1 (en) * 2002-11-27 2008-03-11 Adobe Systems Incorporated Autocompleting form fields based on previously entered values
US20110047120A1 (en) * 2004-06-22 2011-02-24 Kamvar Sepandar D Anticipated Query Generation and Processing in a Search Engine
US20110055202A1 (en) * 2009-08-31 2011-03-03 Heimendinger Scott M Predictive data caching
US20110258183A1 (en) * 2004-06-22 2011-10-20 Gibbs Kevin A Autocompletion of Partial Search Query with Return of Predicted Search Results

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8626763B1 (en) 1997-05-22 2014-01-07 Google Inc. Server-side suggestion of preload operations
US20050108069A1 (en) 2003-11-18 2005-05-19 Tomer Shiran System and a method for prefetching travel information
US7711587B2 (en) 2007-01-05 2010-05-04 Ita Software, Inc. Providing travel information using cached query answers
US20090043741A1 (en) * 2007-08-09 2009-02-12 Dohyung Kim Autocompletion and Automatic Input Method Correction for Partially Entered Search Query
US20090112975A1 (en) 2007-10-31 2009-04-30 Microsoft Corporation Pre-fetching in distributed computing environments
US8799795B2 (en) 2009-02-03 2014-08-05 Google Inc. User interface for travel planning
US8560562B2 (en) * 2010-07-22 2013-10-15 Google Inc. Predictive query suggestion caching
US8700653B2 (en) 2010-08-19 2014-04-15 Google Inc. Predictive query completion and predictive search results
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US20140181085A1 (en) * 2012-12-21 2014-06-26 Commvault Systems, Inc. Data storage system for analysis of data across heterogeneous information management systems
US9251478B2 (en) 2013-07-29 2016-02-02 Amadeus S.A.S. Processing information queries in a distributed information processing environment
US10255365B2 (en) * 2014-08-29 2019-04-09 Facebook, Inc. Priming search results on online social networks
US12056131B2 (en) * 2015-05-11 2024-08-06 Microsoft Technology Licensing, Llc Ranking for efficient factual question answering
US10200824B2 (en) * 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
EP3276510B1 (fr) * 2016-07-28 2020-03-11 Amadeus S.A.S. Recherche d'ensembles de données électroniques
US10223604B2 (en) * 2016-11-06 2019-03-05 Microsoft Technology Licensing, Llc Live video analytics at scale

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343551B1 (en) * 2002-11-27 2008-03-11 Adobe Systems Incorporated Autocompleting form fields based on previously entered values
US20110047120A1 (en) * 2004-06-22 2011-02-24 Kamvar Sepandar D Anticipated Query Generation and Processing in a Search Engine
US20110258183A1 (en) * 2004-06-22 2011-10-20 Gibbs Kevin A Autocompletion of Partial Search Query with Return of Predicted Search Results
US20110055202A1 (en) * 2009-08-31 2011-03-03 Heimendinger Scott M Predictive data caching

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IVAN T. BOWMAN ET AL: "Semantic Prefetching of Correlated Query Sequences", DATA ENGINEERING., 15 April 2007 (2007-04-15), US, pages 1284 - 1288, XP055535554, ISSN: 1063-6382, DOI: 10.1109/ICDE.2007.368994 *
KARTHIK RAMACHANDRA ET AL: "Holistic optimization by prefetching query results", PROCEEDINGS OF THE 2012 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, SIGMOD '12, 20 May 2012 (2012-05-20), New York, New York, USA, pages 133 - 144, XP055535544, ISBN: 978-1-4503-1247-9, DOI: 10.1145/2213836.2213852 *

Also Published As

Publication number Publication date
US20210034612A1 (en) 2021-02-04
FR3080472B1 (fr) 2021-06-04
EP3782047A1 (fr) 2021-02-24
US11416508B2 (en) 2022-08-16
CN112041835A (zh) 2020-12-04
WO2019202112A1 (fr) 2019-10-24

Similar Documents

Publication Publication Date Title
US10600004B1 (en) Machine-learning based outcome optimization
US9064212B2 (en) Automatic event categorization for event ticket network systems
US7761524B2 (en) Automatically generated subject recommendations for email messages based on email message content
US11645567B2 (en) Machine-learning models to facilitate user retention for software applications
US20210304078A1 (en) Utilizing contemporaneous transportation data from a transportation matching system to surface trending destinations in user interfaces
US20120323739A1 (en) Mapping descriptions
FR3084947A1 (fr) Systèmes et procédés de contrôle des mises à jour des données de réservation
FR3080472A1 (fr) Controle de la generation des resultats de recherche a entrees multiples
US20140075353A1 (en) System and method for document management
US20080077990A1 (en) File attachment processing method and system
CN109409419B (zh) 用于处理数据的方法和装置
US20190349329A1 (en) Response status management in a social networking environment
EP4047488A1 (fr) Lecture au niveau de la session de cohérence d'écritures parmi des versions de données numériques dans un réseau distribué
US20210326403A1 (en) Website creation from mobile device data
US20180122172A1 (en) Enriched polling user experience
US11119734B2 (en) Software detection and modification
US20210209616A1 (en) Crowd-driven data analysis and response management
US20140091928A1 (en) Detection, identification and integration of office squatters
US20190130443A1 (en) Usable interferences based on a user's updated digital profile
FR3070781A1 (fr) Identifiants bases sur une interrogation pour le suivi de reponses de sessions croisees
FR3079040A1 (fr) Systeme et procede de fourniture de produits
US11995131B2 (en) Document management platform
US20230206597A1 (en) Facilitating comparing (then, now, compare - thencomp) photo and / or video for viewing and sharing outcome / provide information
US20230412639A1 (en) Detection of malicious on-chain programs
US20230024135A1 (en) Intelligent keyword recommender

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20191025

PLFP Fee payment

Year of fee payment: 2

ST Notification of lapse

Effective date: 20191206

RN Application for restoration

Effective date: 20200123

FC Decision of inpi director general to approve request for restoration

Effective date: 20200213

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7