FR3054762A1 - PERFORMING SEARCHES IN AN ELECTRONIC DATA SET - Google Patents

PERFORMING SEARCHES IN AN ELECTRONIC DATA SET Download PDF

Info

Publication number
FR3054762A1
FR3054762A1 FR1657261A FR1657261A FR3054762A1 FR 3054762 A1 FR3054762 A1 FR 3054762A1 FR 1657261 A FR1657261 A FR 1657261A FR 1657261 A FR1657261 A FR 1657261A FR 3054762 A1 FR3054762 A1 FR 3054762A1
Authority
FR
France
Prior art keywords
result
client device
data
results
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1657261A
Other languages
French (fr)
Inventor
Laurent Baldeschi
Antoine Vaudaine
Cecile Jouve
Arnaud Thiery
Julien Debon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1657261A priority Critical patent/FR3054762A1/en
Priority to EP17183718.0A priority patent/EP3276510B1/en
Priority to CN201710626604.0A priority patent/CN107665236B/en
Priority to ES17183718T priority patent/ES2796345T3/en
Publication of FR3054762A1 publication Critical patent/FR3054762A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Abstract

Des systèmes, des méthodes et des produits programmes d'ordinateur pour effectuer des recherches dans des ensembles de données électroniques. Une requête de recherche pour l'ensemble de données électroniques est reçue par un dispositif client. En réponse à la réception de la requête de recherche, les résultats de la requête de recherche sont déterminés, chacun des résultats incluant des données provenant de l'ensemble de données électroniques. Par la suite, chacun des résultats est sélectionné pour affichage par le dispositif client et est ensuite transmis au dispositif client pour affichage. Après que le résultat sélectionné et transmis au dispositif client, un refus par un utilisateur du résultat sélectionné est reçu incluant une justification du refus. En réponse à la réception du refus du résultat sélectionné, un autre résultat est sélectionné pour affichage par le dispositif client sur la base de la justification du refus. L'autre résultat est ensuite transmis au dispositif client pour affichage.Systems, methods and computer program products for searching electronic data sets. A search request for the electronic data set is received by a client device. In response to receiving the search request, the results of the search query are determined, each of the results including data from the electronic data set. Subsequently, each of the results is selected for display by the client device and is then transmitted to the client device for display. After the result selected and transmitted to the client device, a user refusal of the selected result is received including a justification for the denial. In response to receiving the denial of the selected result, another result is selected for display by the client device based on the justification of the denial. The other result is then transmitted to the client device for display.

Description

Titulaire(s) : Amadeus S.A.S..Holder (s): Amadeus S.A.S ..

Demande(s) d’extensionExtension request (s)

Mandataire(s) : SAMSON & PARTNER PATENTANWALTE MBB.Agent (s): SAMSON & PARTNER PATENTANWALTE MBB.

FR 3 054 762 - A1 (54) EFFECTUER DES RECHERCHES DANS UN ENSEMBLE DE DONNEES ELECTRONIQUES.FR 3 054 762 - A1 (54) PERFORM SEARCHES IN AN ELECTRONIC DATA SET.

©) Des systèmes, des méthodes et des produits programmes d'ordinateur pour effectuer des recherches dans des ensembles de données électroniques. Une requête de recherche pour l'ensemble de données électroniques est reçue par un dispositif client. En réponse à la réception de la requête de recherche, les résultats de la requête de recherche sont déterminés, chacun des résultats incluant des données provenant de l'ensemble de données électroniques. Par la suite, chacun des résultats est sélectionné pour affichage par le dispositif client et est ensuite transmis au dispositif client pour affichage. Après que le résultat sélectionné et transmis au dispositif client, un refus par un utilisateur du résultat sélectionné est reçu incluant une justification du refus. En réponse à la réception du refus du résultat sélectionné, un autre résultat est sélectionné pour affichage par le dispositif client sur la base de la justification du refus. L'autre résultat est ensuite transmis au dispositif client pour affichage.©) Systems, methods and computer program products for searching electronic data sets. A search request for the electronic data set is received by a client device. In response to receiving the search request, the results of the search request are determined, each of the results including data from the electronic data set. Thereafter, each of the results is selected for display by the client device and is then transmitted to the client device for display. After the selected result is transmitted to the client device, a refusal by a user of the selected result is received including a justification for the refusal. In response to receiving the rejection of the selected result, another result is selected for display by the client device based on the justification for the rejection. The other result is then transmitted to the client device for display.

Figure FR3054762A1_D0001

ii

EFFECTUER DES RECHERCHES DANS UN ENSEMBLE DE DONNÉES ÉLECTRONIQUESPERFORMING SEARCHES IN AN ELECTRONIC DATA SET

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.TECHNICAL FIELD The present invention relates generally to electronic data sets and more particularly to systems, methods and computer program products for performing searches and providing results from data sets electronic.

CONTEXTE [0002] A 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.BACKGROUND On receipt of a search request from a user, a conventional search engine typically examines an electronic data set to determine the elements of the data set that correspond to the search request. . The search engine then displays the elements identified for the user in the form of a list on the user's electronic device. However, since the dataset in which the search is carried out is often very large and therefore often includes several elements which correspond to the user's search query, the list of elements displayed on the device of the user also tends to be very broad. Consequently, the volume of data transmitted and stored on the user's device for displaying the list is large, without taking into account the fact that several elements in the list may not be of any interest to the user. In addition, some of the elements which interest the user can be displayed further in the list, after several elements for which the user has no interest; in this case the user is overwhelmed and stops browsing the list before reaching the interesting elements. In addition, depending on the space available on the screen on the user's device, the displayed list can occupy the screen surface or be displayed in very small characters to accommodate the screen surface; in any case, scrolling through the list can be very difficult. These problems are particularly common on portable devices typically including a smaller screen.

