EP1193625B1 - Collaborative search engine - Google Patents
Collaborative search engine Download PDFInfo
- Publication number
- EP1193625B1 EP1193625B1 EP00402666A EP00402666A EP1193625B1 EP 1193625 B1 EP1193625 B1 EP 1193625B1 EP 00402666 A EP00402666 A EP 00402666A EP 00402666 A EP00402666 A EP 00402666A EP 1193625 B1 EP1193625 B1 EP 1193625B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- terminal
- data
- response
- interrogation
- profile
- 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.)
- Expired - Lifetime
Links
- 230000004044 response Effects 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims abstract description 3
- 238000012360 testing method Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 14
- 238000001914 filtration Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000000295 complement effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 claims 1
- 238000006467 substitution reaction Methods 0.000 claims 1
- 241000282472 Canis lupus familiaris Species 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 235000019640 taste Nutrition 0.000 description 3
- 229940082150 encore Drugs 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 240000008042 Zea mays Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Definitions
- the present invention relates to a search engine for extracting from a database a list of data in response to a request, in particular for extracting from a database response data designating a product or service to be provided by a client. provider to a customer, as well as a computer assistance method (DTP) implementing the search engine to make personalized business offers.
- DTP computer assistance method
- Computer databases have multiple uses. For example, in a known manner, a business enterprise can gather in computer databases a lot of information about its customers to use this information for marketing purposes. For example, the profession, the place of residence, the age, the tastes of its customers can allow a company to better adapt its offer. Furthermore, in a known manner, a telecommunication network allows different branches of the same company to easily pool this data from remote sites. In such a system, the data collected is very diverse and very bulky.
- a large amount of data is stored in a database, it must then be processed automatically to extract information useful for a specific purpose, for example to make a customer, real or potential, a particular customized commercial offer likely to meet his interest.
- One known means of processing consists in using a software engine for searching strings. Such a search engine is able to extract records stored in a database those that contain a predetermined character string, for example a word or group of words.
- Such a known search engine has drawbacks: the search for a string of characters does not make it possible to specify the context of use of said word or group of words, nor its meaning, which can be multiple, so that the extracted records by such an engine have increasing volume and decreasing relevance with the volume of the database, which reduces their usefulness.
- the computer assistance method for making a commercial offer using the database described above also has drawbacks: the collection, storage and processing of the data are entirely at the expense of the customer. company owns the base and that grows with the amount of data. In addition, a given company can only collect data on the limited number of actors with whom it has a relationship in its normal business, for example, on its own customers and suppliers. If these data have to be purchased from another data source, they also entail additional costs for the company.
- a first object of the present invention is to provide a system comprising a search engine not having the aforementioned drawbacks.
- the invention firstly relates to a system comprising a search engine as defined in claims 1 to 19 below.
- the search engine comprises a set of instruction codes executable by a query computer terminal to form a query and another set of instruction codes executable by a computer search terminal for extracting from a database a list of response data to said request, the interrogation terminal and the search terminal being connected by a telecommunication network.
- the set of instruction codes executable by the computer research terminal makes it possible to receive and execute linking commands issued from other computer terminals, said partner terminals, connected to the telecommunications network.
- the search terminal executes a connection command by sending a query software module to the interrogation terminal to form a request whose certain characteristics are predetermined according to the partner terminal at the request terminal. origin of the linking command.
- the search terminal also includes a partner database, preferably containing information on products and / or services to be provided by the partner terminal.
- the set of instruction codes executable by the search computer terminal makes it possible to filter the response data and to select the recipient of the response list according to the partner data.
- a second object of the present invention is to provide a method of computer assistance not having the aforementioned drawbacks.
- the second object of the invention is a computer assistance method as defined in claim 20 below.
- the search engine comprises a first set J1 of instruction codes intended to be executed by a search computer terminal TR.
- the search terminal TR conventionally comprises a processor 1 and storage means 2, comprising for example a computer memory and / or a hard disk and / or an optical disk drive-writer and / or any other means.
- a database 3 comprising data intended to be processed by the search engine is stored in said storage means 2.
- the database 3, of matrix structure has N rows called profiles, denoted P1 to PN, and M columns called fields, noted C1 to CM, N and M being two integers greater than or equal to 1.
- Each profile Pi, i being an integer between 1 and N contains a plurality of data Dij, each data Dij being associated with a field Cj, j being an integer between 1 and M.
- Each profile contains at least one data Dij, but does not contain not necessarily Dij data associated with all the fields of the database.
- the profile P1 contains the data D11 associated with the field C1 and does not contain any data associated with the field C2.
- Each profile Pi of the base 3 also comprises a profile number Ii to uniquely identify it and an identifier Ei, for example a string of characters, said identifier Ei being different for each profile.
- Each data Dij of the base 3 comprises an alphanumeric character string.
- Each profile Pi is from the base 3 has been defined by a user of the search engine, as will be explained below, and contains information that this user was kind enough to provide, especially information about himself, his tastes and his preferences, especially in terms of consumption, etc.
- Each field Cj of the base 3 groups a predetermined category of data, that is to say that the character strings of the different data Dij associated with the same field Cj designate different possible answers to the same question.
- the field C5 can relate to the dates of birth. All Di5 data in base 3 are then birth dates provided by users of the search engine. The question defining field C5 is: what is your date of birth?
- the search terminal TR is connected by a telecommunications network R to other computer terminals, called IT interrogation terminals.
- the telecommunication network R may be the Internet and the interrogation terminals TI may comprise a multitude of interrogation terminals connected to this network.
- each computer terminal connected to the network R is identified by an address that allows to communicate with him. Communications between computer terminals via the network R are performed according to conventional communication protocols, such as the TCP / IP protocol.
- any of the interrogation terminals TI conventionally comprises a processor 4, a memory unit 5, interface means 6, for example a screen and / or a keyboard and / or a mouse, to enable a user U of the terminal TI interrogation to read and write data and to execute instructions.
- the search terminal TR receives from a interrogation terminal TI a connection command, represented by the arrow 7, it responds to the interrogation terminal TI by sending it an interrogation software module 8, for example in the form of HTML, JAVASCRIPT, and / or other files, which includes a second set J2 of instruction codes.
- the instruction codes J2 are then executed by the interrogation terminal TI to allow the user U to generate a request to be processed by the search engine.
- the instruction codes J2 first allow the user U to associate reference data Drj with fields Cj of the database 3, said fields Cj being chosen within a predetermined set of accessible fields which comprises all or part of the fields Cj of the base 3.
- the associated reference data Drj can be typed on a keyboard by the user U or be chosen from a predetermined list of optional data associated with the field Cj, said list being contained in the software module 8 received from the search terminal TR.
- the user U When he associates the reference data Drj of his choice with the accessible fields Cj of his choice, the user U generates a reference profile Pr, which is temporarily stored in the memory unit 5, possibly for an unlimited duration.
- the user U is invited to provide the reference data Drj in response to a question put to him via the interface means 6.
- the question asked is that which defines the corresponding field Cj.
- the field C6 relates to the month of birth of the user U
- the question that defines it is: "what is your month of birth?
- the list of optional data associated with field C6 includes the names of the 12 months of the year.
- the instruction codes J2 also allow the user U to identify the reference profile Pr by an identifier Er of his choice, for example a pseudonym and a password.
- the instruction codes J2 make it possible to send to the search terminal TR the reference profile Pr accompanied by its identifier Er, as represented by the arrow 10, in order to concatenate the reference profile Pr with the database 3.
- the search terminal TR compares the identifier Er of the received profile with the identifiers E1 to EN of the profiles of the base 3. If no profile Pi of the base 3 has its identifier identical to the received identifier Er, the reference profile Pr is saved as a new profile P N + 1 in the base 3, as shown in broken lines in FIG. 1.
- the instruction codes J2 allow the user U to send to the search terminal TR a profile identifier to download, as represented by the arrow 10.
- the corresponding Pi profile is sent to the interrogation terminal TI, as represented by the arrow 11. If there is no corresponding profile in the base 3, an error message can be sent in response to the terminal IT interrogation.
- the user U can then change the downloaded reference profile Pr, by adding Drj data to said profile Pr or by modifying received Drj data. .
- the user U can not modify the identifier Ei of the profile received, in order to prevent it from replicating the profile Pi several times in the base 3 under different identifiers.
- each U user of the search engine is gradually a profile Pi which is staff and which contains more and more information. Each U user thus contributes to gradually filling the database 3.
- the instruction codes J2 are executed by the interrogation terminal TI to assign, in a known manner or not to the user U, an identifier K to the interrogation terminal TI, the identifier K being able to to be included in a "cookie" file stored in the memory 5.
- the identifier K is then automatically used as identifier Er of the generated reference profile Pr and / or as identifier Ei of the profile Pi to download.
- the user U has the possibility of giving to a reference profile Pr that he generated from scratch, without prior download, the identifier Ei of a profile Pi already stored in the database 3 and send this reference profile Pr to the search terminal to concatenate with the base 3.
- the search engine instead of replying with a message indicating that the identifier Ei is not available, replaces the Dij data Pi profile stored by the non-empty Drj data of the received profile without affecting the data Dij of the stored Pi profile associated with Cj fields for which the received Pr profile does not contain associated data.
- the latter contains at least one data Drj associated with an accessible field Cj.
- the reference profile Pr generated also contains a data item Dr1 associated with the field C1.
- the instruction codes J2 then allow the user U to send the request to the search terminal TR, such as represented by the arrow 9.
- the request 9 sent comprises the reference profile Pr and the designation of a query domain.
- the designated interrogation domain is a set of one or more or all of the fields Cn of the database 3.
- the fields Cm of the interrogation domain are predetermined by the software module 8 or are chosen by the user U .
- the response 12, generated according to the algorithm described above, is finally sent by the network R to the interrogation terminal TI, as represented by the arrow 13 of FIG. 1.
- the various algorithm steps described can be executed in another order and / or nested within each other without changing the resulting response.
- the query domain may comprise all the fields Cj of the database 3.
- the response data of the response 12 may be in the form of a response profile, which contains, in association with each field Cj, a datum Dqj whose weighted frequency FPqj is the highest of all the response data associated with the field Cj.
- This response profile is a priori identical to none of the profiles Pi stored in the database of data 3. It represents the profile having a maximum "affinity" with the reference profile Pr, the affinity in question here being implicitly defined by the weighted frequencies and the standardized coefficients.
- Each normalized coefficient ⁇ qm is indeed intended to qualitatively and quantitatively represent a probability that the user U having generated the reference profile Pr recognizes his own characteristics, tastes and preferences in the data item Dqm as a response to the question defining the interrogation field Cm.
- the normalized coefficient is intended to represent a probability that the user U will choose the Dqm data of his own free will as a response to this question, if he is aware of the object designated by the data item Dqm and provided that this question does not relate to objective information (what is your age?), but relates to a subjective characteristic of the user U (what is your favorite actor?).
- An advantage of the search engine is that the user U is often not aware a priori of said object, the Dqm data having been entered in the base 3 by one of the many users with a personal profile stored therein. The search engine therefore also provides a decision support system.
- the method for retrieving response data and calculating weighted frequencies is a fuzzy logic method based on the idea that when a data item appears in a profile that also has common data with the reference profile, it can be assign a non-zero probability of corresponding to the characteristics of the user U.
- this method is also based on the idea that such a probability is even greater than the said common data are few represented in the set of profiles Pi of the database 3, and on the contrary all the weaker that said common data are common in the set of profiles Pi of the database 3.
- TP partner terminals are connected to the telecommunications network R.
- Each terminal TP partner is preferably intended to receive orders on behalf of a partner supplier able to provide a range of products and / or services to customers.
- the TP partner terminal is a computer server of an e-commerce company.
- a user U of a partner terminal TP who wishes to use the search engine can, from his interrogation terminal TI, issue a connection command to the partner terminal TP, as represented by the arrow 14.
- the partner terminal TP issues a connection command 15 to the search terminal TR.
- the search terminal TR sends the software module 8 to the interrogation terminal TI, as represented by the arrow 16.
- the software module 8 can be stored in a memory 17 of the partner terminal TP and sent directly by the latter in response to the connection command 14, as represented by the arrow 18.
- the software module 8 sent is specific to the partner terminal TP having received the connection command 14.
- This software module 8 contains the second set of instruction codes J2 to allow the user U to generate his request as described above.
- it predetermines the fields Cm of the interrogation domain of the request so that said fields relate to characteristics of the products and / or services to be provided by the partner provider. For example, if the partner vendor is a record store, a question field is about the name of the user's favorite musician U, the title of their favorite disc, and so on.
- the software module 8 also determines the accessible fields according to the partner provider.
- the search terminal TR comprises a second database 19, joined or disconnected from the base 3, stored in the storage means 2.
- the second database 19 contains partner data Dpj associated with fields Cj of the base 3 , in particular partner data Dpm associated with the predetermined field (s) Cm (s) of the interrogation domain.
- the Dpm partner data contains a list of all the products and / or services available from the partner provider.
- the base 19 also contains complementary data D'pm associated with the data-partner Dpm and bearing on characteristics of the products and / or services designated by the data-partner Dpm, for example on the price of said products and / or services.
- the sent software module 8 contains, for each accessible field Cj predetermined, associable optional data which are extracted from the partner data Dpj associated with said field Cj.
- disk titles available from the partner provider are proposed to the user U to generate his reference profile.
- the user U then sends the search terminal TR the request generated from the interrogation terminal TI by means of the software module 8, as represented by the arrow 20.
- the processing of this request 20 comprises, for example as a result of the above-mentioned optional filtering step, a partner filtering step, in which each Dqm response data associated with the Cm field is compared with the partner Dpm data of the base 19 associated with the same Cm field. Any response data that is not part of the partner data Dpm of the partner terminal TP causing the linking command 15 is removed from the response 12 during this step.
- the response 12 can contain, at the end of the partner filtering step, only disk titles available from said partner provider.
- an address of the partner terminal and / or the partner provider for example in the form of an attribute of the response data or an HTML link, is included in the response 12.
- the response 12 is sent to the interrogation terminal TI, as represented by the arrow 21, so that the user U can then contact the partner provider to control the product / service designated in the response 12, as represented by the arrow 32.
- an address of the interrogation terminal TI is included in the response 12 and this is sent to the partner terminal TP, as represented by the arrow 22, so that the partner provider can subsequently come into contact with the user U for him. provide relevant commercial or advertising information with respect to the issued request and / or offer to order the product / service identified in response 12.
- the software module 8 also allows a user U of the interrogation terminal TI to impose in his request an objective criterion to be verified by the response data.
- the user U can select a characteristic about which there is additional data pm in the base 19, for example the price of the products designated by the data-partner Dpm, and predetermine a criterion to be satisfied by said characteristic, for example a threshold S not to be exceeded.
- a logical test consisting of checking whether the complementary data item pm associated with the partner data item Dpm and relating to the selected characteristic fulfills the predetermined criterion.
- the response data is excluded from the response 12. For example, if the interrogation field relates to a disk title, the user can impose that the disks whose titles will be provided in answer 12 will have a price below 15 €.
- the search engine is intended to be used jointly by a multitude of interrogation terminals TI1, TI2,... And a multitude of partner terminals TP1, TP2,..., All connected to the search terminal TR by the network of terminals. telecommunication R.
- the computer assistance method for making commercial offers using the search engine has several advantages: since the database 3 contains the profiles of the users of all the partner terminals, it contains data which is not would not be accessible to each individual partner provider. In addition, the base 3 and the search engine use virtually none of the memory and calculation resources of the partner terminals. According to its needs, each user of one or more IT interrogation terminals generates and / or modifies a profile of the database 3 which is personal to him during multiple requests sent successively by means of the specific software modules 8 of the different terminals.
- the accessible fields can be different, so that the profile Pi is completed gradually.
- One advantage of the search engine lies in the fact that all the fields of the comparison domain DC serve to generate the response 12 to the request.
- the domain DC comparison contains different fields and generally more numerous than the accessible fields, which are the only visible user U. This allows to take into account a very large number of characteristics of the user U to process his request, without asking for an excessive amount of information to be provided at one time, nor to expose him to a list, possibly long, of the data that he has already provided, which could in both cases discourage it.
- the search terminal TR comprises the base 19 containing partner data Dpm designating the goods available from various partner suppliers.
- the interrogation terminal TI enters in communication, directly or indirectly, with the terminal TR, as previously described with reference to FIGS. 1 and 4.
- the search terminal TR attaches to each Dqm response data an address of the partner provider with which the product designated by said Dqm response data is available, regardless of which partner provider.
- the instruction codes J2 enable the user U to generate a request 24 containing only one sentence or a group of words, and to send it to the search terminal TR as indicated by the arrow 23.
- the instruction codes J1 are executed by the search terminal TR upon receipt of the request 24 to perform a semantic recognition step during which a reference profile Pr is automatically generated using the words of the request 24, which are automatically associated with fields Cj of the database 3, as indicated by the arrow 25.
- the field Cm of the query domain is also automatically defined according to the first word of the request 24.
- base 3 includes the C1 field for a preferred restaurant name, the C2 field for the preferred kitchen type, and the C3 field for the preferred animal.
- the request 24 states: "Italian restaurant accepting dogs”.
- the automatically generated reference profile has "Italian” for the C2 field and "Dog” for the C3 field, the C1 field is automatically selected as the query domain.
- the search terminal TR is connected by the network R to a search terminal using keywords MC.
- the instruction codes J1 are executed to send the response data Dqm (which is a character string) whose normalized coefficient ⁇ qm is maximum at destination of the terminal MC, as indicated by the arrow 31, so that it performs a search by keywords on the object designated by the data Dqm.
- the terminal MC makes it possible to extract, from a database 30 of electronic documents stored by the latter, the list 27 of the documents which contain the string Dqm. Then, the terminal MC sends the list 27 to the interrogation terminal TI, directly or via the search terminal TR, as indicated by the arrows 28 and 29 respectively.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
- Valve Device For Special Equipments (AREA)
- Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
Abstract
Description
La présente invention concerne un moteur de recherche destiné à extraire d'une base de données une liste de données en réponse à une requête, en particulier pour extraire d'une base de données des données de réponse désignant un produit ou service à fournir par un fournisseur à un client, ainsi qu'un procédé d'assistance par ordinateur (PAO) mettant en oeuvre le moteur de recherche pour faire des offres commerciales personnalisées.The present invention relates to a search engine for extracting from a database a list of data in response to a request, in particular for extracting from a database response data designating a product or service to be provided by a client. provider to a customer, as well as a computer assistance method (DTP) implementing the search engine to make personalized business offers.
Les bases de données informatiques ont de multiples usages. Par exemple, de manière connue, une entreprise commerciale peut regrouper dans des bases de données informatiques de nombreuses informations concernant ses clients pour utiliser ces informations à des fins mercatiques. Par exemple, la profession, le lieu de résidence, l'âge, les goûts de ses clients peuvent permettre à une entreprise de mieux adapter son offre. Par ailleurs, de manière connue, un réseau de télécommunication permet à différentes branches d'une même entreprise de facilement mettre en commun ces données depuis des sites distants. Dans un tel système, les données collectées sont très diverses et très volumineuses.Computer databases have multiple uses. For example, in a known manner, a business enterprise can gather in computer databases a lot of information about its customers to use this information for marketing purposes. For example, the profession, the place of residence, the age, the tastes of its customers can allow a company to better adapt its offer. Furthermore, in a known manner, a telecommunication network allows different branches of the same company to easily pool this data from remote sites. In such a system, the data collected is very diverse and very bulky.
Lorsqu'une grande quantité de données sont stockées dans une base, celles-ci doivent ensuite être traitées automatiquement pour en extraire des informations utiles à un but précis, par exemple pour faire à un client, réel ou potentiel, particulier une offre commerciale personnalisée susceptible de rencontrer son intérêt. Un moyen connu de traitement consiste à utiliser un moteur logiciel de recherche de chaînes de caractères. Un tel moteur de recherche est capable d'extraire des enregistrements stockés dans une base de données ceux qui contiennent une chaîne de caractère prédéterminée, par exemple un mot ou groupe de mots.When a large amount of data is stored in a database, it must then be processed automatically to extract information useful for a specific purpose, for example to make a customer, real or potential, a particular customized commercial offer likely to meet his interest. One known means of processing consists in using a software engine for searching strings. Such a search engine is able to extract records stored in a database those that contain a predetermined character string, for example a word or group of words.
Un tel moteur de recherche connu a des inconvénients : la recherche d'une chaîne de caractère ne permet pas de spécifier le contexte d'utilisation dudit mot ou groupe de mots, ni son sens, qui peut être multiple, de sorte que les enregistrements extraits par un tel moteur ont un volume croissant et une pertinence décroissant avec le volume de la base de données, ce qui réduit leur utilité.Such a known search engine has drawbacks: the search for a string of characters does not make it possible to specify the context of use of said word or group of words, nor its meaning, which can be multiple, so that the extracted records by such an engine have increasing volume and decreasing relevance with the volume of the database, which reduces their usefulness.
Le procédé d'assistance par ordinateur pour faire une offre commerciale à l'aide de la base de données décrite ci-dessus a aussi des inconvénients : la collecte, le stockage et le traitement des données ont un coût entièrement à la charge de l'entreprise propriétaire de la base et qui croît avec la quantité de données. De plus, une entreprise donnée ne peut recueillir de données que sur le nombre limité d'acteurs avec lesquels elle entretient des relations dans le cadre de son activité normale, par exemple sur ses propres clients et fournisseurs. Si ces données doivent être achetées à une autre source de données, elles entraînent aussi un surcoût pour l'entreprise.The computer assistance method for making a commercial offer using the database described above also has drawbacks: the collection, storage and processing of the data are entirely at the expense of the customer. company owns the base and that grows with the amount of data. In addition, a given company can only collect data on the limited number of actors with whom it has a relationship in its normal business, for example, on its own customers and suppliers. If these data have to be purchased from another data source, they also entail additional costs for the company.
Par ailleurs, de nombreuses entreprises utilisent des ordinateurs pour faire des transactions et/ou fournir des produits ou des services à des clients par l'intermédiaire de réseaux de télécommunication. L'occupation de la mémoire desdits ordinateurs par une base de données telle que précédemment décrite et la mobilisation de leurs capacités de calcul pour le traitement desdites données présentent des inconvénients tels que la diminution du débit d'informations échangées par lesdits ordinateurs avec lesdits clients, le ralentissement de l'activité et finalement la diminution de la productivité de l'entreprise. Pour échapper à cet inconvénient, l'entreprise doit s'équiper d'ordinateurs aux performances très élevées, ce qui entraîne également un surcoût pour elle.In addition, many companies use computers to make transactions and / or provide products or services to customers via telecommunication networks. The occupation of the memory of said computers by a database as previously described and the mobilization of their computing capacities for the processing of said data have drawbacks such as the decrease in the information rate exchanged by said computers with said clients, the slowdown in activity and finally the decrease in the productivity of the company. To escape this disadvantage, the company must equip computers with very high performance, which also entails an additional cost for it.
Le brevet américain US-A-6 012 051 attribué à SAMMON JR THOMAS M El AL et publié le 4 janvier 2000 décrit un système de prise de décision permettant d'identifier au sein d'une base de données des produits ayant des caractéristiques pertinentes pour un utilisateur, en fonction des caractéristiques du profil dudit utilisateur. Toutefois, la sélection d'un produit donné n'est pas basée sur la pondération des attributs d'autres produits de la base et prend par conséquent mal en compte de l'ensemble des données de la base.The US Pat. No. 6,012,051 to SAMMON JR THOMAS M El AL, published on January 4, 2000, describes a decision-making system making it possible to identify within a database products having characteristics that are relevant for a user, depending on the characteristics of the profile of said user. However, the selection of a given product is not based on the weighting of the attributes of other products in the database and therefore takes into account all the data in the database.
Un premier but de la présente invention est de fournir un système comprenant un moteur de recherche ne présentant pas les inconvénients précités.A first object of the present invention is to provide a system comprising a search engine not having the aforementioned drawbacks.
Pour cela, l'invention a pour premier objet un système comprenant un moteur de recherche tel que défini dans les revendications 1 à 19 ci-dessous. Dans un premier mode de réalisation défini par les revendications 1 à 11, le moteur de recherche comporte un jeu de codes d'instructions exécutables par un terminal informatique d'interrogation pour constituer une requête et un autre jeu de codes d'instructions exécutables par un terminal informatique de recherche pour extraire d'une base de données une liste de données de réponse à ladite requête, le terminal d'interrogation et le terminal de recherche étant reliés par un réseau de télécommunication.For this, the invention firstly relates to a system comprising a search engine as defined in claims 1 to 19 below. In a first embodiment defined by claims 1 to 11, the search engine comprises a set of instruction codes executable by a query computer terminal to form a query and another set of instruction codes executable by a computer search terminal for extracting from a database a list of response data to said request, the interrogation terminal and the search terminal being connected by a telecommunication network.
Dans un deuxième mode de réalisation, défini par les revendications 12 et 13, le jeu de codes d'instructions exécutables par le terminal informatique de recherche permet de recevoir et d'exécuter des commandes de mise en relation émises depuis d'autres terminaux informatiques, dit terminaux partenaires, reliés au réseau de télécommunication. Dans ce deuxième mode de réalisation, le terminal de recherche exécute une commande de mise en relation en envoyant à destination du terminal d'interrogation un module logiciel d'interrogation pour constituer une requête dont certaines caractéristiques sont prédéterminées en fonction du terminal partenaire à l'origine de la commande de mise en relation.In a second embodiment, defined by
Dans un troisième mode de réalisation, défini par les revendications 14 à 18, le terminal de recherche comporte également une base de données-partenaire, contenant de préférence des informations sur des produits et/ou services destinés à être fournis par le terminal partenaire. Le jeu de codes d'instructions exécutables par le terminal informatique de recherche permet de filtrer les données de réponse et de choisir le destinataire de la liste de réponse en fonction des données-partenaire.In a third embodiment, defined by
Un second but de la présente invention est de fournir un procédé d'assistance par ordinateur ne présentant pas les inconvénients précités.A second object of the present invention is to provide a method of computer assistance not having the aforementioned drawbacks.
Pour cela, l'invention a pour second objet un procédé d'assistance par ordinateur tel que défini dans la revendication 20 ci-dessous.For this, the second object of the invention is a computer assistance method as defined in claim 20 below.
L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description suivante de plusieurs modes de réalisation particuliers de l'invention, donnés uniquement à titre illustratif et non limitatif, en référence au dessin annexé. Sur ce dessin :
- la figure 1 est un schéma de fonctionnement du moteur de recherche selon l'invention dont les instructions sont exécutées conjointement par un terminal informatique de recherche et par un terminal informatique d'interrogation reliés par un réseau de télécommunication ;
- la figure 2 est un exemple de contenu d'une base de données avec laquelle le moteur de recherche coopère ;
- la figure 3 est un exemple d'une réponse générée par le moteur de recherche qui coopère avec la base de données de la figure 2 ;
- la figure 4 est un schéma de fonctionnement du moteur de recherche dont les instructions sont exécutées par un terminal informatique de recherche relié par un réseau de télécommunication avec un terminal informatique partenaire ;
- la figure 5 est un schéma de fonctionnement d'une variante du moteur de recherche comportant un module logiciel d'analyse sémantique ;
- la figure 6 est un schéma de fonctionnement d'une variante du moteur de recherche de l'invention coopérant avec un moteur de recherche par mots-clés.
- FIG. 1 is an operating diagram of the search engine according to the invention, the instructions of which are executed jointly by a search computer terminal and by an interrogation computer terminal connected by a telecommunications network;
- FIG. 2 is an example of content of a database with which the search engine cooperates;
- FIG. 3 is an example of a response generated by the search engine that cooperates with the database of FIG. 2;
- FIG. 4 is an operating diagram of the search engine whose instructions are executed by a search computer terminal connected by a telecommunications network with a partner computer terminal;
- FIG. 5 is an operating diagram of a variant of the search engine comprising a semantic analysis software module;
- FIG. 6 is an operating diagram of a variant of the search engine of the invention cooperating with a search engine by keywords.
Le fonctionnement du moteur de recherche va maintenant être décrit en référence à la figure 1. Le moteur de recherche comporte un premier jeu J1 de codes d'instructions destinés à être exécutés par un terminal informatique de recherche TR. Le terminal de recherche TR comporte classiquement un processeur 1 et des moyens de stockage 2, comprenant par exemple une mémoire informatique et/ou un disque dur et/ou un lecteur-graveur de disque optique et/ou tout autre moyen. Une base de données 3 comprenant des données destinées à être traitées par le moteur de recherche est mémorisée dans lesdits moyens de stockage 2.The operation of the search engine will now be described with reference to FIG. 1. The search engine comprises a first set J1 of instruction codes intended to be executed by a search computer terminal TR. The search terminal TR conventionally comprises a processor 1 and storage means 2, comprising for example a computer memory and / or a hard disk and / or an optical disk drive-writer and / or any other means. A
La base de données 3, de structure matricielle, comporte N lignes appelées profils, notés P1 à PN, et M colonnes appelés champs, notés C1 à CM, N et M étant deux nombres entiers supérieurs ou égaux à 1. Chaque profil Pi, i étant un nombre entier compris entre 1 et N, contient une pluralité de données Dij, chaque donnée Dij étant associée à un champ Cj, j étant un nombre entier compris entre 1 et M. Chaque profil contient au moins une donnée Dij, mais ne contient pas forcément des données Dij associées à tous les champs de la base. Ainsi, comme visible à la figure 1, le profil P1 contient la donnée D11 associée au champ C1 et ne contient aucune donnée associée au champ C2. Chaque profil Pi de la base 3 comporte également un numéro de profil Ii pour l'identifier de manière unique et un identificateur Ei, par exemple une chaîne de caractère, ledit identificateur Ei étant différent pour chaque profil. Chaque donnée Dij de la base 3 comporte une chaîne de caractères alphanumériques. Chaque profil Pi est de la base 3 a été défini par un utilisateur du moteur de recherche, comme il sera expliqué plus bas, et contient des informations que cet utilisateur a bien voulu fournir, en particulier des informations sur lui-même, sur ses goûts et ses préférences, notamment en matière de consommation, etc. Chaque champ Cj de la base 3 regroupe une catégorie prédéterminée de données, c'est-à-dire que les chaîne de caractères des différentes données Dij associée à un même champ Cj désignent différentes réponses possibles à une même question. Par exemple, le champ C5 peut porter sur les dates de naissance. Toutes les données Di5 de la base 3 sont alors des dates de naissance fournies par des utilisateurs du moteur de recherche. La question définissant le champ C5 est : quelle est votre date de naissance ?The
Le terminal de recherche TR est relié par un réseau de télécommunication R à d'autres terminaux informatiques, dit terminaux d'interrogation TI. Par exemple, le réseau de télécommunication R peut être l'Internet et les terminaux d'interrogation TI peuvent comporter une multitude de terminaux d'interrogation reliés à ce réseau. Classiquement, chaque terminal informatique relié au réseau R est identifié par une adresse qui permet d'entrer en communication avec lui. Les communications entre terminaux informatiques par l'intermédiaire du réseau R sont effectuées selon des protocoles de communication classiques, comme par exemple le protocole TCP/IP.The search terminal TR is connected by a telecommunications network R to other computer terminals, called IT interrogation terminals. For example, the telecommunication network R may be the Internet and the interrogation terminals TI may comprise a multitude of interrogation terminals connected to this network. Conventionally, each computer terminal connected to the network R is identified by an address that allows to communicate with him. Communications between computer terminals via the network R are performed according to conventional communication protocols, such as the TCP / IP protocol.
Un quelconque des terminaux d'interrogation TI comporte classiquement un processeur 4, une unité de mémoire 5, des moyens d'interface 6, par exemple un écran et/ou un clavier et/ou une souris, pour permettre à un utilisateur U du terminal d'interrogation TI de lire et d'écrire des données et de faire exécuter des instructions. Lorsque le terminal de recherche TR reçoit depuis un terminal d'interrogation TI une commande de connexion, représentée par la flèche 7, il répond au terminal d'interrogation TI en lui envoyant un module logiciel d'interrogation 8, par exemple sous la forme de fichiers en langage HTML, JAVASCRIPT, et/ou autre, qui comprend un deuxième jeu J2 de codes d'instructions. Les codes d'instructions J2 sont alors exécutés par le terminal d'interrogation TI pour permettre à l'utilisateur U de générer une requête à traiter par le moteur de recherche.Any of the interrogation terminals TI conventionally comprises a processor 4, a
Pour cela, les codes d'instructions J2 permettent d'abord à l'utilisateur U d'associer des données de référence Drj à des champs Cj de la base de données 3, lesdits champs Cj étant choisis au sein d'un ensemble prédéterminé de champs accessibles qui comprend la totalité ou une partie des champs Cj de la base 3. Pour chaque champ accessible Cj, la donnée de référence associée Drj peut être frappée sur un clavier par l'utilisateur U ou être choisie parmi une liste prédéterminée de données optionnelles associables au champ Cj, ladite liste étant contenue dans le module logiciel 8 reçu depuis le terminal de recherche TR. Lorsqu'il associe les données de référence Drj de son choix aux champs accessibles Cj de son choix, l'utilisateur U génère un profil de référence Pr, qui est temporairement mémorisé dans l'unité de mémoire 5, éventuellement pour une durée illimitée. L'utilisateur U est invité à fournir les données de référence Drj en réponse à une question qui lui est posée par l'intermédiaire des moyens d'interface 6. La question posée est celle qui définit le champ Cj correspondant. Par exemple, le champ C6 porte sur le mois de naissance de l'utilisateur U, la question qui le définit est : « quel est votre mois de naissance ? » et la liste de données optionnelles associables au champ C6 comporte les noms des 12 mois de l'année. Les codes d'instructions J2 permettent aussi à l'utilisateur U d'identifier le profil de référence Pr par un identificateur Er de son choix, par exemple un pseudonyme et un mot de passe.For this purpose, the instruction codes J2 first allow the user U to associate reference data Drj with fields Cj of the
Pour sauvegarder le profil généré par l'utilisateur U, les codes d'instructions J2 permettent d'envoyer à destination du terminal de recherche TR le profil de référence Pr accompagné de son identificateur Er, comme représenté par la flèche 10, afin de concaténer le profil de référence Pr avec la base de données 3. Le terminal de recherche TR compare l'identificateur Er du profil reçu avec les identificateurs E1 à EN des profils de la base 3. Si aucun profil Pi de la base 3 n'a son identificateur identique à l'identificateur reçu Er, le profil de référence Pr est sauvegardé comme nouveau profil PN+1 dans la base 3, comme représenté en traits interrompus à la figure 1. Chaque donnée Drj (j=1 à M) du profil de référence est alors sauvegardée en tant donnée DN+1,j du nouveau profil PN+1 de la base 3.To save the profile generated by the user U, the instruction codes J2 make it possible to send to the search terminal TR the reference profile Pr accompanied by its identifier Er, as represented by the
Si l'identificateur Er est identique à l'identificateur Ei d'un profil Pi déjà mémorisé dans la base 3, deux cas se présentent :
- si l'utilisateur U avait auparavant fourni l'identificateur Ei pour télécharger le profil Pi comme profil de référence Pr, comme il sera expliqué plus bas, le profil de référence Pr est sauvegardé en remplacement du profil Pi de la
base 3. - si l'utilisateur U n'avait pas auparavant fourni l'identificateur Ei pour télécharger le profil Pi comme profil de référence Pr, le terminal de recherche TR envoie au terminal d'interrogation TI un message signalant que l'identificateur Er choisi n'est pas disponible et invitant l'utilisateur U à choisir un autre identificateur Er ;
- if the user U had previously provided the identifier Ei to download the profile Pi as a reference profile Pr, as will be explained below, the reference profile Pr is saved instead of the profile Pi of the
base 3. - if the user U had not previously provided the identifier Ei to download the profile Pi as a reference profile Pr, the search terminal TR sends the interrogation terminal TI a message indicating that the selected identifier Er is not available and inviting the user U to choose another identifier Er;
Après que l'utilisateur U a sauvegardé un profil Pi dans la base 3, par exemple lors de sa première utilisation du moteur de recherche, il a possibilité de télécharger ce profil Pi sauvegardé pour générer son profil de référence Pr lors de ses utilisations ultérieures du moteur de recherche. Ainsi, l'utilisateur U n'est pas obligé de générer à chaque fois son profil de référence Pr en partant de rien. Pour cela, les codes d'instructions J2 permettent à l'utilisateur U d'envoyer à destination du terminal de recherche TR un identificateur de profil à télécharger, comme représenté par la flèche 10. En réponse à l'identificateur de profil reçu, les codes d'instructions J1 sont alors exécutés par le terminal de recherche TR pour comparer cet identificateur reçu aux identificateurs Ei (i=1 à N+1) des profils de la base 3. S'il existe un identificateur Ei identique à l'identificateur reçu, le profil Pi correspondant est envoyé au terminal d'interrogation TI, comme représenté par la flèche 11. S'il n'y a pas de profil correspondant dans la base 3, un message d'erreur peut être envoyé en réponse au terminal d'interrogation TI.After the user U has saved a profile Pi in the
Le profil Pi envoyé par le terminal de recherche TR est alors mémorisé en tant que profil de référence Pr dans la mémoire 5 du terminal d'interrogation TI, chaque donnée Dij (j=1 à M) du profil Pi étant mémorisée en tant que donnée Drj du profil Pr, l'identificateur Ei étant mémorisé en tant qu'identificateur Er du profil Pr. L'utilisateur U peut alors changer le profil de référence Pr téléchargé, en ajoutant des données Drj audit profil Pr ou en modifiant des données Drj reçues. En revanche, l'utilisateur U ne peut pas modifier l'identificateur Ei du profil reçu, afin d'empêcher qu'il ne réplique le profil Pi plusieurs fois dans la base 3 sous différents identificateurs.The profile Pi sent by the search terminal TR is then stored as a reference profile Pr in the
Ainsi, en générant un profil Pr lors de la première utilisation du moteur de recherche, puis en sauvegardant ce profil Pr comme profil Pi de la base 3, puis en téléchargeant à chaque nouvelle utilisation ce profil Pi comme profil de référence Pr, en ajoutant à chaque fois au profil Pr téléchargé des nouvelles données de référence Drj associées à des champs accessibles, puis en sauvegardant à chaque fois ce profil Pr comme profil Pi de la base 3, chaque utilisateur U du moteur de recherche constitue progressivement un profil Pi qui lui est personnel et qui contient de plus en plus d'informations. Chaque utilisateur U contribue ainsi à remplir petit à petit la base de données 3.Thus, by generating a profile Pr when the search engine is first used, then by saving this profile Pr as a profile Pi of the
Dans une variante non représentée, les codes d'instruction J2 sont exécutés par le terminal d'interrogation TI pour attribuer, de manière connue ou non de l'utilisateur U, un identifiant K au terminal d'interrogation TI, l'identifiant K pouvant être inclus dans un fichier « cookie » mémorisé dans la mémoire 5. L'identifiant K est alors automatiquement utilisé comme identificateur Er du profil de référence Pr généré et/ou comme identificateur Ei du profil Pi à télécharger.In a variant that is not shown, the instruction codes J2 are executed by the interrogation terminal TI to assign, in a known manner or not to the user U, an identifier K to the interrogation terminal TI, the identifier K being able to to be included in a "cookie" file stored in the
Dans une variante non représentée, l'utilisateur U a la possibilité de donner à un profil de référence Pr qu'il a généré à partir de rien, sans téléchargement préalable, l'identificateur Ei d'un profil Pi déjà mémorisé dans la base 3 et d'envoyer ce profil de référence Pr au terminal de recherche pour le concaténer avec la base 3. Dans cette variante, au lieu de répondre par un message signalant que l'identificateur Ei n'est pas disponible, le moteur de recherche remplace les données Dij du profil Pi mémorisé par les données Drj non vides du profil reçu sans affecter les données Dij du profil Pi mémorisé associées à des champs Cj pour lesquels le profil Pr reçu ne contient pas de donnée associée.In a variant not shown, the user U has the possibility of giving to a reference profile Pr that he generated from scratch, without prior download, the identifier Ei of a profile Pi already stored in the
Au terme de l'étape de génération du profil de référence Pr, ce dernier contient au moins une donnée Drj associée à un champ accessible Cj. Dans l'exemple représenté à la figure 1, le profil de référence Pr généré contient aussi une donnée Dr1 associée au champ C1. Les codes d'instructions J2 permettent ensuite à l'utilisateur U d'envoyer la requête à destination du terminal de recherche TR, comme représenté par la flèche 9. La requête 9 envoyée comporte le profil de référence Pr et la désignation d'un domaine d'interrogation. Le domaine d'interrogation désigné est un ensemble d'un ou plusieurs ou la totalité des champs Cn de la base de données 3. Les champs Cm du domaine d'interrogation sont prédéterminés par le module logiciel 8 ou sont choisis par l'utilisateur U.At the end of the step of generating the reference profile Pr, the latter contains at least one data Drj associated with an accessible field Cj. In the example shown in FIG. 1, the reference profile Pr generated also contains a data item Dr1 associated with the field C1. The instruction codes J2 then allow the user U to send the request to the search terminal TR, such as represented by the arrow 9. The request 9 sent comprises the reference profile Pr and the designation of a query domain. The designated interrogation domain is a set of one or more or all of the fields Cn of the
Après réception de la requête 9 envoyée par le terminal d'interrogation TI, les codes d'instructions J1 sont exécutés par le terminal de recherche TR pour traiter la requête 9 en suivant un algorithme prédéterminé, qui va maintenant être décrit en référence à un exemple représenté à la figure 2. La requête de l'exemple comporte le profil de référence représenté à la figure 2 et désigne les champs C1 et C3 comme domaine d'interrogation.
- Dans une première étape, une sous-base SB, contenant des profils Pk à comparer avec le profil de référence Pr de la requête 9, est extraite de la base de données 3. Dans une première variante du moteur de recherche, la sous-base SB comporte la totalité des profils de la
base 3. Dans une seconde variante, la sous-base SB est constituée de tous les profils Pi de la base de données comportant une donnée Dim associée à au moins un des champs Cm du domaine d'interrogation de la requête 9. Dans l'exemple, où la seconde variante est illustrée, la sous-base SB extraite comporte les profils P1, P2, P3 et P4, mais pas le profil P5 qui ne contient de donnée associée ni à C1 ni à C3.
Dans une deuxième étape, un compteur d'occurrence Qn distinct est calculé pour chaque champ Cn d'un domaine de comparaison DC, ledit domaine de comparaison DC étant constitué de tous les champs Cj de ladite base de données 3 auxquels une donnée Drj dudit profil de référence Pr est associée. Dans l'exemple, le domaine de comparaison contient les champs C1, C2 et C3. Le calcul des compteurs d'occurrence Qn comporte les étapes consistant successivement à :- a) sélectionner un champ Cn dudit domaine de comparaison (par exemple le champ C2),
- b) une seule fois pour chaque profil Pk de la sous-base SB (c'est à dire pour les profils P1 à P4 de l'exemple), effectuer un test de correspondance entre la donnée Drn du profil de référence Pr associée au champ Cn, dite donnée de référence (c'est-à-dire la donnée d2 de l'exemple), et la donnée Dkn du profil Pk de la sous-base SB associée audit champ Cn, dite donnée à comparer (c'est-à-dire la donnée d2 du profil P1, la donnée d2 du profil P2, la donnée d2 du profil P3 et la donnée d2' du profil P4). Le résultat du test de correspondance est un nombre booléen, vrai si et seulement si la donnée à comparer Dkn est en correspondance par une loi logique prédéterminée avec la donnée de référence Drn. Le résultat du test est notamment faux lorsque ladite donnée à comparer est vide ou inexistante. La loi logique prévoit que deux données sont en correspondance lorsqu'elles sont identiques. Dans l'exemple, le résultat du test est vrai pour la donnée d2 du profil P1, vrai pour la donnée d2 du profil P2, vrai pour la donnée d2 du profil P3 et faux pour la donnée d2' du profil P4. Les données étant des chaînes de caractères, la loi logique peut aussi être choisie pour que la donnée à comparer Dkn soit en correspondance avec la donnée de référence Drn lorsque la première contient une partie substantielle de la deuxième. Par exemple, selon cette variante, la chaîne de caractère à comparer Dkn=«chien» est en correspondance avec la chaîne de caractère de référence Drn=« chien et chat ». Dans une autre variante, la base de données 3 est multilingue et contient, par exemple, des mots en français et en anglais. La loi logique prévoit alors que deux données sont en correspondance lorsqu'elles sont la traduction l'une de l'autre dans deux langues. Par exemple, selon cette variante, la chaîne de caractère à comparer Dkn=« chien » est en correspondance avec la chaîne de caractère de référence Drn=« dog ».
- c) rendre le compteur d'occurrence Qn égal au nombre de profils Pk de ladite sous-base pour lesquels le résultat dudit test de correspondance effectué à l'étape b) est vrai. Dans l'exemple avec le champ C2, le compteur Q2 vaut donc Q2=3.
- d) répéter les étapes a) à c) en sélectionnant un autre champ Cn du domaine de comparaison n'ayant pas encore été sélectionné à l'étape a), s'il en existe. Dans l'exemple, en sélectionnant le champ C1, on obtient ainsi Q1=0, puis en sélectionnant le champ C3, on obtient Q3=2. Dans une variante non représentée de l'algorithme, le domaine de comparaison DC est constitué de tous les champs de la
base de données 3 auxquels une donnée du profil de référence Pr est associée, à l'exclusion de tous les champs Cm du domaine d'interrogation.
- Dans une troisième étape, un coefficient partiel αn distinct est calculé pour chaque champ Cn du domaine de comparaison DC dont le compteur d'occurrence Qn calculé à l'étape précédente est non nul (c'est-à-dire pour les champs C2 et C3 de l'exemple.) Chaque coefficient partiel αn est rendu égal à la valeur F(Qn) prise par une fonction de pondération réelle prédéterminée F d'au moins une variable x, lorsque sa variable x prend la valeur dudit compteur d'occurrence Qn. Ainsi, dans l'exemple, on obtient les deux coefficients partiels : α2=F(3) et α3=F(2). La fonction F(x) peut être une fonction réelle quelconque, polynomiale, exponentielle, logarithmique, ou autre. Dans un mode de réalisation préféré, il s'agit de la fonction inverse F(x)=1/x. Dans l'exemple, on obtient alors : α2=1/3 et α3=1/2.
- Dans une quatrième étape, un coefficient de pondération distinct est calculé pour chaque profil Pk de la sous-base SB, chaque coefficient de pondération CPk calculé étant égal à une somme de coefficients partiels distincts αn calculés lors de l'étape précédente. Cette somme porte sur les coefficients partiels αn de tous ceux des champs Cn du domaine de comparaison pour lesquels le résultat du test de correspondance effectué à la deuxième étape entre le profil de référence Pr et le profil Pk auquel se rapporte ledit coefficient de pondération CPk est vrai, et uniquement sur ces champs-ci. Dans l'exemple, pour le profil P1, le coefficient de pondération CP1 est ainsi calculé comme la somme des coefficients partiels α2 et α3, soit CP1=1/3+1/2=5/6. En effet, le résultat du test de correspondance est faux pour le champ C1 car la donnée d1' du profil P1 n'est pas identique à la donnée d1 du profil Pr. Les autres coefficients de pondération calculés sont : CP2=α2+α3=5/6, CP3=α2=1/3 et CP4=0.
- Dans une cinquième étape, une fréquence pondérée FPqm est calculée pour chaque donnée Dim associée à un champ Cm du domaine d'interrogation dans la sous-base SB. Dans l'exemple, une fréquence pondérée FP11 est calculée pour la donnée d1' et deux fréquences pondérées FP13 et FP23 sont calculées pour les données d3 et d3'. Le calcul des fréquences pondérées FPqm comprend les étapes consistant, pour chaque champ Cm du domaine d'interrogation (par exemple le champ C1) à :
- a) sélectionner une donnée Dqm associée au champ Cm (par exemple la donnée d1'). La donnée sélectionnée est issue d'un profil Pq parmi l'ensemble des profils Pk de la sous-base SB qui comprennent une donnée non-vide Dkm associée au champ Cm (dans l'exemple, cet ensemble comporte les profils P1, P3 et P4 pour le champ C1).
- b) affecter à la donnée sélectionnée Dqm une fréquence pondérée FPqm égale à la somme des coefficients de pondération CPk des profils Pk dudit ensemble de profils dont la donnée Dkm associée au champ Cm est identique à la donnée sélectionnée Dqm. Ainsi pour la donnée d1' sélectionnée, on calcule la fréquence pondérée FP11 comme la somme des coefficients de pondération CP1, CP3 et CP4, puisque les profils P1 P3 et P4 comportent la donnée d1' associée au champ C1. On obtient donc : FP11=5/6+1/3+0=7/6.
- c) répéter les étapes a) et b) en sélectionnant une autre donnée n'ayant pas encore été sélectionnée à l'étape a), s'il en existe. Dans l'exemple, on sélectionne ensuite une donnée associée au champ C3 dans un profil parmi l'ensemble constitué des profils P1à P4, qui contiennent tous une donnée non vide pour le champ C3. De préférence, on commence par sélectionner la donnée du profil de cet ensemble dont le coefficient de pondération est le plus élevé, soit ici dans le profil P1 ou le profil P2. La donnée sélectionnée est donc d3. La fréquence pondérée obtenue pour cette donnée est FP13=CP1+CP2=5/3. Pour la donnée d3', sélectionnée ensuite, on obtient FP23=CP3+CP4=1/3. Il n'y alors plus de nouvelle donnée à sélectionner et la cinquième étape est terminée.
- Dans une sixième étape, une réponse 12 à la requête 9 est générée par le terminal de recherche TR. La réponse 12 est générée en extrayant de la sous-base SB des données, dites données de réponse, qui sont, pour chaque champ Cm du domaine d'interrogation, celles qui possèdent les fréquences pondérées FPqm les plus élevées. Un nombre maximal NR de données de réponse Dqm associées à chaque champ Cm du domaine d'interrogation est extrait de la sous-base et inclus dans la réponse. Par exemple, cinq données de réponse au maximum sont fournies pour chaque champ Cm du domaine d'interrogation. Bien entendu, la sous-base SB peut contenir moins de NR données différentes associées au champ Cm. Dans l'exemple, la réponse 12 générée, représentée à la figure 3, contient les données d1', d3 et d3'.
- Dans une septième étape, un coefficient discriminant normalisé δqm, compris entre 0 et 100%, est calculé pour chaque donnée de réponse Dqm. Lorsque la fonction de pondération est la fonction inverse F(x)=1/x, le coefficient discriminant normalisé δqm est égal à la fréquence pondérée FPqm de la donnée de réponse Dqm auquel il se rapporte divisée par le nombre NC de champs Cn distincts compris dans le domaine de comparaison DC. Dans l'exemple, on a NC=3 et on obtient les trois coefficients normalisés : δ11=7/18=39%, δ13=5/9=56%, δ23=1/9=11%. Les coefficients discriminants normalisés δqm sont ensuite inclus dans la réponse 12, comme visible à la figure 3.
- Dans une étape optionnelle de filtrage, exécutée après la sixième ou après la septième étape, chaque donnée de réponse Dqm est comparée à la donnée Drm associée au même champ Cm qu'elle dans le profil de référence Pr. Si la donnée de réponse Dqm est identique à la donnée de référence Drm, elle est supprimée de la réponse 12. Dans l'exemple, la donnée d3 est alors supprimée de la réponse 12 car elle est identique à la donnée de référence d3 associée au champ C3.
- Dans une autre étape optionnelle de filtrage, exécutée après la septième étape, toute donnée de réponse Dqm dont le coefficient normalisé δqm est inférieur à un seuil S prédéterminé, par exemple S=1%, est supprimée de la réponse 12. Ainsi la réponse 12 peut éventuellement ne comporter aucune donnée associée à un des champs Cm d'interrogation, voire être vide.
- In a first step, a sub-base SB, containing profiles Pk to compare with the reference profile Pr of the request 9, is extracted from the
database 3. In a first variant of the search engine, the sub-base SB comprises all the profiles of thebase 3. In a second variant, the sub-base SB consists of all the profiles Pi of the database comprising a datum Dim associated with at least one of the fields Cm of the interrogation domain of the request 9. In the example, where the second variant is illustrated, the extracted sub-base SB comprises the profiles P1, P2, P3 and P4, but not the profile P5 which does not contain data associated with either C1 or C3.
In a second step, a distinct occurrence counter Qn is calculated for each field Cn of a comparison domain DC, said comparison domain DC consisting of all the fields Cj of saiddatabase 3 to which a data item Drj of said profile reference Pr is associated. In the example, the comparison domain contains the fields C1, C2 and C3. The calculation of the occurrence counters Qn comprises the steps consisting successively of:- a) selecting a field Cn of said comparison domain (for example the field C2),
- b) once for each profile Pk of the sub-base SB (that is to say for the profiles P1 to P4 of the example), to carry out a test of correspondence between the data Drn of the reference profile Pr associated with the field Cn, called reference data (that is to say the data d2 of the example), and the data Dkn of the profile Pk of the sub-base SB associated with said field Cn, said data to be compared (that is to say the data d2 of the profile P1, the data item d2 of the profile P2, the data d2 of the profile P3 and the data d 2 'of the profile P4). The result of the correspondence test is a Boolean number, true if and only if the data to be compared Dkn is in correspondence with a predetermined logical law with the reference data Drn. The result of the test is particularly false when said data to be compared is empty or non-existent. The logical law provides that two data are in correspondence when they are identical. In the example, the test result is true for the data item d2 P1 profile true for the data item d2 profile P2, true for the data item d2 P3 profile and false for the given d 2 'P4 profile. The data being strings of characters, the logical law can also be chosen so that the data to be compared Dkn is in correspondence with the reference data Drn when the first contains a substantial part of the second. For example, according to this variant, the character string to be compared Dkn = "dog" is in correspondence with the reference character string Drn = "dog and cat". In another variant, the
database 3 is multilingual and contains, for example, words in French and English. The logical law then provides that two data are in correspondence when they are the translation of one another into two languages. For example, according to this variant, the character string to be compared Dkn = "dog" is in correspondence with the reference character string Drn = "dog". - c) making the occurrence counter Qn equal to the number of profiles Pk of said sub-base for which the result of said matching test performed in step b) is true. In the example with the field C2, the counter Q2 is therefore Q2 = 3.
- d) repeat steps a) to c) by selecting another field Cn of the comparison domain not yet selected in step a), if any. In the example, by selecting the field C1, one thus obtains Q1 = 0, then by selecting the field C3, one obtains Q3 = 2. In an unrepresented variant of the algorithm, the comparison domain DC consists of all the fields of the
database 3 to which a datum of the reference profile Pr is associated, to the exclusion of all the fields Cm of the domain d. interrogation.
- In a third step, a partial coefficient α n is calculated for each field C n of the comparison domain DC whose occurrence counter Q n calculated in the preceding step is non-zero (that is to say for the fields C2 and C3 of the example.) Each partial coefficient αn is made equal to the value F (Qn) taken by a predetermined real weighting function F of at least one variable x, when its variable x takes the value of said occurrence counter qn. Thus, in the example, we obtain the two partial coefficients: α2 = F (3) and α3 = F (2). The function F (x) can be any real function, polynomial, exponential, logarithmic, or other. In a preferred embodiment, it is the inverse function F (x) = 1 / x. In the example, we obtain: α2 = 1/3 and α3 = 1/2.
- In a fourth step, a separate weighting coefficient is calculated for each profile Pk of the sub-base SB, each calculated weighting coefficient CPk being equal to a sum of distinct partial coefficients αn calculated in the previous step. This sum relates to the partial coefficients αn of all those fields Cn of the comparison domain for which the result of the correspondence test performed in the second step between the reference profile Pr and the profile Pk to which said weighting coefficient CPk relates is true, and only on these fields. In the example, for the profile P1, the weighting coefficient CP1 is thus calculated as the sum of the partial coefficients α2 and α3, ie CP1 = 1/3 + 1/2 = 5/6. Indeed, the result of the correspondence test is false for the field C1 because the data d 1 'of the profile P1 is not identical to the data d1 of the profile Pr. The other weighting coefficients calculated are: CP2 = α2 + α3 = 5/6, CP3 = α2 = 1/3 and CP4 = 0.
- In a fifth step, a weighted frequency FPqm is calculated for each data item Dim associated with a field Cm of the interrogation domain in the sub-base SB. In the example, a weighted frequency FP11 is calculated for the data d 1 'and two weighted frequencies FP13 and FP23 are calculated for the data d3 and 3'. The calculation of the weighted frequencies FPqm comprises the steps consisting, for each field Cm of the interrogation domain (for example the field C1) to:
- a) select a data item Dqm associated with the field Cm (for example the data d 1 '). The selected data comes from a profile Pq from the set of profiles Pk of the sub-base SB which comprise a non-empty data Dkm associated with the field Cm (in the example, this set comprises the profiles P1, P3 and P4 for the C1 field).
- b) assigning to the selected data item Dqm a weighted frequency FPqm equal to the sum of the weighting coefficients CPk of the profiles Pk of said set of profiles whose data Dkm associated with the field Cm is identical to the selected data item Dqm. Thus for the given d 1 'selected, the weighted frequency FP11 is calculated as the sum of weighting coefficients CP1, CP3 and CP4, since P1 P3 and P4 profiles comprise the data d 1' associated with the field C1. We thus obtain: FP11 = 5/6 + 1/3 + 0 = 7/6.
- c) repeat steps a) and b) by selecting another data not yet selected in step a), if any. In the example, a data associated with the field C3 is then selected in one of the set of profiles P1 to P4, all of which contain non-empty data for the field C3. Preferably, one begins by selecting the data of the profile of this set whose weighting coefficient is the highest, here in the profile P1 or profile P2. The selected data is d3. The weighted frequency obtained for this datum is FP13 = CP1 + CP2 = 5/3. For the data d 3 ', then selected, we obtain FP23 = CP3 + CP4 = 1/3. There is no more new data to select and the fifth step is complete.
- In a sixth step, a
response 12 to the request 9 is generated by the search terminal TR. Theresponse 12 is generated by extracting from the sub-base SB data, called response data, which are, for each field Cm of the interrogation domain, those which have the highest weighted frequencies FPqm. A maximum number NR of Dqm response data associated with each Cm field of the query domain is extracted from the sub-base and included in the response. For example, a maximum of five response data is provided for each Cm field of the query domain. Of course, the sub-base SB may contain less than NR different data associated with the field Cm. In the example, theresponse 12 generated, shown in FIG. 3, contains the data d 1 ', d 3 and d 3 '. - In a seventh step, a standardized discriminant coefficient δqm, between 0 and 100%, is calculated for each response data Dqm. When the weighting function is the inverse function F (x) = 1 / x, the normalized discriminant coefficient δqm is equal to the weighted frequency FPqm of the response data Dqm to which it relates divided by the number NC of distinct Cn fields understood. in the DC comparison field. In the example, we have NC = 3 and we obtain the three normalized coefficients: δ11 = 7/18 = 39%, δ13 = 5/9 = 56%, δ23 = 1/9 = 11%. The standardized discriminant coefficients δqm are then included in the
response 12, as can be seen in FIG. - In an optional filtering step, performed after the sixth or after the seventh step, each Dqm response data is compared to the data Drm associated with the same field Cm as it is in the reference profile Pr. If the response data Dqm is identical to the reference data Drm, it is removed from the
response 12. In the example, the data d3 is then removed from theresponse 12 because it is identical to the reference data d3 associated with the field C3. - In another optional filtering step, performed after the seventh step, any response data Dqm whose normalized coefficient δqm is less than a predetermined threshold S, for example S = 1%, is removed from the
response 12. Thus theresponse 12 may possibly have no data associated with one of the query Cm fields, or even be empty.
La réponse 12, générée selon l'algorithme décrit ci-dessus, est enfin envoyée par le réseau R à destination du terminal d'interrogation TI, comme représenté par la flèche 13 de la figure 1. Les différentes étapes d'algorithme décrites peuvent être exécutées dans un autre ordre et/ou être imbriquées les unes dans les autres sans changer la réponse résultante.The
Il est prévu que le domaine d'interrogation peut comporter tous les champs Cj de la base de données 3. Dans ce cas, les données de réponse de la réponse 12 peuvent se représenter sous la forme d'un profil de réponse, qui contient, en association à chaque champ Cj, une donnée Dqj dont la fréquence pondérée FPqj est la plus élevée parmi toutes les données de réponse associées au champ Cj. Ce profil de réponse n'est a priori identique à aucun des profils Pi mémorisés dans la base de données 3. Il représente le profil présentant une « affinité » maximale avec le profil de référence Pr, l'affinité dont il est question ici étant implicitement définie par les fréquences pondérées et les coefficients normalisés.It is expected that the query domain may comprise all the fields Cj of the
Chaque coefficient normalisé δqm est en effet destiné à représenter de manière qualitative et quantitative une probabilité que l'utilisateur U ayant généré le profil de référence Pr reconnaisse ses propres caractéristiques, goûts et préférences dans la donnée Dqm en tant que réponse à la question définissant le champ d'interrogation Cm. Autrement dit, le coefficient normalisé est destiné à représenter une probabilité que l'utilisateur U choisisse de son propre gré la donnée Dqm comme réponse à cette question, s'il a connaissance de l'objet désigné par la donnée Dqm et sous réserve que cette question ne porte pas sur une information objective (quel est votre âge ?), mais porte sur une caractéristique subjective de l'utilisateur U (quel est votre acteur préféré ?). Un avantage du moteur de recherche est que l'utilisateur U n'a souvent pas connaissance a priori dudit objet, la donnée Dqm ayant été entrée dans la base 3 par l'un des nombreux utilisateurs ayant un profil personnel mémorisé dans celle-ci. Le moteur de recherche fourni donc aussi un système d'aide à la décision.Each normalized coefficient δqm is indeed intended to qualitatively and quantitatively represent a probability that the user U having generated the reference profile Pr recognizes his own characteristics, tastes and preferences in the data item Dqm as a response to the question defining the interrogation field Cm. In other words, the normalized coefficient is intended to represent a probability that the user U will choose the Dqm data of his own free will as a response to this question, if he is aware of the object designated by the data item Dqm and provided that this question does not relate to objective information (what is your age?), but relates to a subjective characteristic of the user U (what is your favorite actor?). An advantage of the search engine is that the user U is often not aware a priori of said object, the Dqm data having been entered in the
La méthode d'extraction des données de réponse et de calcul des fréquences pondérées est une méthode de logique floue fondée sur l'idée qu'à une donnée apparaissant dans un profil qui présente par ailleurs des données communes avec le profil de référence, on peut attribuer une probabilité non nulle de correspondre aux caractéristiques de l'utilisateur U. Lorsque la fonction de pondération F est décroissante, cette méthode est aussi fondée sur l'idée qu'une telle probabilité est d'autant plus grande que lesdites données communes sont peu représentées dans l'ensemble des profils Pi de la base de données 3, et au contraire d'autant plus faible que lesdites données communes sont courantes dans l'ensemble des profils Pi de la base de données 3.The method for retrieving response data and calculating weighted frequencies is a fuzzy logic method based on the idea that when a data item appears in a profile that also has common data with the reference profile, it can be assign a non-zero probability of corresponding to the characteristics of the user U. When the weighting function F is decreasing, this method is also based on the idea that such a probability is even greater than the said common data are few represented in the set of profiles Pi of the
D'autre caractéristiques de l'invention vont maintenant être décrites en référence à la figure 4. D'autres terminaux informatiques, dits terminaux partenaires TP, dont un seul est représenté à la figure 4, sont reliés au réseau de télécommunication R. Chaque terminal partenaire TP est de préférence destiné à recevoir des commandes pour le compte d'un fournisseur partenaire apte à fournir une gamme de produits et/ou services à des clients. Par exemple, le terminal partenaire TP est un serveur informatique d'une entreprise de commerce électronique. Un utilisateur U d'un terminal partenaire TP qui souhaite faire appel au moteur de recherche peut, depuis son terminal d'interrogation TI, émettre une commande de connexion à destination du terminal partenaire TP, comme représenté par la flèche 14. En réponse à la commande de connexion 14, le terminal partenaire TP émet une commande de mise en relation 15 à destination du terminal de recherche TR. En réponse à la commande de mise en relation 15, le terminal de recherche TR envoie le module logiciel 8 à destination du terminal d'interrogation TI, comme représenté par la flèche 16. En variante, le module logiciel 8 peut être mémorisé dans une mémoire 17 du terminal partenaire TP et envoyé directement par ce dernier en réponse à la commande de connexion 14, comme représenté par la flèche 18.Other features of the invention will now be described with reference to FIG. 4. Other computer terminals, called TP partner terminals, only one of which is shown in FIG. 4, are connected to the telecommunications network R. Each terminal TP partner is preferably intended to receive orders on behalf of a partner supplier able to provide a range of products and / or services to customers. For example, the TP partner terminal is a computer server of an e-commerce company. A user U of a partner terminal TP who wishes to use the search engine can, from his interrogation terminal TI, issue a connection command to the partner terminal TP, as represented by the
Le module logiciel 8 envoyé est spécifique au terminal partenaire TP ayant reçu la commande de connexion 14. Ce module logiciel 8 contient le deuxième jeu de codes d'instructions J2 pour permettre à l'utilisateur U de générer sa requête comme décrit précédemment. De plus, il prédétermine les champs Cm du domaine d'interrogation de la requête de manière que lesdits champs portent sur des caractéristiques des produits et/ou services à fournir par le fournisseur partenaire. Par exemple, si le fournisseur partenaire est un disquaire, un champ d'interrogation porte sur le nom du musicien préféré de l'utilisateur U, le titre de son disque préféré, etc. Le module logiciel 8 prédétermine aussi les champs accessibles en fonction du fournisseur partenaire.The software module 8 sent is specific to the partner terminal TP having received the
Le terminal de recherche TR comporte une seconde base de données 19, jointe ou disjointe de la base 3, mémorisée dans les moyens de stockage 2. La seconde base de données 19 contient des données-partenaire Dpj associées à des champs Cj de la base 3, notamment des données-partenaire Dpm associées au(x) champ(s) Cm prédéterminé(s) du domaine d'interrogation. Les données-partenaire Dpm contiennent par exemple la liste de tous les produits et/ou services disponibles auprès du fournisseur partenaire. La base 19 contient aussi des données complémentaires D'pm associées aux données-partenaire Dpm et portant sur des caractéristiques des produits et/ou services désignés par les données-partenaire Dpm, par exemple sur le prix desdits produits et/ou services. Le module logiciel 8 envoyé contient, pour chaque champ accessible Cj prédéterminé, des données optionnelles associables qui sont extraites des données-partenaire Dpj associées audit champ Cj. Ainsi, pour un champ portant sur un titre de disque, des titres de disques disponibles auprès du fournisseur partenaire sont proposées à l'utilisateur U pour générer son profil de référence.The search terminal TR comprises a
L'utilisateur U envoie ensuite au terminal de recherche TR la requête générée depuis le terminal d'interrogation TI à l'aide du module logiciel 8, comme représenté par la flèche 20. Le traitement de cette requête 20 comporte, par exemple à la suite de l'étape optionnelle de filtrage susmentionnée, une étape de filtrage par partenaire, au cours de laquelle chaque donnée de réponse Dqm associée au champ Cm est comparée aux données-partenaire Dpm de la base 19 associées au même champ Cm. Toute donnée de réponse ne faisant pas partie des données-partenaire Dpm du terminal partenaire TP à l'origine de la commande de mise en relation 15 est supprimée de la réponse 12 au cours de cette étape. Ainsi, par exemple, pour le champ d'interrogation portant sur un titre de disque, la réponse 12 ne peut contenir, à l'issue de l'étape de filtrage par partenaire, que des titres de disques disponibles auprès dudit fournisseur partenaire. Au cours de cette étape, une adresse du terminal partenaire et/ou du fournisseur partenaire, par exemple sous la forme d'un attribut des données de réponse ou d'un lien HTML, est incluse dans la réponse 12. La réponse 12 est envoyée au terminal d'interrogation TI, comme représenté par la flèche 21, afin que l'utilisateur U puisse ensuite entrer en contact avec le fournisseur partenaire pour commander le produit/service désigné dans la réponse 12, comme représenté par la flèche 32. En variante, une adresse du terminal d'interrogation TI est incluse dans la réponse 12 et celle-ci est envoyée au terminal partenaire TP, comme représenté par la flèche 22, afin que le fournisseur partenaire puisse ultérieurement entrer en contact avec l'utilisateur U pour lui fournir des informations à caractère commercial ou publicitaire pertinentes vis-à-vis de la requête 20 émise et/ou lui proposer de commander le produit/service désigné dans la réponse 12.The user U then sends the search terminal TR the request generated from the interrogation terminal TI by means of the software module 8, as represented by the arrow 20. The processing of this request 20 comprises, for example as a result of the above-mentioned optional filtering step, a partner filtering step, in which each Dqm response data associated with the Cm field is compared with the partner Dpm data of the base 19 associated with the same Cm field. Any response data that is not part of the partner data Dpm of the partner terminal TP causing the linking
Le module logiciel 8 permet aussi à un utilisateur U du terminal d'interrogation TI d'imposer dans sa requête un critère objectif devant être vérifié par les données de réponse. Pour cela, l'utilisateur U peut sélectionner une caractéristique au sujet de laquelle il existe des données complémentaires D'pm dans la base 19, par exemple le prix des produits désignés par les données-partenaire Dpm, et prédéterminer un critère à satisfaire par ladite caractéristique, par exemple un seuil S ne devant pas être dépassé. Lors de l'étape de filtrage par partenaire, pour chaque donnée de réponse qui est aussi une donnée-partenaire Dpm, un test logique consistant à vérifier si la donnée complémentaire D'pm associée à la donnée-partenaire Dpm et portant sur la caractéristique sélectionnée remplit le critère prédéterminé. Lorsque le résultat du test logique est négatif, la donnée de réponse est exclue de la réponse 12. Par exemple, si le champ d'interrogation porte sur un titre de disque, l'utilisateur peut imposer que les disques dont les titres seront fournis dans la réponse 12 auront un prix inférieur à 15 €.The software module 8 also allows a user U of the interrogation terminal TI to impose in his request an objective criterion to be verified by the response data. For this purpose, the user U can select a characteristic about which there is additional data pm in the
Le moteur de recherche est destiné à être utilisé conjointement par une multitude de terminaux d'interrogation TI1, TI2, ... et une multitude de terminaux partenaires TP1, TP2,..., tous reliés au terminal de recherche TR par le réseau de télécommunication R. Le procédé d'assistance par ordinateur pour faire des offres commerciales à l'aide du moteur de recherche présente plusieurs avantages : comme la base de données 3 comporte les profils des utilisateurs de tous les terminaux partenaires, elle contient des données qui ne seraient pas accessibles à chaque fournisseur partenaire individuel. De plus, la base 3 et le moteur de recherche n'utilisent quasiment aucune des ressources de mémoire et de calcul des terminaux partenaires. En fonction de ses besoins, chaque utilisateur d'un ou plusieurs terminaux d'interrogation TI génère et/ou modifie un profil de la base 3 qui lui est personnel au cours de multiples requêtes envoyées successivement au moyen des modules logiciels 8 spécifiques des différents terminaux partenaires TP. A chaque fois, les champs accessibles peuvent être différents, de sorte que le profil Pi est complété progressivement. Un avantage du moteur de recherche réside dans le fait que tous les champ du domaine de comparaison DC servent à générer la réponse 12 à la requête. Lorsqu'un profil Pi a servi à générer successivement plusieurs requêtes, le domaine de comparaison DC contient des champs différents et généralement plus nombreux que les champs accessibles, qui sont les seuls visibles de l'utilisateur U. Ceci permet de tenir compte d'un très grand nombre de caractéristiques de l'utilisateur U pour traiter sa requête, sans lui demander une quantité excessive d'informations à fournir en une seule fois, ni lui exposer une liste, éventuellement longue, des données qu'il a déjà fournies, ce qui pourrait dans les deux cas le décourager.The search engine is intended to be used jointly by a multitude of interrogation terminals TI1, TI2,... And a multitude of partner terminals TP1, TP2,..., All connected to the search terminal TR by the network of terminals. telecommunication R. The computer assistance method for making commercial offers using the search engine has several advantages: since the
Dans une variante de réalisation non représentée, le terminal de recherche TR comporte la base 19 contenant des données-partenaire Dpm désignant les biens disponibles auprès de divers fournisseurs partenaires. Dans ce cas, le terminal d'interrogation TI entre en communication, directement ou indirectement, avec le terminal TR, comme décrit précédemment en référence aux figures 1 et 4. Au cours de l'étape de filtrage par partenaire, le terminal de recherche TR joint à chaque donnée de réponse Dqm une adresse du fournisseur partenaire auprès duquel le produit désigné par ladite donnée de réponse Dqm est disponible, quel que soit ledit fournisseur partenaire.In an embodiment variant not shown, the search terminal TR comprises the base 19 containing partner data Dpm designating the goods available from various partner suppliers. In this case, the interrogation terminal TI enters in communication, directly or indirectly, with the terminal TR, as previously described with reference to FIGS. 1 and 4. During the filtering step by partner, the search terminal TR attaches to each Dqm response data an address of the partner provider with which the product designated by said Dqm response data is available, regardless of which partner provider.
Dans une autre variante de réalisation, représentée à la figure 5, les codes d'instruction J2 permettent à l'utilisateur U de générer une requête 24 contenant seulement une phrase ou un groupe de mots, et de l'envoyer au terminal de recherche TR, comme indiqué par la flèche 23. Dans ce cas, les codes d'instruction J1 sont exécutés par le terminal de recherche TR dès la réception de la requête 24 pour effectuer une étape de reconnaissance sémantique au cours de laquelle un profil de référence Pr est automatiquement généré à l'aide des mots de la requête 24, qui sont automatiquement associés à des champs Cj de la base de donnée 3, comme indiqué par la flèche 25. Le champ Cm du domaine d'interrogation est aussi automatiquement défini en fonction du premier mot de la requête 24.In another variant embodiment, represented in FIG. 5, the instruction codes J2 enable the user U to generate a
Par exemple, la base 3 comprend le champs C1 portant sur un nom de restaurant préféré, le champ C2 portant sur le type de cuisine préféré, et le champ C3 portant sur l'animal préféré. La requête 24 s'énonce : « restaurant italien acceptant les chiens ». Le profil de référence automatiquement généré comporte «italien» pour le champ C2 et « chien » pour le champ C3, le champ C1 étant automatiquement sélectionné comme domaine d'interrogation.For example,
Dans encore une autre variante de réalisation, représentée à la figure 6, le terminal de recherche TR est relié par le réseau R à un terminal de recherche par mots clés MC. Après génération de la réponse 12 à une requête 26 envoyée par un terminal d'interrogation TI, les codes d'instruction J1 sont exécutés pour envoyer la donnée de réponse Dqm (qui est une chaîne de caractères) dont le coefficient normalisé δqm est maximal à destination du terminal MC, comme indiqué par la flèche 31, afin que ce dernier effectue une recherche par mots-clés sur l'objet désigné par la donnée Dqm. Classiquement, le terminal MC permet d'extraire, depuis une base 30 de documents électroniques mémorisés par ce dernier, la liste 27 des documents qui contiennent la chaîne de caractères Dqm. Ensuite, le terminal MC envoie la liste 27 à destination du terminal d'interrogation TI, directement ou par l'intermédiaire du terminal de recherche TR, comme indiqué par les flèches 28 et 29 respectivement.In yet another variant embodiment, represented in FIG. 6, the search terminal TR is connected by the network R to a search terminal using keywords MC. After generation of the
Bien que l'invention ait été décrite en liaison avec plusieurs modes de réalisation particuliers, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si ceux-ci et celles-ci entrent dans le cadre de l'invention tel que défini dans les revendications ci-après.Although the invention has been described in connection with several particular embodiments, it is obvious that it is not limited thereto and that it includes all the technical equivalents of the means described and their combinations if these and these fall within the scope of the invention as defined in the claims hereinafter.
Claims (20)
- Computer system consisting of a computer terminal, so-called search terminal (TR) comprising means, so-called search engine, adapted for extracting a list of data (12) from a database (3) in response to a request (9, 20, 24, 26), said database (3) having a matrix structure and comprising a plurality of rows Pi(i=1 to N) of recorded data Dij, said rows Pi being called profiles, and a plurality of columns Cj(j=1 to M) called fields, each field Cj defining a predetermined category of data Dij which are associated therewith, each profile Pi comprising an identifier Ei for identifying it uniquely and data each associated with a field Cj of said base, each profile Pi of the database comprising at least one data item Dij associated with at least one of said fields Cj, said search engine containing a first set (J1) of instruction codes which can be read or stored on a support and are executable by said search terminal (TR), said search terminal (TR) comprising storage means (2) for storing said database and being linked to a telecommunication network (R), so as to perform the successive operations comprising the steps consisting in:1) sending, by way of said telecommunication network (R) and bound for a second computer terminal, the so-called interrogation terminal (TI), an interrogation software module (8) containing a second set (J2) of instruction codes which can be read or stored on a support and are executable by said interrogation terminal (TI) so as to:1a) construct a reference profile Pr by associating reference data Drj with at least one field Cj among a collection of fields of said base, a so-called collection of accessible fields, the construction of said reference profile Pr being performed directly or indirectly by a user (U) of said interrogation terminal (TI);1b) send to said search terminal (TR) a request comprising said reference profile Pr and designating an interrogation domain, said interrogation domain comprising at least one of the fields Cj of said database (3), each field Cm of said interrogation domain being preselected or having to be selected by a user (U) of said interrogation terminal (TI);2) reading said request received by way of said telecommunication network (R);3) extracting from said database (3) a sub-base (SB) of profiles Pk to be compared with said reference profile Pr, said sub-base (SB) comprising all or some of the profiles of said database (3);4) calculating occurrence counters, a distinct occurrence counter Qn being calculated for each field Cn of a comparison domain (DC), said comparison domain (DC) consisting of all said database (3) fields Cj with which a data item Drj of said reference profile Pr is associated, the calculation of the occurrence counters Qn comprising the steps consisting successively in:4a) selecting a field Cn of said comparison domain (DC),4b) once for each profile Pk of said sub-base (SB), performing a test of correspondence between the reference profile Pr data item Drn associated with said field Cn, the so-called reference data item, and the data item Dkn of the profile Pk of the sub-base (SB) associated with said field Cn, the so-called data item to be compared, the result of said test of correspondence being a boolean number, the result of said test being true whenever said data item to be compared Dkn corresponds through a predetermined logic law with said reference data item Drn, the result of said test being in particular false when said data item to be compared is empty or non-existent,4c) rendering said occurrence counter Qn equal to the number of said sub-base (SB) profiles Pk for which the result of said test of correspondence performed in step 4b) is true,4d) repeating steps 4a) to 4c) by selecting another field Cn of the comparison domain (DC) which has not yet been selected in step 4a), if one exists;5) calculating partial coefficients, a distinct partial coefficient αn being calculated for each field Cn of said comparison domain (DC) whose occurrence counter Qn calculated in step 4c) is nonzero, each partial coefficient αn being rendered equal to the value F(Qn) taken by a predetermined real weighting function F(x) of at least one variable x, when said variable x takes the value of said occurrence counter Qn;6) calculating weighting coefficients CPk, a distinct weighting coefficient being calculated for each profile Pk of said sub-base (SB), each weighting coefficient CPk calculated being equal to a sum of distinct partial coefficients αn calculated in step 5), said sum pertaining to the partial coefficients αn of all those of the fields Cn of the comparison domain (DC) for which the result of the test of correspondence performed in step 4) between said reference profile Pr and the profile Pk to which said weighting coefficient CPk refers is true, and pertaining only to these fields;7) calculating weighted frequencies FPqm, a weighted frequency FPqm being calculated for each data item Dim associated with a field Cm of the interrogation domain in said sub-base (SB) of profiles, the calculation of the weighted frequencies FPqm comprising the steps consisting, for each field Cm of the interrogation domain, in7a) selecting a data item Dqm associated with said field Cm, said selected data item arising from a profile Pq among the collection of profiles Pk of said sub-base (SB) which comprise a nonempty data item Dkm associated with said field Cm,7b) assigning said selected data item Dqm a weighted frequency FPqm equal to the sum of the weighting coefficients CPk of the profiles Pk of said collection of profiles whose data item Dkm associated with said field Cm is identical to said selected data item Dqm,7c) repeating steps 7a) and 7b) by selecting another data item which has not yet been selected in step 7a), if one exists;8) generating a response (12) to said request, said response comprising a list of data Dqm arising from said sub-base (SB), the so-called response data, said response data Dqm being those which possess the highest weighted frequencies FPqm among the data associated with the fields Cm of the interrogation domain, the maximum number NR of response data Dqm associated with each field Cm of the interrogation domain being predetermined and greater than or equal to one;9) sending said response to a response recipient by way of the telecommunication network (R).
- System as claimed in claim 1, wherein said response list is ordered in increasing or decreasing order of the weighted frequencies FPqm of the response data Dqm.
- System as claimed in one of claims 1 and 2, wherein said weighting function F(x) of the aforesaid step 5) is a positive function of a single integer variable x, said weighting function preferably being decreasing, preferably equal to the inverse of said integer variable x.
- System as claimed in one of claims 1 to 3, wherein said data item to be compared Dkn in the aforesaid step 4b) is in correspondence through said predetermined logic law with said reference data item Drn if it contains at least a substantial part of said reference data item Drn.
- System as claimed in one of claims 1 to 4, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as to, in the aforesaid step 8:a/ calculate normalized coefficients (δqm) lying between 0 and 100%, a normalized coefficient δqm being calculated for each response data item Dqm, the calculation of each normalized coefficient δqm comprising a step consisting in dividing the weighted frequency FPqm of said response data item Dqm by the number NC of distinct fields Cn lying in said comparison domain (DC),b/ include in said generated response (12) the normalized coefficient δqm of each response data item Dqm.
- System as claimed in one of claims 1 to 5, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as to filter said response data Dqm, in order to delete from said generated response (12) any response data item Dqm associated with a field Cm and substantially identical to a reference profile Pr data item Drm associated with the same field Cm.
- System as claimed in one of claims 1 to 6, wherein the instruction codes of said second set (J2) are executable by said interrogation terminal (TI) so as to store said reference profile Pr and an identifier Er of said reference profile temporarily in a memory (5) of the interrogation terminal (TI), said identifier Er being supplied directly or indirectly by a user (U) of said interrogation terminal (TI); and to send said reference profile Pr and said identifier Er to said search terminal (TR).
- System as claimed in claim 7, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as to concatenate said reference profile Pr received with said database (3); the concatenation being performed in such a way that, on the one hand, if there exists a profile Pi of said database (3) whose identifier Ei is identical to the identifier Er of said reference profile Pr, the reference data Drj associated with the fields Cj for which there exists no associated data item Dij in the profile Pi are added to said profile Pi; on the other hand, if no profile Pi of said database (3) has an identifier Ei identical to the identifier Er of said reference profile Pr, said reference profile Pr being concatenated as new profile (PN+1) of said database (3).
- System as claimed in claim 8, wherein said reference profile Pr is concatenated with said database (3) in complete substitution of the profile Pi of said database (3) whose identifier Ei is identical to the identifier Er received when said profile Pi exists.
- System as claimed in one of claims 1 to 9, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as, in the course of the aforesaid step 1a) to receive from said interrogation terminal (TI) a profile identifier Ei and to send in response by way of said telecommunication network (R) the profile Pi which is recorded in said database (3) and is identified by said identifier Ei, the instruction codes of said second set (J2) being executable by said interrogation terminal (TI) so as, in the aforesaid step 1a), to use said profile Pi received, possibly modified or completed by a user (U) of said interrogation terminal (TI), as reference profile Pr of a request.
- System as claimed in one of claims 1 to 10, wherein said interrogation software module (8) sent to said interrogation terminal (TI) comprises a list of optional data associable with said accessible fields Cj, the instruction codes of said second set (J2) being executable by said interrogation terminal (TI) so as to allow a user (U) of said interrogation terminal (TI) to include said optional data in said reference profile Pr, by associating them with said corresponding accessible fields Cj.
- System as claimed in one of claims 1 to 11, wherein, said search terminal (TI) being linked by way of said telecommunication network (R) with at least a third computer terminal, the so-called partner terminal (TP), the codes of said first set (J1) are executable by said search terminal (TR) so as to receive from any partner terminal (TP) a contact command (15), said command comprising an address of an interrogation terminal (TI) and so as to execute said contact command (15) by sending said interrogation software module (8) to said interrogation terminal (TI).
- System as claimed in claim 12, wherein the interrogation software module (8) sent by said search terminal (TR) in response to said contact command (15) predetermines said accessible fields Cj and/or said fields of the interrogation domain as a function of the partner terminal (TP) from which said contact command (15) originates, said interrogation domain preferably being predetermined so as to pertain to a product or service that said partner terminal (TP) is able to supply.
- System as claimed in claim 11 taking in combination with one of claims 12 and 13, wherein said optional data, contained in the interrogation software module (8) sent by said search terminal (TR) in execution of a contact command (15), comprise partner-data Dpm connected with the partner terminal (TP) from which said contact command (15) originates, said partner-data Dpm arising from a second database (19) stored in said storage means (2) of the search terminal (TR), said partner-data Dpm preferably comprising information about products and/or services intended to be supplied by said partner terminal (TP), for example names designating said products and/or services.
- System as claimed in claim 14, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as to perform a filtering of said response data Dqm as a function of said partner-data Dpm, the filtering of said response data Dqm comprising the steps consistingi/ in comparing each response data item Dqm with the partner-data Dpm which are associated with the same field Cm as said response data item Dqm,ii/ when said response data item Dqm is substantially identical to a partner-data item Dpm connected with a partner terminal (TP), in including an address of said partner terminal (TP) in said generated response (12).
- System as claimed in claim 15, wherein the filtering of said response data comprises the step consisting in deleting from said generated response (12) each response data item Dqm which is not substantially identical to any of the partner-data items Dpm connected with a predetermined partner terminal (TP), said predetermined partner terminal (TP) preferably being the partner terminal (TP) from which said contact command (15) originates.
- System as claimed in one of claims 15 and 16, wherein the filtering of said response data comprises the step consisting in executing a logic test for each response data item Dqm, said logic test consisting in varying whether a complementary data item D'pm stored in said second database (19) fulfills a predetermined criterion, the result of said logic test being a boolean number, said instructions of the first set (J1) being executable by said search terminal (TR) so as to exclude said response data item Dqm from said response (12) if the result of said logic test is false, the instructions of said second set (J2) being executable by said interrogation terminal (TI) so as to allow a user (U) to predetermine said criterion.
- System as claimed in one of claims 15 to 17, wherein the codes of said first set (J1) are executable by said search terminal (TR) so as to render a partner terminal (TP), preferably a partner terminal (TP) with which is connected a partner-data item Dpm substantially identical to the response data item Dqm whose weighted frequency FPqm is a maximum, recipient of said response (12) and so as to include an address of said interrogation terminal (TI) in said response (12) sent, so that said partner terminal (TP) can enter into communication with said interrogation terminal (TI) after receipt of said response (12).
- System as claimed in one of claims 1 to 18, wherein said interrogation terminal (TI) is a recipient of said response (12).
- Computer aided process for making commercial offers, each commercial offer comprising the name of a commodity to be supplied and the address of a supplier able to supply said commodity, implementing the system as claimed in one of claims 1 to 11 in order to obtain a response (12), so-called commercial offer, sent to the interrogation terminal (TI), the storage means (2) of the search terminal (TR) comprising a second database (19) for storing supplier-data Dpm specific to said supplier, said supplier-data Dpm comprising a list of commodities that can be supplied by said supplier, the codes of said first set (J1) being executable by said search terminal (TR) so as to perform, after generation of said response (12), a filtering of said response data Dqm as a function of said supplier-data Dpm, the filtering of said response data Dqm comprising a step consisting in comparing each response data item Dqm with the supplier-data Dpm which are associated with the same field Cm as said response data item Dqm, in deleting from said response (12) any response data item substantially different from all the supplier-data Dpm and in including an address of said supplier in said response (12) when a response data item Dqm is substantially identical to a supplier-data item Dpm.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00402666A EP1193625B1 (en) | 2000-09-27 | 2000-09-27 | Collaborative search engine |
DE60030718T DE60030718D1 (en) | 2000-09-27 | 2000-09-27 | Collaborative search engine |
AT00402666T ATE339729T1 (en) | 2000-09-27 | 2000-09-27 | COLLABORATIVE SEARCH ENGINE |
PCT/FR2001/002856 WO2002027566A1 (en) | 2000-09-27 | 2001-09-14 | Search engine |
US10/381,249 US7103592B2 (en) | 2000-09-27 | 2001-09-14 | Method and apparatus providing recommendations based on automatically enriched user profile |
AU2001290019A AU2001290019A1 (en) | 2000-09-27 | 2001-09-14 | Search engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00402666A EP1193625B1 (en) | 2000-09-27 | 2000-09-27 | Collaborative search engine |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1193625A1 EP1193625A1 (en) | 2002-04-03 |
EP1193625B1 true EP1193625B1 (en) | 2006-09-13 |
Family
ID=8173878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00402666A Expired - Lifetime EP1193625B1 (en) | 2000-09-27 | 2000-09-27 | Collaborative search engine |
Country Status (6)
Country | Link |
---|---|
US (1) | US7103592B2 (en) |
EP (1) | EP1193625B1 (en) |
AT (1) | ATE339729T1 (en) |
AU (1) | AU2001290019A1 (en) |
DE (1) | DE60030718D1 (en) |
WO (1) | WO2002027566A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792967B2 (en) | 2006-07-14 | 2010-09-07 | Chacha Search, Inc. | Method and system for sharing and accessing resources |
US7801879B2 (en) | 2006-08-07 | 2010-09-21 | Chacha Search, Inc. | Method, system, and computer readable storage for affiliate group searching |
US7873532B2 (en) | 2006-07-19 | 2011-01-18 | Chacha Search, Inc. | Method, system, and computer readable medium useful in managing a computer-based system for servicing user initiated tasks |
US8082240B2 (en) | 2007-02-28 | 2011-12-20 | Classe Qsl, S.L. | System for retrieving information units |
US8255383B2 (en) | 2006-07-14 | 2012-08-28 | Chacha Search, Inc | Method and system for qualifying keywords in query strings |
US8577894B2 (en) | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868659B2 (en) | 2001-05-15 | 2014-10-21 | Avaya Inc. | Method and apparatus for automatic notification and response |
US8495163B2 (en) | 2004-03-18 | 2013-07-23 | Avaya, Inc. | Method and apparatus for a publish-subscribe system with templates for role-based view of subscriptions |
EP1380976A1 (en) * | 2002-07-12 | 2004-01-14 | Accenture Global Services GmbH | Determining a scent or taste profile of a user for predicting user's preferences |
US7505984B1 (en) | 2002-12-09 | 2009-03-17 | Google Inc. | Systems and methods for information extraction |
US8006197B1 (en) | 2003-09-29 | 2011-08-23 | Google Inc. | Method and apparatus for output of search results |
US20050114207A1 (en) * | 2003-11-25 | 2005-05-26 | International Business Machines Corporation | Method, system, and storage medium for filtering content presented on a computer system |
US7836038B2 (en) * | 2003-12-10 | 2010-11-16 | Google Inc. | Methods and systems for information extraction |
US7647300B2 (en) * | 2004-01-26 | 2010-01-12 | Google Inc. | Methods and systems for output of search results |
US8090698B2 (en) | 2004-05-07 | 2012-01-03 | Ebay Inc. | Method and system to facilitate a search of an information resource |
US7716206B2 (en) * | 2004-11-01 | 2010-05-11 | At&T Intellectual Property I, L.P. | Communication networks and methods and computer program products for performing searches thereon while maintaining user privacy |
US20070033114A1 (en) * | 2005-08-03 | 2007-02-08 | Teri Minor | Method and system for comparing medical products |
AU2006294619B2 (en) * | 2005-09-22 | 2011-10-27 | Viridistor Llc | Method and apparatus for information exchange |
US8195678B2 (en) * | 2005-12-22 | 2012-06-05 | Volkswagen Ag | Method and device for processing data of a plurality of different products |
US8799302B2 (en) * | 2005-12-29 | 2014-08-05 | Google Inc. | Recommended alerts |
US8671008B2 (en) | 2006-07-14 | 2014-03-11 | Chacha Search, Inc | Method for notifying task providers to become active using instant messaging |
US7689682B1 (en) | 2006-08-16 | 2010-03-30 | Resource Consortium Limited | Obtaining lists of nodes of a multi-dimensional network |
US8930204B1 (en) | 2006-08-16 | 2015-01-06 | Resource Consortium Limited | Determining lifestyle recommendations using aggregated personal information |
US20080097842A1 (en) * | 2006-10-19 | 2008-04-24 | Tirumala Venkatakrishna | Automated merchandising network system |
US20080147633A1 (en) * | 2006-12-15 | 2008-06-19 | Microsoft Corporation | Bringing users specific relevance to data searches |
US8200663B2 (en) * | 2007-04-25 | 2012-06-12 | Chacha Search, Inc. | Method and system for improvement of relevance of search results |
US7904442B2 (en) * | 2007-10-31 | 2011-03-08 | Intuit Inc. | Method and apparatus for facilitating a collaborative search procedure |
WO2010042769A1 (en) * | 2008-10-08 | 2010-04-15 | Viridistor Llc | Secure system and apparatus for data delivery |
WO2010129108A1 (en) * | 2009-03-26 | 2010-11-11 | Scott Jones | Method and system for improving targeting of advertising |
US20110015965A1 (en) * | 2009-07-14 | 2011-01-20 | The Procter & Gamble Company | Products having a scent name selected by consumers |
US20110040753A1 (en) * | 2009-08-11 | 2011-02-17 | Steve Knight | Personalized search engine |
US20110047213A1 (en) * | 2009-08-20 | 2011-02-24 | Alan David Manuel | Method and process for identifying trusted information of interest |
US9967365B2 (en) | 2011-06-28 | 2018-05-08 | Viridistor, LLC | Information management software and method |
US20140279260A1 (en) * | 2013-03-14 | 2014-09-18 | Prium Inc. | Business promotion system and methods thereof |
KR20140133362A (en) * | 2013-05-10 | 2014-11-19 | 삼성전자주식회사 | display apparatus and user interface screen providing method thereof |
US10373209B2 (en) | 2014-07-31 | 2019-08-06 | U-Mvpindex Llc | Driving behaviors, opinions, and perspectives based on consumer data |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4996642A (en) * | 1987-10-01 | 1991-02-26 | Neonics, Inc. | System and method for recommending items |
US5583763A (en) * | 1993-09-09 | 1996-12-10 | Mni Interactive | Method and apparatus for recommending selections based on preferences in a multi-user system |
US5592375A (en) * | 1994-03-11 | 1997-01-07 | Eagleview, Inc. | Computer-assisted system for interactively brokering goods or services between buyers and sellers |
US5724567A (en) * | 1994-04-25 | 1998-03-03 | Apple Computer, Inc. | System for directing relevance-ranked data objects to computer users |
US5710884A (en) * | 1995-03-29 | 1998-01-20 | Intel Corporation | System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use |
US5749081A (en) * | 1995-04-06 | 1998-05-05 | Firefly Network, Inc. | System and method for recommending items to a user |
US6041311A (en) * | 1995-06-30 | 2000-03-21 | Microsoft Corporation | Method and apparatus for item recommendation using automated collaborative filtering |
US6049777A (en) * | 1995-06-30 | 2000-04-11 | Microsoft Corporation | Computer-implemented collaborative filtering based method for recommending an item to a user |
US5966695A (en) * | 1995-10-17 | 1999-10-12 | Citibank, N.A. | Sales and marketing support system using a graphical query prospect database |
US5848396A (en) * | 1996-04-26 | 1998-12-08 | Freedom Of Information, Inc. | Method and apparatus for determining behavioral profile of a computer user |
US5790426A (en) * | 1996-04-30 | 1998-08-04 | Athenium L.L.C. | Automated collaborative filtering system |
US5890152A (en) * | 1996-09-09 | 1999-03-30 | Seymour Alvin Rapaport | Personal feedback browser for obtaining media files |
US6012051A (en) * | 1997-02-06 | 2000-01-04 | America Online, Inc. | Consumer profiling system with analytic decision processor |
US6003020A (en) * | 1997-10-30 | 1999-12-14 | Sapient Health Network | Intelligent profiling system |
US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
US6236978B1 (en) * | 1997-11-14 | 2001-05-22 | New York University | System and method for dynamic profiling of users in one-to-one applications |
US6286005B1 (en) * | 1998-03-11 | 2001-09-04 | Cannon Holdings, L.L.C. | Method and apparatus for analyzing data and advertising optimization |
US6334127B1 (en) * | 1998-07-17 | 2001-12-25 | Net Perceptions, Inc. | System, method and article of manufacture for making serendipity-weighted recommendations to a user |
US6317722B1 (en) * | 1998-09-18 | 2001-11-13 | Amazon.Com, Inc. | Use of electronic shopping carts to generate personal recommendations |
US6356879B2 (en) * | 1998-10-09 | 2002-03-12 | International Business Machines Corporation | Content based method for product-peer filtering |
JP4218099B2 (en) * | 1998-12-03 | 2009-02-04 | ソニー株式会社 | Database, customer information search method, and customer information search device |
-
2000
- 2000-09-27 EP EP00402666A patent/EP1193625B1/en not_active Expired - Lifetime
- 2000-09-27 DE DE60030718T patent/DE60030718D1/en not_active Expired - Fee Related
- 2000-09-27 AT AT00402666T patent/ATE339729T1/en not_active IP Right Cessation
-
2001
- 2001-09-14 WO PCT/FR2001/002856 patent/WO2002027566A1/en active Application Filing
- 2001-09-14 US US10/381,249 patent/US7103592B2/en not_active Expired - Lifetime
- 2001-09-14 AU AU2001290019A patent/AU2001290019A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792967B2 (en) | 2006-07-14 | 2010-09-07 | Chacha Search, Inc. | Method and system for sharing and accessing resources |
US8255383B2 (en) | 2006-07-14 | 2012-08-28 | Chacha Search, Inc | Method and system for qualifying keywords in query strings |
US7873532B2 (en) | 2006-07-19 | 2011-01-18 | Chacha Search, Inc. | Method, system, and computer readable medium useful in managing a computer-based system for servicing user initiated tasks |
US7801879B2 (en) | 2006-08-07 | 2010-09-21 | Chacha Search, Inc. | Method, system, and computer readable storage for affiliate group searching |
US8725768B2 (en) | 2006-08-07 | 2014-05-13 | Chacha Search, Inc. | Method, system, and computer readable storage for affiliate group searching |
US8082240B2 (en) | 2007-02-28 | 2011-12-20 | Classe Qsl, S.L. | System for retrieving information units |
US8577894B2 (en) | 2008-01-25 | 2013-11-05 | Chacha Search, Inc | Method and system for access to restricted resources |
Also Published As
Publication number | Publication date |
---|---|
EP1193625A1 (en) | 2002-04-03 |
US7103592B2 (en) | 2006-09-05 |
ATE339729T1 (en) | 2006-10-15 |
DE60030718D1 (en) | 2006-10-26 |
WO2002027566A1 (en) | 2002-04-04 |
US20030187835A1 (en) | 2003-10-02 |
AU2001290019A1 (en) | 2002-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1193625B1 (en) | Collaborative search engine | |
US7275083B1 (en) | Web-based customer lead generator system with pre-emptive profiling | |
FR2840088A1 (en) | Search engine and database for distributed database in computer, has computing apparatus with transactional score generator and category assigner in communication with Internet cache of memory device | |
US20020062241A1 (en) | Apparatus and method for coding electronic direct marketing lists to common searchable format | |
US20130297382A1 (en) | Network transaction platform and processing method thereof | |
WO2003057648A9 (en) | Methods and systems for searching and associating information resources such as web pages | |
FR2833377A1 (en) | METHOD AND DEVICE FOR RECOMMENDING SEARCH TERMS USING COLLABORATIVE FILTERING AND WEB SPIDER WEB EFFECT | |
FR2824160A1 (en) | DYNAMICALLY CONFIGURABLE GENERIC CONTAINER | |
US8762394B1 (en) | Method and apparatus for obtaining recommendations from trusted sources | |
WO2004029777A2 (en) | Method, system and computer product for performing e-channel analytics | |
FR2762460A1 (en) | SYSTEM INTENDED TO PROVIDE AN ENHANCED ENVIRONMENT AND USER INTERFACE FOR ONLINE DISCUSSION TECHNOLOGIES | |
EP1238323A2 (en) | Method for marketing goods or services by electronic means on internet-type networks | |
FR2802373A1 (en) | Multiple information environment user service quality personalisation with programmes server receiving inputs/forming queue and priority management system determining priority/providing some clients preferential treatment. | |
US11436237B2 (en) | Ranking datasets based on data attributes | |
WO2016198635A1 (en) | Management of internet domain names | |
FR2881245A1 (en) | Web site content e.g. good such as refrigerator, locating method for Internet, involves automatically generating computer program code as function of electronic information of site, and transferring code to work station | |
EP1763790A1 (en) | Method and device for searching and customisably storing results | |
WO2017109361A1 (en) | Automatic method and device for determining a client path in a multi-channel communication system | |
FR2917518A1 (en) | METHOD FOR SORTING INFORMATION | |
WO2024194385A1 (en) | Device and method for tracking a user accessing a website | |
FR3147394A1 (en) | METHOD AND SYSTEM FOR ANALYZING INTERNET ADS | |
FR3094509A1 (en) | Redundant data storage system, corresponding method and computer program. | |
FR2805373A1 (en) | System for sharing data between two or more users of computer system, uses organization of data into first and second containers, with communication between them, and uses XML documents for structuring data | |
Abramson et al. | „Managing Click-Stream Data “ | |
WO2003105025A1 (en) | Man-machine interface for simultaneously managing heterogeneous data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PERTINENCE DATA INTELLIGENCE |
|
17P | Request for examination filed |
Effective date: 20020715 |
|
AKX | Designation fees paid |
Free format text: AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: PERTINENCE DATA INTELLIGENCE |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 17/30 20060101AFI20060505BHEP |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060913 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060913 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060913 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED. Effective date: 20060913 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D Free format text: NOT ENGLISH |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D Free format text: LANGUAGE OF EP DOCUMENT: FRENCH |
|
REF | Corresponds to: |
Ref document number: 60030718 Country of ref document: DE Date of ref document: 20061026 Kind code of ref document: P |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20061213 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20061213 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: NV Representative=s name: KIRKER & CIE SA Ref country code: CH Ref legal event code: PFA Owner name: PERTINENCE Free format text: PERTINENCE DATA INTELLIGENCE#32 RUE DE JEUNEURS#75002 PARIS (FR) -TRANSFER TO- PERTINENCE#32, RUE DES JE?NEURS#75002 PARIS (FR) |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 20061129 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20061224 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20070302 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20070403 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20070614 |
|
BECN | Be: change of holder's name |
Owner name: *PERTINENCE Effective date: 20060913 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20061214 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20060927 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20060913 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: MC Payment date: 20110914 Year of fee payment: 12 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120930 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 17 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 18 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 19 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20190829 Year of fee payment: 20 Ref country code: IE Payment date: 20190910 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: BE Payment date: 20190827 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20190923 Year of fee payment: 20 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: CH Payment date: 20190913 Year of fee payment: 20 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: PE20 Expiry date: 20200926 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MK Effective date: 20200927 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MK9A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20200926 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION Effective date: 20200927 |