FR 3054762 A1 20180202 FR 1657261 A 20160728 1 EFFECTUER DES RECHERCHES DANS UN ENSEMBLE DE DONNÉES ÉLECTRONIQUES DOMAINE TECHNIQUE [0001] L'invention présente concerne de façon générale des ensembles de données électroniques et plus particulièrement, les systèmes, les procédés et les produits-programmes d'ordinateur pour effectuer des recherches et fournir des résultats à partir d'ensembles de données électroniques. CONTEXTE [0002] À la réception d'une requête de recherche de la part d'un utilisateur, un moteur de recherche conventionnel examine typiquement un ensemble de données électroniques pour déterminer les éléments de l'ensemble de données qui correspondent à la requête de recherche. Le moteur de recherche affiche ensuite les éléments identifiés pour l'utilisateur sous forme d'une liste sur le dispositif électronique de l'utilisateur. Cependant, comme l'ensemble de données dans lequel s'effectue la recherche est souvent très volumineux et de ce fait inclut souvent plusieurs éléments qui correspondent à la requête de recherche de l'utilisateur, la liste des éléments affichés sur le dispositif de l'utilisateur a tendance à être aussi très large. Par conséquent, le volume des données transmises et enregistrées sur le dispositif de l'utilisateur pour affichage de la liste est important, sans tenir compte du fait que plusieurs éléments dans la liste ne sont peut-être d'aucun intérêt pour l'utilisateur. Par ailleurs, certains des éléments qui intéressent l'utilisateur peuvent être affichés plus loin dans la liste, après plusieurs éléments pour lesquels l'utilisateur n'a aucun intérêt ; dans ce cas l'utilisateur se retrouve submergé et cesse de parcourir la liste avant d'atteindre les éléments intéressants. En outre, selon la place disponible à l'écran sur le dispositif de l'utilisateur, la liste affichée peut occuper la surface de l'écran ou être affichée en caractères de très petite taille pour loger sur la surface de l'écran ; quel que soit le cas, faire défiler la liste peut s'avérer très difficile. Ces problèmes sont particulièrement courants sur les dispositifs portables incluant typiquement un écran plus petit. [0003] Par conséquent des systèmes, des procédés et des produits-programmes d'ordinateur améliorés sont nécessaires pour effectuer des recherches dans des ensembles de données électroniques et pour apporter à l'utilisateur des résultats de recherche de plus en plus pertinents dans un format facilement lisible. 3054762 2 RÉSUMÉ [0004] Dans un mode de réalisation, un procédé pour effectuer des recherches dans un ensemble de données électroniques inclut la réception d'une requête de recherche pour ledit ensemble de données électroniques par un ou plusieurs processeurs et en provenance d'un dispositif client. En réponse à la réception de la requête de recherche, le procédé inclut la détermination par un ou plusieurs processeurs, de résultats pour la requête de recherche. Chacun des résultats inclut des données en provenance de l'ensemble de données électroniques. Par la suite, le procédé inclut la sélection, par un ou plusieurs processeurs, d'un premier résultat pour affichage sur le dispositif de l'utilisateur et la transmission, par un ou plusieurs processeurs, du premier résultat au dispositif client pour affichage par le dispositif client. Après la transmission du premier résultat au dispositif client, le procédé inclut la réception, par un ou plusieurs processeurs et en provenance du dispositif client, d'un refus du premier résultat de la part de l'utilisateur. Le refus inclut une justification du refus du premier résultat. En réponse à la réception du refus du premier résultat, sur la base de la justification du refus, le procédé inclut la sélection, par un ou plusieurs processeurs, d'un second résultat pour affichage par le dispositif client et la transmission, par un ou plusieurs processeurs, du second résultat au dispositif client pour affichage par le dispositif client. [0005] En réponse à la réception de la requête de recherche, le procédé peut aussi inclure la détermination d'un point de référence initial des données basé sur la requête de recherche. Par conséquent, la sélection du premier résultat pour affichage par le dispositif client peut inclure la détermination du résultat le plus proche du point de référence initial des données et la sélection du résultat qui est le plus proche du point de référence initial des données comme premier résultat. Par ailleurs la sélection du second résultat pour affichage par le dispositif client basé sur la justification du refus peut inclure, en réponse à la réception du refus, l'ajustement du point de référence initial des données sur la base de la justification, la détermination du résultat le plus proche du point de référence ajusté des données, n'ayant pas encore été transmises au dispositif client pour affichage et la sélection du résultat, n'ayant pas encore été transmis au dispositif client, pour affichage, qui est le plus proche du point de référence ajusté des données comme second résultat. [0006] Après la transmission du second résultat au dispositif client, le procédé peut aussi inclure la réception, en provenance du dispositif client, d'une indication que l'utilisateur est intéressé par le second résultat. En réponse à la réception de l'indication que l'utilisateur est intéressé par le second résultat, le procédé peut, par ailleurs, inclure l'ajout du second résultat à 3054762 3 une antémémoire des résultats qui intéressent l'utilisateur, la détermination des résultats qui n'ont pas encore été transmis au dispositif client et la transmission du résultat n'ayant pas encore été transmis au dispositif client pour affichage, qui est le plus proche du point de référence initial des données. [0007] Le Point de référence initial des données peut inclure des premières valeurs qui sont chacune associée avec une catégorie différente parmi deux ou plusieurs catégories et chacun des résultats peut inclure des attributs qui sont chacun associé à une catégorie différente parmi les catégories. Par conséquent, la détermination des résultats de la requête de recherche peut inclure l'affectation de secondes valeurs à chacun des résultats, dans laquelle chacune des secondes valeurs peut être associée à une catégorie différente parmi les catégories et peut être basée sur l'attribut du résultat lié à la catégorie associée. En outre, la détermination des résultats les plus proches du point de référence initial des données peut inclure, pour chacun des résultats, le calcul d'une première distance quadratique pondérée entre le point de référence initial des données et le résultat basé sur des premières valeurs du point de référence initial des données et des secondes valeurs affectées aux résultats, et la sélection du résultat dont la première distance quadratique pondérée est la plus basse comme résultat le plus proche du point de référence initial des données. [0008] Le procédé peut aussi inclure l'affectation d'une troisième valeur à chacune des catégories. La troisième valeur affectée à chaque catégorie peut indiquer l'importance de la catégorie pour l'utilisateur. Par conséquent le calcul de la première distance quadratique pondérée entre le point de référence initial des données et chacun des résultats peut, par ailleurs, être basé sur la troisième valeur affectée à chacune des catégories. [0009] La justification du refus peut être liée à l'une des catégories. Par conséquent la sélection du second résultat pour affichage par le dispositif client basé sur la justification du refus peut inclure l'augmentation de la troisième valeur affectée à la catégorie à laquelle se rapporte la justification du refus et la sélection du second résultat pour affichage par le dispositif client basé sur la troisième valeur augmentée. De plus la justification du refus peut indiquer qu'une des secondes valeurs affectées au premier résultat est trop basse. Par conséquent, la sélection du second résultat pour affichage par le dispositif client, sur la base de la justification du refus, peut inclure l'ajustement du point de référence initial des données en augmentant la première valeur associée à la catégorie qui est associée à la seconde valeur indiquée comme étant trop basse par la justification, le calcul d'une seconde distance quadratique pondérée entre le point de référence ajusté des données et chacun des résultats n'ayant pas encore été transmis au 3054762 4 dispositif client pour affichage, et la sélection du résultat dont la seconde distance quadratique pondérée est la plus basse comme second résultat. [0010] En réponse à la réception du premier résultat, le dispositif client peut être configuré pour afficher une interface graphique d'utilisateur pour le premier résultat sur un écran du dispositif client. L'interface graphique d'utilisateur peut inclure une pluralité d'icônes, chacune des icônes pouvant être associée à une catégorie différente parmi les catégories. L'interface graphique d'utilisateur peut aussi être configurée pour permettre à l'utilisateur de déplacer une des icônes sur une de deux ou de plusieurs portions de l'écran du dispositif client et la justification du refus du premier résultat peut être déterminée en fonction de la portion de l'écran où l'icône est déplacée. [0011] La requête de recherche peut inclure des critères de recherche et l'ensemble de données électroniques peut inclure des bases de données d'objets de donnée primaire, une base de données cache, et des bases de données d'information supplémentaire fournies par des tiers. Par conséquent, la détermination des résultats de la requête de recherche peut inclure le retrait, à partir des bases de données d'objets de donnée primaire, d'objets de donnée primaire sur la base des critères de recherche. Après la récupération des objets de donnée primaire, le procédé peut inclure le retrait, de la base de données cache, de données supplémentaires pour chaque objet de donnée primaire d'un premier sous-ensemble d'objets de donnée primaire. La base de données cache peut inclure des données supplémentaires récupérées lors d'une ou de plusieurs requêtes de recherche antérieures. Après que les données supplémentaires pour chaque objet de donnée primaire du premier sous-ensemble d'objets de donnée primaire sont récupérées de la base de données cache, le procédé peut inclure le retrait, à partir des bases de données d'information supplémentaire, pour chacun des objets de donnée primaire pour lesquels des données supplémentaires n'ont pas été récupérées dans la base de données cache. La méthode peut par ailleurs inclure la formulation de résultats basés sur les objets de donnée primaire et sur les données supplémentaires récupérées à partir de chacun des objets de donnée primaire. Chacun des résultats peut inclure au moins une portion de l'un des objets de donnée primaire et des données supplémentaires récupérées pour l'objet de donnée primaire. [0012] Dans un autre mode de réalisation, un procédé pour effectuer une recherche dans un ensemble de données électroniques inclut au moins un processeur et une mémoire stockant des instructions. En réponse à la réception d'une requête de recherche pour l'ensemble de données électroniques venant d'un dispositif client, les instructions, exécutées par au moins un processeur, amènent le système à déterminer des résultats pour la requête de recherche. Chacun 3054762 des résultats inclut des données de l'ensemble de données électroniques. Par la suite, les instructions amènent le système à sélectionner un premier résultat pour affichage par le dispositif client et à transmettre le premier résultat au dispositif client pour affichage par le dispositif client. Après la transmission du premier résultat au dispositif client et en réponse à la réception, venant du dispositif client, d'un refus de l'utilisateur pour le premier résultat, le refus du premier résultat incluant une justification du refus, les instructions amènent le système à sélectionner un second résultat basé sur la justification du refus, pour affichage par le dispositif client, et à transmettre le second résultat au dispositif client pour affichage par le dispositif client. [0013] En réponse à la réception d'une requête de recherche, les instructions peuvent, par ailleurs, lors de l'exécution, amener le système à déterminer un point de référence initial des données basé sur la requête de recherche. Par conséquent, les instructions peuvent amener le système à sélectionner le premier résultat pour affichage par le dispositif client en amenant le système à déterminer lequel des résultats est le plus proche du point de référence initial des données et à sélectionner le résultat le plus proche du point de référence initial des données comme premier résultat. En outre, les instructions peuvent amener le système à sélectionner le second résultat pour affichage par le dispositif client sur la base de la justification du refus en amenant le système, en réponse à la réception du refus, à ajuster le point de référence initial des données sur la base de la justification, à déterminer lequel des résultats, n'ayant pas encore été transmis au dispositif client pour affichage, est le plus proche du point de référence ajusté initial des données et à sélectionner le résultat, n'ayant pas encore été transmis au dispositif client pour affichage, qui est le plus proche du point de référence ajusté des données, comme second résultat. [0014] Après la transmission du second résultat au dispositif client, et en réponse à la réception en provenance du dispositif client d'un signal que l'utilisateur est intéressé par le second résultat, les instructions, lors de l'exécution, peuvent, par ailleurs, amener le système à ajouter le second résultat à une antémémoire des résultats qui intéressent l'utilisateur, à déterminer lequel des résultats, n'ayant pas encore été transmis au dispositif client pour affichage est le plus proche du point de référence ajusté des données et à transmettre au dispositif client pour affichage le résultat, n'ayant pas encore été transmis au dispositif client pour affichage, qui est le plus proche du point de référence ajusté des données. [0015] Le point de référence initial des données peut inclure des premières valeurs, chacune d'entre elles étant associée avec une de deux ou plusieurs catégories différentes, chacune étant associée à une catégorie différente parmi les catégories. Par conséquent les instructions 3054762 6 peuvent amener le système à déterminer les résultats pour la requête de recherche en amenant le système à affecter des secondes valeurs à chacun des résultats. Chacune des secondes valeurs peut être associée avec une catégorie différente parmi les catégories et peut être basée sur l'attribut du résultat qui est lié à la catégorie associée. Par ailleurs les instructions peuvent amener le système à déterminer lequel des résultats est le plus proche du point de référence initial des données en amenant le système à calculer, pour chacun des résultats, une première distance quadratique pondérée entre le point de référence initial des données et le résultat sur la base des premières valeurs du point de référence initial des données et des secondes valeurs affectées au résultat, et à sélectionner le résultat dont la première distance quadratique pondérée est la plus basse comme résultat le plus proche du point de référence initial des données. [0016] Les instructions, lors de l'exécution, peuvent par ailleurs amener le système à affecter une troisième valeur à chacune des catégories. La troisième valeur affectée à chaque catégorie peut indiquer l'importance de la catégorie pour l'utilisateur. Par conséquent les instructions peuvent amener le système à calculer la première distance quadratique pondérée entre le point de référence initial des données et chacun des résultats sur la base de la troisième valeur affectée à chacune des catégories. [0017] La justification du refus peut être liée à l'une des catégories. Par conséquent les instructions peuvent amener le système à sélectionner le second résultat pour affichage par le dispositif client sur la base de la justification du refus en amenant le système à augmenter la troisième valeur affectée à la catégorie visée par la justification du refus et à sélectionner le second résultat pour affichage par le dispositif client sur la base de la troisième valeur augmentée. En outre, la justification du refus peut indiquer qu'une des secondes valeurs affectées au premier résultat est trop basse. Par conséquent, les instructions peuvent amener le système à sélectionner le second résultat pour affichage par le dispositif client sur la base de la justification du refus, amenant le système à ajuster le point de référence initial des données en augmentant la première valeur qui est liée à la catégorie associée avec la seconde valeur indiquée par la justification comme étant trop basse, à calculer une seconde distance quadratique pondérée entre le point de référence ajusté des données et chacun des résultats n'ayant pas encore été transmis au dispositif client pour affichage, et à sélectionner le résultat dont la seconde distance quadratique pondérée est la plus basse comme second résultat. [0018] Dans encore un autre mode de réalisation, un produit-programme d'ordinateur inclut un support de stockage durable lisible par ordinateur et des instructions enregistrées sur le support de stockage durable lisible par ordinateur. Les instructions, lors de l'exécution par un ou 3054762 7 plusieurs processeurs d'un système, amènent le système, en réponse à la réception en provenance d'un dispositif client, d'une requête de recherche pour un ensemble de données électroniques, à déterminer des résultats pour la requête de recherche. Chacun des résultats inclut des données provenant de l'ensemble de données électroniques. Par la suite, les instructions amènent le système à sélectionner un premier résultat pour affichage par le dispositif client et à transmettre le premier résultat au dispositif client pour affichage par le dispositif client. Après la transmission du premier résultat au dispositif client et en réponse à la réception en provenance du dispositif client d'un refus de la part de l'utilisateur pour le premier résultat, le refus incluant une justification pour le refus du premier résultat, les instructions amènent le système à sélectionner un second résultat pour affichage par le dispositif client basé sur la justification du refus et à transmettre le second résultat au dispositif client pour affichage par le dispositif client. [0019] Le résumé ci-dessus apporte peut-être une vue d'ensemble simplifiée de certains des modes de réalisation de l'invention afin de donner une compréhension basique de certains aspects de l'invention discutée dans les présentes. Le résumé ne prétend pas apporter une vue globale extensive de l'invention et n'est pas destiné à identifier des éléments clés ou critiques quelconques ou à délimiter la portée de l'invention. Le seul but du résumé et de simplement présenter quelques concepts sous une forme simplifiée comme préambule à la description détaillée présentée ci-dessous. BRÈVE DESCRIPTION DES DESSINS [0020] Les modes de réalisation de l'invention présente seront mieux compris et seront appréciés plus pleinement grâce à la lecture de la description détaillée ci-après qui complète les dessins. [0021] La FIG. 1 est une vue schématique d'un environnement d'exploitation exemplaire qui inclut une pluralité de systèmes pour effectuer des recherches dans un ensemble de données électroniques. [0022] La FIG. 2 est une vue schématique d'un système informatique exemplaire de la fig. 1. [0023] La FIG. 3 est une vue schématique d'une architecture de traitement exemplaire qui peut être mis en oeuvre par un ou plusieurs des systèmes informatiques de la FIG. 1. [0024] La FIG. 4 est un diagramme séquentiel d'un procédé exemplaire pour le traitement d'une requête de recherche pour un ensemble de données électroniques qui peut être mis en oeuvre par l'architecture de traitement de FIG. 3. 3054762 8 [0025] La FIG. 5 est un diagramme séquentiel d'un procédé exemplaire pour l'affichage des résultats d'une requête de recherche pour un ensemble de données électroniques à un utilisateur qui peut être mis en oeuvre par l'architecture de traitement de la FIG.3. [0026] La FIG. 6 est un graphique exemplaire incluant un point de référence de données initiales et des résultats pour une requête de recherche pour un ensemble de données électroniques. [0027] La FIG. 7 et un graphique exemplaire incluant un point de référence ajusté des données et des résultats pour une requête de recherche pour un ensemble de données électroniques. [0028] La FIG. 8 est une vue d'une interface graphique d'utilisateur exemplaire qui peut être apportée par un ou plusieurs des systèmes informatiques de la FIG. 1. [0029] La FIG. 9 illustre une interaction exemplaire avec l'interface graphique d'utilisateur de la FIG. 8. DESCRIPTION DÉTAILLÉE [0030] Dans les présentes, sont décrits, des procédés et des produits-programmes informatiques pour effectuer des recherches dans des ensembles de données électroniques afin de déterminer des résultats pour une requête de recherche et de transmettre ces résultats à l'utilisateur. Cependant, plutôt que de présenter, selon la pratique traditionnelle, une large liste de résultats à l'utilisateur, ce qui peut submerger l'utilisateur et faire que des résultats pertinents soient négligés, les modes de réalisation décrits dans les présentes présentent un seul résultat à la fois à l'utilisateur. Pour chaque résultat affiché, l'utilisateur peut indiquer s'il est intéressé par le résultat. Si l'utilisateur signale qu'il n'est pas intéressé par un résultat donné, l'utilisateur peut alors expliquer pourquoi le résultat n'est pas satisfaisant. Le prochain résultat affiché pour l'utilisateur peut alors être ajusté en fonction de la justification fournie par l'utilisateur. De cette façon chaque résultat affiché peut-être déterminé de façon dynamique sur la base des saisies reçues d'un utilisateur, concernant un ou plusieurs résultats affichés précédemment, ce qui permet aux modes de réalisation de créer une expérience de plus en plus centrée et de plus en plus pertinente pour l'utilisateur pendant la recherche effectuée dans un large ensemble de données électroniques tout en réalisant des économies de ressources informatiques et en diminuant aussi le volume des données transmises au dispositif de l'utilisateur par le réseau. Ces modes de réalisation peuvent être particulièrement bénéfiques dans des situations impliquant des 3054762 9 dispositifs avec des écrans plus petits, tels que des téléphones mobiles et des tablettes, qui par nature ne sont généralement pas adaptés pour faire défiler de longues listes de résultats. [0031] Faisant maintenant référence aux dessins, la FIG. 1 illustre un environnement d'exploitation 10 qui peut inclure un dispositif client 12, un système de traitement de requêtes 14 et un ou plusieurs systèmes de fournisseurs de données 16. Chacun de ces systèmes peut être activé de façon communicative pour interagir les uns avec les autres via un réseau 24, tel qu'Internet. De plus, deux ou plusieurs des systèmes peuvent être combinés les uns aux autres. Par exemple, le système de traitement de requêtes 14 peut être hébergé sur un ou plusieurs des systèmes des fournisseurs de données 16. [0032] Le dispositif client 12 peut être un dispositif électronique qui permet à un utilisateur d'accéder à des informations et à des services à distance via Internet. En particulier, le dispositif client 12 peut inclure un navigateur et/ou une ou plusieurs applications qui permettent à l'utilisateur d'accéder au système de traitement des requêtes 14 et au système des fournisseurs de données 16. Des exemples, non limitatifs, d'un dispositif client 12 incluent un ordinateur de bureau, un ordinateur portable, ou un dispositif électronique mobile tel qu'un téléphone mobile ou une tablette qui peuvent inclure un écran plus petit limitant la capacité de l'utilisateur à faire défiler facilement une large liste de résultats pour une requête de recherche. [0033] Le système de traitement des requêtes 14 peut être configuré pour permettre à un utilisateur, par exemple avec le dispositif client 12, de présenter une requête de recherche pour un large ensemble de données électroniques qui peut être hébergé sur un ou plusieurs des systèmes de fournisseur de données 16. En particulier, un utilisateur peut utiliser le dispositif client 12 pour accéder à une interface graphique d'utilisateur (Graphic User Interface, ou une « GUI ») qui peut être stockée sur le système de traitement des requêtes 14 et/ou sur le dispositif client 12, pouvant ainsi définir et présenter la requête de recherche. La requête de recherche peut inclure une pluralité de critères de recherche définis par l'utilisateur via la GUI. En réponse à la réception de la requête de recherche, le système de traitement des requêtes 14 peut transmettre une demande de recherche aux systèmes de fournisseurs de données 16 pour des données associées aux critères de recherche de la requête de recherche. Par la suite, le système de traitement des requêtes 14 peut générer une pluralité de résultats pour la requête de recherche sur la base des données reçues des systèmes de fournisseurs de données 16. [0034] Vu que l'ensemble de données lié à la requête de recherche reçue peut être très large, le nombre de résultats générés par le système de traitement des requêtes 14 peut de même être large. Par exemple, lorsque la requête de recherche concerne une pluralité de 3054762 recommandations de voyage, le système de traitement des requêtes 14 peut générer pas loin de huit cents résultats environ. Bien sûr, l'utilisateur n'est vraisemblablement pas intéressé par l'ensemble des huit cents résultats générés par le système de traitement des requêtes 14 et l'utilisateur ne voudra probablement pas parcourir les huit cents résultats sur le dispositif client 12. Ceci est particulièrement vrai lorsque l'écran du dispositif client 12 est d'une taille limitée telle que l'affichage des huit cents résultats produirait une interface graphique d'utilisateur encombrante et/ou que la tâche de parcourir les huit cents résultats serait difficile et considérable, ce qui, comme décrit ci-dessus, pourrait amener plusieurs résultats intéressants à être négligés. [0035] Dans ce but, une approche conventionnelle pour l'affichage d'une large liste de résultats pour un utilisateur via un dispositif client est de classer les résultats selon un critère prédéterminé tel que le prix et ensuite d'afficher des résultats classés. Cependant, cette approche produit encore un grand nombre de résultats difficiles à parcourir pour l'utilisateur et certains résultats intéressants dont le prix est plus élevé risquent encore d'être négligés par l'utilisateur. En outre, l'approche conventionnelle manque de mécanismes permettant de reclasser les résultats de façon dynamique sur la base des saisies de l'utilisateur relatives à un des résultats (p. ex., une saisie indiquant qu'un résultat n'intéresse pas l'utilisateur pour une raison donnée), ce qui signifie que l'utilisateur va devoir parcourir une longue série de résultats non pertinents et inintéressants avant d'arriver à un résultat qui intéresse l'utilisateur. [0036] Afin d'optimiser l'usage de l'écran du dispositif client 12 et d'améliorer la pertinence et l'efficacité de la recherche, le système de traitement des requêtes 14 peut être configuré pour transmettre un résultat déterminé à un certain moment au dispositif client 12 pour affichage Plus spécifiquement, le système de traitement des requêtes 14 peut transmettre un résultat particulier à un dispositif client 12 qui peut ensuite afficher le résultat pour l'utilisateur et permettre à l'utilisateur d'indiquer si le résultat affiché est intéressant pour l'utilisateur. C'est uniquement après que l'utilisateur fournit un tel retour d'information que le système de traitement des requêtes 14 transmet un autre résultat au dispositif client 12 pour affichage. De cette façon, l'utilisateur n'est pas découragé par la longue liste de résultats qu'il doit parcourir et l'écran du dispositif client 12 n'est pas encombré par l'affichage d'un grand nombre de résultats en même temps. En outre, parce qu'un seul résultat est transmis et affiché par le dispositif client 12 à la fois, le dispositif client 12 est en mesure de réaliser des économies de ressources. En particulier, plutôt que de recevoir, d'enregistrer et de traiter des données représentant une liste entière de résultats pour une requête de recherche, le dispositif client 12 n'a besoin de conserver et de traiter des données que pour chaque résultat affiché. Ainsi, même si plusieurs résultats sont 3054762 11- au final transmis et affichés sur le dispositif client 12, le volume de données globales enregistrées et traitées par le dispositif client 12 est toujours moindre que le volume de données qui auraient éié traitées et stockées si l'ensemble des résultats déterminés par le système de traitement des requêtes était transmis et affiché par le dispositif client 12. [0037] De plus, le système de traitement des requêtes 14 peut utiliser une saisie d'utilisateur reçue pour un résultat affiché, ce qui peut indiquer, comme cela a été expliqué ci-dessus, si le résultat affiché présente un intérêt pour l'utilisateur, afin de déterminer le prochain résultat à transmettre au dispositif client 12 pour affichage. En particulier la saisie de l'utilisateur peut expliquer pourquoi l'utilisateur n'est pas intéressé par un résultat donné et le système de traitement des requêtes 14 peut sélectionner de façon dynamique le prochain résultat à transmettre au dispositif client 12 pour affichage en fonction de la justification donnée. De cette façon, les résultats fournis au dispositif client 12 pour affichage deviennent de plus en plus pertinents pour l'utilisateur au fur et à mesure que l'utilisateur continue à fournir des saisies par l'intermédiaire du dispositif client 12. [0038] Les systèmes des fournisseurs de données 16 qui sont utilisés pour répondre à la requête de recherche envoyée au dispositif client 12 peuvent inclure les systèmes d'un ou de plusieurs fournisseurs de données. En particulier, en réponse à la réception d'une requête de recherche venant du dispositif client 12, le système de traitement des requêtes 14 peut communiquer avec les systèmes des fournisseurs de données 16 pour déterminer la pluralité de résultats pour la requête de recherche. Par exemple, dans un mode de réalisation, la requête de recherche peut être une requête pour une pluralité de recommandations de voyages. Dans ce cas, les systèmes des fournisseurs de données 16 peuvent inclure un système qui fournit des données concernant la disponibilité des voyages, tel qu'un système de distribution globale (Global Distribution System, ou « GDS ») et peut aussi inclure des systèmes supplémentaires qui collectent et fournissent des données supplémentaires aux données de disponibilité du voyage, tels que des systèmes incluant des moteurs de recherche d'images, des moteurs de recherche de cartes et des moteurs de recherche concernant la météo. [0039] Faisant maintenant référence à la FIG. 2, le dispositif client 12, le système de traitement des requêtes 14 et les systèmes des fournisseurs de données 16 de l'environnement d'exploitation 10 peuvent être implémentés sur un ou plusieurs dispositifs ou systèmes informatiques, tels que le système informatique exemplaire 26. Le système informatique 26 peut inclure un processeur 28, une mémoire 30, un dispositif de stockage de mémoire de masse 32, une interface entrée/sortie (I/0) 34, et une interface homme-machine (HMI) 36. Le système 3054762 12 informatique 26 peut aussi être couplé de façon fonctionnelle avec une ou plusieurs ressources externes 38 via le réseau 24 ou l'interface I/O 34. Les ressources externes peuvent inclure, mais de façon non exhaustive, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau en nuage (cloud), ou toute autre ressource informatique appropriée qui peut être utilisée avec le système informatique 26. [0040] Le processeur 28 peut inclure un ou plusieurs dispositifs sélectionnés : microprocesseurs, microcontrôleurs, processeurs de signal numérique, micro-ordinateurs, unités centrales de traitement, des réseaux de portes programmables (gate arrays), des dispositifs logiques programmables, des machines à état défini, des circuits logiques, des circuits analogiques, des circuits numériques, ou tout autre dispositif servant à manipuler des signaux (analogues ou numériques) sur la base des instructions de fonctionnement enregistrées dans la mémoire 30. La mémoire 30 peut inclure un seul dispositif de mémoire ou une pluralité de dispositifs de mémoire comprenant, de façon non exhaustive, la mémoire à lecture seule (ROM), la mémoire à accès aléatoire (RAM), la mémoire volatile, la mémoire non volatile, la mémoire vive statique (SRAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire flash, l'antémémoire (cache memory), ou tout autre dispositif capable de stocker des informations. Le dispositif de mémoire de masse 32 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un disque optique, un dérouleur de bande magnétique, un circuit à l'état solide volatile ou non-volatile, ou tout autre dispositif capable de stocker des informations. [0041] Le processeur 28 peut fonctionner sous le contrôle d'un système d'exploitation 40 qui réside dans la mémoire 30. Le système d'exploitation 40 peut gérer les ressources de l'ordinateur de sorte que le code de programme de l'ordinateur, intégré sous forme d'un ou de plusieurs logiciels d'application, telle que l'application 42 qui réside dans la mémoire 30, puisse faire exécuter les instructions par le processeur 28. Dans un autre mode de réalisation alternatif, le processeur 28 peut exécuter l'application 42 directement et dans ce cas, le système d'exploitation 40 peut être omis. Une ou plusieurs structures de données 44 peuvent aussi résider dans la mémoire 30, et peuvent être utilisées par le processeur 28, le système d'exploitation 40 ou l'application 42 pour stocker ou manipuler des données. [0042] L'interface 34 peut fournir une interface machine qui couple de façon fonctionnelle le processeur 28 à d'autres dispositifs et systèmes, tels que le réseau 24 ou une ou plusieurs ressources externes 38. L'application 42 peut ainsi collaborer avec le réseau 24 et/ou les ressources externes 38 en communiquant par l'intermédiaire de l'interface I/O 34 pour fournir les divers éléments, fonctions, applications, processus, ou modules composant les modes de 3054762 13 réalisation de l'invention. Le serveur d'application 42 peut aussi avoir un code de programme qui est exécuté par une ou plusieurs ressources externes 38 ou sinon repose sur les fonctions ou signaux fournis par d'autres systèmes ou composants de réseau externe à l'ordinateur 26. En effet, au vu des configurations presque infinies de matériel informatique et de logiciel possibles, les hommes de métier comprendront que les modes de réalisation de l'invention peuvent inclure des applications localisées extérieurement à l'ordinateur 26, distribuées à des ordinateurs multiples et à d'autres ressources externes 38, ou apportées par des ressources informatiques (matériel et logiciel) qui sont fournies comme services sur le réseau 24, par exemple un service d'informatique en nuage (cloud computing). [0043] Le HMI peut 36 peut être couplé de façon fonctionnelle aux processeurs 28 de l'ordinateur 26 de façon connue pour permettre à un utilisateur d'interagir directement avec l'ordinateur 26. Le HMI 36 peut inclure un affichage vidéo ou une unité d'affichage à caractères, un écran tactile, un haut-parleur et tout autre indicateur visuel et audio capable de communiquer des données à l'utilisateur. Le HMI 36 peut aussi inclure des dispositifs et des contrôles tels qu'un clavier alphanumérique, un périphérique de pointage, des claviers, des boutons poussoir, des boutons de commande, des microphones, etc., capables d'accepter des commandes ou des saisies de l'utilisateur et de les transmettre au processeur 28. [0044] La base de données 46 peut résider sur le dispositif de stockage de mémoire de masse 32 et peut être utilisée pour collecter et organiser les données utilisées par les divers systèmes et modules décrits dans les présentes. La base de données 46 peut inclure des données et les structures de données qui les supportent pour stocker et organiser les données. En particulier, la base de données 46 peut-être arrangée selon toute organisation ou structure de base de données incluant, mais de façon non exhaustive, une base de données relationnelle, une base de données de type hiérarchique, une base de données en réseau, ou des combinaisons de celles-là. Un système de gestion de base de données, sous forme d'une application logicielle qui s'exécute sous forme d'instructions sur le processeur 28, peut être utilisé pour accéder à l'information ou aux données stockées dans les enregistrements de la base de données 46 en réponse à une interrogation, dans lequel l'interrogation peut être déterminée de façon dynamique et peut être exécutée par le système d'exploitation 40, d'autres applications 42 ou un ou plusieurs modules. [0045] La FIG. 3 illustre une architecture exemplaire de traitement 50 qui peut être fournie par un ou plusieurs des systèmes de l'environnement d'exploitation 10. L'architecture de traitement 50 peut inclure un moteur de traitement de requête 52 et un ensemble de données 3054762 14 électroniques 53 qui peut inclure une ou plusieurs bases de données d'objets de donnée primaire 54 et une ou plusieurs bases de données d'information supplémentaire 56. L'architecture de traitement 50 peut aussi inclure une base de données de points de référence 58. [0046] Lors du fonctionnement, le moteur de traitement de requête 52 peut recevoir une requête de recherche 62 en provenance de l'ensemble de données électroniques 53, par exemple du dispositif client 12. En réponse à la réception de la requête de recherche 62, le moteur de traitement de requête 52 peut déclencher des interactions avec l'ensemble des données électroniques 53 ou plus particulièrement avec les bases de données d'objets de donnée primaire 54 et avec les bases de données d'information supplémentaire 56 afin de déterminer une pluralité de résultats 64 pour la requête de recherche 62. En particulier, chaque résultat 64 peut inclure des données de l'ensemble de données électroniques 53, ou plus spécifiquement de la base de données d'objets de donnée primaire 54 et des bases de données d'information supplémentaire 56. Par la suite, sur la base des données stockées dans la base de données de points de référence 58, le moteur de traitement de requête 52 peut sélectionner un des résultats 64 pour afficher pour l'utilisateur, par exemple via le dispositif client 12. Le moteur de traitement de requête 52 peut ensuite amener le résultat sélectionné 64 à être présenté à l'utilisateur, par exemple en transmettant le résultat sélectionné 64 au dispositif client 12 pour affichage par le dispositif client 12. [0047] Après que le résultat sélectionné 64 est transmis et affiché par le dispositif client 12, l'utilisateur peut fournir une saisie 66 au moteur de traitement de requête 52, par exemple via le dispositif client 12. Comme expliqué précédemment, la saisie 66 peut indiquer si l'utilisateur est intéressé par le résultat affiché 64. En réponse à la réception de la saisie 66, le moteur de traitement de requête 52 peut procéder à la sélection d'un autre résultat 64 basé sur la saisie 66 et ensuite amener le nouveau résultat sélectionné 64 à être présenté à l'utilisateur, par exemple par une transmission au dispositif client 12. L'utilisateur peut ensuite fournir une autre saisie 66 concernant le nouveau résultat affiché 64. Ce processus de sélection d'un résultat 64 pour présentation à l'utilisateur et la réception d'une saisie 66 peut être répété jusqu'à ce que l'utilisateur instruise le moteur de traitement de requête 52, par exemple via le dispositif client 12, d'arrêter la sélection de résultats supplémentaires 64 pour affichage. Des détails supplémentaires concernant l'architecture de traitement 50 sont discutés ci-dessous en référence aux FIGS 4 à 9. [0048] La figure 4 illustre un processus 100 pour le traitement d'une requête de recherche 62 reçue en rapport avec l'ensemble de données électroniques 53. Le processus 100 3054762 peut être mis en oeuvre par le moteur de traitement de requête 52 de l'architecture de traitement 50. [0049] Dans le bloc 102, une requête de recherche 62 pour l'ensemble de données électroniques 53 peut être reçue, par exemple par le moteur de traitement de requête 52. En particulier un utilisateur peut accéder à une GUI qui peut être générée par le dispositif client 12 et/ou le moteur de traitement de requête 52 pour définir et envoyer la requête de recherche 62 au moteur de traitement de requête 52. La requête de recherche 62 peut inclure une pluralité de critères de recherche définis par l'utilisateur pour effectuer des recherches dans l'ensemble de données électroniques 53 qui peuvent être répartis entre les bases de données d'objets de donnée primaire 54 et les bases de données d'information supplémentaire 56. [0050] Comme cela a été mentionné précédemment, dans un mode de réalisation exemplaire, la requête de recherche 62 peut être pour une pluralité de recommandations de voyage. Plus particulièrement la requête de recherche 62 peut être une requête pour une inspiration de voyage ou, en d'autres termes, une requête pour des suggestions de destinations de voyage pour l'utilisateur. Dans ce cas, des exemples qui ne sont pas limitatifs de critères de recherche pouvant être inclus dans la requête de recherche 62 incluent une date ou une fourchette de dates, une durée ou une fourchette de durées, une origine, un budget ou une fourchette budgétaire, une température ou une fourchette de températures, et une distance ou une fourchette de distances. [005I] Dans le bloc 104, en réponse à la réception d'une requête de recherche 62, une pluralité d'objets de donnée primaire peut être récupérée, par exemple à partir de la base de données d'objets de donnée primaire 54, sur la base des critères de recherche de la requête de recherche 62. En particulier, le moteur de traitement de requête 52 peut être configuré pour déclencher une recherche dans les bases de données d'objets de donnée primaire 54 afin de récupérer une pluralité d'objets de donnée primaire qui correspondent à un ou à plusieurs des critères de recherche de la requête de recherche 62. Chacun des résultats 64 déterminés par le moteur de traitement de requête 52 peut inclure au moins une portion d'un des objets de donnée primaire récupérés à partir des bases de données d'objets de donnée primaire 54. [0052] Lorsque la requête de recherche 62 est une requête pour une pluralité de recommandations de voyage, les bases de données d'objets de donnée primaire 54 peuvent inclure des données représentatives d'options de voyage. Par exemple, les bases de données d'objets de donnée primaire 54 peuvent inclure une ou plusieurs bases de données de voyage qui stockent des données indicatives de segments planifiés de vols et des segments voyage planifiés 3054762 16 liés à d'autres modes de transport, ainsi que des données de disponibilité pour chacun des segments planifiés. Dans certains modes de réalisation, les bases de données de voyage peuvent être fournies par un ou plusieurs systèmes tiers, tels qu'un GDS, un agent de voyage en ligne (Online Travel Agent, ou « OTA »), un système de réservation informatique (Computer Reservation System, ou « CRS »), ou d'autres sites de recherche de voyage. [0053] Ainsi, en réponse à la réception d'une requête de recherche 62 pour une ou plusieurs recommandations de voyage, le moteur de traitement de requête 52 peut déclencher une recherche dans les bases de données de voyage. Cette recherche peut être basée sur les critères de recherche pertinents avec les données enregistrées dans les bases de données de voyage. Par exemple, les critères de recherche pertinents peuvent inclure des critères de recherche relatifs à une date ou à une fourchette de dates, à la durée ou à une fourchette de durée, à l'origine, et/ou au budget ou à une fourchette budgétaire. Dans certains cas, le moteur de traitement de requête 52 peut envoyer une demande de recherche, incluant les critères de recherches pertinents, aux systèmes tiers qui alimentent les bases de données de voyage qui peuvent ensuite procéder à l'exploration des bases de données de voyage et renvoyer comme résultats des options de voyage au moteur de traitement de requête 52. En plus, ou alternativement, le moteur de traitement de requête 52 peut être configuré pour mener une recherche directement dans une ou plusieurs des bases de données de voyage en utilisant les critères de recherches pertinents. Chaque option de voyage renvoyée au moteur de traitement de requête 52 par les bases de données de voyage ou les systèmes tiers qui alimentent les bases de données de voyage peut être considérée comme un objet de donnée primaire et chaque résultat 64 déterminé par le moteur de traitement de requête 52 peut inclure au moins une portion de chaque option de voyage, telle qu'une destination de voyage et une date ou une fourchette de dates incluses dans l'option de voyage. [0054] Dans le bloc 106, des données supplémentaires peuvent être récupérées pour chacun des objets de donnée primaire récupérés. En particulier, le moteur de traitement de requête 52 peut déclencher une recherche dans les bases de données d'information supplémentaire 56 pour le retrait de données supplémentaires concernant chaque objet de donnée primaire qui a été récupéré au bloc 104. Lorsqu'un résultat 64 incluant toutes ou une partie d'un objet de donnée primaire donné est présenté à un utilisateur, les données supplémentaires récupérées pour cet objet de donnée primaire peuvent aussi être affichées. De telles données supplémentaires peuvent aider l'utilisateur à déterminer si le résultat 64 affiché est intéressant et peut aussi être utilisé par le moteur de traitement de requête 52 pour déterminer de façon dynamique quel résultat 64 afficher pour l'utilisateur, comme cela est expliqué de façon plus 3054762 17 détaillée ci-dessous. Par exemple, lorsque les objets de donnée primaire récupérés représentent une pluralité d'options de voyage, les bases de données d'information supplémentaire 56 peuvent inclure des données supplémentaires pour les destinations de voyage incluses dans les options de voyage. En particulier, les bases de données d'information supplémentaire 56 peuvent inclure une plusieurs informations relatives au climat, des images, des localisateurs de ressources uniformes (URL), des cartes, des coordonnées et des données de réseaux sociaux (p. ex., le nombre de « j'aime ») pour chacune des destinations de voyage. [0055] Dans certains modes de réalisation, les informations supplémentaires des bases de données 56 peuvent inclure une pluralité de bases de données, chacune incluant des données liées à un aspect différent des objets de donnée primaire récupérés. Par exemple, lorsque les objets de donnée primaire représentent une pluralité d'options de voyage, une des bases de données supplémentaires 56 peut inclure une image pour une ou plusieurs destinations dans les options de voyage, d'autres informations des bases de données d'information supplémentaire 56 peuvent inclure une information relative au climat pour une ou plusieurs destinations de voyage dans les options de voyage, et ainsi de suite. [0056] En outre, une ou plusieurs des bases de données d'information supplémentaire 56, similaires aux bases de données d'objets de donnée primaire 54, peuvent être fournies par des systèmes tiers gérés par une pluralité de tiers. Par exemple, une base de données d'information supplémentaire 56 incluant des images de destinations de voyage peut être fournie par le moteur de recherche d'images du système d'un tiers, une base de données d'information supplémentaire 56 incluant des données historiques sur la météo pour les destinations de voyage peut être fournie par le système d'un tiers qui collecte et distribue des données météorologiques, et ainsi de suite. Dans ces cas, afin d'obtenir les données supplémentaires pour les objets de donnée primaire récupérés, le moteur de traitement de requête 52 peut envoyer des demandes de recherche qui inclut des critères de recherche pertinents aux systèmes qui fournissent les bases de données d'information supplémentaire 56 qui peuvent ensuite procéder à effectuer une recherche dans les bases de données d'information supplémentaire 56, et renvoyer les données supplémentaires résultantes au moteur de traitement de requête 52. Par exemple, dans le cas du retrait d'informations météorologiques pour une destination de voyage donnée dans une option de voyage, le moteur de traitement de requête 52 peut envoyer une demande de recherche qui inclut la destination de voyage et des critères de date ou une fourchette de dates à un système en ligne qui fournit des informations météorologiques, qui peut ensuite renvoyer les informations 3054762 18 météorologiques pour la destination de voyage donnée pour la date où la fourchette de dates au moteur de traitement de requête 52. [0057] De plus, ou alternativement, le moteur de traitement de requête 52 peut être configuré pour effectuer une recherche directement dans une ou plusieurs des bases de données d'information supplémentaire 56 en utilisant les critères de recherches pertinents. Par exemple, dans certains modes de réalisation, les bases de données d'information supplémentaire 56 peuvent inclure une base de données cache contenant des informations supplémentaires fréquemment ou récemment extraites dans le cadre d'une ou de plusieurs requêtes de recherche 62 présentées précédemment. De cette façon, après le retrait des objets de donnée primaire, mais avant d'effectuer des recherches dans les bases de données d'information supplémentaire 56 fournies par des tiers, le moteur de traitement de requête 52 peut déclencher une recherche dans la base de données cache pour extraire des données supplémentaires relatives à un ou à plusieurs, ou à un sous-ensemble d'objets de donnée primaire récupérés. Parce que la base de données cache peut être relativement locale et/ou en lien direct avec le moteur de traitement de requête 52, elle peut permettre au moteur de traitement de requête 52 de recevoir les données supplémentaires pour un ou plusieurs des objets de donnée primaire plus rapidement qu'en transmettant des demandes de recherche aux systèmes tiers. Après avoir effectué des recherches dans la base de données cache, le moteur de traitement de requête 52 peut ensuite procéder à l'envoi de demandes de recherche aux systèmes tiers pour les objets de donnée primaire récupérés pour lesquels aucune donnée supplémentaire n'était disponible ou n'a pu être extraite de la base de données cache. [0058] Dans le bloc 108, une pluralité de résultats 64 peut être déterminée pour la requête de recherche 62, par exemple par le moteur de traitement de requête 52, ou chacun des résultats 64 peut inclure des données extraites de l'ensemble de données électroniques. En particulier, le moteur de traitement de requête 52 peut formuler les résultats 64 sur la base des objets de donnée primaire récupérés et des données supplémentaires récupérées pour chacun des objets de donnée-primaire récupérés, notamment en combinant tout ou une partie de chaque objet de donnée primaire récupéré avec les données supplémentaires récupérées à partir de cet objet de donnée primaire dans le résultat 64. En d'autres termes, chaque résultat 64 peut inclure au moins une portion d'un des objets de donnée primaire, telle que la destination de voyage et/ou des dates d'une option de voyage et les données supplémentaires extraites pour l'objet de donnée primaire. [0059] Chaque résultat 64 déterminé par le moteur de traitement de requête 52 peut aussi inclure une ou plusieurs valeurs qui lui sont affectées qui décrivent le résultat 64 par rapport à 3054762 19 une ou à plusieurs catégories. Une ou plusieurs catégories peuvent se chevaucher avec au moins certain des critères de recherche inclus dans la requête de recherche 62. Par exemple, lorsque les résultats 64 incluent des recommandations de voyage, une ou plusieurs catégories peuvent inclure une catégorie de prix, une catégorie de distance une catégorie de durée et/ou une catégorie de climat. [0060] Plus particulièrement, chacun des résultats 64 peut inclure un ou plusieurs attributs, chacun étant lié à une catégorie différente parmi les catégories. Par exemple, lorsque les résultats 64 incluent des recommandations de voyage, chaque recommandation de voyage peut inclure un prix qui est lié à une catégorie de prix, une température moyenne pour une destination de voyage à une date particulière ou pour une fourchette de dates qui sont liées à la catégorie de climat et une distance pour la destination de voyage, en fonction du critère d'origine inclut dans la requête de recherche 62, qui est liée à la catégorie de distance. Le moteur de traitement de requête 52 peut affecter une pluralité de valeurs à chacun des résultats 64 sur la base des attributs du résultat 64, où chacune des valeurs affectées à un résultat 64 donné est associée à la catégorie liée à l'attribut sur lequel la valeur est basée. Par exemple, en faisant à nouveau référence à l'exemple où les résultats 64 incluent des recommandations de voyage, si un résultat donné 64 inclut des données supplémentaires indiquant qu'une destination de voyage du résultat 64 possède comme attribut d'avoir une température très élevée pendant la date, où la fourchette de dates, indiquées par l'utilisateur, le moteur de traitement de requête 52 peut affecter une valeur relativement élevée au résultat 64 pour la catégorie de climat (p.ex., une valeur de 10/10 aux résultats 64 pour la catégorie de climat). Alternativement, si les données supplémentaires indiquent que l'attribut d'une destination de voyage est d'avoir des températures très basses à une date où pendant une fourchette de dates indiquées par l'utilisateur, alors le moteur de traitement de requête 52 peut affecter une valeur relativement basse au résultat 64 pour la catégorie de climat (p.ex., une valeur de 1/10 au résultat 64 pour la catégorie de climat). Des affectations similaires peuvent aussi être faites au résultat 64 pour les autres catégories sur la base des autres attributs du résultat 64. [0061] Dans certains modes de réalisation, pour chacune d'une ou de plusieurs catégories, chaque valeur, dans l'éventail des valeurs possibles qui peuvent être affectées à un résultat donné 64 pour la catégorie, peut être associée avec un attribut potentiel ou un éventail d'attributs potentiels. Par exemple, concernant la catégorie de prix, l'éventail de valeurs passibles qui peuvent être affectées à un résultat donné 64 peut aller d'un à dix, ou le chiffre un est associé avec les options de voyage de moins de 100 dollars, le chiffre deux est associé avec les options 3054762 de voyage comprises entre 100 et 200 dollars, et ainsi de suite. De plus, ou alternativement, la valeur affectée à un résultat 64 pour une catégorie donnée peut être égale à l'attribut du résultat 64 par rapport à la catégorie donnée. Par exemple, si un résultat 64 indique que la température moyenne rendant une date où une fourchette de date indiquée pour une destination de voyage est égale à une valeur numérique de 84 degrés Fahrenheit, alors le moteur de traitement de requête 52 peut affecter une valeur de quatre-vingt-quatre au résultat 64 pour la catégorie de climat. [0062] Une valeur de poids peut aussi être affectée à chacune des catégories, par exemple par le moteur de traitement de requête 52. En général, une valeur de poids affectée à une catégorie peut indiquer l'importance de la catégorie pour l'utilisateur (p. ex., plus la valeur de poids est élevée, plus la catégorie associée est importante). Par exemple, chaque valeur de poids peut être un pourcentage ou un nombre. Dans certains modes de réalisation l'utilisateur peut définir la valeur de poids pour une ou plusieurs des catégories en créant la requête de recherche 62 de sorte que les valeurs de poids définies peuvent être incluses dans la requête de recherche 62 lorsqu'elle est soumise au moteur de traitement de requête 52 qui peut ensuite affecter les valeurs de poids à une ou à plusieurs catégories conséquemment. De plus, ou alternativement, en réponse à la réception de la requête de recherche 62, le moteur de traitement de requête 52 peut automatiquement affecter des valeurs de poids à une ou à plusieurs des catégories, notamment en se basant sur l'information incluse dans le profil de l'utilisateur associé à l'utilisateur, initiateur de la requête. Par exemple, le profil de l'utilisateur peut indiquer que la distance est un facteur important pour l'utilisateur et que la catégorie de distance doit donc être associée avec une valeur de poids faible, et que le prix est un facteur plutôt important pour l'utilisateur et que la catégorie prix doit donc être associée à une valeur élevée. Alternativement le profil de l'utilisateur peut explicitement fixer, pour le moteur de traitement de requête 52, les valeurs de poix différentes devant être affectées à une ou à plusieurs des catégories. [0063] Dans le bloc 110, un point de référence initial des données peut être déterminé, par exemple par le moteur de traitement de requête 52. Le point de référence initial des données peut être basé sur la requête de recherche 62 et peut représenter plus particulièrement le résultat théoriquement « parfait » pour la requête de recherche 62. Tout comme les résultats 64, le point de référence initial des données peut inclure une ou plusieurs valeurs relatives à une ou plusieurs catégories qui lui sont affectées. Spécifiquement, chacune d'une ou de plusieurs valeurs affectées au point de référence initial des données peut être associée à une catégorie différente parmi une ou plusieurs catégories. Le moteur de traitement de requête 52 peut être configuré pour 3054762 21 déterMiner le point de référence initial des données sur la base d'un ou de plusieurs des critères de recherche dans la requête de recherche 62 et sur la base des données enregistrées dans la base de données de points de référence 58. [0064] Spécifiquement, la base de données de points de référence 58 peut inclure des données historiques liées à des requêtes antérieures de recherche 62 reçues et traitées par le moteur de traitement de requête 52. Les données historiques peuvent indiquer, pour chacune des requêtes de recherche 62, les résultats 64 pour lesquels un utilisateur a manifesté un intérêt et/ou qui ont conduit à un achat. Ainsi pour déterminer le point de référence initial des données, le moteur de traitement de requête 52 peut extraire les données historiques à partir de la base de données de points de référence 58 liée à des requêtes antérieures de recherche 62 qui sont les mêmes ou similaires à la requête de recherche 62 en cours de traitement (p. ex., ayant les mêmes critères ou des critères similaires). Par la suite, le moteur de traitement de requête 52 peut déterminer le point de référence initial des données sur la base des valeurs, dans les données historiques récupérées, qui ont été affectées aux résultats intéressants et/ou transformés en achat 64. Par exemple, pour chacune d'une ou de plusieurs catégories, le moteur de traitement de requête 52 peut calculer une moyenne des valeurs affectées pour cette catégorie pour chacun des résultats intéressants et/ou transformés en achat 64 et ensuite affecter la moyenne au point de référence des données pour cette catégorie. [0065] Dans certains modes de réalisation, le moteur de traitement de requête 52 peut déterminer le point de référence initial des données avant de recevoir la requête de recherche 62 à l'étude. En particulier une fois que le moteur de traitement de requête 52 a fini de traiter plusieurs requêtes de recherche 62 ayant les mêmes critères ou des critères similaires, le moteur de traitement de requête 52 peut être configuré pour calculer et enregistrer un point de référence des données sur la base des gestes exécutés par les utilisateurs dans le cadre de requêtes de recherche antérieures 62, notamment en indiquant qu'un résultat 64 est intéressant et/ou en effectuant un achat basé sur le résultat 64. Spécifiquement, le moteur de traitement de requête 52 peut être configuré pour calculer des moyennes à partir des résultats intéressants et/ou transformés en achat 64 et pour définir un point de référence des données sur la base de ces moyennes, comme décrit ci-dessus. Le moteur de traitement de requête 52 peut effectuer ce calcul plusieurs fois avant de recevoir la requête de recherche 62 en cours, chaque fois, dans le but de mettre à jour un point de référence de données déterminé précédemment sur la base des requêtes de recherche additionnelles 62 ou pour créer un nouveau point de référence des données sur la base d'un groupe de requêtes de recherche 62 ayant les mêmes critères ou des critères 3054762 22 similaires pour lesquels un point de référence des données n'a pas encore été calculé. Une fois qu'un point de référence des données est créé ou mis à jour, le moteur de traitement de requête 52 peut être configuré pour enregistrer le point de référence des données dans la base de données de points de référence 58 de sorte qu'il est associé à un ou plusieurs des critères de recherche sur lesquels était basé le point de référence des données dans la base de données de points de référence 58. De cette façon, lorsque la requête de recherche 62 en cours est reçue par le moteur de traitement de requête 52, le moteur de traitement de requête 52 peut récupérer le point de référence pertinent des données de la base de données de points de référence 58 sur la base des critères de recherche de la requête de recherche en cours 62 et peut faire cela sans avoir besoin de calculer le point de référence des données, ce qui permet au moteur de traitement de requête 52 de réaliser un temps de réponse amélioré en réduisant la latence du système. [0066] Dans d'autres modes de réalisation, le point de référence initial des données peut être fixé manuellement par l'utilisateur (p. ex., chacune des valeurs affectées au point de référence initial des données peut correspondre aux critères de recherche inclus dans la requête de recherche 62 et ne pas être basée sur des moyennes calculées à partir de requêtes antérieures de recherche 62). Alternativement, le point de référence initial des données peut être défini par un administrateur de système. Le moteur de traitement de requête 52 peut aussi utiliser les données des réseaux sociaux (p. ex., des données récupérées avec une connexion à FACEBOOK® ou à GOOGLE®), et/ou des données associées au comportement de l'utilisateur lors de requêtes antérieures de recherche 62 présentées par des utilisateurs, ayant des caractéristiques similaires, afin de déterminer le point de référence initial des données. Par exemple, si les données des réseaux sociaux et/ou les données de comportement indiquent que des personnes appartenant à une tranche d'âge particulière préfèrent typiquement des options de voyage à bas prix, alors le point de référence initial des données, déterminé pour une requête de recherche 62 présentée par un utilisateur dans cette tranche d'âge particulière, peut inclure une valeur pour la catégorie de prix qui est plus basse que la valeur moyenne calculée pour la catégorie de prix à partir de requêtes antérieures de recherche 62 ayant les mêmes critères de recherche ou des critères de recherche similaires à la requête de recherche 62 en cours de traitement. [0067] Dans le bloc 112, le résultat 64 le plus proche du point de référence des données peut être déterminé, par exemple par le moteur de traitement de requête 52. En particulier, le moteur de traitement de requête 52 peut être configuré pour déterminer lequel des résultats 64 est le plus proche du point de référence initial des données, notamment en comparant les valeurs 3054762 23 affectées à chacun des résultats 64, pour une ou plusieurs catégories, aux valeurs affectées au point de référence initial des données pour une ou plusieurs catégories, et sélectionner le résultat 64 le plus proche du point de référence initial des données pour afficher pour l'utilisateur. [0068] Dans certains modes de réalisation, le moteur de traitement de requête 52 peut effectuer la comparaison en calculant la distance quadratique pondérée entre chaque résultat 64 et le point de référence initial des données. Ce calcul peut être basé sur les valeurs du point de référence initial des données et sur les valeurs affectées à chacun des résultats 64 pour une ou plusieurs catégories et peut aussi être basé sur les valeurs de poids affectées à une ou plusieurs catégories qui indiquent l'importance de chacune des catégories pour l'utilisateur. Le moteur de traitement de requête 52 peut ensuite sélectionner le résultat 64 ayant la plus basse distance quadratique pondérée comme étant le résultat 64 qui est le plus proche du point de référence initial des données. Le moteur de traitement de requête 52 peut calculer la distance quadratique pondérée pour chaque résultat 64 en utilisant la formule suivante : Distance quadratique pondérée = où n est le nombre de catégories, Ci est la valeur affectée au point de référence initial des données pour la catégorie i'th, Vi est la valeur affectée au résultat 64 pour la catégorie i'th, et W1 est la valeur de poids pour la catégorie i`th pour l'utilisateur particulier qui a présenté la requête de recherche 62. [0069] Dans le bloc 114 le résultat sélectionné 64, identifié comme le plus proche du point de référence des données peut être affiché pour l'utilisateur. En particulier le moteur de traitement de requête 52 peut amener la transmission du résultat sélectionné 64 au dispositif client 12 qui peut être configuré pour afficher le résultat 64 pour l'utilisateur lors de la réception du résultat 64. [0070] La FIG. 5 illustre un processus 200 pour la sélection de résultat suivant 64 pour affichage pour l'utilisateur en réponse à la réception d'une saisie 66 de l'utilisateur concernant un résultat 64 précédemment affiché. Le processus 200 peut être mis en oeuvre par le moteur de traitement de requête 52. [0071] Dans le bloc 202, après que le premier résultat 64 a été transmis et affiché par le dispositif client 12, une saisie 66 peut être reçue, par exemple par le moteur de traitement de requête 52, concernant le résultat 64 précédemment affiché. En particulier, un utilisateur peut utiliser le dispositif client 12 pour générer et présenter la saisie 66 au moteur de traitement de 3054762 24 requête 52. La saisie 66 peut indiquer si l'utilisateur est intéressé ou non par le résultat 64 précédemment affiché. Par exemple, la saisie 66 peut inclure un refus du résultat 64 affiché précédemment et peut inclure une justification du refus. Alternativement, la, saisie 66 peut inclure une indication que l'utilisateur est intéressé par le résultat 64 précédemment affiché. [0072] Dans le bloc 204, en réponse à la réception de la saisie 66, il est possible de déterminer si la saisie 66 indique un intérêt pour le résultat 64 précédemment affiché ou un refus du résultat 64 précédemment affiché. Si la saisie 66 indique que l'utilisateur est intéressé par le résultat 64 précédemment affiché (branche « NON » du bloc 204), alors dans le bloc 206, le résultat 64 précédemment affiché peut être ajouté à une antémémoire. Cette antémémoire peut inclure chacun des résultats 64 affichés pour l'utilisateur pour lesquels l'utilisateur a manifesté un intérêt. De cette façon, l'utilisateur peut, plus tard, faire appel à l'antémémoire pour revoir les résultats 64 qui présentent un intérêt pour lui et pour, potentiellement, effectuer un achat sur la base d'un ou de plusieurs des résultats 64 mis en antémémoire. [0073] Après que le résultat 64 précédemment affiché est ajouté à l'antémémoire, dans le bloc 208, le résultat 64 qui n'a pas encore été transmis au dispositif client pour affichage (c. -à.-d., un des résultats 64 «restants ») et qui est le plus proche du point de référence initial des données peut être déterminé, notamment avec la formule de distance quadratique pondérée décrite ci-dessus, pour affichage par le dispositif client 12. Dans le bloc 210, le résultat déterminé 64 peut être affiché pour l'utilisateur, par exemple par la transmission du résultat déterminé 64 au dispositif client 12, qui peut ensuite afficher le résultat déterminé 64 et recevoir une autre saisie 66 concernant le résultat déterminé 64. [0074] Alternativement si la saisie 66 indique que l'utilisateur n'est pas intéressé et a refusé le résultat 64 précédemment affiché (branche « OUI » du bloc 204), dans le bloc 212, le résultat 64 précédemment affiché peut alors être éliminé. Par la suite, dans le bloc 214, le point de référence initial des données peut être ajusté sur la base de la saisie 66. En particulier, la saisie 66 peut inclure une justification du refus du résultat 64 précédemment affiché et le point de référence initial des données peut être ajusté en fonction de la justification. Dans un mode de réalisation, la justification peut indiquer qu'un attribut du résultat 64 précédemment affiché, associé à une des catégories (et par conséquent, à la valeur affectée au résultat 64 précédemment affiché pour la catégorie) est trop élevé (ou trop bas) du point de vue de l'utilisateur. En réponse à la réception d'une telle justification, le moteur de traitement de requête 52 peut ajuster le point de référence initial des données en diminuant (ou en augmentant) la valeur affectée au point de 3054762 référence initial des données qui est associé à la catégorie associée à l'attribut (et par conséquent à la valeur) indiqué par la justification comme étant trop élevée (ou trop basse). [0075] Par exemple, la justification peut indiquer que la température moyenne pour une destination de voyage proposée, qui peut être associée avec la catégorie de climat, est trop basse (ou trop élevée) du point de vue de l'utilisateur. Par conséquent, en réponse à la réception d'une saisie 66 comportant une telle justification, le moteur de traitement de requête 52 peut ajuster le point de référence initial des données en augmentant (ou en diminuant) la valeur affectée au point de référence initial des données pour la catégorie de climat, par exemple avec un nombre fixe (p. ex., 1,2, 5,10, etc.), un facteur, ou un pourcentage. Comme autre exemple, la justification peut indiquer qu'une recommandation de voyage inclut un prix qui est trop élevé ou pas assez élevé, ou inclut une destination de voyage qui est trop proche du critère de recherche d'origine ou pas assez proche, ce qui peut amener le moteur de traitement de requête 52 à ajuster la valeur affectée au point de référence des données pour la catégorie de prix ou pour la catégorie de distance respectivement. [0076] Lorsque la justification pour une saisie 66 concerne une des catégories en particulier, telle que la catégorie de prix, il peut alors être supposé que la catégorie particulière est importante pour l'utilisateur, car cette catégorie est activement gérée par l'utilisateur. Par conséquent, dans certains modes de-réalisation, lors de la réception d'une saisie 66 incluant une justification qui concerne une catégorie donnée, le moteur de traitement de requête 52 peut être configuré pour augmenter la valeur de poids affectée à la catégorie à laquelle se rapporte la justification, notamment par un nombre fixe, un facteur, ou un pourcentage. Par exemple, si la saisie 66 indique que la température associée à une recommandation de voyage est trop basse, la requête de recherche 62 peut alors être configurée pour augmenter la valeur de poids affectée à la catégorie de climat avant de déterminer le résultat restant 64 qui est le plus proche du point de référence ajusté des données. De cette façon, la catégorie de climat aura une influence supplémentaire lors de la détermination du résultat restant 64 qui est le plus proche du point de référence ajusté des données. En d'autres termes, le prochain résultat 64 pour affichage par le dispositif client 12 peut être basé sur la valeur de poids augmentée. [0077] Dans le bloc 216, après que le point de référence initial des données a été ajusté, et éventuellement après que le poids affecté à une des catégories a été augmenté, le résultat 64 qui n'a pas encore été transmis au dispositif client 12 et qui est le plus proche du point de référence ajusté des données peut être sélectionné pour affichage. En particulier, le moteur de traitement de requête 52 peut calculer la distance quadratique pondérée, comme on l'a vu ci- 3054762 26 dessus, entre le point de référence ajusté des données et chacun des résultats 64 n'ayant pas encore été transmis au dispositif client 12 pour affichage, et sélectionner le résultat 64 dont la distance quadratique pondérée est la plus basse comme prochain résultat 64 à afficher pour l'utilisateur. De cette façon, le moteur de traitement de requête 52 peut sélectionner le prochain résultat 64 pour affichage sur la base de la justification du refus du résultat 64 précédemment affiché. [0078] Après que le résultat 64 le plus proche du point de référence ajusté des données est sélectionné, dans le bloc 210, le résultat sélectionné 64 peut être affiché pour l'utilisateur, par exemple par le moteur de traitement de requête 52 qui transmet le résultat 64 sélectionné au dispositif client 12 pour affichage par le dispositif client 12. Le processus 200 peut ensuite être répété pour chaque saisie 66 fournie par l'utilisateur pour un résultat affiché 64. [0079] Les FIGS. 6 et 7 présentent des graphiques illustrant un exemple des processus 100 et 200. En particulier, la FIG. 6 illustre un graphique 300a qui inclut un point de référence initial des données 302a et des résultats 304, 306 et 308. Chacun des résultats 304, 306 et 308, et le point de référence initial des données 302a, inclut une valeur qui lui est affectée pour la « catégorie A » est une valeur qui lui est affectée pour la « catégorie B ». Comme on l'a vu précédemment, dans le bloc 112 du processus 100, le résultat 64 le plus proche du point de référence initial des données 302a peut être déterminé, notamment en utilisant la formule de distance quadratique pondérée décrite ci-dessus. Sur la base du graphique 300a, le résultat 64 le plus proche du point de référence initial des données 302a peut être le résultat 304. Par conséquent, dans le bloc 114 du processus 100 le résultat 304 peut être affiché pour l'utilisateur, par exemple via une transmission au dispositif client 12. [0080] La FIG. 7 illustre un graphique exemplaire 300b qui peut représenter l'aboutissement du bloc 214 du processus 200. En particulier, après l'affichage du résultat 304, l'utilisateur peut effectuer une saisie 66 indiquant qu'un attribut du résultat affiché 304 concernant la catégorie A est trop élevé. Par conséquent, comme l'illustre le graphique 300b, le point de référence initial des données 302a peut être ajusté de sorte qu'une valeur plus basse lui est affectée pour la catégorie A (c.-à-d., le point de référence ajusté des données 302b). Par la suite, dans le bloc 216 du processus 200, il est possible de déterminer quel résultat 64 restant est le plus proche du point de référence ajusté 302b. Dans le mode de réalisation illustré, le résultat restant 64 le plus proche du point de référence ajusté des données 302b peut être le résultat 308. Par conséquent, dans le bloc 210 du processus 200 le résultat 308 peut être affiché pour l'utilisateur, par exemple via une transmission au dispositif client 12. On remarque que si la 3054762 27 saisie 66 avait indiqué que l'utilisateur était intéressé par le résultat 64, le point de référence initial des données 302b aurait pu alors ne pas être ajusté, et dans le bloc 208 du processus 200, le résultat restant 64 le plus proche du point de référence initial des données 302a aurait pu être le résultat 306 au lieu du résultat 308. En outre, des différences entre les valeurs de poids affectées à la catégorie A et à la catégorie B peuvent aussi affecter le résultat ci-dessus. [0081] La FIG. 8 illustre une GUI 400 exemplaire pouvant être générée par le dispositif client 12 et/ou par le moteur de traitement de requête 52 pour afficher un résultat sélectionné 64 pour l'utilisateur. En particulier, le dispositif client 12 peut être configuré pour afficher une GUI 400 en réponse à la réception d'un résultat 64 sélectionné pour affichage pour l'utilisateur sur un écran du dispositif client 12. La GUI 400 peut être configurée pour accepter des saisies de l'utilisateur indiquant si l'utilisateur est intéressé ou non, par le résultat affiché 64. Dans le mode de réalisation illustré, le résultat affiché 64 est une recommandation de voyage qui inclut Bangkok comme destination de voyage suggérée. [0082] La GUI 400 peut inclure une image 510 (p. ex., une image de Bangkok), qui peut faire partie de la portion de données supplémentaires du résultat 64, sélectionnée pour être présentée à l'utilisateur. L'image 510 peut avoir été extraite d'une des bases de données d'information supplémentaire 56 pendant le processus 100. La GUI 400 peut aussi inclure des icônes interactives 504, chacun étant associé avec un type de catégorie différent parmi les catégories pour lesquelles des valeurs ont été affectées au résultat 64 sélectionné pour affichage. Dans le mode de réalisation illustré, les icônes interactives 504 incluent une icône 504a qui est associée à la catégorie de climat, une icône 504b associée à la catégorie de distance et une icône 504c associée à la catégorie de prix. Les icônes interactives 504 peuvent être utilisées par l'utilisateur pour générer et fournir une saisie 66 au moteur de traitement de requête 52 expliquant pourquoi l'utilisateur n'est pas intéressé par le résultat affiché 64, ce qui est décrit de façon plus détaillée ci-dessous. [0083] La GUI 400 peut par ailleurs inclure d'autres informations incluses dans le résultat 64 sélectionné pour affichage pour l'utilisateur. Par exemple, lorsque le résultat 64 est pour une recommandation de voyage, la GUI 400 peut aussi inclure un nom de destination de voyage 506 (p. ex., Bangkok), une date ou une fourchette de dates 508 (p. ex., lun. 22 janv. mer. 05 févr.), un prix 512 (p. ex., 255 $/pers.), Une information sur la météo 514 (p. ex., une température moyenne de 22 degrés et un ensoleillement partiel pendant la ou les dates pertinentes), et des données de réseaux sociaux 516 (p. ex., 123 personnes aiment la destination de voyage), et/ou une information sur la distance 518 (p. ex., la destination de voyage est à 7207 3054 762 28 km du critère d'origine fourni dans la requête de recherche 62). La GUI 400 peut aussi inclure une icône interactive 520 (p. ex., le symbole du pouce levé) qui, lorsqu'il est sélectionné, peut générer et fournir une saisie 66 au moteur de traitement de requête 52 indiquant que l'utilisateur est intéressé par le résultat affiché 64. L'icône interactive 520 peut aussi inclure un nombre (p. ex., deux) qui représente le nombre de résultats précédents 64 pour lesquels l'utilisateur a manifesté un intérêt. De plus, ou alternativement, à l'icône interactive 520, la GUI 400 peut être configurée pour qu'un tapotement sur l'image 510 génère et fournisse une saisie 66 au moteur de traitement de requête 52 indiquant que l'utilisateur est intéressé par le résultat affiché 64. [0084] La FIG. 9 illustre comment un utilisateur peut interagir avec la GUI 400 pour fournir une saisie 66 au moteur de traitement de requête 52 indiquant que l'utilisateur n'est pas intéressé par le résultat affiché 64. Dans le mode de réalisation illustrée, l'utilisateur peut sélectionner une des icônes interactives 64 associées avec les catégories pour lesquels des valeurs ont été affectées aux résultats 64 et faire glisser l'icône vers la portion supérieure de la GUI 400 ou vers la portion inférieure de la GUI 400. Lors de l'interaction et du déplacement d'une icône interactif 504, la GUI 400 peut être configurée pour afficher un graphique d'augmentation 602 ou un graphique de réduction 604. En réponse au déplacement des icônes interactives 504 par l'utilisateur vers ou à proximité du graphique d'augmentation 602, une saisie 66 peut être générée et fournie au moteur de traitement de requête 52 indiquant que l'utilisateur n'est pas intéressé par le résultat sélectionné 64 parce qu'un attribut du résultat 64 affiché concernant la catégorie associée à l'icône déplacée est trop bas. Alternativement, en réponse au déplacement des icônes interactives 504 par l'utilisateur vers ou à proximité du graphique de réduction 604, une saisie 66 peut être générée et fournie au moteur de traitement de requête 52 indiquant que l'utilisateur n'est pas intéressé par le résultat sélectionné 64 parce qu'un attribut du résultat 64 affiché concernant la catégorie associée à l'icône déplacée est trop élevé. Par exemple, dans le mode de réalisation illustré, un utilisateur a sélectionné et déplacé l'icône 504b associée à la catégorie de distance, à proximité du graphique d'augmentation 602. Par conséquent une fois que l'icône 504b est relâchée par l'utilisateur, le moteur de traitement de requête 52 peut recevoir une saisie 66 indiquant que l'utilisateur n'est pas intéressé par Bangkok comme destination de voyage car cette destination n'est pas assez éloignée de l'origine de l'utilisateur et peut, sur cette base, ajuster le point de référence des données en lui affectant une valeur augmentée pour la catégorie de distance. [0085] La GUI 400 peut aussi être configurée pour accommoder des gestes supplémentaires de l'utilisateur permettant d'indiquer l'intérêt ou l'absence d'intérêt de 3054762 29 l'utilisateur pour un résultat-64 sélectionné pour être affiché pour l'utilisateur. Par exemple, si un utilisateur n'est pas intéressé par un résultat affiché 64, la GUI 400 peut alors être configurée pour que l'utilisateur puisse sélectionner et faire glisser l'image 510 vers le haut. En réponse, le nombre inclus avec l'icône interactive 520 peut être incrémenté, car un autre résultat 64 peut être ajouté à l'antémémoire comme résultat du geste de l'utilisateur [bloc 206 du processus 200]. Alternativement, si l'utilisateur n'est pas intéressé par le résultat actuellement affiché 64, mais ne souhaite pas modifier le point de référence actuel des données, le GUI 400 peut alors être configurée pour permettre à l'utilisateur de sélectionner et de faire glisser l'image 510 vers le bas sans interagir avec les icônes interactives 504. Par conséquent le bloc 214 du processus 200 peut être évité, et le moteur de traitement de requête 52 peut procéder à la mise en oeuvre du bloc 216 du processus 200 en déterminant le résultat restant 64 qui est le plus proche du point de référence non ajusté des données. De plus, la GUI 400 peut être configurée de sorte que lorsque l'utilisateur touche et relâche l'image 510, des détails additionnels concernant le résultat affiché 64 peuvent être fournis via la GUI 400. [0086] En outre, afin de limiter le nombre d'icônes interactives 504 qui sont inclus dans la GUI 400 pour ne pas encombrer l'écran du dispositif client 12, mais aussi pour permettre à l'utilisateur d'indiquer de façon efficace une justification pour son intérêt ou absence d'intérêt pour un résultat affiché 64, les catégories associées aux icônes interactives 504 peuvent être adaptées sur mesure de façon dynamique pour l'utilisateur et/ou pour les comportements de l'utilisateur. Par exemple, si les données des réseaux sociaux, par exemple provenant des bases de données d'information supplémentaire 56, indiquent que l'utilisateur fait partie d'un groupe, tel qu'une tranche d'âge particulière, qui n'est pas typiquement concernée par la catégorie particulière, le GUI 400 peut alors être générée de sorte que l'icône interactive 504 associée à cette catégorie est omise, et une icône interactive 504 associée à une autre catégorie est affiché à la place, telle que la catégorie de durée. En outre, alors que l'utilisateur fournit des saisies 66 pour des résultats affichés 64, il peut devenir apparent que l'utilisateur n'est pas focalisé sur une catégorie particulière, telle que la catégorie de prix, au vu du manque d'utilisation de l'icône interactive 504 associé à cette catégorie particulière. Par conséquent, pour le résultat suivant 64 qui est affiché pour l'utilisateur, la GUI 400 peut remplacer l'icône interactive 504 associée à la catégorie particulière par une icône 504 interactive associée à une catégorie potentiellement plus importante pour l'utilisateur, comme la catégorie de durée. [0087] En général, les routines exécutées pour mettre en oeuvre les modes de réalisation de l'invention, qu'elles soient implémentées dans le cadre d'un système d'exploitation ou d'une 3054762 application spécifique, d'un composant, d'un programme, d'un objet, d'un module ou d'une séquence d'instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme "code de programme informatique" ou simplement "code de programme ». Le code de programme comprend typiquement des instructions lisibles par ordinateur qui résident à des moments divers dans des dispositifs divers de mémoire et de stockage dans un ordinateur, et qui lorsqu'il est lu et exécuté par un ou plusieurs processeurs dans un ordinateur, provoque l'exécution par l'ordinateur d'opérations et/ou d'éléments propres aux aspects variés des modes de réalisation de l'invention. Les instructions d'un programme informatique lisibles par ordinateur pour effectuer les opérations des modes de réalisation de l'invention peuvent être, par exemple : le langage d'assemblage ou, un code source ou un code objet, écrit en combinaison avec un ou plusieurs langages de programmation. [0088] Divers codes de programme décrits dans les présentes peuvent être identifiés, selon l'application dans laquelle ils sont implémentés, dans des modes de réalisation spécifiques de l'invention. Cependant, on remarquera que toute nomenclature d'un programme particulier qui suit est utilisée uniquement par commodité ; ainsi l'invention ne peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sous-entendue par ladite nomenclature. Par ailleurs, au vu du nombre généralement infini de moyens par lesquels les programmes informatiques peuvent être organisés selon des sous-programmes, procédures, procédés, modules, objets, et ainsi de suite, ainsi que les façons variées d'affecter les fonctionnalités d'un programme parmi diverses couches de logiciels qui sont résidents dans un ordinateur typique [par ex., les systèmes d'exploitation, les bibliothèques, les interfaces d'application de programme (API), les applications, les applets, etc.], on remarquera que les modes de réalisation de l'invention ne sont pas limités à l'organisation spécifique et à l'affectation spécifique des fonctionnalités de programme telles qu'elles sont décrites dans les présentes. [0089] Le code de programme mis en oeuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produit- programme d'ordinateur, sous une variété de formes. En particulier, le code de programme peut-être distribué en utilisant un support de stockage lisible par ordinateur ayant des instructions de programme lisibles par ordinateur en amenant un processeur à exécuter des aspects des modes de réalisation de l'invention. [0090] Les supports de stockage de données lisibles par ordinateur et qui sont intrinsèquement durables, peuvent inclure des médias tangibles, volatiles et non volatiles, amovibles et non amovibles, implémentés dans toute méthode ou technologie de stockage de 3054762 31 données, telles que des instructions de programme lisibles par ordinateur, des structures de données, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent par ailleurs inclure la mémoire aléatoire [RAM], la mémoire morte [ROM], la mémoire à lecture exclusivement, programmable et effaçable [EPROM]), une mémoire flash, ou toute technologie de support solide de mémoire, CD-ROM (disque compact portable doté d'une mémoire à lecture seule), ou tout autre stockage optique, bandes d'enregistrement magnétique, mémoire à disque magnétique, ou tout autre médium pouvant être utilisé pour stocker l'information désirée et apte à être déchiffré par un ordinateur. Un support de stockage lisible par ordinateur ne peut être interprété comme des signaux transitoires en soi (par exemple, des ondes radio ou toutes autres ondes électromagnétiques se propageant à travers un support de transmission telle qu'un guide d'ondes, ou des signaux électriques transmis par câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type d'appareil de traitement de données programmable ou sur tout autre dispositif de support de stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe par un réseau. [0091] Les instructions de programme lisibles par ordinateur, stockées dans un support lisible par ordinateur, peuvent être utilisées pour instruire un ordinateur, d'autres types d'appareils programmables de traitement ou d'autres dispositifs pour fonctionner d'une façon particulière, de sorte que les instructions stockées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui implémentent les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou diagrammes blocs. Les instructions de programme informatique peuvent être fournies par un ou plusieurs processeurs sur un ordinateur à usage général, un ordinateur à usage spécial, ou tout autre appareil programmable de traitement de données pour produire une machine telle que les instructions qui s'exécutent par l'intermédiaire d'un où de plusieurs processeurs provoquent une série de calculs devant être effectués pour implémenter les fonctions, actions et/opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs. [0092] Dans certains modes de réalisation alternatifs, les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagramme séquentiel et/ou diagrammes blocs peuvent inclure plus ou moins de blocs que ceux qui sont illustrés tout en restant conformes avec les modes de réalisation de l'invention. De plus, tout organigramme, diagramme séquentiel, et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés conformément à des modes de réalisation de l'invention. 3054762 32 [0093] La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n'est pas destinée à limiter les modes de réalisation de l'invention. Les formes singulières des articles indéfinis « un », « une », « le » et « la » tels qu'ils sont utilisés dans les présentes sous-entend également les formes plurielles, sauf s'il en est indiqué autrement et clairement par le contexte. On comprendra par ailleurs que les formes verbales du verbe « comprendre », « comprend » et/ou « comprenant », lorsqu'elles sont utilisées dans cette spécification, précisent la présence de caractéristiques, de nombres entiers, d'étapes, d'opérations, d'éléments, et/ou de composants, mais n'excluent pas la présence ou l'ajout d'un ou de plusieurs caractéristiques, nombres entiers, étapes, éléments, composants et/ou groupes, en cela. De plus, dans la mesure où les verbes « inclure », « ayant », «a », « avec », « composé de » ou des variantes de ceux-là, sont utilisés dans la description détaillée et les revendications, ces termes sont censés être inclusifs de façon similaire à la forme verbale «comprenant ». [0094] Bien que l'invention soit illustrée par une description de divers modes de réalisation et bien que ces modes de réalisation soient décrits de façon très détaillée, il n'est pas de l'intention du demandeur de restreindre ou de limiter, de quelque façon que ce soit, l'étendue des revendications des présentes à ces détails. Des avantages supplémentaires et des modifications possibles apparaîtront aisément aux hommes de métier. L'invention sous un angle plus large n'est donc pas limitée aux détails spécifiques, aux procédés et aux appareils représentatifs, et aux illustrations montrées et décrites à titre d'exemple. Par conséquent, il est possible de s'éloigner de ces détails sans s'éloigner de l'esprit et de la portée du concept inventif général de l'appliquant. REVENDICATIONS1. Un procédé pour effectuer des recherches dans un ensemble de données électroniques, le procédé comprenant : la réception, par un ou plusieurs processeurs et en provenance d'un dispositif client, d'une requête de recherche pour l'ensemble de données électroniques ; et en réponse à la réception de la requête de recherche : la détermination, par un ou plusieurs processeurs, d'une pluralité de résultats pour la requête de recherche, chacun des résultats incluant des données provenant de l'ensemble de données électroniques ; la sélection, par un ou plusieurs processeurs, d'un premier résultat pour affichage par le dispositif client ; la transmission, par un ou plusieurs processeurs, du premier résultat au dispositif client pour affichage par le dispositif client ; après que le premier résultat est transmis au dispositif client, la réception en provenance du dispositif client, par un ou plusieurs processeurs, d'un refus du premier résultat par l'utilisateur, le refus comprenant une justification du refus du premier résultat ; et en réponse à la réception du refus du premier résultat : la sélection, par un ou plusieurs processeurs, d'un second résultat basé sur la justification du refus, pour affichage par le dispositif client ; et la transmission, par un ou plusieurs processeurs, du second résultat au dispositif client, pour affichage par le dispositif client. 2. Le procédé selon la revendication 1, comprenant par ailleurs : en réponse à la réception de la requête de recherche, la détermination d'un point de référence initial des données, basé sur la requête de recherche, dans lequel la sélection du premier résultat pour affichage par le dispositif client comprend : la détermination du résultat le plus proche du point de référence initial des données ; et la sélection du résultat qui est le plus proche du point de référence des données initiales comme premier résultat. 3. Le procédé selon la revendication 2, dans lequel la sélection du second résultat pour affichage par le dispositif client, basé sur la justification du refus comprend : 3054762 34 en réponse à la réception du refus, l'ajustement du point de référence initial des données sur la base de la justification ; la détermination du résultat le plus proche du point de référence ajusté des données qui n'ont pas encore été transmises au dispositif client pour affichage ; et la sélection du résultat n'ayant pas encore été transmis au dispositif client qui est le plus proche du point de référence ajusté des données, comme second résultat. 4. Le procédé selon la revendication 3, comprenant par ailleurs : après la transmission du second résultat au dispositif client, la réception, en provenance du dispositif client, d'une indication que l'utilisateur est intéressé par le second résultat ; et en réponse à la réception de l'indication que l'utilisateur est intéressé par le second résultat : l'ajout du second résultat à une antémémoire des résultats qui intéressent l'utilisateur ; la détermination parmi les résultats n'ayant pas encore été transmis au dispositif client, du résultat le plus proche du point de référence ajusté des données ; et la transmission du résultat n'ayant pas encore été transmis au dispositif client pour affichage qui est le plus proche du point de référence ajusté des données. 5. Le procédé selon l'une quelconque des revendication 2-4, dans lequel le point de référence initial des données inclut une pluralité de premières valeurs, chacune d'entre elles étant associée à une catégorie différente parmi la pluralité de catégories, chacun des résultats inclut une pluralité d'attributs, chacun d'entre eux étant lié à une catégorie différente, et la détermination des résultats de la requête de recherche comprend : l'affectation d'une pluralité de secondes valeurs à chacun des résultats, chacune des secondes valeurs étant associée à une catégorie différente parmi les catégories et étant basée sur l'attribut du résultat qui est lié à la catégorie associée, dans lequel la détermination du résultat le plus proche du point de référence initial des données comprend : pour chacun-des résultats, le calcul d'une première distance quadratique pondérée entre le point de référence initial des données et le résultat basé sur les premières valeurs du point de référence initial des données et les secondes valeurs affectées au résultat ; et 3054762 35 la sélection du résultat dont la première distance quadratique pondérée est la plus basse, comme résultat étant le plus proche du point de référence initial des données. 6. Le procédé selon la revendication 5 comprenant par ailleurs : l'affectation d'une troisième valeur à chacune des catégories, la troisième valeur indiquant l'importance de la catégorie pour l'utilisateur, dans lequel le calcul de la première distance quadratique pondérée entre le point de référence initial des données et chacun des résultats est par ailleurs basé sur la troisième valeur affectée à chacune des catégories. 7. Le procédé selon la revendication 6, dans lequel la justification du refus est liée à l'une des catégories, et la sélection du second résultat pour affichage par le dispositif client basé sur la justification du refus comprend : l'augmentation de la troisième valeur affectée à la catégorie à laquelle se rapporte la justification du refus ; et la sélection du second résultat pour affichage par le dispositif client basé sur la troisième valeur augmentée. 8. Le procédé selon l'une quelconque des revendication 5-7, dans lequel la justification du refus indique qu'une des secondes valeurs affectées au premier résultat est trop basse, et la sélection du second résultat pour affichage par le dispositif client basé sur la justification du refus comprend : l'ajustement du point de référence initial des données en augmentant la première valeur liée à la catégorie associée à la seconde valeur qui est indiquée par la justification comme étant trop basse ; le calcul d'une seconde distance quadratique pondérée entre le point de référence ajusté des données et chacun des résultats n'ayant pas encore été transmis au dispositif client pour affichage ; et la sélection du résultat dont la seconde distance quadratique pondérée est la plus basse comme second résultat. 9. Le procédé selon l'une quelconque des revendications 5-8, dans lequel, en réponse à la réception du premier résultat, le dispositif client est configuré pour : 3054762 36 afficher une interface graphique d'utilisateur pour le premier résultat sur l'écran du dispositif client, l'interface graphique de l'utilisateur incluant une pluralité d'icônes, chacune des icônes étant associé avec une catégorie différente parmi les catégories, dans lequel l'interface graphique de l'utilisateur est configurée pour permettre à l'utilisateur de déplacer une des icônes vers une d'une pluralité de portions de l'écran du dispositif client, dans lequel la justification du refus du premier résultat est déterminée en fonction de la portion de l'écran vers laquelle l'icône est déplacée. 10. Le procédé selon l'une quelconque des revendications 1 - 9, dans lequel la requête de recherche comprend une pluralité de critères de recherche, l'ensemble de données électroniques comprend une pluralité de bases de données d'objets de donnée primaire et une pluralité de bases de données d'information supplémentaire fournies par une pluralité de tiers, et la détermination des résultats de la requête de recherche comprend : le retrait, à partir des bases de données d'objets de donnée primaire, d'une pluralité d'objets de donnée primaire basés sur les critères de recherche ; après le retrait des objets de donnée primaire, le retrait d'information supplémentaire à partir de la base de données cache pour chaque objet de donnée primaire d'un premier sous ensemble d'objets de donnée primaire, la base de données cache incluant des données supplémentaires récupérées lors d'une ou de plusieurs requêtes de recherche antérieures ; après le retrait des données supplémentaires pour chacun des objets de donnée primaire dans le premier sous-ensemble d'objets de donnée primaire dans la base de données cache., le retrait de données supplémentaires à partir des bases de données d'information supplémentaire fournies par des tiers, pour chacun des objets de donnée primaire pour lesquels des données supplémentaires n'ont pas été récupérées à partir de la base de données cache, et la formulation des résultats sur la base des objets de donnée primaire et des données supplémentaires récupérées à partir de chacun des objets de donnée primaire, dans lequel chacun des résultats inclut au moins une portion d'un des objets de donnée primaire et les données supplémentaires récupérées pour l'objet de donnée primaire. 11. Un système pour effectuer des recherches dans un ensemble de données électroniques, le système comprenant : au moins un processeur; et 3054762 37 une mémoire stockant des instructions qui, lors de l'exécution par au moins un processeur, amène le système à : en réponse à la réception, en provenance du dispositif client, d'une requête de recherche pour l'ensemble de données électroniques : déterminer une pluralité de résultats pour la requête de recherche, chacun des résultats incluant des données de l'ensemble de données électroniques ; sélectionner un premier résultat pour affichage par le dispositif client ; et transmettre le premier résultat au dispositif client pour affichage par le dispositif client ; après que le premier résultat est transmis au dispositif client et, en réponse à la réception en provenance du dispositif client d'un refus du premier résultat par l'utilisateur, le refus comprenant une justification pour le refus du premier résultat : sélectionner un second résultat basé sur la justification du refus, pour affichage par le dispositif client ; et transmettre le second résultat au dispositif client pour affichage par le dispositif client. 12. Le système selon la revendication 11, dans lequel les instructions lors de l'exécution amènent par ailleurs le système à mettre en oeuvre le procédé selon l'une quelconque des revendications 2 - 10. 13. Un produit programme d'ordinateur comprenant des instructions de code de programme enregistrées sur un support lisible par un ordinateur pour mettre en oeuvre les étapes du procédé selon revendications 1 - 10 lorsque ledit programme est exécuté sur un ordinateur.