[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.Therefore, improved systems, methods and computer program products are required to search electronic data sets and to provide the user with increasingly relevant search results in a format easily readable.

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.SUMMARY In one embodiment, a method for performing searches in an electronic data set includes the reception of a search request for said electronic data set by one or more processors and coming from a client device. . In response to receiving the search request, the method includes determining by one or more processors, results for the search request. Each of the results includes data from the electronic dataset. Subsequently, the method includes the selection, by one or more processors, of a first result for display on the user's device and the transmission, by one or more processors, of the first result to the client device for display by the client device. After the transmission of the first result to the client device, the method includes the reception, by one or more processors and coming from the client device, of a refusal of the first result from the user. The refusal includes a justification for the refusal of the first result. In response to receiving the refusal of the first result, based on the justification for the refusal, the method includes the selection, by one or more processors, of a second result for display by the client device and the transmission, by one or more multiple processors, from the second result to the client device for display by the client device.

[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.In response to receiving the search request, the method may also include determining an initial reference point of the data based on the search request. Therefore, selecting the first result for display by the client device may include determining the result closest to the initial data reference point and selecting the result that is closest to the initial data reference point as the first result. . Furthermore, the selection of the second result for display by the client device based on the justification of the refusal may include, in response to receipt of the refusal, the adjustment of the initial reference point of the data on the basis of the justification, the determination of the result closest to the adjusted reference point of the data, not yet transmitted to the client device for display and selection of the result, not yet transmitted to the client device, for display, which is closest to the benchmark adjusted data as second result.

[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 à 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.[0006] After the transmission of the second result to the client device, the method can also include the reception, from the client device, of an indication that the user is interested in the second result. In response to receiving the indication that the user is interested in the second result, the method may further include adding the second result to a cache of results that interest the user, determining the results that have not yet been transmitted to the client device and the transmission of the result has not yet been transmitted to the client device for display, which is closest to the initial reference point of the data.

[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.The initial data reference point can include first values which are each associated with a different category among two or more categories and each of the results can include attributes which are each associated with a different category among the categories. Therefore, determining the results of the search query may include assigning second values to each of the results, in which each of the second values may be associated with a different category among the categories and may be based on the attribute of the result related to the associated category. Furthermore, the determination of the results closest to the initial reference point of the data may include, for each of the results, the calculation of a first weighted quadratic distance between the initial reference point of the data and the result based on first values. from the initial data reference point and second values assigned to the results, and selecting the result with the lowest weighted first quadratic distance as the result closest to the initial data reference point.

[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.The method can also include assigning a third value to each of the categories. The third value assigned to each category can indicate the importance of the category to the user. Consequently, the calculation of the first weighted quadratic distance between the initial reference point of the data and each of the results can, moreover, be based on the third value assigned to each of the categories.

[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 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.The justification for the refusal can be linked to one of the categories. Consequently, the selection of the second result for display by the client device based on the justification of the refusal may include the increase of the third value assigned to the category to which the justification of the refusal relates and the selection of the second result for display by the client device based on the third increased value. In addition, the justification for the refusal may indicate that one of the second values assigned to the first result is too low. Consequently, the selection of the second result for display by the client device, on the basis of the justification of the refusal, may include the adjustment of the initial reference point of the data by increasing the first value associated with the category which is associated with the second value indicated as being too low by the justification, the calculation of a second weighted quadratic distance between the adjusted reference point of the data and each of the results not yet transmitted to the client device for display, and the selection of the result whose second weighted quadratic distance is the lowest as a second result.

[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.In response to receiving the first result, the client device can be configured to display a graphical user interface for the first result on a screen of the client device. The graphical user interface can include a plurality of icons, each of the icons possibly being associated with a different category among the categories. The graphical user interface can also be configured to allow the user to move one of the icons on one of two or more portions of the screen of the client device and the justification for refusing the first result can be determined according to of the part of the screen where the icon is moved.

[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.The search query can include search criteria and the electronic data set can include databases of primary data objects, a cache database, and additional information databases provided by some thirds. Therefore, determining the results of the search query may include removing, from the databases of primary data objects, primary data objects based on the search criteria. After retrieving the primary data objects, the method may include removing, from the cache database, additional data for each primary data object from a first subset of primary data objects. The cache database can include additional data retrieved from one or more previous search queries. After the additional data for each primary data object of the first subset of primary data objects is retrieved from the cache database, the method may include removing from the supplementary information databases to each of the primary data objects for which additional data has not been retrieved from the cache database. The method may further include formulating results based on the primary data objects and on the additional data retrieved from each of the primary data objects. Each of the results can include at least a portion of one of the primary data objects and additional data retrieved for the primary data object.

[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 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.In another embodiment, a method for performing a search in an electronic data set includes at least one processor and a memory storing instructions. In response to receiving a search request for the electronic data set from a client device, the instructions, executed by at least one processor, cause the system to determine results for the search request. Each of the results includes data from the electronic dataset. Thereafter, the instructions cause the system to select a first result for display by the client device and to transmit the first result to the client device for display by the client device. After the transmission of the first result to the client device and in response to the reception, coming from the client device, of a user refusal for the first result, the refusal of the first result including a justification of the refusal, the instructions bring the system selecting a second result based on the justification of the refusal, for display by the client device, and transmitting the second result to the client device for display by the client device.

[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.In response to the reception of a search request, the instructions can, moreover, during execution, cause the system to determine an initial reference point of the data based on the search request. Therefore, the instructions may cause the system to select the first result for display by the client device by causing the system to determine which of the results is closest to the initial reference point of the data and to select the result closest to the point. initial reference data as the first result. Furthermore, the instructions may cause the system to select the second result for display by the client device on the basis of the justification of the refusal by causing the system, in response to the reception of the refusal, to adjust the initial reference point of the data. on the basis of the justification, to determine which of the results, which has not yet been transmitted to the client device for display, is the closest to the initial adjusted reference point of the data and to select the result, which has not yet been transmitted to the client device for display, which is closest to the adjusted datum point, as a second result.

[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.After the transmission of the second result to the client device, and in response to the reception from the client device of a signal that the user is interested in the second result, the instructions, during execution, can, moreover, cause the system to add the second result to a cache of the results which interest the user, to determine which of the results, which has not yet been transmitted to the client device for display, is the closest to the adjusted reference point of the data and to transmit to the client device for display the result, not yet transmitted to the client device for display, which is closest to the adjusted reference point of the data.

[0015] Le point de référence initiai 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 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.The data initiation reference point can include first values, each of which is associated with one of two or more different categories, each being associated with a different category among the categories. Therefore, the instructions can cause the system to determine the results for the search query by causing the system to assign second values to each of the results. Each of the second values can be associated with a different category among the categories and can be based on the attribute of the result which is linked to the associated category. Furthermore, the instructions can cause the system to determine which of the results is closest to the initial reference point of the data by causing the system to calculate, for each of the results, a first weighted quadratic distance between the initial reference point of the data and the result based on the first values of the initial reference point of the data and the second values assigned to the result, and to select the result whose first weighted quadratic distance is the lowest as the result closest to the initial reference point of the data .

[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.The instructions, during execution, can also cause the system to assign a third value to each of the categories. The third value assigned to each category can indicate the importance of the category to the user. Consequently, the instructions can cause the system to calculate the first weighted quadratic distance between the initial reference point of the data and each of the results on the basis of the third value assigned to each of the categories.

[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.The justification for the refusal can be linked to one of the categories. Consequently, the instructions can cause the system to select the second result for display by the client device on the basis of the justification of the refusal by causing the system to increase the third value assigned to the category targeted by the justification of the refusal and to select the second result for display by the client device on the basis of the third increased value. In addition, the justification for the refusal may indicate that one of the second values assigned to the first result is too low. Consequently, the instructions can cause the system to select the second result for display by the client device on the basis of the justification for the refusal, causing the system to adjust the initial reference point of the data by increasing the first value which is linked to the category associated with the second value indicated by the justification as being too low, to calculate a second weighted quadratic distance between the adjusted reference point of the data and each of the results not yet transmitted to the client device for display, and to select the result with the lowest weighted second quadratic distance as the second result.

[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 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.In yet another embodiment, a computer program product includes a durable computer-readable storage medium and instructions recorded on the durable computer-readable storage medium. The instructions, during execution by one or more processors of a system, cause the system, in response to reception from a client device, of a search request for a set of electronic data, to be determined results for the search query. Each of the results includes data from the electronic data set. Thereafter, the instructions cause the system to select a first result for display by the client device and to transmit the first result to the client device for display by the client device. After the transmission of the first result to the client device and in response to the reception from the client device of a refusal on the part of the user for the first result, the refusal including a justification for the refusal of the first result, the instructions cause the system to select a second result for display by the client device based on the justification of the refusal and to transmit the second result to the client device for display by the client device.

[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.The above summary may provide a simplified overview of some of the embodiments of the invention in order to give a basic understanding of certain aspects of the invention discussed herein. The summary does not purport to provide an extensive overview of the invention and is not intended to identify any key or critical elements or to define the scope of the invention. The sole purpose of the summary is to simply present a few concepts in a simplified form as a preamble to the detailed description presented below.

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.BRIEF DESCRIPTION OF THE DRAWINGS The embodiments of the present invention will be better understood and will be appreciated more fully by reading the detailed description below which completes the drawings.

[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.FIG. 1 is a schematic view of an exemplary operating environment which includes a plurality of systems for searching a set of electronic data.

[0022] La FIG. 2 est une vue schématique d'un système informatique exemplaire de la fig. 1.FIG. 2 is a schematic view of an exemplary computer system of FIG. 1.

[0023] La FIG. 3 est une vue schématique d'une architecture de traitement exemplaire qui peut être mis en œuvre par un ou plusieurs des systèmes informatiques de la FIG. 1.FIG. 3 is a schematic view of an exemplary processing architecture which can be implemented by one or more of the FIG computer systems. 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 œuvre par l'architecture de traitement de FIG. 3.FIG. 4 is a sequential diagram of an exemplary method for processing a search request for a set of electronic data which can be implemented by the FIG processing architecture. 3.

[0025] La FIG. 5 est tin 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 œuvre par l'architecture de traitement de la FIG.3.FIG. 5 is a sequential diagram of an exemplary method for displaying the results of a search request for a set of electronic data to a user which can be implemented by the processing architecture of 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.FIG. 6 is an exemplary graph including a reference point of initial data and results for a search query for a set of electronic data.

[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.FIG. 7 and an exemplary graph including an adjusted reference point of the data and results for a search query for a set of electronic data.

[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.FIG. 8 is a view of an exemplary graphical user interface which can be provided by one or more of the FIG computer systems. 1.

[0029] La FIG. 9 illustre une interaction exemplaire avec l'interface graphique d'utilisateur de la FIG. 8.FIG. 9 illustrates an exemplary interaction with the graphical user interface of 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 à Tutilisateur. 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é, Tutilisateur peut indiquer s'il est intéressé par le résultat. Si Tutilisateur signale qu'il n'est pas intéressé par un résultat donné, Tutilisateur peut alors expliquer pourquoi le résultat n'est pas satisfaisant. Le prochain résultat affiché pour Tutilisateur peut alors être ajusté en fonction de la justification fournie par Tutilisateur. 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 Tutilisateur par le réseau. Ces modes de réalisation peuvent être particulièrement bénéfiques dans des situations impliquant des 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.DETAILED DESCRIPTION [0030] Herein, methods and computer program products are described for performing searches in electronic data sets in order to determine results for a search query and to transmit these results to the user. However, rather than presenting, according to traditional practice, a large list of results to the user, which can overwhelm the user and cause relevant results to be overlooked, the embodiments described herein present a single result both to the user. For each result displayed, the user can indicate if he is interested in the result. If the user indicates that he is not interested in a given result, the user can then explain why the result is not satisfactory. The next result displayed for the user can then be adjusted according to the justification provided by the user. In this way each displayed result can be determined dynamically on the basis of the inputs received from a user, relating to one or more results previously displayed, which allows the embodiments to create an increasingly centered experience and to more and more relevant to the user during the search carried out in a large set of electronic data while achieving savings in computer resources and also reducing the volume of data transmitted to the user's device over the network. These embodiments can be particularly beneficial in situations involving devices with smaller screens, such as mobile phones and tablets, which by nature are generally not suitable for scrolling through long lists of results.

[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.Referring now to the drawings, FIG. 1 illustrates an operating environment 10 which may include a client device 12, a request processing system 14 and one or more data provider systems 16. Each of these systems can be activated in a communicative manner to interact with each other. others via a network 24, such as the Internet. In addition, two or more of the systems can be combined with each other. For example, the request processing system 14 can be hosted on one or more of the data provider systems 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.The client device 12 can be an electronic device which allows a user to access information and services remotely via the Internet. In particular, the client device 12 can include a browser and / or one or more applications which allow the user to access the request processing system 14 and the data provider system 16. Examples, non-limiting, of client device 12 include a desktop computer, laptop, or mobile electronic device such as a mobile phone or tablet which may include a smaller screen limiting the user's ability to easily scroll through a large list results for a search query.

[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 (Graphie 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.The request processing system 14 can be configured to allow a user, for example with the client device 12, to submit a search request for a large set of electronic data which can be hosted on one or more of the systems of the data provider 16. In particular, a user can use the client device 12 to access a graphical user interface (Graphie User Interface, or “GUI”) which can be stored on the request processing system 14 and / or on the client device 12, which can thus define and present the search request. The search query can include a plurality of search criteria defined by the user via the GUI. In response to receiving the search request, the request processing system 14 may transmit a search request to the data provider systems 16 for data associated with the search criteria of the search request. Thereafter, the request processing system 14 can generate a plurality of results for the search request based on the data received from the data provider systems 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 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.Since the data set linked to the received search request can be very large, the number of results generated by the request processing system 14 can likewise be large. For example, when the search request concerns a plurality of travel recommendations, the request processing system 14 can generate close to eight hundred results approximately. Of course, the user is probably not interested in all of the eight hundred results generated by the request processing system 14 and the user will probably not want to browse the eight hundred results on the client device 12. This is particularly true when the screen of the client device 12 is of a limited size such that the display of the eight hundred results would produce a bulky graphical user interface and / or the task of browsing the eight hundred results would be difficult and considerable, which, as described above, could cause several interesting results to be overlooked. For this purpose, a conventional approach for displaying a large list of results for a user via a client device is to classify the results according to a predetermined criterion such as the price and then to display classified results. However, this approach still produces a large number of results that are difficult for the user to navigate, and some interesting, higher-priced results may still be overlooked by the user.

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.In addition, the conventional approach lacks mechanisms for dynamically reclassifying results based on user input relating to one of the results (eg, an entry indicating that a result is not of interest). 'user for a given reason), which means that the user will have to go through a long series of irrelevant and uninteresting results before reaching a result that interests the user.

[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 il 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 été 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.In order to optimize the use of the screen of the client device 12 and to improve the relevance and the efficiency of the search, the request processing system 14 can be configured to transmit a determined result to a certain moment to the client device 12 for display More specifically, the request processing system 14 can transmit a particular result to a client device 12 which can then display the result for the user and allow the user to indicate whether the result displayed is of interest to the user. It is only after the user provides such feedback that the request processing system 14 transmits another result to the client device 12 for display. In this way, the user is not discouraged by the long list of results he has to go through and the screen of the client device 12 is not cluttered by the display of a large number of results at the same time. . In addition, because only one result is transmitted and displayed by the client device 12 at a time, the client device 12 is able to save resources. In particular, rather than receiving, recording and processing data representing a whole list of results for a search request, the client device 12 need only store and process data for each displayed result. Thus, even if several results are ultimately transmitted and displayed on the client device 12, the volume of global data recorded and processed by the client device 12 is always less than the volume of data which would have been processed and stored if all results determined by the request processing system was transmitted and displayed by the client device 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é cidessus, si le résultat affiché présente un intérêt pour l'utilisateur, afin de déterminer le prochain résultât à 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.In addition, the request processing system 14 can use user input received for a displayed result, which can indicate, as explained above, whether the displayed result is of interest to the user, in order to determine the next result to be transmitted to the client device 12 for display. In particular, the user input can explain why the user is not interested in a given result and the request processing system 14 can dynamically select the next result to be transmitted to the client device 12 for display as a function of the justification given. In this way, the results supplied to the client device 12 for display become more and more relevant to the user as the user continues to provide entries via the client device 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.The systems of the data providers 16 which are used to respond to the search request sent to the client device 12 can include the systems of one or more data providers. In particular, in response to receiving a search request from the client device 12, the request processing system 14 can communicate with the systems of the data providers 16 to determine the plurality of results for the search request. For example, in one embodiment, the search request may be a request for a plurality of travel recommendations. In this case, the data provider systems 16 may include a system which provides data regarding travel availability, such as a Global Distribution System (“GDS”) and may also include additional systems which collect and provide data in addition to travel availability data, such as systems including image search engines, map search engines and weather search engines.

[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/O) 34, et une interface homme-machine (HMI) 36. Le système 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.Referring now to FIG. 2, the client device 12, the request processing system 14 and the data provider systems 16 of the operating environment 10 can be implemented on one or more computer devices or systems, such as the exemplary computer system 26. The computer system 26 may include a processor 28, a memory 30, a mass memory storage device 32, an input / output (I / O) interface 34, and a man-machine interface (HMI) 36. The computer system 26 can also be functionally coupled with one or more external resources 38 via the network 24 or the I / O interface 34. The external resources can include, but are not limited to, servers, databases, devices mass storage, peripheral devices, cloud network services (cloud), or any other appropriate IT resource that can be used with the computer system 26.

[0040] Le processeur 28 peut inclure un ou plusieurs dispositifs sélectionnés :The processor 28 may include one or more selected devices:

microprocesseurs, microcontrôleurs, processeurs de signal numérique, micro-ordinateurs, unités centrales de traitement, des réseaux de portes programmables (gâte 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.microprocessors, microcontrollers, digital signal processors, microcomputers, central processing units, programmable gate networks (arrays), programmable logic devices, state machines, logic circuits, analog circuits, digital circuits , or any other device used to manipulate signals (analog or digital) on the basis of the operating instructions stored in the memory 30. The memory 30 may include a single memory device or a plurality of memory devices comprising, in a manner not exhaustive, read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory , cache memory, or any other device capable of storing information. The mass memory device 32 may include data storage devices such as a hard disk, an optical disk, a magnetic tape drive, a volatile or non-volatile solid state circuit, or any other device capable of to store information.

[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.The processor 28 can operate under the control of an operating system 40 which resides in the memory 30. The operating system 40 can manage the resources of the computer so that the program code of the computer, integrated in the form of one or more application software, such as the application 42 which resides in the memory 30, can make the instructions execute by the processor 28. In another alternative embodiment, the processor 28 can run the application 42 directly and in this case, the operating system 40 can be omitted. One or more data structures 44 can also reside in memory 30, and can be used by processor 28, operating system 40 or application 42 to store or manipulate data.

[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 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).The interface 34 can provide a machine interface which functionally couples the processor 28 to other devices and systems, such as the network 24 or one or more external resources 38. The application 42 can thus collaborate with the network 24 and / or external resources 38 by communicating via the I / O interface 34 to provide the various elements, functions, applications, processes, or modules making up the embodiments of the invention. The application server 42 can also have a program code which is executed by one or more external resources 38 or otherwise relies on the functions or signals provided by other systems or components of the network external to the computer 26. Indeed , in view of the almost infinite configurations of possible computer hardware and software, those skilled in the art will understand that the embodiments of the invention may include applications located outside the computer 26, distributed to multiple computers and to other external resources 38, or provided by computer resources (hardware and software) which are provided as services on the network 24, for example a cloud computing service.

[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.The HMI 36 can be operatively coupled to the processors 28 of the computer 26 in a known manner to allow a user to interact directly with the computer 26. The HMI 36 may include a video display or a unit character display, touch screen, speaker and any other visual and audio indicator capable of communicating data to the user. The HMI 36 can also include devices and controls such as an alphanumeric keyboard, pointing device, keyboards, push buttons, control buttons, microphones, etc., capable of accepting commands or input of the user and transmit them to processor 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 celleslà. 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.The database 46 can reside on the mass memory storage device 32 and can be used to collect and organize the data used by the various systems and modules described herein. The database 46 can include data and the data structures that support it to store and organize the data. In particular, the database 46 can be arranged according to any database organization or structure including, but not limited to, a relational database, a hierarchical type database, a networked database, or combinations of those. A database management system, in the form of a software application which is executed in the form of instructions on the processor 28, can be used to access the information or data stored in the records of the database. data 46 in response to a query, wherein the query can be dynamically determined and can be executed by the operating system 40, other applications 42 or one or more 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 é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.FIG. 3 illustrates an exemplary processing architecture 50 which can be provided by one or more of the systems of the operating environment 10. The processing architecture 50 can include a request processing engine 52 and a set of electronic data 53 which may include one or more primary data object databases 54 and one or more additional information databases 56. The processing architecture 50 may also include a reference point database 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.During operation, the request processing engine 52 can receive a search request 62 from the electronic data set 53, for example from the client device 12. In response to the reception of the search request 62 , the request processing engine 52 can trigger interactions with all of the electronic data 53 or more particularly with the databases of primary data objects 54 and with the additional information databases 56 in order to determine a plurality of results 64 for the search query 62. In particular, each result 64 can include data from the electronic data set 53, or more specifically from the primary data object database 54 and databases additional information 56. Subsequently, based on the data stored in the reference point database 58, the processing engine request 52 can select one of the results 64 to display for the user, for example via the client device 12. The request processing engine 52 can then cause the selected result 64 to be presented to the user, for example by transmitting the selected result 64 at the client device 12 for display by the client device 12.

[0047] Après que le résultat sélectionné 64 est transmis et affiché par le dispositif clientAfter the selected result 64 is transmitted and displayed by the client device

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.12, the user can provide an input 66 to the request processing engine 52, for example via the client device 12. As explained previously, the input 66 can indicate whether the user is interested in the displayed result 64. In response to upon receipt of the input 66, the request processing engine 52 can select another result 64 based on the input 66 and then cause the new selected result 64 to be presented to the user, for example by a transmission to the client device 12. The user can then provide another entry 66 relating to the new displayed result 64. This process of selecting a result 64 for presentation to the user and receiving an entry 66 can be repeated until the user instructs the request processing engine 52, for example via the client device 12, to stop the selection of additional results 64 for display. Additional details regarding the processing architecture 50 are discussed below with reference to FIGS 4 to 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 peut être mis en œuvre par le moteur de traitement de requête 52 de l'architecture de traitement 50.FIG. 4 illustrates a process 100 for processing a search request 62 received in connection with the electronic data set 53. The process 100 can be implemented by the request processing engine 52 of l processing architecture 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.In block 102, a search request 62 for the electronic data set 53 can be received, for example by the request processing engine 52. In particular, a user can access a GUI which can be generated by the client device 12 and / or the request processing engine 52 for defining and sending the search request 62 to the request processing engine 52. The search request 62 can include a plurality of search criteria defined by the user for perform searches in the electronic data set 53 which can be distributed between the databases of primary data objects 54 and the databases of additional information 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.As previously mentioned, in an exemplary embodiment, the search request 62 can be for a plurality of travel recommendations. More particularly, the search request 62 can be a request for travel inspiration or, in other words, a request for suggestions of travel destinations for the user. In this case, examples which are not limiting of search criteria which can be included in the search query 62 include a date or a range of dates, a duration or a range of durations, an origin, a budget or a budgetary range , a temperature or range of temperatures, and a distance or range of distances.

[0051] 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.In block 104, in response to the reception of a search request 62, a plurality of primary data objects can be retrieved, for example from the database of primary data objects 54, based on the search criteria of the search request 62. In particular, the request processing engine 52 can be configured to trigger a search in the databases of primary data objects 54 in order to retrieve a plurality of primary data objects which correspond to one or more of the search criteria of the search request 62. Each of the results 64 determined by the request processing engine 52 can include at least a portion of one of the primary data objects retrieved from primary data object databases 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 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 Réservation System, ou « CRS »), ou d'autres sites de recherche de voyage.When the search request 62 is a request for a plurality of travel recommendations, the databases of primary data objects 54 may include data representative of travel options. For example, the primary data object databases 54 may include one or more travel databases which store data indicative of planned flight segments and planned travel segments related to other modes of transportation, as well as availability data for each of the planned segments. In certain embodiments, the travel databases can be provided by one or more third party systems, such as a GDS, an online travel agent ("OTA"), a computer reservation system. (Computer Reservation System, or "CRS"), or other travel research sites.

[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 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.Thus; in response to receiving a search request 62 for one or more travel recommendations, the request processing engine 52 may initiate a search in the travel databases. This search can be based on the relevant search criteria with the data stored in the travel databases. For example, relevant search criteria may include search criteria relating to a date or date range, duration or duration range, origin, and / or budget or budget range . In certain cases, the request processing engine 52 can send a search request, including the relevant search criteria, to the third party systems which supply the travel databases which can then proceed to the exploration of the travel databases. and returning the results of the travel options to the request processing engine 52. In addition, or alternatively, the request processing engine 52 can be configured to search directly in one or more of the travel databases using the relevant search criteria. Each travel option returned to the request processing engine 52 by the travel databases or third-party systems that feed the travel databases can be considered a primary data object and each result 64 determined by the processing engine 52 can include at least a portion of each travel option, such as a travel destination and a date or range of dates included in the travel option. In block 106, additional data can be recovered for each of the primary data objects recovered. In particular, the request processing engine 52 can trigger a search in the additional information databases 56 for the withdrawal of additional data relating to each primary data object which has been retrieved at block 104. When a result 64 including all or part of a given primary data object is presented to a user, additional data retrieved for this primary data object can also be displayed. Such additional data can assist the user in determining whether the displayed result 64 is of interest and can also be used by the request processing engine 52 to dynamically determine which result 64 to display for the user, as explained from in more detail below. For example, when the retrieved primary data objects represent a plurality of travel options, the supplementary information databases 56 may include additional data for the travel destinations included in the travel options. In particular, the additional information databases 56 may include a variety of climate information, images, uniform resource locators (URLs), maps, coordinates, and social network data (e.g., the number of “likes”) for each travel destination.

[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.In some embodiments, the additional information from the databases 56 may include a plurality of databases, each including data related to a different aspect of the retrieved primary data objects. For example, when the primary data objects represent a plurality of travel options, one of the additional databases 56 may include an image for one or more destinations in the travel options, other information from the travel databases. additional information 56 may include climate information for one or more travel destinations in the travel options, and so on.

[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 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.In addition, one or more of the additional information databases 56, similar to the primary data object databases 54, can be provided by third-party systems managed by a plurality of third parties. For example, an additional information database 56 including images of travel destinations can be provided by the image search engine of a third party system, an additional information database 56 including historical data on the weather for travel destinations can be provided by a third party system that collects and distributes weather data, and so on. In these cases, in order to obtain the additional data for the retrieved primary data objects, the request processing engine 52 can send search requests which include search criteria relevant to the systems which supply the information databases. supplementary 56 which can then search the supplementary information databases 56, and return the resulting additional data to the request processing engine 52. For example, in the case of the withdrawal of meteorological information for a destination given in a travel option, the request processing engine 52 can send a search request that includes the travel destination and date criteria or a date range to an online system that provides weather information, which can then resend weather information for the travel destination given for the date when the date range to the query processor 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.In addition, or alternatively, the request processing engine 52 can be configured to search directly in one or more of the additional information databases 56 using the relevant search criteria. For example, in some embodiments, the additional information databases 56 may include a cache database containing additional information frequently or recently retrieved as part of one or more search queries 62 presented previously. In this way, after the primary data objects have been removed, but before searching the additional information databases 56 provided by third parties, the request processing engine 52 can trigger a search in the database. cache data to extract additional data relating to one or more, or to a subset of recovered primary data objects. Because the cache database can be relatively local and / or directly linked to the request processing engine 52, it can allow the request processing engine 52 to receive additional data for one or more of the primary data objects. faster than transmitting search requests to third-party systems. After performing searches in the cache database, the request processing engine 52 can then send search requests to third-party systems for the retrieved primary data objects for which no additional data was available or could not be retrieved from the cache database.

[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 ie 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 à 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.In block 108, a plurality of results 64 can be determined for the search request 62, for example by the request processing engine 52, or each of the results 64 can include data extracted from the data set electronic. In particular, the request processing engine 52 can formulate the results 64 on the basis of the retrieved primary data objects and additional retrieved data for each of the retrieved primary data objects, in particular by combining all or part of each retrieval object. primary data retrieved with additional data retrieved from this primary data object in result 64. In other words, each result 64 can include at least a portion of one of the primary data objects, such as the destination of trip and / or dates of a trip option and the additional data extracted for the primary data object. Each result 64 determined by the request processing engine 52 may also include one or more values assigned to it which describe the result 64 with respect to one or more categories. One or more categories may overlap with at least some of the search criteria included in search query 62. For example, when results 64 include travel recommendations, one or more categories may include a price category, a category of distance a duration category and / or a climate category.

[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.More particularly, each of the results 64 may include one or more attributes, each being linked to a different category from the categories. For example, when the results 64 include travel recommendations, each travel recommendation may include a price that is linked to a price category, an average temperature for a travel destination on a particular date, or for a range of dates that are linked to the climate category and a distance for the travel destination, according to the original criterion included in the search query 62, which is linked to the distance category. The request processing engine 52 can assign a plurality of values to each of the results 64 based on the attributes of the result 64, where each of the values assigned to a given result 64 is associated with the category related to the attribute on which the value is based. For example, referring again to the example where results 64 include travel recommendations, if a given result 64 includes additional data indicating that a travel destination of result 64 has the attribute of having a very low temperature. high during the date, where the range of dates, specified by the user, the request processing engine 52 can assign a relatively high value to the result 64 for the climate category (eg, a value of 10/10 to results 64 for the climate category). Alternatively, if the additional data indicates that the attribute of a travel destination is to have very low temperatures on a date when during a range of dates specified by the user, then the request processing engine 52 may affect a relatively low value at result 64 for the climate category (eg, a value of 1/10 at result 64 for the climate category). Similar assignments can also be made to result 64 for other categories based on the other attributes of result 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 possibles 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 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.In certain embodiments, for each of one or more categories, each value, in the range of possible values which can be assigned to a given result 64 for the category, can be associated with a potential attribute or a range of potential attributes. For example, for the price category, the range of possible values that can be assigned to a given outcome 64 can range from one to ten, or the number one is associated with travel options of less than $ 100, the number two is associated with travel options between $ 100 and $ 200, and so on. In addition, or alternatively, the value assigned to a result 64 for a given category can be equal to the attribute of the result 64 with respect to the given category. For example, if a result 64 indicates that the average temperature making a date where a specified date range for a travel destination is equal to a numeric value of 84 degrees Fahrenheit, then the query processor 52 can assign a value of eighty-four to result 64 for the climate category.

[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.A weight value can also be assigned to each of the categories, for example by the request processing engine 52. In general, a weight value assigned to a category can indicate the importance of the category for the user. (e.g., the higher the weight value, the larger the associated category). For example, each weight value can be a percentage or a number. In some embodiments the user can define the weight value for one or more of the categories by creating the search query 62 so that the defined weight values can be included in the search query 62 when it is submitted to the request processing engine 52 which can then assign the weight values to one or more categories consequently. In addition, or alternatively, in response to the reception of the search request 62, the request processing engine 52 can automatically assign weight values to one or more of the categories, in particular based on the information included in the profile of the user associated with the user, initiator of the request. For example, the user profile may indicate that distance is an important factor for the user and that the distance category should therefore be associated with a low weight value, and that price is a rather important factor for the user. user and that the price category must therefore be associated with a high value. Alternatively, the user's profile can explicitly set, for the request processing engine 52, the different pitch values to be assigned to one or more of the categories.

[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 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.In block 110, an initial reference point of the data can be determined, for example by the request processing engine 52. The initial reference point of the data can be based on the search request 62 and can represent more particularly the theoretically "perfect" result for the search query 62. Like the results 64, the initial reference point of the data can include one or more values relating to one or more categories which are assigned to it. Specifically, each of one or more values assigned to the initial data reference point can be associated with a different category from one or more categories. The query processing engine 52 can be configured to determine the initial reference point of the data based on one or more of the search criteria in the search query 62 and based on the data stored in the database of reference points 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.Specifically, the reference point database 58 can include historical data linked to previous search requests 62 received and processed by the request processing engine 52. The historical data can indicate, for each of the requests for search 62, the results 64 for which a user has expressed an interest and / or which have led to a purchase. Thus to determine the initial reference point of the data, the query processing engine 52 can extract the historical data from the reference point database 58 linked to previous search queries 62 which are the same or similar to search request 62 being processed (eg, having the same or similar criteria). Subsequently, the request processing engine 52 can determine the initial reference point of the data on the basis of the values, in the retrieved historical data, which have been assigned to the interesting results and / or transformed into a purchase 64. For example, for each of one or more categories, the request processing engine 52 can calculate an average of the values assigned for this category for each of the results of interest and / or transformed into a purchase 64 and then assign the average to the data reference point for this category.

[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 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.In certain embodiments, the request processing engine 52 can determine the initial reference point of the data before receiving the search request 62 under study. In particular once the query processing engine 52 has finished processing multiple search queries 62 having the same or similar criteria, the query processing engine 52 can be configured to calculate and record a data reference point based on the gestures executed by the users in the context of previous search queries 62, in particular by indicating that a result 64 is interesting and / or by making a purchase based on the result 64. Specifically, the request processing engine 52 can be configured to calculate averages from interesting results and / or transformed into purchase 64 and to define a data reference point based on these averages, as described above. The request processing engine 52 can perform this calculation several times before receiving the current search request 62, each time, in order to update a data reference point determined previously on the basis of the additional search requests 62 or to create a new data reference point based on a group of search queries 62 having the same or similar criteria for which a data reference point has not yet been calculated. Once a data reference point is created or updated, the query processing engine 52 can be configured to register the data reference point in the reference point database 58 so that it is associated with one or more of the search criteria on which the data reference point was based in the reference point database 58. In this way, when the current search request 62 is received by the processing engine 52, the request processing engine 52 can retrieve the relevant reference point from the data of the reference point database 58 based on the search criteria of the current search request 62 and can do this without need to compute the data reference point, which allows the request processing engine 52 to achieve an improved response time by reducing the latency of the sy stema.

[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 àIn other embodiments, the initial reference point of the data can be set manually by the user (eg, each of the values assigned to the initial reference point of the data can correspond to the search criteria included in search query 62 and not be based on averages calculated from previous search queries 62). Alternatively, the initial data reference point can be defined by a system administrator. The request processing engine 52 can also use data from social networks (e.g., data retrieved with a connection to

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.FACEBOOK®or GOOGLE®), and / or data associated with the behavior of the user during previous search queries 62 presented by users, with similar characteristics, in order to determine the initial reference point of the data. For example, if social media and / or behavioral data indicate that people in a particular age group typically prefer low-cost travel options, then the initial data benchmark, determined for a search query 62 presented by a user in this particular age group, may include a value for the price category that is lower than the average value calculated for the price category from previous search queries 62 having the same search criteria or search criteria similar to search query 62 being processed.

[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 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 :In block 112, the result 64 closest to the data reference point can be determined, for example by the request processing engine 52. In particular, the request processing engine 52 can be configured to determine which of the results 64 is closest to the initial reference point of the data, in particular by comparing the values assigned to each of the results 64, for one or more categories, with the values assigned to the initial reference point of the data for one or more categories, and selecting the result 64 closest to the initial reference point of the data to display for the user. In certain embodiments, the request processing engine 52 can perform the comparison by calculating the weighted quadratic distance between each result 64 and the initial reference point of the data. This calculation can be based on the values of the initial reference point of the data and on the values assigned to each of the results 64 for one or more categories and can also be based on the weight values assigned to one or more categories which indicate the importance of each category for the user. The request processing engine 52 can then select the result 64 having the lowest weighted quadratic distance as being the result 64 which is closest to the initial reference point of the data. The request processing engine 52 can calculate the weighted quadratic distance for each result 64 using the following formula:

Ση _Ση _

M4 * 7(14 - Ci)2 i-i où n est le nombre de catégories, est la valeur affectée au point de référence initial des données pour la catégorie i'th, est la valeur affectée au résultat 64 pour la catégorie i'th, et Wî 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.M4 * 7 (14 - Ci) 2 ii where n is the number of categories, is the value assigned to the initial data reference point for the category i'th, is the value assigned to the result 64 for the category i'th, and Wî is the weight value for the category i'th for the particular user who presented the search query 62.

[0069] Dans le bloc 114 le résultat sélectionné 64, identifié comme le plus proche du pdint 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.In block 114 the selected result 64, identified as closest to the data reference pdint can be displayed for the user. In particular, the request processing engine 52 can cause the transmission of the selected result 64 to the client device 12 which can be configured to display the result 64 for the user when the result 64 is received.

[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 œuvre par le moteur de traitement de requête 52.FIG. 5 illustrates a process 200 for selecting the next result 64 for display to the user in response to receipt of an input 66 from the user regarding a result 64 previously displayed. The process 200 can be implemented by the request processing engine 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 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'utÎIisateur 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.In block 202, after the first result 64 has been transmitted and displayed by the client device 12, an input 66 can be received, for example by the request processing engine 52, concerning the result 64 previously displayed. In particular, a user can use the client device 12 to generate and present the entry 66 to the request processing engine 52. The entry 66 can indicate whether the user is interested in the result 64 previously displayed or not. For example, entry 66 may include a refusal of the result 64 displayed previously and may include a justification for the refusal. Alternatively, entry 66 may include an indication that the user is interested in the result 64 previously displayed. In block 204, in response to the reception of the entry 66, it is possible to determine whether the entry 66 indicates an interest in the result 64 previously displayed or a refusal of the result 64 previously displayed. If entry 66 indicates that the user is interested in the result 64 previously displayed (“NO” branch of block 204), then in block 206, the result 64 previously displayed can be added to a cache memory. This cache can include each of the results 64 displayed for the user for which the user has expressed an interest. In this way, the user can, later, call on the cache memory to review the results 64 which are of interest to him and to, potentially, make a purchase on the basis of one or more of the results 64 set. in cache.

[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.After the result 64 previously displayed is added to the cache memory, in block 208, the result 64 which has not yet been transmitted to the client device for display (ie, one of the results 64 “remaining”) and which is closest to the initial reference point of the data can be determined, in particular with the weighted quadratic distance formula described above, for display by the client device 12. In block 210, the result determined 64 can be displayed for the user, for example by transmitting the determined result 64 to the client device 12, which can then display the determined result 64 and receive another entry 66 concerning the determined result 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 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).Alternatively if entry 66 indicates that the user is not interested and has refused the result 64 previously displayed ("YES" branch of block 204), in block 212, the result 64 previously displayed can then be eliminated . Thereafter, in block 214, the initial reference point of the data can be adjusted on the basis of the entry 66. In particular, the entry 66 can include a justification of the refusal of the result 64 previously displayed and the initial reference point data can be adjusted according to the justification. In one embodiment, the justification may indicate that an attribute of the result 64 previously displayed, associated with one of the categories (and therefore, the value assigned to the result 64 previously displayed for the category) is too high (or too low ) from the user's point of view. In response to receiving such justification, the request processing engine 52 may adjust the initial data reference point by decreasing (or increasing) the value assigned to the initial data reference point that is associated with the category associated with the attribute (and therefore the value) indicated by the justification as being too high (or too low).

[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.For example, the justification may indicate that the average temperature for a proposed travel destination, which can be associated with the climate category, is too low (or too high) from the point of view of the user. Consequently, in response to the reception of an entry 66 comprising such a justification, the request processing engine 52 can adjust the initial reference point of the data by increasing (or decreasing) the value assigned to the initial reference point of the data. data for the climate category, for example with a fixed number (eg, 1.2, 5.10, etc.), a factor, or a percentage. As another example, the rationale may indicate that a travel recommendation includes a price that is too high or not high enough, or includes a travel destination that is too close to the search criteria for origin or not close enough, which may cause the request processing engine 52 to adjust the value assigned to the data reference point for the price category or for the distance category respectively.

[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 deré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.When the justification for an entry 66 relates to one of the categories in particular, such as the price category, it can then be assumed that the particular category is important for the user, because this category is actively managed by the user . Consequently, in certain embodiments, upon receipt of an entry 66 including a justification relating to a given category, the request processing engine 52 can be configured to increase the weight value assigned to the category to which it relates. justification, including a fixed number, factor, or percentage. For example, if entry 66 indicates that the temperature associated with a travel recommendation is too low, the search query 62 can then be configured to increase the weight value assigned to the climate category before determining the remaining result 64 which is closest to the adjusted datum point. In this way, the climate category will have an additional influence when determining the remaining result 64 which is closest to the adjusted reference point of the data. In other words, the next result 64 for display by the client device 12 can be based on the increased weight value.

[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 ci3054762 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é.In block 216, after the initial reference point of the data has been adjusted, and possibly after the weight assigned to one of the categories has been increased, the result 64 which has not yet been transmitted to the client device 12 and which is closest to the adjusted datum point can be selected for display. In particular, the request processing engine 52 can calculate the weighted quadratic distance, as we have seen above, between the adjusted reference point of the data and each of the results 64 which have not yet been transmitted to the client device 12 for display, and select the result 64 whose weighted quadratic distance is the lowest as the next result 64 to display for the user. In this way, the request processing engine 52 can select the next result 64 for display on the basis of the justification for refusing the result 64 previously displayed.

[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 Tutilisateur, 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 Tutilisateur pour un résultat affiché 64.After the result 64 closest to the adjusted reference point of the data is selected, in block 210, the selected result 64 can be displayed for the user, for example by the request processing engine 52 which transmits the result 64 selected at the client device 12 for display by the client device 12. The process 200 can then be repeated for each entry 66 supplied by the user for a displayed result 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 Ta 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 Tutilisateur, par exemple via une transmission au dispositif client 12.FIGS. 6 and 7 show graphs illustrating an example of processes 100 and 200. In particular, FIG. 6 illustrates a graph 300a which includes an initial reference point of the data 302a and of the results 304, 306 and 308. Each of the results 304, 306 and 308, and the initial reference point of the data 302a, includes a value assigned to it for the "Category A" is a value assigned to it for "Category B". As seen previously, in block 112 of process 100, the result 64 closest to the initial reference point of the data 302a can be determined, in particular by using the weighted quadratic distance formula described above. Based on graph 300a, the result 64 closest to the initial reference point of the data 302a can be the result 304. Therefore, in block 114 of process 100 the result 304 can be displayed for the user, for example via a transmission to the client device 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, Tutilisateur 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 Tutilisateur, par exemple via une transmission au dispositif client 12. On remarque que si la 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.FIG. 7 illustrates an exemplary graph 300b which can represent the culmination of block 214 of the process 200. In particular, after the display of the result 304, the user can make an entry 66 indicating that an attribute of the displayed result 304 relating to the category A is too high. Therefore, as shown in Chart 300b, the initial reference point of the data 302a can be adjusted so that a lower value is assigned to it for Category A (i.e., the reference point adjusted from data 302b). Subsequently, in block 216 of process 200, it is possible to determine which remaining result 64 is closest to the adjusted reference point 302b. In the illustrated embodiment, the remaining result 64 closest to the adjusted reference point of the data 302b can be the result 308. Therefore, in block 210 of the process 200 the result 308 can be displayed for the user, for example via a transmission to the client device 12. It is noted that if the entry 66 had indicated that the user was interested in the result 64, the initial reference point of the data 302b could then not have been adjusted, and in block 208 of the process 200, the remaining result 64 closest to the original reference point of the data 302a could have been the result 306 instead of the result 308. In addition, differences between the weight values assigned to category A and category B may also affect the above result.

[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.FIG. 8 illustrates an exemplary GUI 400 which can be generated by the client device 12 and / or by the request processing engine 52 to display a selected result 64 for the user. In particular, the client device 12 can be configured to display a GUI 400 in response to the reception of a result 64 selected for display for the user on a screen of the client device 12. The GUI 400 can be configured to accept entries of the user indicating whether the user is interested or not, in the displayed result 64. In the illustrated embodiment, the displayed result 64 is a travel recommendation which includes Bangkok as a suggested travel destination.

[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.The GUI 400 may include an image 510 (eg, a Bangkok image), which may be part of the additional data portion of the result 64, selected to be presented to the user. Image 510 may have been retrieved from one of the additional information databases 56 during process 100. The GUI 400 may also include interactive icons 504, each associated with a different category type among the categories for which values have been assigned to the result 64 selected for display. In the illustrated embodiment, the interactive icons 504 include an icon 504a which is associated with the climate category, an icon 504b associated with the distance category and an icon 504c associated with the price category. The interactive icons 504 can be used by the user to generate and supply an input 66 to the request processing engine 52 explaining why the user is not interested in the displayed result 64, which is described in more detail below. below.

[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 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.The GUI 400 can also include other information included in the result 64 selected for display for the user. For example, when the result 64 is for a travel recommendation, the GUI 400 can also include a travel destination name 506 (e.g., Bangkok), a date or date range 508 (e.g., Mon 22 Jan Wed 05 Feb), a price 512 (eg, $ 255 / pers.), Information about the weather 514 (eg, an average temperature of 22 degrees and partial sunshine during the relevant date (s)), and social media data 516 (e.g., 123 people like the travel destination), and / or distance information 518 (e.g., the travel destination is 7207 km from the original criterion provided in search query 62). The GUI 400 may also include an interactive icon 520 (eg, the thumbs-up symbol) which, when selected, can generate and provide input 66 to the request processing engine 52 indicating that the user is interested in the displayed result 64. The interactive icon 520 may also include a number (eg, two) that represents the number of previous results 64 for which the user has expressed interest. In addition, or alternatively, at the interactive icon 520, the GUI 400 can be configured so that a tap on the image 510 generates and provides an input 66 to the request processing engine 52 indicating that the user is interested in the displayed result 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.FIG. 9 illustrates how a user can interact with the GUI 400 to provide input 66 to the request processing engine 52 indicating that the user is not interested in the displayed result 64. In the illustrated embodiment, the user can select one of the interactive icons 64 associated with the categories for which values have been assigned to the results 64 and drag the icon to the upper portion of the GUI 400 or to the lower portion of the GUI 400. During the interaction and the displacement of an interactive icon 504, the GUI 400 can be configured to display an increase graph 602 or a reduction graph 604. In response to the movement of the interactive icons 504 by the user to or near the graph of increase 602, an entry 66 can be generated and supplied to the request processing engine 52 indicating that the user is not interested in the result. t selected 64 because an attribute of the result 64 displayed concerning the category associated with the moved icon is too low. Alternatively, in response to the user moving the interactive icons 504 to or near the reduction graph 604, an entry 66 can be generated and provided to the request processing engine 52 indicating that the user is not interested in the selected result 64 because an attribute of the result 64 displayed concerning the category associated with the moved icon is too high. For example, in the illustrated embodiment, a user has selected and moved the icon 504b associated with the distance category, close to the increase graph 602. Consequently once the icon 504b is released by the user, the request processing engine 52 can receive an input 66 indicating that the user is not interested in Bangkok as a travel destination because this destination is not far enough from the origin of the user and can, on this basis, adjust the data reference point by assigning it an increased value for the distance category.

[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 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 œuvre 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.[0085] The GUI 400 can also be configured to accommodate additional user gestures to indicate interest or lack of interest of 29 users for a 64-selected result to be displayed for user. For example, if a user is not interested in a displayed result 64, the GUI 400 can then be configured so that the user can select and drag the image 510 up. In response, the number included with the interactive icon 520 can be incremented, because another result 64 can be added to the cache memory as a result of the user's gesture [block 206 of process 200]. Alternatively, if the user is not interested in the currently displayed result 64, but does not wish to change the current data reference point, the GUI 400 can then be configured to allow the user to select and drag image 510 down without interacting with the interactive icons 504. Consequently block 214 of process 200 can be avoided, and the request processing engine 52 can proceed with the implementation of block 216 of process 200 by determining the remaining result 64 which is closest to the unadjusted reference point of the data. In addition, the GUI 400 can be configured so that when the user touches and releases the image 510, additional details regarding the displayed result 64 can be provided via the 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.In addition, in order to limit the number of interactive icons 504 which are included in the GUI 400 so as not to clutter the screen of the client device 12, but also to allow the user to effectively indicate a justification for its interest or lack of interest in a displayed result 64, the categories associated with the interactive icons 504 can be dynamically tailored for the user and / or for the behavior of the user. For example, if social media data, such as from additional information databases 56, indicates that the user is part of a group, such as a particular age group, that is not typically concerned with the particular category, the GUI 400 can then be generated so that the interactive icon 504 associated with this category is omitted, and an interactive icon 504 associated with another category is displayed instead, such as the category of duration. Furthermore, while the user provides entries 66 for displayed results 64, it may become apparent that the user is not focused on a particular category, such as the price category, in view of the lack of use. of the interactive icon 504 associated with this particular category. Consequently, for the following result 64 which is displayed for the user, the GUI 400 can replace the interactive icon 504 associated with the particular category with an interactive icon 504 associated with a category potentially more important for the user, such as the duration category.

[0087] En général, les routines exécutées pour mettre en œuvre 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 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.In general, the routines executed to implement the embodiments of the invention, whether implemented as part of an operating system or of a specific application, of a component, of 'a program, object, module or sequence of instructions, or even a subset of them, may be referred to herein as "computer program code" or simply "code of program ”. Program code typically includes computer readable instructions which reside at various times in various memory and storage devices in a computer, and which when read and executed by one or more processors in a computer, cause the 'execution by the computer of operations and / or of elements specific to the various aspects of the embodiments of the invention. The instructions of a computer-readable computer program for carrying out the operations of the embodiments of the invention can be, for example: assembly language or, source code or object code, written in combination with one or more Programming languages.

[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.Various program codes described herein can be identified, depending on the application in which they are implemented, in specific embodiments of the invention. However, it should be noted that any nomenclature of a particular program which follows is used only for convenience; thus the invention cannot be limited to a single use in any specific application identified and / or implied by said nomenclature. Furthermore, in view of the generally infinite number of means by which computer programs can be organized according to subroutines, procedures, procedures, modules, objects, and so on, as well as the various ways of affecting the functionality of a program among various layers of software that are resident in a typical computer [eg, operating systems, libraries, program application interfaces (APIs), applications, applets, etc.], Note that the embodiments of the invention are not limited to the specific organization and the specific allocation of program functionality as described herein.

[0089] Le code de programme mis en œuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produitprogramme 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.The program code implemented in any application / module described herein may be distributed individually or collectively as a computer program product, in a variety of forms. In particular, the program code can be distributed using a computer readable storage medium having computer readable program instructions by causing a processor to execute aspects of the embodiments of the 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 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.Data storage media readable by computer and which are intrinsically durable, can include tangible, volatile and non-volatile, removable and non-removable media, implemented in any data storage method or technology, such as instructions for computer readable program, data structures, program modules, or other data. Computer-readable storage media can also include random memory [RAM], read-only memory [ROM], read-only, programmable and erasable memory (EPROM)), flash memory, or any solid media technology. memory, CD-ROM (portable compact disc with read-only memory), or any other optical storage, magnetic recording tapes, magnetic disc memory, or any other medium that can be used to store the desired information and suitable for being deciphered by a computer. A computer-readable storage medium cannot be interpreted as transient signals per se (for example, radio waves or any other electromagnetic waves propagating through a transmission medium such as a waveguide, or electrical signals transmitted by cable). Computer-readable program instructions can be downloaded to a computer, another type of programmable data processor, or any other machine-readable storage device, or to an external computer or to an external storage device through a network.

[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.The computer-readable program instructions, stored in a computer-readable medium, can be used to instruct a computer, other types of programmable processing devices or other devices to operate in a particular way, so that the instructions stored on a computer-readable medium produce an article of manufacture comprising the instructions which implement the functions, actions and / or operations specified in the flowcharts, sequence diagrams, and / or block diagrams. Computer program instructions may be provided by one or more processors on a general purpose computer, a special purpose computer, or any other programmable data processing apparatus to produce a machine such as instructions executed by the through one where multiple processors cause a series of calculations to be performed to implement the functions, actions and / / operations specified in the flowcharts, sequence diagrams and / or block diagrams.

[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.In certain alternative embodiments, the functions, actions and / or operations specified in the flowcharts, sequential diagram and / or block diagrams can include more or less blocks than those which are illustrated while remaining consistent with the embodiments of the invention. In addition, any flowchart, sequence diagram, and / or block diagram can include more or less blocks than those illustrated in accordance with embodiments of the invention.

[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 ».The terminology used herein is intended to describe only specific embodiments and is not intended to limit the embodiments of the invention. The singular forms of the indefinite articles “un”, “une”, “le” and “la” as they are used herein also imply plural forms, unless the contrary is clearly indicated by the context. It will also be understood that the verb forms of the verb "to understand", "includes" and / or "comprising", when used in this specification, specify the presence of characteristics, whole numbers, steps, operations , elements, and / or components, but do not exclude the presence or addition of one or more characteristics, whole numbers, steps, elements, components and / or groups, in this. In addition, to the extent that the verbs "include", "having", "a", "with", "composed of" or variants thereof, are used in the detailed description and claims, these terms are supposed to be inclusive in a similar way to the verb form "comprising".

[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.Although the invention is illustrated by a description of various embodiments and although these embodiments are described in great detail, it is not the intention of the applicant to restrict or limit, to in any way, the scope of the claims herein to these details. Additional advantages and possible modifications will be readily apparent to those skilled in the art. The invention from a wider angle is therefore not limited to specific details, representative methods and apparatus, and to the illustrations shown and described by way of example. Consequently, it is possible to move away from these details without going away from the spirit and the scope of the general inventive concept of the applicant.

Claims (13)

REVENDICATIONS 1. Un procédé pour effectuer des recherches dans un ensemble de données électroniques, le procédé comprenant :1. A method for performing searches in an electronic data set, the method comprising: 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 :the receipt, by one or more processors and coming from a client device, of a search request for the electronic data set; and in response to receipt of the search request: 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 ;determining, by one or more processors, a plurality of results for the search request, each of the results including data from the electronic data set; la sélection, par un ou plusieurs processeurs, d'un premier résultat pour affichage par le dispositif client ;the selection, by one or more processors, of a first result for display by the client device; la transmission, par un ou plusieurs processeurs, du premier résultat au dispositif client pour affichage par le dispositif client ;the transmission, by one or more processors, of the first result to the client device for display by the client device; 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 :after the first result is transmitted to the client device, the reception coming from the client device, by one or more processors, of a refusal of the first result by the user, the refusal comprising a justification of the refusal of the first result; and in response to receipt of the rejection of the first result: 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.the selection, by one or more processors, of a second result based on the justification of the refusal, for display by the client device; and the transmission, by one or more processors, of the second result to the client device, for display by the client device. 2. Le procédé selon la revendication 1, comprenant par ailleurs :2. The method according to claim 1, further comprising: 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.in response to receiving the search request, determining an initial data reference point, based on the search request, wherein the selection of the first result for display by the client device includes: determining the result the closer to the original data reference point; and selecting the result that is closest to the reference point of the initial data as the first result. 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 :3. The method according to claim 2, in which the selection of the second result for display by the client device, based on the justification of the refusal comprises: 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 ;in response to receipt of the rejection, adjusting the initial data reference point based on the 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.determining the result closest to the adjusted reference point of the data that has not yet been transmitted to the client device for display; and selecting the result that has not yet been transmitted to the client device that is closest to the adjusted data reference point, as the second result. 4. Le procédé selon la revendication 3, comprenant par ailleurs :4. The method according to claim 3, further comprising: 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 :after the second result has been transmitted to the client device, the reception, from the client device, of an indication that the user is interested in the second result; and in response to receiving the indication that the user is interested in the second result: l'ajout du second résultat à une antémémoire des résultats qui intéressent l'utilisateur ;adding the second result to a cache of results of interest to the user; 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.determining among the results that have not yet been transmitted to the client device, the result closest to the adjusted reference point of the data; and the transmission of the result not yet transmitted to the client device for display which is closest to the adjusted reference point of the data. 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 :The method according to any of claims 2-4, wherein the initial datum point includes a plurality of first values, each of which is associated with a different category from the plurality of categories, each of results includes a plurality of attributes, each of which is linked to a different category, and determining the results of the search query comprises: 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 :assigning a plurality of second values to each of the results, each of the second values being associated with a different category among the categories and being based on the attribute of the result which is linked to the associated category, in which the determination of the result closest to the initial data reference point includes: 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 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.for each of the results, the calculation of a first weighted quadratic distance between the initial data reference point and the result based on the first values of the initial data reference point and the second values assigned to the result; and selecting the result of which the first weighted quadratic distance is the lowest, as the result being closest to the initial reference point of the data. 6. Le procédé selon la revendication 5 comprenant par ailleurs :6. The method according to claim 5 further comprising: 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.assigning a third value to each of the categories, the third value indicating the importance of the category to the user, in which the calculation of the first weighted quadratic distance between the initial reference point of the data and each of the results is also based on the third value assigned to each of the categories. 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 :7. The method according to claim 6, in which the justification for the refusal is linked to one of the categories, and the selection of the second result for display by the client device based on the justification for the refusal comprises: 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.the increase in the third value assigned to the category to which the justification for refusal relates; and selecting the second result for display by the client device based on the third increased value. 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 :The method according to any of claims 5-7, wherein the justification for the rejection indicates that one of the second values assigned to the first result is too low, and the selection of the second result for display by the client device based on the justification for the refusal includes: 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 ;adjusting the initial data reference point by increasing the first value linked to the category associated with the second value which is indicated by the justification as being too low; 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.the calculation of a second weighted quadratic distance between the adjusted reference point of the data and each of the results not yet transmitted to the client device for display; and selecting the result with the lowest weighted second quadratic distance as the second result. 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 :9. The method according to claim 5, in which, in response to the reception of the first result, the client device is configured to: 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.display a graphical user interface for the first result on the screen of the client device, the graphical user interface including a plurality of icons, each of the icons being associated with a different category among the categories, in which the the graphical user interface is configured to allow the user to move one of the icons to one of a plurality of portions of the screen of the client device, in which the justification for refusing the first result is determined according to the portion of the screen to which the icon is moved. 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 :The method according to any of claims 1-9, wherein the search request comprises a plurality of search criteria, the electronic data set comprises a plurality of databases of primary data objects and a plurality of additional information databases provided by a plurality of third parties, and determining the results of the search query includes: 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 ;removing, from the databases of primary data objects, a plurality of primary data objects based on the search criteria; 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 ;after removing the primary data objects, removing additional information from the cache database for each primary data object from a first subset of primary data objects, the cache database including data additional data retrieved during one or more previous search queries; 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.after removing additional data for each of the primary data objects in the first subset of primary data objects in the cache database, removing additional data from the additional information databases provided by third parties, for each of the primary data objects for which additional data has not been retrieved from the cache database, and the formulation of results based on the primary data objects and additional data retrieved from of each of the primary data objects, wherein each of the results includes at least a portion of one of the primary data objects and the additional data retrieved for the primary data object. 11. Un système pour effectuer des recherches dans un ensemble de données électroniques, le système comprenant :11. A system for performing searches in an electronic data set, the system comprising: au moins un processeur ; et une mémoire stockant des instructions qui, lors de l'exécution par au moins un processeur, amène le système à :at least one processor; and a memory storing instructions which, when executed by at least one processor, causes the system to: en réponse à la réception, en provenance du dispositif client, d'une requête de recherche pour l'ensemble de données électroniques :in response to the reception, from the client device, of a search request for the electronic data set: 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 ;determining a plurality of results for the search query, each of the results including data from the electronic data set; 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 ;selecting a first result for display by the client device; and transmitting the first result to the client device for display by the client device; 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 :after the first result is transmitted to the client device and, in response to the reception from the client device of a refusal of the first result by the user, the refusal comprising a justification for the refusal of the first result: 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 clientselect a second result based on the justification of the refusal, for display by the client device; and transmit the second result to the client device for display by the client device 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 œuvre le procédé selon l'une quelconque des revendications 2-10.The system according to claim 11, wherein the instructions during execution also cause the system to implement the method according to any one of claims 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 œuvre les étapes du procédé selon revendications 1-10 lorsque ledit programme est exécuté sur un ordinateur.13. A computer program product comprising program code instructions recorded on a medium readable by a computer for implementing the steps of the method according to claims 1-10 when said program is executed on a computer. 1/61/6
FR1657261A 2016-07-28 2016-07-28 PERFORMING SEARCHES IN AN ELECTRONIC DATA SET Pending FR3054762A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1657261A FR3054762A1 (en) 2016-07-28 2016-07-28 PERFORMING SEARCHES IN AN ELECTRONIC DATA SET
EP17183718.0A EP3276510B1 (en) 2016-07-28 2017-07-28 Electronic dataset searching
CN201710626604.0A CN107665236B (en) 2016-07-28 2017-07-28 Method, system and computer readable storage medium for electronic data set searching
ES17183718T ES2796345T3 (en) 2016-07-28 2017-07-28 Electronic data set search

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1657261A FR3054762A1 (en) 2016-07-28 2016-07-28 PERFORMING SEARCHES IN AN ELECTRONIC DATA SET
FR1657261 2016-07-28

Publications (1)

Publication Number Publication Date
FR3054762A1 true FR3054762A1 (en) 2018-02-02

Family

ID=57485606

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1657261A Pending FR3054762A1 (en) 2016-07-28 2016-07-28 PERFORMING SEARCHES IN AN ELECTRONIC DATA SET

Country Status (1)

Country Link
FR (1) FR3054762A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282022A1 (en) * 2008-05-12 2009-11-12 Bennett James D Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison
US20120278316A1 (en) * 2011-05-01 2012-11-01 Reznik Alan M Systems and methods for facilitating enhancements to search engine results
US20150169576A1 (en) * 2013-01-30 2015-06-18 Google Inc. Dynamic Search Results

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090282022A1 (en) * 2008-05-12 2009-11-12 Bennett James D Web browser accessible search engine that identifies search result maxima through user search flow and result content comparison
US20120278316A1 (en) * 2011-05-01 2012-11-01 Reznik Alan M Systems and methods for facilitating enhancements to search engine results
US20150169576A1 (en) * 2013-01-30 2015-06-18 Google Inc. Dynamic Search Results

Similar Documents

Publication Publication Date Title
US10789304B2 (en) Method and system for measuring user engagement with content items
US9128961B2 (en) Loading a mobile computing device with media files
CN109154935B (en) Method, system and readable storage device for analyzing captured information for task completion
US9727587B2 (en) Previewing search results
US11474926B2 (en) Method and system for measuring user engagement with content items
US9733802B2 (en) Automatic deep view card stacking
CN109981785B (en) Method and device for pushing information
US20130346840A1 (en) Method and system for presenting and accessing content
US20120209586A1 (en) Contextual Demonstration of Applications Hosted on Multi-Tenant Database Systems
US20140324902A1 (en) Automatic generation of a collection of content
EP3529993A1 (en) Dynamically modifying an execution environment for varying data
WO2017148323A1 (en) Method and device for sorting content documents
US20210279297A1 (en) Linking to a search result
US20130103550A1 (en) Discovery of digital goods in an online marketplace
US11425071B2 (en) Uniform resource identifier and image sharing for contextual information display
CN110659406B (en) Searching method and device
FR3054762A1 (en) PERFORMING SEARCHES IN AN ELECTRONIC DATA SET
US20140344351A1 (en) Displaying user's desired content based on priority during loading process
US20230409654A1 (en) On-Device Artificial Intelligence Processing In-Browser
FR3055056A1 (en) GENERATION OF RECOMMENDATIONS FOR ROUTES HAVING TWO OR MORE SEGMENTS
FR3047095B1 (en) SHORTCUT LINKS IN A GRAPHICAL INTERFACE
WO2022251130A1 (en) Linking to a search result
FR3057084A1 (en) PROCESSING OF SEARCH REQUESTS
FR3060797A1 (en) PREDICTIVE DATABASE FOR COMPUTER PROCESSES
FR3044129A1 (en)

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20180202

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

RX Complete rejection

Effective date: 20210804