WO2010031969A2 - Systeme et procede pour effectuer une recherche de donnees - Google Patents
Systeme et procede pour effectuer une recherche de donnees Download PDFInfo
- Publication number
- WO2010031969A2 WO2010031969A2 PCT/FR2009/051754 FR2009051754W WO2010031969A2 WO 2010031969 A2 WO2010031969 A2 WO 2010031969A2 FR 2009051754 W FR2009051754 W FR 2009051754W WO 2010031969 A2 WO2010031969 A2 WO 2010031969A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- terms
- search
- user
- lexicon
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/232—Orthographic correction, e.g. spell checking or vowelisation
Definitions
- the invention relates to a system and a search method for a user to search data from a request.
- queries may include terms that are technically complex with a particular and unusual spelling. If a term is misspelled, there is a real risk that one or more relevant documents will not be identified during a search. The user may then believe, erroneously, that there are no relevant documents.
- a conventional spelling corrector makes it possible to correct spelling errors in terms of current language. But when it comes to specific terms used in a particular area of expertise, the spelling checker may not find a relevant replacement term for a user working in the area of expertise, or to propose an inaccurate term.
- Another aspect of a data search relates to the search time.
- an increase in the response time of a few seconds may be enough to make a tool ineffective or unusable.
- the international patent application published under the number WO 2005/065359 describes a search server.
- a search is performed from a query in a generic domain including generic content such as, for example, the Web.
- a "vertical" domain including specific content is determined from personal information such as, for example, a specification of personal preferences.
- a search is performed in this vertical domain from the query.
- EP 1 693 770 describes a system for proposing to a user alternative query words when the latter makes queries in an application.
- Each word in a query is submitted to a word generator, which draws on a lexicon, to determine suggested words.
- One or more suggested words with a higher popularity than the relevant word of the query are displayed to the user.
- a search system enabling a user to search for data from a query, the search system having access to a set of data, is characterized in that the search system includes: a plurality of lexicons of particular terms, a particular lexicon of terms being associated with a particular group of users; a link module for determining a particular user group to which the user belongs; and an interrogation module for querying the particular lexicon of terms associated with the particular user group to which the user belongs in order to perform a spelling check for at least one term in the query, and to query a subset of data made available to the particular user group to which the user belongs in order to obtain a search result for the request.
- the spelling check focuses on terms typically used by the user group to which the user belongs. This allows the spelling check to provide one or more alternative terms with a relatively high degree of relevance.
- the search for data is limited to a portion of the data set to which the search access system, ie the part that is likely to include relevant data for the user. The search for data can thus be relatively fast and the search result typically indicates mainly relevant data.
- a search method allowing a user to search for data from a request, the method being performed from a search system having access to a data set, characterized in that the search system from which the method is performed comprises a plurality of lexicons of particular terms, a particular lexicon of terms being associated with a particular group of users, and that the method includes: a link step for determining a particular user group to which the user belongs; a first polling step for querying the particular lexicon of terms associated with the particular user group to which the user belongs in order to perform a spelling check for at least one term in the request; and a second interrogation step for querying a subset of data made available to the particular user group to which the user belongs in order to obtain a search result for the request.
- a computer program product comprises a set of instructions which, when loaded into a processor, enables the processor to perform the method defined in the foregoing.
- the particular lexicon of terms and the subset of data are interrogated simultaneously, so that the search result is obtained independently of the spelling check.
- the search for data being done in parallel with the spelling check, the user receives the search result anyway.
- the search result is obtained without loss of time or efficiency.
- a particular lexicon of terms is elaborated by an indexation applied at least to a part of the subset of data made available to the particular user group to which the particular lexicon of terms is associated. This makes it possible to obtain a lexicon comprising relevant terms relatively efficiently.
- FIG. 1 schematically illustrates a system enabling a user to perform a data search
- Figure 2 schematically illustrates a method for a user to perform a data search
- Figure 3 schematically illustrates an apparatus for implementing the system and method respectively illustrated in Figures 1 and 2.
- Figure 1 schematically illustrates a system for a user to perform a data search.
- the system comprises several functional entities: a user interface 202, a link module 203, an interrogation module 204, and a connection module 205.
- the interrogation module 204 could also be called a "requestor”.
- the system further includes a plurality of lexicons of particular terms 221, 222, 223.
- the system illustrated in Figure 1 has access to a data set 230.
- an enterprise network may allow the system to access different data sources.
- a data source may be "internal” such as, for example, a company-owned database or documents, a shared space with company-owned folders and files, and an enterprise intranet site.
- a data source may also be “external” such as, for example, an information provider not belonging to the company, a website, etc.
- An "internal” or “external” document may be described by "metadata” to facilitate research and for management and use of the document.
- a data source may include an index to facilitate a search for data.
- An index is a list of descriptors. A list of documents is associated with each descriptor. The descriptor refers to these documents. The descriptor may correspond to a term contained in these documents. Thus, an index can look like a list of terms in documents offered by the data source.
- the search for data can then be performed by means of the index which allows to find relatively quickly documents comprising a specific term or a set of specific terms.
- An index can include weighting elements to allow a ranking ("ranking" in English) of documents during a search. So different weights can be attributed to different documents,
- An index is typically generated by an indexation by means of which terms are extracted from the documents being indexed. There are algorithms for performing an indication. An indexing algorithm typically searches for the most common words, leaving aside articulation words such as "le”"la”,”and", etc.
- the system illustrated in Figure 1 operates globally as follows.
- the system is able to perform a "federated search" from a query.
- the system will interrogate in parallel, that is to say at the same time, several data sources, gather the results of these interrogations, and sort them in order to present all the results.
- a user group is typically formed by a plurality of people sharing common information that has a degree of importance, relevance, or special interest for them.
- a group of users is characterized by information and data shared between its members and the context of this sharing.
- a group of users can sometimes define themselves and the people involved associate for example in the context of their professional world.
- a group of users may include people working on a specific part of a final product, or working on a cross-company infrastructure such as technology, tools, etc.
- a product-oriented group can be defined by the following aspects: (1) the product in question, (2) the business or professional interest of the users of the group, (3) the place in a product realization process . For example, a community of designers can form a user group.
- a subset of data for a group of users consists of a selection of sources of data and possibly one or more filters applied to one or more data sources.
- a subset of data made available to a group of users is characterized by a specific selection from different types of sources: business thesauri, information providers, websites, databases, transaction databases for data capture in 'a business process, shared spaces, etc.
- a data source may be part of different subsets of data made available to different groups of users. In other words, there may be at least partial overlap between different subsets of data.
- Figure 1 illustrates the different subsets of data 210, 21 1, 212 as disjoint for simplicity only.
- a particular terms lexicon 221, 222, 223 is associated with a particular user group. Indeed, a group of users typically use their own terms. Such a term can be relatively technical and have a particular and relatively unknown spelling.
- a particular lexicon of terms is indeed a set of correctly spelled and relevant terms for the user group to which the lexicon is associated.
- a particular lexicon of terms 221, 222, 223 can be elaborated by an indexation applied at least to a part of the subset of data 210, 211, 212 made available to the particular user group to which the lexicon is associated. In the case where a data source already includes an index, this index can be used to build the particular lexicon of terms. It should be noted that a particular lexicon of terms is not similar to an index belonging to a data source since the particular lexicon of terms does not associate a term with a list of documents. That is, the particular lexicon of terms does not typically point to documents and, therefore, does not intervene directly in a search for data.
- a manager of a user group may designate a particular part of the subset 210, 21 1, 212 which will serve as a basis. for the development of the particular lexicon of terms 221, 222, 223.
- the manager may also redefine the subset of data by adapting a selection of data sources, adapting one or more filters to be applied, or introducing one or more new filters, or a combination of these measures.
- the lexicons of particular terms are preferably dynamic. For example, a particular lexicon of terms associated with a user group should be updated if the subset of data made available to the user group has been changed. In the case where a lexicon of terms is developed and updated by respective indexing, it is necessary to keep track of each indexing to avoid re-indexing.
- the user interface 202 allows the user to interact with the system, whether to enter or make a request, or receive the results after a search.
- the user interface 202 may be based on an Internet browser.
- the user interface 202 may comprise a form in "html" format by means of which the user can formulate a request.
- the link module 203 determines whether the user belongs to a group of users, and if so, which group.
- the link module 203 can determine the group of users to which the user belongs from an identifier such as, for example, a "login". It should be noted that an automatic recognition system can authenticate the user and thus generate data identifying the user. According to an alternative embodiment, the link module 203 can also determine the group of users to which the user belongs from data that the user provides to the system, such as, for example, a request formulated by the user.
- the interrogation module 204 translates a request made by the user in two formalized queries: a request "spelling correction” and a query “data search”.
- the interrogation module 204 uses the "spelling correction” request to query the particular term lexicon 221, 222, 223 associated with the user group to which the user belongs.
- the request "Data search” is used to query the subset of data 210, 21 1, 212 made available to the user group to which the user belongs.
- the "spelling correction” and “data search” queries can be of the SQL type (SQL is an acronym for the Structured Query Language).
- An SQL type query is a query in a standard and standardized computer pseudo-language. A query of type SQL allows to interrogate a large number of sources of different types. SQL queries are primarily intended for relational database queries.
- connection module 205 comprises connectors that translate the request "data search", which is in generic language, in language specific to each data source. This translation concerns logical operators and areas to query in the data source. Using the descriptions included in the query in specific language, this query is translated again into parameters.
- the system illustrated in Figure 1 may include a "meta-motor".
- the meta-engine In the case where an index already exists for a data source to be interrogated, the meta-engine is able to use this index. In case a data source is not already indexed, the meta-engine can index the data source. To do this, the meta-engine has a proper indexing function. In this case, the index thus created by the meta-engine can be hosted in the system. The meta-engine can also use its own index and, at the same time, use different indexes belonging to different data sources. Regardless of the location or membership of the index, the system illustrated in Figure 1 launches simultaneous searches and federates the results obtained by these searches.
- the system illustrated in Figure 1 therefore makes available to the user a subset of data 210, 211, 212.
- a search for data performed by the user is limited to this subset of data.
- the subset of data made available to the user is predefined.
- the subset of data can be predefined by a data source selection or by a filter applied to one or more data sources, or a combination of these.
- a filter may be advantageous in the case where a data source contains heterogeneous elements in terms of relevance: there are elements relevant to the group of users in question and there are irrelevant elements. The filter eliminates irrelevant items as these elements are not included in the subset of data for that user group.
- Figure 2 illustrates a method for a user to perform a data search.
- the system illustrated in Figure 1 can implement this method.
- the method is performed from a request made by a user.
- the user belongs to a particular user group among several predefined user groups.
- the request made by the user includes one or more terms.
- the articulation words such as "le” "la", "and” are not considered as terms.
- the user group to which the user belongs is determined in step 301. This determination can be made from an identifier of the user or from another piece of data, such as a password.
- the request is processed in order to generate two formalized requests: a first formalized request for a data search, a second formalized request for a search of terms.
- step 310 the subset of data made available to the user group is queried from the first formalized request. This query identifies relevant data entities.
- step 311 a search result is obtained identifying those relevant data entities.
- the search result may be presented to the user in the form of, for example, a list of links pointing to the relevant data entities.
- step 320 the particular lexicon of terms associated with the user group is queried from the second formalized request.
- This query is done as part of a spelling check, which can be organized in different ways. The following is just an example.
- an "identical search" type query makes it possible to check whether each term appearing in the request exists in the particular lexicon of terms.
- this check proves positive, there is no spelling error. In this case, a possible message of absence of error can be presented to the user in step 323.
- step 330 the "identical search" type query reveals that there is a spelling error: at least one term appearing in the request does not appear in the particular lexicon of terms. .
- a "similarity search” type query is performed at step 331.
- this query identifies one or more terms close to the term that do not appear in the lexicon.
- step 351 the terms thus identified are proposed to the user as alternatives to the term that does not appear in the lexicon.
- the user can then formulate a new query by replacing the term that does not appear in the lexicon with a proposed alternative term.
- step 340 the query in question finds no near term. In this case, a possible message may be presented to the user at step 341, informing the user of the spelling error for which no alternative can be proposed.
- the steps 310, 31 1 on the one hand, and the steps 320-323, 330, 331, 340, 341, 350, 351 on the other hand, preferably take place in parallel for reasons of speed and reliability. 'efficiency. That is, the interrogation of the subset of data concerned and the query of the lexicon of terms concerned are carried out simultaneously and independently. Thus, the search for data is done from the query regardless of the spelling check. For example, it is possible that a term of the query is not present in the lexicon concerned, but that the term still exists in the subset of data, for example following a previous spelling error.
- Figure 3 illustrates an example of apparatus 100, such as a microcomputer or a workstation, adapted to implement the method described in the foregoing.
- the apparatus 100 comprises a communication bus 102 to which are relinked: a central processing unit 112 such as a microprocessor; a ROM 104 or Read OnIy Memory ROM (ROM), which may include one or more programs "Prog", “Progi” and “Prog2”; a Random Access Memory (RAM) memory 106, comprising registers adapted to memorize variables and parameters created and modified during the execution of the aforementioned programs; and, a communication interface 108 connected to a distributed communication network 1 10, for example the Internet or an intranet network, the interface being able to transmit and receive data.
- a distributed communication network 1 for example the Internet or an intranet network, the interface being able to transmit and receive data.
- the apparatus 100 may optionally have one, more or all of the following devices: a screen 116 for viewing data and / or to serve as a graphical interface with the user who can interact with the programs implementing the method, using a keyboard 118 or any other device, such as for example a mouse 1 14; a hard disk 120 that can include programs and / or data, including data processed or to be processed according to the invention; a removable storage media reader 122 adapted to receive a removable storage medium 124 and to read or write to it data processed or to be processed according to the invention.
- the communication bus allows communication and interoperability between the various elements included in the apparatus 100 or connected to it.
- the representation of the bus is not limiting and, in particular, the central unit is able to communicate instructions to any element of the apparatus 100, directly or via another element of the apparatus 100.
- the executable code of the program or programs enabling the apparatus 100 to implement the method described in the foregoing may be stored, for example, in the hard disk 120 or in read-only memory 104.
- the removable storage medium 124 may contain data as well as the executable code of the aforementioned programs which, once read by the apparatus 1 00, may be stored in the hard disk 120.
- the executable code of the programs can be received via the communication network 110, via the interface 108, to be stored identically to that described above.
- the removable storage medium may be, for example, a diskette, a compact disc (CD-ROM), a memory stick, in English "USB” key (for Universal Serial Bus) or a memory card .
- an information storage means readable by a computer or by a microprocessor, integrated or not integrated into the device, possibly removable, and adapted to store one or more programs whose execution allows the implementation of the process as described above.
- the program or programs may be loaded into one of the storage means of the device 100 before being executed.
- the central unit 112 controls the execution of instructions or portions of software code of the program or programs according to the invention, instructions which are stored in the hard disk 120, in the read-only memory 104 or in the other storage elements. supra.
- the program or programs stored in a non-volatile memory for example the hard disk 120 or the read-only memory 104, are transferred to the random access memory 106 (RAM), which then contains the executable code of the one or more programs according to the invention, as well as registers for storing variables and parameters necessary for the implementation of the invention.
- RAM random access memory
- the method as described in the foregoing may also be implemented by means of a programmed apparatus.
- the instructions of the program or programs implementing the method may, for example, be implemented in a programmable or specific integrated circuit (Application-Specific Integrated Circuit, ASIC).
- Data can be related in formal structures with an index or, in less formal structures, without a particular index.
- DBMS database management system
- Information can be stored in the form of content in relatively informal, and relatively unstructured structured structures, such as shared file-like spaces (file servers) or networked by hypertext links, which have no particular index.
- the data can be in XML or other files.
- Data can also be found in documents of different formats (such as PDF, doc, xls, natural language, etc.) or in multimedia files such as images, sound files, video, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
Un système de recherche ayant accès à un ensemble de données (230) permet à un utilisateur d'effectuer une recherche de données à partir d'une requête. Le système de recherche comprend une pluralité de lexiques de termes particuliers (221, 222, 223). Un lexique de termes particulier est associé à un groupe d'utilisateurs particulier. Un module (203) de liaison détermine un groupe d'utilisateurs particulier auquel l'utilisateur appartient. Un module d'interrogation (204) interroge le lexique de termes particulier associé au groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'effectuer une vérification d'orthographe pour au moins un terme dans la requête. Le module d'interrogation (204) interroge un sous-ensemble de données (210, 211, 212) mis à la disposition du groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'obtenir un résultat de recherche pour la requête.
Description
SYSTEME ET PROCEDE POUR EFFECTUER UNE RECHERCHE DE
DONNEES
DOMAINE TECHNIQUE DE L'INVENTION
[0001] L'invention concerne un système et un procédé de recherche permettant à un utilisateur d'effectuer une recherche de données à partir d'une requête.
ETAT DE LA TECHNIQUE ANTERIEURE
[0002] Une des principales difficultés rencontrées par un utilisateur d'un moteur de recherche est de formuler une requête permettant de trouver un ou plusieurs documents pertinents. Par exemple, dans le cas où l'utilisateur œuvre dans un domaine technique spécialisé, des requêtes peuvent comprendre des termes qui sont techniquement complexes avec une orthographe particulière et peu commune. Si un terme est mal orthographié, il y a un risque réel qu'un ou plusieurs documents pertinents ne soient pas identifiés lors d'une recherche. L'utilisateur peut alors croire, de façon erronée, qu'il n'existe pas de documents pertinents.
[0003] Pour pallier ces inconvénients, des correcteurs d'orthographe ont été développés. Ces correcteurs d'orthographe visent en général à proposer une liste de termes de remplacement pertinents. Par exemple, une phrase du type « essayez avec cette orthographe» ("did you mean", en anglais) accompagne le ou les termes proposés. Toutefois, les problèmes suivants peuvent survenir : aucun terme pertinent n'est identifié, le ou les termes proposés sont par la suite rejetés par l'utilisateur, trop de termes sont proposés, confondant l'utilisateur dans des choix longs à effectuer. Ce dernier point est surtout un problème quand il s'agit de rechercher dans des sources dont le contenu est volumineux.
[0004] Un correcteur d'orthographe classique permet de corriger les fautes d'orthographe dans des termes du langage courant. Mais quand il s'agit des termes spécifiques utilisés dans un domaine d'expertise particulier, le correcteur d'orthographe risque de ne pas trouver de terme de remplacement pertinent pour
un utilisateur œuvrant dans le domaine d'expertise, ou de proposer un terme inexact.
[0005] Un autre aspect d'une recherche de données concerne le temps de recherche. Pour les utilisateurs effectuant régulièrement des requêtes, une augmentation du temps de réponse de quelques secondes peut suffire à rendre un outil inefficace ou inexploitable.
[0006] La demande de brevet internationale publ iée sous le numéro WO 2005/065359 décrit un serveur de recherche. Une recherche est effectuée à partir d'une requête dans un domaine générique comprenant du contenu générique comme, par exemple, le Web. Puis un domaine « vertical » comprenant du contenu spécifique est déterminé à partir d'une information personnelle comme, par exemple, une spécification des préférences personnelles. Une recherche est effectuée dans ce domaine vertical à partir de la requête.
[0007] La demande de brevet européen publié sous le numéro EP 1 693 770 décrit un système pour proposer à un utilisateur des mots de requête alternatifs lorsque celui-ci effectue des requêtes dans une application. Chaque mot dans une requête est soumis à un générateur de mots, qui puise dans un lexique, afin de déterminer des mots suggérés. Un ou plusieurs mots suggérés ayant une popularité plus élevée que le mot concerné de la requête sont affichés à l'utilisateur.
EXPOSE DE L'INVENTION
[0008] II existe un besoin pour une solution permettant à un utilisateur d'effectuer une recherche de données de façon relativement efficace.
[0009] Selon un aspect de l'invention, un système de recherche permettant à un utilisateur d'effectuer une recherche de données à partir d'une requête, le système de recherche ayant accès à un ensemble de données, est caractérisé en ce que le système de recherche comprend :
une pluralité de lexiques de termes particuliers, un lexique de termes particulier étant associé à un groupe d'utilisateurs particulier ; un module de liaison pour déterminer un groupe d'utilisateurs particulier auquel l'utilisateur appartient ; et un module d'interrogation pour interroger le lexique de termes particulier associé au groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'effectuer une vérification d'orthographe pour au moins un terme dans la requête, et pour interroger un sous-ensemble de données mis à la disposition du groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'obtenir un résultat de recherche pour la requête.
[0010] Ainsi, la vérification d'orthographe se focalise sur des termes typiquement utilisés par le groupe d'utilisateurs auquel l'utilisateur appartient. Ceci permet à la vérification d'orthographe de proposer un ou plusieurs termes alternatifs ayant un degré de pertinence relativement élevé. En outre, la recherche de données se limite à une partie de l'ensemble de données auquel le système de recherche à accès, à savoir la partie qui est susceptible de comprendre des données pertinentes pour l'utilisateur. La recherche de données peut donc être relativement rapide et le résultat de recherche indique typiquement des données principalement pertinentes.
[0011] Selon un autre aspect de l'invention, un procédé de recherche permettant à un utilisateur d'effectuer une recherche de données à partir d'une requête, le procédé étant effectué à partir d'un système de recherche ayant accès à un ensemble de données, est caractérisé en ce que le système de recherche à partir duquel le procédé est effectué comprend une pluralité de lexiques de termes particuliers, un lexique de termes particulier étant associé à un groupe d'utilisateurs particulier, et en ce que le procédé comprend : une étape de liaison pour déterminer un groupe d'utilisateurs particulier auquel l'utilisateur appartient ; une première étape d'interrogation pour interroger le lexique de termes particulier associé au groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'effectuer une vérification d'orthographe pour au moins un terme dans la requête ; et
une seconde étape d'interrogation pour interroger un sous-ensemble de données mis à la disposition du groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'obtenir un résultat de recherche pour la requête.
[0012] Selon encore un autre aspect de l'invention, un produit de programme d'ordinateur comprend un ensemble d'instructions qui, lorsqu'il est chargé dans un processeur, permet au processeur d'effectuer le procédé défini dans ce qui précède.
[0013] Selon un mode de réalisation avantageux, le lexique de termes particulier et le sous-ensemble de données sont interrogées de façon simultanée, de sorte que le résultat de recherche est obtenu indépendamment de la vérification d'orthographe. La recherche de données étant effectuée en parallèle de la vérification d'orthographe, l'utilisateur reçoit le résultat de recherche quoi qu'il en soit. Dans le cas où la requête ne contient pas d'erreur, il n'y a pas de perte de temps due à la vérification d'orthographe. Dans le cas où la requête contient un terme valide, mais qui ne figure pas dans le lexique de termes particulier, le résultat de recherche est obtenu sans perte de temps ou d'efficacité.
[0014] Selon un autre mode de réalisation avantageux, un lexique de termes particulier est élaboré par une indexation appliquée au moins à une partie du sous-ensemble de données mis à la disposition du groupe d'utilisateurs particulier auquel le lexique de termes particulier est associé. Ceci permet d'obtenir un lexique comprenant des termes pertinents de façon relativement efficace.
DESCRIPTION DES FIGURES
[0015] La présente invention est illustrée par des exemples non limitatifs sur les figures jointes, dans lesquelles des références identiques indiquent des éléments similaires : la figure 1 illustre schématiquement un système permettant à un utilisateur d'effectuer une recherche de données ; la figure 2 illustre schématiquement un procédé permettant à un utilisateur d'effectuer une recherche de données ; et
la figure 3 illustre schématiquement un appareil permettant d'implémenter le système et le procédé respectivement illustrés aux figures 1 et 2.
DESCRIPTION DETAILLEE DE L'INVENTION
[0016] La figure 1 illustre schématiquement un système permettant à un utilisateur d'effectuer une recherche de données. Le système comprend plusieurs entités fonctionnelles : une interface utilisateur 202, un module de liaison 203, un module d'interrogation 204, et un module de connexion 205. Le module d'interrogation 204 pourrait également être appelé « requêteur ». Le système comprend en outre une pluralité de lexiques de termes particuliers 221 , 222, 223.
[0017] Le système illustré à la figure 1 a accès à un ensemble de données 230. Par exemple, un réseau d'entreprise peut permettre au système d'accéder à différentes sources de données. Une source de données peut être « interne » comme, par exemple, une base de données ou de documents appartenant à l'entreprise, un espace partagé comportant des dossiers et des fichiers appartenant à l'entreprise, un site intranet de l'entreprise. Une source de données peut aussi être « externe » comme, par exemple, un fournisseur d'information ne pas appartenant à l'entreprise, un site Internet, etc. Un document « interne » ou « externe » peut être décrit par des « métadonnées » pour faciliter une recherche et pour des fins de gestion et d'utilisation du document.
[0018] Une source de données peut comprendre un index pour faciliter une recherche de données. Un index est une liste de descripteurs. Une liste de documents est associée à chaque descripteur. Le descripteur renvoie vers ces documents. Le descripteur peut correspondre à un terme figurant dans ces documents. Ainsi, un index peut ressembler à une liste de termes figurant dans des documents offerts par la source de données. La recherche de données peut alors être réalisée au moyen de l'index ce qui permet de retrouver relativement rapidement des documents comprenant un terme spécifique ou un ensemble de termes spécifiques. Un index peut inclure des éléments de pondération afin de permettre un classement (« ranking » en anglais) des documents lors d'une recherche. Ainsi différents poids peuvent être attribués à différents documents,
[0019] Un index est typiquement généré par une indexation au moyen de laquelle des termes sont extraits des documents faisant l'objet de l'indexation. Il existe des algorithmes permettant d'effectuer une indication. Un algorithme d'indexation recherche typiquement les mots les plus fréquents, laissant de côté les mots d'articulation tels que « le » « la », « et », etc..
[0020] Le système illustré à la figure 1 fonctionne globalement comme suit. Le système est à même d'effectuer une « recherche fédérée » à partir d'une requête. Le système va interroger en parallèle, c'est à dire dans le même temps, plusieurs sources de données, rassembler les résultats de ces interrogations, et les trier afin de présenter l'ensemble des résultats.
[0021] Différents groupes d'utilisateurs sont définis dans le système illustré à la figure 1. Un groupe d'utilisateurs est typiquement formé par une pluralité de personnes partageant des informations communes qui présentent un degré d'importance, de pertinence, ou d'intérêt particulier pour eux. Ainsi, un groupe d'utilisateurs est caractérisé par l'information et les données partagées entre ses membres et le contexte de ce partage. Un groupe d'utilisateurs peut parfois se définir lui-même et les personnes concernées s'associent par exemple dans le cadre de leur univers professionnel. En entreprise, un groupe d'utilisateurs peut comprendre des personnes travaillant sur une partie spécifique d'un produit final, ou travaillant sur une infrastructure transverse de l'entreprise telle que la technologie, l'outillage, etc. Un groupe axé sur un produit peut se définir par les aspects suivants : (1 ) le produit en question, (2) le métier ou centre d'intérêt professionnel des utilisateurs du groupe, (3) la place dans un processus de réalisation du produit. Par exemple, une communauté de concepteurs peut former un groupe d'utilisateurs.
[0022] Le système illustré à la figurel met différents sous-ensembles de données 210, 211 , 212 à la disposition de différents groupes d'utilisateurs. En effet, un groupe d'utilisateurs n'a typiquement besoin d'accéder qu'à une partie de l'ensemble de données auquel le système a accès. Un sous-ensemble de données pour un groupe d'utilisateurs se constitue par une sélection de sources
de données et éventuellement par un ou plusieurs filtres appliqués à un ou plusieurs sources de données. Typiquement, un sous-ensemble de données mis à la disposition d'un groupe d'utilisateurs se caractérise par une sélection spécifique parmi différentes types de sources : thésaurus métier, fournisseurs d'information, sites internet, bases de documents, bases transactionnelles pour la capture de données dans 'un processus métier, espaces partagés, etc..
[0023] II convient de noter qu'une source de données peut faire partie de différents sous-ensembles de données mis à la disposition de différents groupes d'utilisateurs. En d'autres termes, il peut y avoir un recouvrement, au moins partiel, entre différents sous-ensembles de données. La figure 1 illustre les différents sous-ensembles de données 210, 21 1 , 212 comme étant disjoints pour des raisons de simplicité seulement.
[0024] Un lexique de termes particulier 221 , 222, 223 est associé à un groupe d'utilisateurs particulier. En effet, un groupe d'utilisateurs utilise typiquement des termes qui leur sont propres. Un tel terme peut être relativement technique et avoir une orthographe particulière et relativement peu connue. Un lexique de termes particulier est en effet un ensemble de termes correctement orthographiés et pertinents pour le groupe d'utilisateurs auquel le lexique est associé.
[0025] Un lexique de termes particulier 221 , 222, 223 peut être élaboré par une indexation appliquée au moins à une partie du sous-ensemble de données 210, 211 , 212 mis à la disposition du groupe d'utilisateurs particuliers auquel le lexique est associé. Dans le cas où une source de données comprend déjà un index, cet index peut être utilisé pour élaborer le lexique de termes particulier. Il convient de noter qu'un lexique de termes particulier n'est pas similaire à un index appartenant à une source de données dans la mesure où le lexique de termes particulier n'associe pas un terme avec une liste documents. C'est-à-dire, le lexique de termes particulier ne pointe typiquement pas vers des documents et, de ce fait, n'intervient pas directement dans une recherche de données.
[0026] Un responsable d'un groupe d'utilisateurs peut désigner une partie particulière du sous-ensemble de données 210, 21 1 , 212 qui servira comme base
pour l'élaboration du lexique de termes particulier 221 , 222, 223. Le responsable peut également redéfinir le sous-ensemble de données en adaptant une sélection de sources de données, en adaptant un ou plusieurs filtres à appliquer, ou en introduisant un ou plusieurs nouveaux filtres, ou par une combinaison de ces mesures.
[0027] Les lexiques de termes particuliers sont de préférence dynamiques. Par exemple, il convient mettre à jour un lexique de termes particulier associés à un groupe d'utilisateurs dans le cas où le sous-ensemble de données mis à la disposition du groupe d'utilisateurs a été modifié. Dans le cas où un lexique de termes est élaboré et mis à jour par des indexations respectives, il convient de garder une trace de chaque indexation afin d'éviter une ré-indexation.
[0028] L'interface utilisateur 202 permet à l'utilisateur d'interagir avec le système, que ce soit pour entrer ou formuler une requête, ou recevoir les résultats suite à une recherche. Par exemple, l'interface utilisateur 202 peut être fondée sur un navigateur Internet. L'interface utilisateur 202 peut comprendre un formulaire en format « html » au moyen duquel l'utilisateur peut formuler une requête.
[0029] Le module de liaison 203 détermine si l'utilisateur appartient à un groupe d'utilisateurs, et si oui, à quel groupe. Le module de liaison 203 peut déterminer le groupe d'utilisateurs auquel l'utilisateur appartient à partir d'un identifiant comme, par exemple, un « login ». Il convient de noter qu'un système de reconnaissance automatique peut authentifier l'utilisateur et ainsi générer une donnée identifiant l'utilisateur. Selon une variante de réalisation, le module de liaison 203 peut également déterminer le groupe d'utilisateurs auquel l'utilisateur appartient à partir d'une donnée que l'utilisateur fournit au système comme, par exemple, une requête formulée par l'utilisateur.
[0030] Le module d'interrogation 204 traduit une requête formulée par l'utilisateur en deux requêtes formalisées : une requête « correction d'orthographe » et une requête « recherche de données ». Le module d'interrogation 204 utilise la requête « correction d'orthographe » pour interroger le lexique de termes particulier 221 , 222, 223 associé au groupe d'utilisateurs auquel l'utilisateur appartient. La requête
« recherche de données » est utilisée pour interroger le sous-ensemble de données 210, 21 1 , 212 mis à la disposition du groupe d'utilisateurs auquel l'utilisateur appartient. Les requêtes « correction d'orthographe » et « recherche de données » peuvent être de type SQL (SQL est un acronyme du terme anglais « Structured Query Language ). Une requête de type SQL est une requête dans un pseudo-langage informatique standard et normalisé. Une requête de type SQL permet d'interroger un grand nombre de sources de types différents. Les requêtes de type SQL sont avant tout destinées aux interrogations de bases de données relationnelles.
[0031] Le module de connexion 205 comprend des connecteurs qui traduisent la requête « recherche de données », qui est en langage générique, en langage spécifique à chaque source de données. Cette traduction concerne des opérateurs logiques et des zones à interroger dans la source de données. Se servant de descriptions comprises dans la requête en langage spécifique, cette requête est traduite à nouveau en paramètres.
[0032] Le système illustré la figure 1 peut comprendre un « méta-moteur ». Dans le cas où un index existe déjà pour une source de données à interroger, le méta- moteur est à même d'utiliser cet index. Au cas où une source de données ne serait pas déjà indexée, le méta-moteur peut procéder à une indexation de la source de données. Pour ce faire, le méta-moteur comporte une fonction d'indexation propre. Dans ce cas, l'index ainsi créé par le méta-moteur peut être hébergé dans le système. Le méta-moteur peut également utiliser son propre index et, en même temps, faire appel à différents index appartenant à différents sources de données. Peu importe la localisation ou l'appartenance de l'index, le système illustré à la figure du 1 lance des recherches simultanées et fédère des résultats obtenus par ces recherches.
[0033] Le système illustré à la figure 1 met donc à la disposition de l'utilisateur un sous-ensemble de données 210, 211 , 212. Une recherche de données effectuées par l'utilisateur se limite à ce sous-ensemble de données. Le sous-ensemble de données mis à la disposition de l'utilisateur est prédéfini. Le sous-ensemble de données peut être prédéfini par une sélection de source de données ou par un
filtre appliqué à une ou plusieurs sources de données, ou par une combinaison de ces mesures. Un filtre peut s'avérer avantageux dans le cas où une source de données contient des éléments hétérogènes en termes de pertinence : il y a des éléments pertinents pour le groupe d'utilisateurs en question et il y a des éléments non-pertinents. Le filtre élimine les éléments non-pertinents dans la mesure où ces éléments ne sont pas inclus dans le sous-ensemble de données pour le groupe d'utilisateurs en question.
[0034] La figure 2 illustre un procédé permettant à un utilisateur d'effectuer une recherche de données. Le système illustré à la figure 1 peut mettre en œuvre ce procédé. Le procédé s'effectue à partir d'une requête formulée par un utilisateur. L'utilisateur appartient à un groupe d'utilisateur particulier parmi plusieurs groupes d'utilisateurs prédéfinis. La requête formulée par l'utilisateur comprend un ou plusieurs termes. Les mots d'articulation tels que « le » « la », « et » ne sont pas considérés comme des termes.
[0035] Après réception de la requête à l'étape 300, le groupe d'utilisateurs auquel l'utilisateur appartient est déterminé à l'étape 301. Cette détermination peut se faire à partir d'un identifiant de l'utilisateur ou à partir d'une autre donnée comme, par exemple, un mot de passe. A l'étape 302, la requête est traitée, afin de générer deux requêtes formalisées : une première requête formalisée pour une recherche de données, une seconde requête formalisée pour une recherche de termes.
[0036] A l'étape 310, le sous-ensemble de données mis à la disposition du groupe d'utilisateurs est interrogé à partir de la première requête formalisée. Cette interrogation permet d'identifier des entités de données pertinentes. À l'étape 311 , un résultat de recherche est obtenu identifiant ces entités de données pertinentes. Le résultat de recherche peut être présenté à l'utilisateur sous forme, par exemple, d'une liste de liens pointant vers les entités de données pertinentes.
[0037] A l'étape 320, le lexique de termes particulier associé au groupe d'utilisateurs est interrogé à partir de la seconde requête formalisée. Cette interrogation se fait dans le cadre d'une vérification d'orthographe, qui peut être
organisé de différentes façons. Ce qui suit n'est qu'un exemple. À l'étape 321 , une interrogation de type « recherche à l'identique » permet de vérifier si chaque terme figurant dans la requête existe dans le lexique de termes particulier. À l'étape 322, cette vérification s'avère positive, il n'y a aucune erreur d'orthographe. Dans ce cas, un éventuel message d'absence d'erreur peut être présenté à l'utilisateur à l'étape 323.
[0038] A l'étape 330, l'interrogation de type « recherche à l'identique » révèle qu'il y a une erreur d'orthographe : au moins un terme figurant dans la requête ne figure pas dans le lexique de termes particulier. Dans ce cas, une interrogation de type « recherche de similitude » est effectuée à l'étape 331 . A l'étape 350, cette interrogation identifie un ou plusieurs termes proches du terme qui ne figure pas dans le lexique. A l'étape 351 , les termes ainsi identifiés sont proposés à l'utilisateur comme alternatives au terme qui ne figure pas dans le lexique. L'utilisateur peut alors formuler une nouvelle requête en remplaçant le terme qui ne figure pas dans le lexique par un terme alternatif proposé. Toutefois, il se peut qu'à l'étape 340 l'interrogation en question ne trouve aucun terme proche. Dans ce cas, un éventuel message peut être présenté à l'utilisateur à l'étape 341 , informant l'utilisateur de l'erreur d'orthographe pour laquelle aucune alternative ne peut être proposée.
[0039] Par exemple, supposons qu 'u n terme « compisite » soit saisi par l'utilisateur au lieu du terme « composite ». Supposons en outre que l'utilisateur œuvre dans le domaine des matériaux et, de ce fait, appartient à un groupe « spécialistes des matériaux », lequel est défini dans le système de recherche. Une vérification d'orthographe est appliquée au terme saisi « compisite ». Cette vérification implique une interrogation d'un lexique de termes spécifique pour le groupe « spécialistes des matériaux ». La vérification d'orthographe fournit à l'utilisateur une liste relativement courte de termes appartenant au domaine des matériaux et qui se rapprochent du terme erroné « composite ».
[0040] Les étapes 310, 31 1 d'une part, et les étapes 320-323, 330, 331 , 340, 341 , 350, 351 d'autre part, se déroulent de préférence en parallèle pour des raisons de rapidité et d'efficacité. C'est-à-dire, l'interrogation du sous-ensemble de
données concerné et l'interrogation du lexique de termes concerné s'effectuent de façon simultanée et indépendante. Ainsi, la recherche de données s'effectue à partir de la requête peu importe la vérification d'orthographe. Par exemple, il est possible qu'un terme de la requête ne soit pas présent dans le lexique concerné, mais que ce terme existe tout de même dans le sous-ensemble de données, par exemple suite à une précédente erreur d'orthographe.
[0041] II est possible d'exclure des termes de la vérification d'orthographe. Par exemple, des termes génériques peuvent être exclus de la vérification d'orthographe pour rendre celle-ci plus efficace. Il est également possible de permettre à l'utilisateur d'exclure un terme de la vérification d'orthographe, par exemple, en plaçant le terme entre doubles guillemets (« »). Les termes soumis à la vérification d'orthographe peuvent être soumis à un traitement de lemmatisation, qui permet d'identifier la forme standard, à savoir le lemme ou « forme canonique » du terme.
[0042] La figure 3 illustre un exemple d'appareil 100, tel qu'un micro-ordinateur ou une station de travail, adapté à mettre en œuvre le procédé décrit dans ce qui précède. De préférence, l'appareil 100 comporte un bus de communication 102 auquel sont rel iés : u n e u n ité cen tra l e d e tra itement 112 telle qu'un microprocesseur ; une mémoire morte 104 ou en anglais Read OnIy Memory (ROM), pouvant comporter un ou plusieurs programmes « Prog », « Progi » et « Prog2 » ; une mémoire vive 106 ou en anglais Random Access Memory (RAM), comportant des registres adaptés à mémoriser des variables et des paramètres créés et modifiés au cours de l'exécution des programmes précités ; et, une interface de communication 108 reliée à un réseau de communication distribué 1 10, par exemple l'Internet ou un réseau intranet, l'interface étant apte à transmettre et à recevoir des données.
[0043] L'appareil 100 peut disposer optionnellement de l'un, de plusieurs ou de tous les dispositifs suivants : un écran 116 permettant de visualiser des données et/ou de servir d'interface graphique avec l'utilisateur qui pourra interagir avec les programmes implémentant le procédé, à l'aide d'un clavier 118 ou de tout autre dispositif, comme par exemple une souris 1 14 ; un disque dur 120 pouvant
comporter des programmes et/ou des données, notamment des données traitées ou à traiter selon l'invention ; un lecteur de supports de stockage amovibles 122 adapté à recevoir un support de stockage amovible 124 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention.
[0044] Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans l'appareil 100 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité centrale est susceptible de communiquer des instructions à tout élément de l'appareil 100, directement ou par l'intermédiaire d'un autre élément de l'appareil 100.
[0045] Le code exécutable du ou des programmes permettant à l'appareil 100 de mettre en œuvre le procédé décrit dans ce qui précède, peut être stocké, par exemple, dans le disque dur 120 ou en mémoire morte 104.
[0046] Selon une variante, le support de stockage amovible 124, peut contenir des données ainsi que le code exécutable des programmes précités qui, une fois l u par l 'apparei l 1 00, peuvent être stockés dans le disque dur 120. Alternativement, le code exécutable des programmes peut être reçu par l'intermédiaire du réseau de communication 110, via l'interface 108, pour être stocké de façon identique à celle décrite précédemment.
[0047] Le support de stockage amovible peut être, à titre d'exemple, une d isquette, un disque compact (CD-ROM), une clé mémoire, en anglais clé « USB » (pour Universal Sériai Bus) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, et adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en œuvre du procédé tel que décrit dans ce qui précède.
[0048] De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 100 avant d'être exécutés.
[0049] L'unité centrale 112 contrôle l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur 120, dans la mémoire morte 104 ou dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programmes stockés dans une mémoire non volatile, par exemple le disque dur 120 ou la mémoire morte 104, sont transférés dans la mémoire vive 106 (RAM), qui contient alors le code exécutable du ou des programmes selon l'invention, ainsi que des registres pour mémoriser les variables et les paramètres nécessaires à la mise en œuvre de l'invention.
[0050] II convient de noter que le procédé tel que décrit dans ce qui précède peut également être mis en œuvre a u moyen d 'un appareil programmé. Les instructions du ou des programmes mettant en œuvre le procédé peuvent, par exemple, être implémentées dans un circuit intégré programmable ou spécifique (Application-Specific Integrated Circuit, ASIC en anglais).
[0051] Les Figures et leurs descriptions faites ci-dessus illustrent l'invention plutôt qu'elles ne la limitent. En particulier, l'invention et ses différentes variantes viennent d'être décrites en relation avec des exemples particuliers de sources de données. Néanmoins, il est évident pour un homme du métier que l'invention peut être étendue à tout type de source de données.
[0052] A cet égard, il convient de noter qu'il existe de nombreuses façons pour stocker des données pouvant faire l'objet d'une recherche. Des données peuvent être mises en rapport dans des structures formelles avec un index ou, dans des structures moins formelles, sans index particulier. Il existe des bases de données relationnelles, indexées et gérées par un Système de Gestion de Bases de Données (SGBD), des bases documentaires avec métadonnées permettant de caractériser les documents originaux stockés dans la source. Des informations peuvent être stockées en forme de contenus dans des structures relativement informelles, et relativement peu structuré structurées, telles que des espaces partagés (serveurs de fichiers) de type dossiers ou mis en réseau par des liens hypertexte, qui sont sans index particulier. Les données peuvent se trouver dans des fichiers XML, ou autres. Les données peuvent aussi se trouver dans des
documents de différents formats (tels que PDF, doc, xls, en langue naturelle, etc) ou dans des fichiers multimédia tels que des images, des fichiers son, vidéo, etc.
[0053] Les signes de références dans les revendications n'ont aucun caractère limitatif. Les verbes "comprendre" et "comporter" n'excluent pas la présence d'autres éléments que ceux listés dans les revendications. Le mot "un" précédant un élément n'exclue pas la présence d'une pluralité de tels éléments.
Claims
1. Système de recherche permettant à un utilisateur d'effectuer une recherche de données à partir d'une requête, le système de recherche ayant accès à un ensemble de données (230), caractérisé en ce que le système de recherche comprend : une pluralité de lexiques de termes particuliers (221 , 222, 223), un lexique de termes particulier étant associé à un groupe d'utilisateurs particulier ; un module (203) de liaison pour déterminer un groupe d'utilisateurs particulier auquel l'utilisateur appartient ; un module d'interrogation (204) pour interroger le lexique de termes particulier associé au groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'effectuer une vérification d'orthographe pour au moins un terme dans la requête, et pour interroger un sous-ensemble de données (210, 211 , 212) mis à la disposition du groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'obtenir un résultat de recherche pour la requête.
2. Système de recherche selon la revendication 1 , dans lequel le module d'interrogation (204) est agencé pour interroger le lexique de termes particulier et le sous-ensemble de données de façon simultanée, de sorte que le résultat de recherche est obtenu indépendamment de la vérification d'orthographe.
3. Système de recherche selon la revendication 1 , dans lequel un lexique de termes particulier (221 , 222, 223) a été élaboré par une indexation appliquée au moins à une partie du sous-ensemble de données (210, 21 1 , 212) mis à la disposition du groupe d'utilisateurs particulier auquel le lexique de termes particulier est associé.
4. Procédé de recherche permettant à un utilisateur d'effectuer une recherche de données à partir d'une requête, le procédé étant effectué à partir d'un système de recherche ayant accès à un ensemble de données (230), caractérisé en ce que le système de recherche à partir duquel le procédé est effectué comprend une pluralité de lexiques de termes particuliers (221 , 222, 223), un lexique de termes particulier étant associé à un groupe d'utilisateurs particulier, et en ce que le procédé comprend : une étape de l iaison (301 ) pour déterminer un groupe d'utilisateurs particulier auquel l'utilisateur appartient ; une première étape d'interrogation (320) pour interroger le lexique de termes particulier associé au groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'effectuer une vérification d'orthographe pour au moins un terme dans la requête; et une seconde étape d'interrogation (310) pour interroger un sous-ensemble de données (210, 211 , 212) mis à la disposition du groupe d'utilisateurs particulier auquel l'utilisateur appartient afin d'obtenir un résultat de recherche pour la requête.
5. Procédé de recherche selon la revendication 3, dans lequel la première étape d'interrogation (320) et la seconde étape d'interrogation (310) sont effectuées simultanément, de sorte que le résultat de recherche est obtenu indépendamment de la vérification d'orthographe.
6. Procédé de recherche selon la revendication 3; comprenant : une étape d'élaboration pour élaborer un lexique de termes particulier par une indexation appliquée au moins à une partie du sous-ensemble de données mis à la disposition du groupe d'utilisateurs particulier auquel le lexique de termes particulier est associé.
7. Produit de programme d'ordinateur comprenant un ensemble d'instructions qui, lorsqu'il est chargé dans un processeur, permet au processeur d'effectuer le procédé selon l'une quelconque des revendications 4 à 6.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP08305558.2 | 2008-09-17 | ||
| EP08305558A EP2166460A1 (fr) | 2008-09-17 | 2008-09-17 | Procédé et outil de recherche pour groupes d'utilisateurs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2010031969A2 true WO2010031969A2 (fr) | 2010-03-25 |
| WO2010031969A3 WO2010031969A3 (fr) | 2010-09-23 |
Family
ID=40115179
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2009/051754 Ceased WO2010031969A2 (fr) | 2008-09-17 | 2009-09-17 | Systeme et procede pour effectuer une recherche de donnees |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP2166460A1 (fr) |
| WO (1) | WO2010031969A2 (fr) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9821787D0 (en) * | 1998-10-06 | 1998-12-02 | Data Limited | Apparatus for classifying or processing data |
| US8312014B2 (en) * | 2003-12-29 | 2012-11-13 | Yahoo! Inc. | Lateral search |
| US20060190447A1 (en) * | 2005-02-22 | 2006-08-24 | Microsoft Corporation | Query spelling correction method and system |
| US7818332B2 (en) * | 2006-08-16 | 2010-10-19 | Microsoft Corporation | Query speller |
-
2008
- 2008-09-17 EP EP08305558A patent/EP2166460A1/fr not_active Withdrawn
-
2009
- 2009-09-17 WO PCT/FR2009/051754 patent/WO2010031969A2/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2010031969A3 (fr) | 2010-09-23 |
| EP2166460A1 (fr) | 2010-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11874874B2 (en) | Method and system for identifying and discovering relationships between disparate datasets from multiple sources | |
| US7882139B2 (en) | Content oriented index and search method and system | |
| Cafarella et al. | Data integration for the relational web | |
| US20110055192A1 (en) | Full text query and search systems and method of use | |
| US20170262429A1 (en) | Collecting Training Data using Anomaly Detection | |
| US10606556B2 (en) | Rule-based system and method to associate attributes to text strings | |
| US8793120B1 (en) | Behavior-driven multilingual stemming | |
| WO2012006509A1 (fr) | Recherche dans une table au moyen d'informations sémantiques récupérées | |
| FR3043816B1 (fr) | Procede de suggestion de contenus extraits d’un ensemble de sources d’information | |
| CN1716255A (zh) | 通过使用页类别信息分散搜索引擎结果 | |
| US20110313994A1 (en) | Content personalization based on user information | |
| US20080147641A1 (en) | Method for prioritizing search results retrieved in response to a computerized search query | |
| US20080147588A1 (en) | Method for discovering data artifacts in an on-line data object | |
| US20080091708A1 (en) | Enhanced Detection of Search Engine Spam | |
| EP2013788A2 (fr) | Systèmes de recherche et d'interrogation portant sur du texte intégral et procédé d'utilisation | |
| Nandi et al. | HAMSTER: using search clicklogs for schema and taxonomy matching | |
| CN102693320A (zh) | 一种搜索方法及装置 | |
| Zaharia et al. | Finding Content in File-Sharing Networks When You Can't Even Spell. | |
| Arasu et al. | Experiences with using data cleaning technology for bing services | |
| CN121166864A (zh) | 问答知识库冲突检测方法、装置、电子设备及存储介质 | |
| Ritze | Web-scale web table to knowledge base matching | |
| Barifah et al. | Exploring usage patterns of a large-scale digital library | |
| Manguinhas et al. | A geo-temporal web gazetteer integrating data from multiple sources | |
| Ma et al. | Api prober–a tool for analyzing web api features and clustering web apis | |
| Gavron et al. | A tool for bibliometric analysis of journals indexed in Google Scholar Metrics and OpenAlex |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09748406 Country of ref document: EP Kind code of ref document: A2 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09748406 Country of ref document: EP Kind code of ref document: A2 |