Method and system for query reformulation for searching of information

Abstract
The invention provides a method and system for searching information using a reformulated query expression. The method includes entering a query in a form of a natural language expression. The query comprises a plurality of terms. The method also includes reformulating the query by eliminating one or more non-interesting terms using semantic and syntactic information for one or more of the terms; and querying a database of information based upon the reformulated query.
Description


BACKGROUND OF THE INVENTION

[0003] This invention generally relates to a knowledge-based technique. More particularly, the invention provides an improved way of extracting information using a knowledge-based technique. In an exemplary embodiment, the invention provides an enhanced search technique that can be integrated into a conventional information retrieval method and system. Merely by way of example, the present invention is implemented using a conventional information retrieval system, but it would be recognized that the invention has a much broader range of applicability. The invention can be applied to other types of information retrieval systems as used for internet or intranet search, and the like.


[0004] Networks, computers, and databases have proliferated the availability of information. Such information includes, among others, newspapers, magazines, advertisements, commercial publications, and commercial products in electronic form. By way of a world wide network of computers, which is known as the Internet, millions if not billions of pieces of information can be accessed through “browser” programs such as those made by Netscape Communications, Inc. of Mountain View, Calif. or Microsoft Corporation of Redmond, Wash. Information retrieval engines such as those made by Yahoo! and others allow a user to access such information using an indexing technique. The indexing technique often uses full-text indexing, in which content words in a document are used as keywords to be searched. Full text index searching has been one of way to retrieve information in conventional retrieval engines. Unfortunately, such full text searching is plagued with many problems. For example, a user of such searching often retrieves thousands of documents or hits or related documents and is therefore not precise. Such searching often requires refinement using a hit or miss strategy, which is often cumbersome and takes time and lacks efficiency. Accordingly, full text searching has much room for improvement.


[0005] There have also been other attempts to search large quantities of information on systems using natural language techniques. Such natural language techniques often use simple logical forms, which are difficult to scale efficiently and lack precision using large quantities of information. For example, conventional natural language techniques often cause what is known as “combinatorial explosion” when the number of logical forms that are stored as templates grows. Accordingly, natural language techniques have not been able to be scaled for large complex information systems.


[0006] From the above, it is seen that an improved way to acquire information using a knowledge based technique is highly desirable.



SUMMARY OF THE INVENTION

[0007] According to the present invention, a technique including a method and system is provided. More particularly, the invention provides an improved way of extracting information using a knowledge-based technique. In an exemplary embodiment, the invention provides an enhanced search technique that can be integrated into a conventional information retrieval method and system.


[0008] In a specific embodiment, the invention provides a method for searching information (e.g., financial, general, biological, electronic, personal, legal, email, consumer products, and others) using a reformulated query expression. The method includes entering a query in a form of a natural language expression. The query comprises a plurality of terms.


[0009] The method also includes reformulating the query by eliminating one or more non-interesting terms using semantic and syntactic information for one or more of the terms; and querying a database of information based upon the reformulated query.


[0010] In an alternative embodiment, the invention provides a method for forming an enhanced query. The method enters a query in a form of a natural language expression. The query comprises a plurality of terms. The method includes converting the query into a logical form based upon semantic and syntactic information for one or more of the terms; and reformulating the query in the first logical form into an enhanced query based upon one or more fields in a database. A step of querying the database of information based upon the reformulated query is included.


[0011] In an alternative embodiment, the invention provides a method for operating a searching method by a user. The method includes entering a query in a form of a natural language expression, the query comprising a plurality of terms; and converting the query into a logical form based upon a semantic and syntactic information for one or more of the terms. The method also includes reformulating the query in the logical form into an enhanced query based upon one or more fields in a database. The method queries the database of information based upon the reformulated queries. The above methods of entering, converting, reformulating, and querying are repeated for one or more other queries without permanently storing all of the enhanced queries into memory.


[0012] In a specific embodiment, the invention provides a system for forming an enhanced query. The system includes a receiving module for receiving a query in a form of a natural language expression. The system also has a natural language engine for converting the query into a logical form based upon semantic and syntactic information for each of the terms; and a reformulating module for the query from the first logical form into an enhanced query based upon one or more fields in a database. In other embodiments, the system further has other modules as well.


[0013] In an alternative embodiment, the invention provides a system for forming query reformulation, which can be used by an information retrieval system. The system has a receiving module for receiving a query in a form of a natural language expression in a logical form. The system also has a query reformulation engine coupled to the receiving module. The query reformulation engine is adapted to receive the natural language expression in the logical form and to form a reformulated query from the natural language expression. An information retrieval engine is coupled to the query reformulation engine to receive the reformulated query. The reformulated query is adapted to be received by the information retrieval engine by the query reformulation engine.


[0014] Many benefits are achieved by way of the present invention over conventional techniques. For example, the invention allows a user to implement a natural language search engine overlying conventional search engines, without substantial modification. The invention can be applied using conventional computer software and/or hardware. In certain aspects, the invention can also provide for more directed searching to yield improved searching and the like. Depending upon the embodiment, one or more of these benefits may be achieved. These and other benefits will be described in more throughout the present specification and more particularly below.


[0015] Various additional objects, features and advantages of the present invention can be more fully appreciated with reference to the detailed description and accompanying drawings that follow.







BRIEF DESCRIPTION OF THE DRAWINGS

[0016]
FIG. 1 is a simplified diagram of an knowledge acquisition system according to an embodiment of the present invention;


[0017]
FIG. 1A is a more detailed diagram of a query reformulation system according to an embodiment of the present invention;


[0018]
FIG. 2 is a simplified flow diagram of a query reformulation method according to an embodiment of the present invention;


[0019]
FIG. 3 is a more detailed diagram of a query reformulation method according to an embodiment of the present invention;


[0020]
FIG. 4 is a more detailed diagram of a method for filtering selected non-interesting terms according to an embodiment of the present invention;


[0021]
FIG. 5 is a more detailed diagram of a method for targeted field mapping of database fields according to an embodiment of the present invention;


[0022]
FIG. 6 is a more detailed diagram of a method for adding expansion terms to a query term according to an embodiment of the present invention;


[0023]
FIG. 7 is a more detailed diagram of a method for query normalization according to an embodiment of the present invention; and


[0024] FIGS. 8A-8E are schematic diagrams of an exemplary system described in a design and functional specification provided below.







DESCRIPTION OF THE SPECIFIC EMBODIMENTS

[0025] According to the present invention, a technique including method and system is provided. More particularly, the invention provides an improved way of extracting information using a knowledge-based technique. In an exemplary embodiment, the invention provides an enhanced search technique that can be integrated into a conventional information retrieval method and system. Details of the invention are provided throughout the specification and more particularly below.


[0026]
FIG. 1 is a simplified diagram of a system 100 according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. As shown, the system has input 101, where a user inputs a query. The query is generally in a natural language form. The query is indicated as an input query. The input query is provided into an engine 103 to convert the natural language form into a logical form such as a “LexLF” logical form 105 designed by a company called LingoMotors, Inc. of Cambridge, Mass. The logical form is preferably one that has semantic information provided into the logical form. The logical form also has key terms of the query, among other information.


[0027] The logical form is derived from an engine developed by LingoMotors, Inc. As merely an example, the engine is described in copending, commonly owned U.S. patent application Ser. No. 09/662,510 by Robert J. P. Ingria et al., filed Sep. 15, 2000, entitled “ANSWERING USER QUERIES USING A NATURAL LANGUAGE METHOD AND SYSTEM” (“the '510 application), and in copending, commonly owned U.S. patent application Ser. No. 09/663,044 by Federica Busa et al., filed Sep. 15, 2000, entitled “NATURAL LANGUAGE TYPE SYSTEM AND METHOD” (“the '044 application”), the entire disclosures of which are herein incorporated by reference in their entireties for all purposes. The engine can also be a variety of other suitable techniques. The output of the engine is indicated as the logical form LexLF. It should be noted that the term “LexLF” is merely intended to be a term for illustration purposes which should not in any way limit the scope of the claims herein.


[0028] The query in the logical form is fed into a query reformulation module 106. As shown, the logical form LexLF is fed into the query reformulation module through connector A 107, 109. The query reformulation module performs one or more operations on the query to make the query more efficient with other information retrieval systems. The query reformulation module feeds an enhanced query 119 into an information retrieval system 121, which is coupled to a data source 124. An answer 123 is outputted from the information retrieval system. Further details of the query reformulation module are provided below.


[0029] Referring to FIG. 1A, the query reformulation module includes a filter module 109, a term expansion module 113, a targeted field information module 111, and a query normalization module 117, and other elements, if desirable. The query reformulation module receives the logical form Lex LF 108. The query reformulation module outputs an enhanced query 119. Each of these modules are coupled to each other in the configuration shown, but can also be in other configurations. Preferably, the modules are coupled to each other in the configuration shown. In some embodiments of the invention, some of the modules can also be eliminated.


[0030] The filter module can be used to identify interesting or non-interesting terms in the query. In a specific embodiment, the filter module can be used to eliminate non-interesting terms, for example. Alternatively, the filter can identify interesting terms. Preferably, the interesting terms are identified using the format of the logical expression provided above. The logical expression identifies, for example, a format and topic of the request. Further details of the filter module are provided in accordance to the FIGS. described below.


[0031] The targeted database field information module couples one or more fields of the database to the query to provide a more targeted query. In a specific embodiment, the targeted database information module provides one or more or all of the fields in the database to the query reformulation module. The information module provides the one or more fields of the database. The logical expression provides, for examples, terms that will be used for the query. In a specific embodiment, if a field term matches or is the same as one of the query terms, the matched query term is ignored in the term expansion module, which is described more fully below.


[0032] The term expansion module can provide expansion of terms using sets of synonyms and others. The term expansion is preferably based upon a typing system. An example of such a typing system is described in the '044 application, which has been incorporated by reference. Preferably, the term expansion module expands those terms that are not used as field terms. Here, the concept is to provide expansion for terms that are not expressly identified as a field, which is often implicitly an important term, as identified by the creator of the database, for example. Of course, there can be other ways to expand the terms that will provide other variations to the terms for completeness.


[0033] The query normalization module receives the query, which has been filtered and expanded. The module converts the query into a form that can be processed by an information retrieval system. In a specific embodiment, the query normalization module outputs an enhanced query 119 using a keyword logic technique. For example, the query normalization module will “and” selected terms and “or” expansion terms, which are connected with the “and” to the selected terms. Of course, the type of normalization will depend upon the application.


[0034] As shown, the query reformulation module is coupled to an information retrieval system 121 in FIG. 1. The information retrieval system can be any conventional known or other system. In a specific embodiment, the information retrieval system is a keyword search system using Boolean expressions or the like. The information retrieval system is often coupled to an information source such as a database 124. The database can be any suitable unit that has information that is arranged in some type of logical manner that can be stored and retrieved. An answer 123 based upon a combination of the information retrieval system and enhanced query is output. Further details of methods according to the present system are explained according to the figures described below.


[0035] Some of the elements can be operated in serial or in parallel manner. Alternatively, the elements can be a combination of serial and parallel operations without departing from the scope of the claims herein. Further, although the above has been described in terms of specific hardware and software features, it would be recognized that there can be many alternatives, variations, and modifications. For example, any of the above elements can be separated or combined. Alternatively, some of the elements can be implemented in software or a combination of hardware and software. Alternatively, the above elements can be further integrated in hardware or software or hardware and software or the like. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.


[0036] An embodiment of a method according to the present invention may be briefly outlined as follows:


[0037] 1. Provide query in natural language format;


[0038] 2. Perform preprocessing including steps of tokenizing, tagging, and stemming of the query in an engine;


[0039] 3. Perform syntax analysis on the preprocessed query;


[0040] 4. Form a logical form (e.g., LexLF) from the syntax analysis expression;


[0041] 5. Perform filtering step to identify essential terms in query (or eliminate non-essential terms);


[0042] 6. Perform a field information operation on essential terms of the query;


[0043] 7. Perform a term expansion on each of the essential query terms;


[0044] 8. Normalize processed query to a form suitable for an information retrieval system such as Boolean;


[0045] 9. Output an enhanced Boolean expression based upon logical form;


[0046] 10. Query database information based upon enhanced Boolean expression;


[0047] 11. Identify selected information based upon enhanced query; and


[0048] 12. Perform other steps as desirable.


[0049] The above sequence of steps is an example of a way to perform aspects of the present invention. They provide a general query in natural language form. They perform a syntax analysis on the query once the query has been pre-processed. An enhanced Boolean expression is based upon the logical form to provide a more focussed or efficient query to the information retrieval system. Further details of these steps are provided in reference to the FIGS. described below.


[0050]
FIG. 2 is a simplified flow diagram 200 of an enhanced query reformulation method according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. As shown, the method begins at start, block 201. The method inputs a query 203. The query is generally in a natural language form. The query is indicated as an input query. The input query is provided into an engine for processing 205 to convert the natural language form into a logical form such as the LexLF logical form designed by a company called LingoMotors, Inc. of Cambridge, Mass. The logical form is preferably one that has semantic information provided into the logical form. The logical form also has key terms of the query, among other information.


[0051] The logical form is derived from an engine developed by LingoMotors, Inc. As merely an example, the engine is described in the '510 and '044 applications, which have been incorporated by reference. The engine can also be a variety of other suitable techniques. The output of the engine is indicated as the logical form LexLF. It should be noted that the term “LexLF” is merely intended to be a term for illustration purposes which should not in any way limit the scope of the claims herein.


[0052] The query in the logical form undergoes a process of reformulation, block 207. In a specific embodiment, the reformulation process occurs in a reformulation module, such as the one noted but can be others. The query reformulation module performs one or more operations on the query to make the query more efficient with other information retrieval systems. In a specific embodiment, the query reformulation module includes a filter module, a term expansion module, a targeted field information module, and other elements, if desirable. In some embodiments of the invention, some of the modules can also be eliminated, combined, or others added. Further details of the methods performed in each of these modules are provided below.


[0053] Next, the method processes the reformulated query and normalizes (step 209) it into a format suitable for an information retrieval system. In a specific embodiment, the query normalization process outputs an enhanced query using a keyword logic technique. For example, the query normalization process will “and” selected terms and “or” expansion terms, which are connected with the “and” to the selected terms. Of course, the type of normalization will depend upon the application.


[0054] The enhanced query is processed through an information retrieval process, block 211. The information retrieval process can be any conventional known or other system. In a specific embodiment, the information retrieval process is a keyword search system using Boolean expressions or the like. The information retrieval process uses the enhanced query (block 213) to query a database. The database can be any suitable unit that has information that is arranged in some type of logical manner that can be stored and retrieved. An answer 215 based upon a combination of the information retrieval system and enhanced query is output. The method stops, block 217, once the answer is provided to the user of the method.


[0055] The above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.


[0056]
FIG. 3 is a more detailed diagram 300 of a query reformulation method according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. As shown, the method begins at start, block 301. The method inputs a query, such as the one noted, as well as others. The query is generally in a natural language form. The query is indicated as an input query. Using, for example, a simple illustration of searching for specific types of books in an electronic commerce web site, such as Amazon.com, Inc. or Barnes and Noble.com, Inc., among others. A typical query may be as follows:


[0057] Query=Do you have paperback books on gardening?


[0058] The input query is provided into an engine to convert the natural language form into a logical form such as a LexLF logical form designed by a company called LingoMotors, Inc. of Cambridge, Mass. The logical form is preferably one that has semantic information provided into the logical form. The logical form also has key terms of the query, among other information.


[0059] The logical form is derived from an engine developed by LingoMotors, Inc. As merely an example, the engine is described in the '510 and '044 applications, which have been incorporated by reference. The engine can also be a variety of other suitable techniques.


[0060] The output of the engine is indicated as the logical form LexLF. It should be noted that the term “LexLF” is merely intended to be a term for illustration purposes which should not in any way limit the scope of the claims herein. An example of a logical form for the above query is as follows:


[0061] LexLF: [utterance=Y/N Question, type=request for information, lexical


[0062] item=have


[0063] domain=book retailer, lexical item=book


[0064] format=paperback


[0065] type=topic of book=gardening]


[0066] The query in the logical form undergoes a process of reformulation. In a specific embodiment, the reformulation process occurs in a reformulation module, such as the one noted but can be others. The query reformulation module performs one or more operations on the query to make the query more efficient with other information retrieval systems. In a specific embodiment, the query reformulation module includes a filter module, a term expansion module, a targeted field information module, and other elements, if desirable. In some embodiments of the invention, some of the modules can also be eliminated, combined, or others added. Further details of the methods performed in each of these modules are provided below.


[0067] In a specific embodiment, the method performs a filter process, block 303, on the logical form. The filter process can be used to identify interesting or non-interesting terms in the query. In a specific embodiment, the filter process can be used to eliminate non-interesting terms. Alternatively, the filter process can identify interesting terms. Preferably, the interesting terms are identified using the format of the logical expression provided above. The logical expression identifies, for example, a format and topic of the request. An example of a filtered query would yield the following expressions from the logical form:


[0068] Format=book retailer


[0069] Topic=gardening


[0070] Next, the method performs a field information process, block 305. In a specific embodiment, the targeted database information process provides one or more or all of the fields in the database to the query reformulation process. The information process provides the one or more fields of the database. The logical expression provides, for examples, terms that will be used for the query. In a specific embodiment, if a field term matches or is the same as one of the query terms, the matched query term is ignored in the term expansion process, which is described more fully below. As merely an example, the database fields that were identified in the query have been highlighted in bold below.


[0071] [utterance=Y/N Question type=request for information


[0072] lexical item=have


[0073] domain=book retailer


[0074] lexical item=book


[0075] format=paperback


[0076] topic of book=gardening]


[0077] As shown, the fields include, for example, “domain=book retailer, lexical item=book, format=paperback.” Next, the method performs a term expansion process (block 307) to expand selected terms that have not been identified as field terms. The term expansion process can provide expansion of terms using sets of synonyms and others. The term expansion is preferably based upon a typing method. An example of such a typing method is described in the '044 patent, which has been incorporated by reference. Preferably, the term expansion method expands or finds alternative terms for those terms that are not used as field terms. Here, the concept is to provide expansion for terms that are not expressly identified as a field, which is often implicitly an important term, as identified by the creator of the database, for example. Of course, there can be other ways to expand the terms that will provide other variations to the terms for completeness. Using the above example, the term “gardening” has been expanded to include the following other expressions.


[0078] Topic=gardening (not a database field)


[0079] Expanded gardening to also include “horticulture, landscaping, floriculture.”


[0080] Next, the method processes the reformulated query and normalizes (block 309) it into a format suitable for an information retrieval system. In a specific embodiment, the query normalization process outputs an enhanced query using a keyword logic technique. For example, the query normalization process will “and” selected terms and “or” expansion terms, which are connected with the “and” to the selected terms. Of course, the type of normalization will depend upon the application. Using again, the above example, the original query has been converted into an enhanced Boolean expression, which will be used in a conventional information retrieval method.


[0081] Book retailer and paperback and (gardening or horticulture or landscaping or floriculture)


[0082] The enhanced query is processed through an information retrieval process. The information retrieval process can be any conventional known or other system. In a specific embodiment, the information retrieval process is a keyword search system using Boolean expressions or the like. The information retrieval process uses the enhanced query to query a database. The database can be any suitable unit that has information that is arranged in some type of logical manner that can be stored and retrieved. An answer based upon a combination of the information retrieval system and enhanced query is output. The method stops, block 311, once the answer is provided to the user of the method.


[0083] The above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.


[0084]
FIG. 4 is a more detailed diagram 400 of a method for filtering selected non-interesting terms according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. The present method can include a filter process, 400. In a specific embodiment, the method performs a filter process, block 401, on a logical form such as the one described herein or others. The filter process can be used to identify interesting or non-interesting terms in the query. In a specific embodiment, the filter process can be used to eliminate non-interesting terms 403. Alternatively, the filter process can identify interesting terms 404. Preferably, the interesting terms are identified using the format of the logical expression provided above. The filter process can identify or eliminate non-interesting terms from a listing 403 of non-interesting terms, which are provided by a user. For example, the listing can be a “not” list for terms which are eliminated. As merely an example, the not list can include terms such as “looking for,” “where,” “find,” and other conventional query stop words, but also contextually identified terms as a result of linguistic processing of the query, all of which are shown for illustrative purposes only. Alternatively or in combination, the filter process can identify interesting or non-interesting terms based upon the terms identified by the logical expression, such as the example above. Depending upon the embodiment, there can be other ways to filter the logical form.


[0085] The above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.


[0086]
FIG. 5 is a more detailed diagram 500 of a method for targeted field-information according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. In a specific embodiment, the method performs a field information process 500. In a specific embodiment, the method derives field information 501 from a database 503. The field information includes one or more or all of the fields in the database. The fields of the database are processed (block 507) with the terms provided by a logical form 505, which has been derived from an engine and query. Here, the terms in the logical form may be a starting point for terms to be used for the enhanced query. In a specific embodiment, if a field term matches or is the same as one of the query terms, the matched query term is ignored in the term expansion process, which is described more fully below.


[0087] Again, the above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.


[0088]
FIG. 6 is a more detailed diagram 600 of a method for adding expansions to a query term according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. The method performs a term expansion process 600 to expand selected terms 601 that have not been identified as field terms. The term expansion process can provide expansion of terms using sets of synonyms (block 603) and others, which are derived from a library. The term expansion can also be based upon a typing method, block 605, which can be combined with synonyms. An example of such a typing method is described in the '044 patent, which has been incorporated by reference. Preferably, the term expansion method expands or finds alternative terms 607 for those terms that are not used as field terms. Here, the concept is to provide expansion for terms that are not expressly identified as a field, which is often implicitly an important term, as identified by the creator of the database, for example. Of course, there can be other ways to expand the terms that will provide other variations to the terms for completeness.


[0089] The above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.


[0090]
FIG. 7 is a more detailed diagram 700 of a method for query normalization according to an embodiment of the present invention. This diagram is merely an example, which should not unduly limit the scope of the claims herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives. In a specific embodiment, the method processes the reformulated query in a logical form 705 and normalizes (block 701) it into a format suitable for an information retrieval method, block 703. In a specific embodiment, the query normalization process outputs an enhanced query (block 707) using a keyword logic technique. For example, the query normalization process will “and” selected terms and “or” expansion terms, which are connected with the “and” to the selected terms. Of course, the type of normalization will depend upon the application.


[0091] The above sequence of steps is merely illustrative. The steps can be performed using computer software or hardware or a combination of hardware and software. Any of the above steps can also be separated or be combined, depending upon the embodiment. In some cases, the steps can also be changed in order without limiting the scope of the invention claimed herein. One of ordinary skill in the art would recognize many other variations, modifications, and alternatives.



EXAMPLE

[0092] To prove the principle and operation of the present invention, we have prepared computer code and implemented the present invention using a database including information for books. The invention as implemented is described in the following design and functional specification. This design and functional specification is merely an example and should not limit the scope of the claims herein. One of ordinary skill in the art would recognize many variations, alternatives, and modifications.


[0093] 1. Overview


[0094] LingoMotors's TurboSearch enhances conventional search systems by adding language understanding capability. Users can enter a question in ordinary language, and this is translated into a keyword query, in a Boolean format. There are three primary ways in which TurboSearch improves upon keyword search or literal Boolean search:


[0095] A. Ordinary Language Input—users can comfortably type in English. TurboSearch determines which words are part of the key concepts in the question, and which are contextual. Contextual words and phrases, which are useful for understanding queries include: stop phrases (e.g., ‘I am interested in . . . ’) and function vocabulary (e.g., by, for, etc.). These are used by the engine to build more accurate semantic representations, but they are hidden to the user and are not included in the Boolean format since, as literal words, they add noise and substantially reduce the quality of search.


[0096] B. Field Identification—TurboSearch finds phrases and constructions that map to specific database fields accessible to the target search engine. This allows highly relevant search without requiring the user to work with complex templates. Field recognition uses both syntactic forms and semantic understanding. The specific fields to be identified and the parameters involved are dependent on the application and the search engine's database; these are developed and tested as part of the customization of TurboSearch for a given application.


[0097] C. Term expansion—TurboSearch expands the key concepts in a question into synonym sets (called “synsets”) which are input into the existing search engine. Stop phrases and other contextual words are not expanded but used to enhance interpretation and identification of key concepts. According to the type of key concept, there are distinct ways of creating an expansion. Geographical areas are expanded into locales; other expansions are provided as required for a particular application.


[0098] TurboSearch is a part of an overall system including a search engine, database, and web server. Multiple copies of all components are to be deployed across multiple locations, monitored from multiple Network Operations Centers (NOCs).


[0099] Features of the current version include:


[0100] A. Field Identification


[0101] a. Enhancements to existing fields (Contributor, Format)


[0102] b. New fields (Price, Pub Date)


[0103] B. Stop Phrases


[0104] a. Substantially expanded set of stop phrases


[0105] b. Enhanced testing for consistency & feature interaction


[0106] C. Term Expansion


[0107] a. Tuning “knobs” for synset & locale expansion


[0108] b. Major LingoNet enhancements, tuning and data cleanup


[0109] D. Platform & Performance tuning


[0110] a. Support for Microsoft DataCenter


[0111] b. Performance enhancements to reduce hardware requirements


[0112] E. System Management


[0113] a. Additional Logging and Alarms


[0114] b. Implementation of initial Reports & Stats


[0115] c. Network Management integration


[0116] F. Linguistic feature enhancements


[0117] a. “ing” form improvements


[0118] b. improved resolution of author name/common noun ambiguity


[0119] G. Vocabulary buildup


[0120] a. Domain-specific knowledge acquisition


[0121] b. Substantial tuning and data cleanup


[0122] H. Platform & Performance tuning


[0123] a. Support for Windows 2000


[0124] b. Performance optimization to reduce average and maximum latency


[0125] c. Database enhancements


[0126] d. Load balancing tuning, out-of-service service capability, and performance improvement


[0127] I. New and enhanced Tools


[0128] a. Log analysis


[0129] b. Knowledge acquisition


[0130] c. Version control


[0131] 2. System Context


[0132] TurboSearch is an “add-on” to a conventional search engine. It converts “questions” (either in natural language or in keyword language) into “queries” in annotated Boolean format. The search engine and TurboSearch are deployed as separate components (typically on separate servers), with an XML-RPC interface between them. A schematic figure illustrating the relationship between the Search Engine and TurboSearch Engine is provided in FIG. 8A.


[0133] One deployment includes four sets of servers: Web Servers (hosting both the front-end web pages and a COM object that encapsulates communication), Search Servers, TurboSearch Servers, and Database Servers. The flow of control is shown schematically in FIG. 8B. The Search and TurboSearch components work together to generate a set of answers in the form of product IDs and category IDs; detailed information (book descriptions, cover pictures, etc.) is then fetched from the database.


[0134] The Search, TurboSearch, and Database components are stateless. Sets of servers are deployed across multiple data centers with load balancing hardware between them. Two successive queries from a given end user would typically go to different servers, with session context kept only on the front end.


[0135] 3. High-Level Architecture


[0136] The high-level architecture for TurboSearch is shown schematically in FIG. 8C. Questions are distilled into “terminal” form through sophisticated linguistic processing that reduces words and phrases to their root forms and identifies their part of speech in context. Powerful proprietary techniques are used to interpret the meaning of the question, and distill it into one or more parses, each of which contains the key concepts and connections between them. These parses are then used to identify fields (specific kinds of concepts in specific connections), stop phrases, and terms to be expanded; the resulting query is formatted and returned to the search engine.


[0137] LingoMotors' linguistic understanding technology is “lexically driven”. Numerous interrelated dictionaries, thesauri, and ontologies are used in the course of processing each question. These are collectively termed “knowledge resources”; they are built using a sophisticated toolset and knowledge acquisition process.


[0138] 4. Interface Description


[0139] TurboSearch has three points of interface, as shown schematically in FIG. 8D.


[0140] A. Query API—this uses XML-RPC to carry a question from a Search Engine to TurboSearch and return the reformulated query.


[0141] B. System Management API—this provides system configuration, software management, and reporting capabilities. This API is typically used by LingoMotors to provide system management on a hosted basis, but may be used by system management staff for self-hosting customers. (Note that this does not replace the application service functions provided by LingoMotors).


[0142] C. Database exchange API—application data is used to enhance and test the Knowledge Resources within TurboSearch. The database exchange may be in nearly any format. This is not a real-time interface; periodic updates are used to keep the system “fresh”.


[0143] A. QUERY API—CONTENTS


[0144] The question input to TurboSearch is a string in ordinary language, as typed by the user. For example, the following are typical questions:


[0145] “I'm interested in essays on sailing”


[0146] “looking for something to help with a headache”


[0147] “Show me nonfiction books by Isaac Asimov”


[0148] “laptops with large screens under 7 pounds”


[0149] The resulting reformulated query is in Boolean syntax. Key concepts are expanded to synsets, fields are identified, and contextual vocabulary is used but not passed through to the reformulated query. Examples of reformulated queries are:


[0150] [essay story writing] & ([sailing navigation] | [sailing gliding soaring])) [medicine medication drug ] & [headache migraine]


[0151] [nonfiction “nonfictional prose” article] & (<author “Isaac Asimov”>)


[0152] [laptop “portable computer”] & (<screen large>) & (<weight under 7 lb>)


[0153] There may be several synsets for each key concept. For example, for the term sail, there might be three meanings (cruise, navigate, canvas) without the contextual words to choose between them. TurboSearch will then include all potentially relevant synsets in the reformulated query. So a question “sail” would result in a reformulated query like:


[0154] ([sail canvas “canvas sheet”] | [sail navigate] | [sail cruise])


[0155] Applications typically pass the query directly to TurboSearch, although some preprocessing may be provided if desired. Examples of application preprocessing are spell checking, wildcard expansion, user context expansion, and domain tagging. Some preprocessing may result in sets within the input, while some may result in XML tags being included with the question. An example of a set input is:


[0156] User question: “essays on sail*”


[0157] Application wild-card expansion: “essays on [sail sailor sailing sailboat]”


[0158] B. OUERY API —SYNTAX


[0159] TurboSearch can produce nearly any Boolean syntax as required by specific search engines. Reformulation can also be done directly to SQL if desired. An example of this syntax is shown below:


[0160] [] to contain a synset or other term expansion. All words and phrases contained within these brackets should be considered OR'd for a search


[0161] ( ) to delimit components and shape precedence


[0162] {} to delimit fields


[0163] | for Boolean OR (disjunction)—items matching on either part are an overall match


[0164] & for Boolean AND (conjunction)—items must match both parts to be an overall match


[0165] ˜ for negation—ANDNOT (applies to the whole set contained in parenthesis)


[0166] <field values> to show field identification within the string


[0167] “” to indicate phrases containing multiple words


[0168] space—implied AND


[0169] This syntax supports reformulation of any input query. For an example question of “cheap hotels”, term expansion on each of these words would bring back the following in addition to the original question: “inexpensive hotels”, “inexpensive inns”, “inexpensive hostels”, “cheap inns”, and “cheap hostels”. Collapsing these into a Boolean expression would give us: “(cheap OR inexpensive) AND (hotel OR inn OR hostel)”. In the syntax described above, this would be:


[0170] ([cheap inexpensive] & [hotel inn hostel])


[0171] C. QUERY API—XML-RPC FORMAT


[0172] This TurboSearch design is stateless, so each query-response pair stands on its own. Moreover, the Query API consists of exchanges of XML documents: a query is an XML document that is well-formed and validated against query.dtd; and a response is an XML document that is well-formed and validated against response.dtd. The query need not be known for the application to understand and process the response, and the previous response needn't be known for TurboSearch to understand and process the next question.


[0173] The Query API is based on XML-RPC, so each query is an RPC call which contains an XML document which contains the question. The XML-RPC protocol is a simple means of remote procedure calling that works over the Internet, or any Intranet or Extranet.


[0174] An XML-RPC message is an HTTP-POST request. The body of the request is an XML document. A procedure executes on TurboSearch and it returns a formatted XML document as a response. Each request has a transaction id generated by the application. In addition, for some applications additional XML tags may be used (for example, to identify user context or domain).


[0175] The simple example below shows an XML document used to structure a question, within an XML-RPC call:


[0176] *** POST /RPC2 HTTP/1.0


[0177] *** Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)


[0178] *** Host: xmlrpc.lexeme.com


[0179] *** Content-Type: text/xml


[0180] *** Content-length: 340


[0181] ***


[0182] *** <?xml version=“1.0” standalone=“yes”?>


[0183] *** <!DOCTYPE RESPONSE SYSTEM “LingoMotorsQuery.dtd”>


[0184] *** <methodCall>


[0185] *** <methodName>LingoMotorsEngine.forTransactiond:processQuery:</methodName>


[0186] *** <params>


[0187] *** <param><value><int>12345</int></value></param>


[0188] *** <param>How do I prepare bouillabaise?</param>


[0189] *** </params>


[0190] *** </methodCall>


[0191] The response for this would be the following example:


[0192] *** HTTP/1.1 200 OK


[0193] *** Connection: close


[0194] *** Content-type: text/xml


[0195] *** Content-length: 270


[0196] *** Date: Fri, 28 Jul 2000 19:55:07 GMT


[0197] *** Server: xmlrpc.lexeme.com Microsoft-IIS/5.0


[0198] ***


[0199] *** <?xml version=“1.0” standalone=“yes”?>


[0200] *** <!DOCTYPE RESPONSE SYSTEM “QrelResponse.dtd”>


[0201] *** <methodresponse>


[0202] *** <params>


[0203] *** <param><value><int>12345</int></value></param>


[0204] *** <param>([prepare cook fix] & [bouillabaisse “fish stew” ])</param>


[0205] *** </params>


[0206] *** </methodResponse>


[0207] 5. Field Identification


[0208] The Search Engine may accommodate a large variety of fields as inputs. Some of these fields may be linguistically derived by TurboSearch; others may be reserved for future use from either a GUI or from TurboSearch.


[0209] The following table summarizes the fields derived by TurboSearch in the current version:
1SearchTypeQuery Element FormatNotesContributor{contributor foo}A Contributor may be used aseither an author or publisherPrice{price ####{circumflex over ( )}####}All prices are represented asrangesFormat{format paperback}paperback, hardcover . . . aretranslated into{format hardcover}internal codes inside the engine:{format audio}paperback = TP | MM{format ebooks}hardcover = HC{format calendars}ebooks = EA | EB | ED | GB{format largeprint}calendars =C | CA | DK | PG | WLNew{new Y}Audience{aud_code juvenile}{aud_code youngadult}


[0210] A. CONTRIBUTOR


[0211] This feature identifies contributors—people and organizations who are authors or editors—and maps them to the customer's Contributor Field. Turbo Search 1.1 improves what the system returns for queries which are ambiguous between identifying a contributor and specifying other search terms. Examples of phrases which should be recognized as contributors include: books from Oxford University Press→{contributor “oxford university press”}, the works of Jane Austen→{contributor “jane austen”}, books by Jane Austen→{contributor “jane austen”} and Stephen King's thrillers→{contributor “stephen king”} & [thrillers thriller].


[0212] B. FORMAT


[0213] The system may allow users to search for books of specific format, e.g., ‘hardcover’ or ‘paperback’. This version of Turbo Search will map English language format expressions to the format field. The goal is to recognize and flag unambiguous expressions of format that are clearly defined in TurboSearch. This version will recognize these expressions and return the format field only, as opposed to returning the format field in disjunction with format term expansion. The treatment of expressions of format which are not explicitly defined as ambiguous will include either term-expansion or term-expansion disjoined with format field identification.


[0214] C. PRICE


[0215] This field maps English language price expressions to the price field. In this version, only expressions involving explicit numerical values are included. It will, however also recognize modifier adverbs such as under in under five dollars, monetary nouns, such as dollar and verbs expressing price information, such as cost.


[0216] Examples:


[0217] ‘I want a book under 5 dollar’ {price 0ˆ 4.99}


[0218] ‘I want a book over 5 dollar’ (unlikely query) {price 5ˆ inf}


[0219] ‘I want books around 5 dollars’/‘I want a 5 dollar book’—give back arithmetic value {price 5}


[0220] ‘I want a book between 5 and 10 dollars’ {price 5ˆ 10 }


[0221] D. PUB DATE


[0222] This field will allow users to search for new or recently published books, defined as having a publishing date within the past six months. The goal is to recognize and flag user queries that refer to new books and recent editions. The qualifying terms for a specified pubdate field identification of RECENT are ‘new’, ‘newest’, ‘latest’, and ‘recent’.


[0223] E. AUDIENCE


[0224] This field will identify only “juvenile” and “youngadult”. Desired result: {audience juvenile} or {audience youngadult}. This field will be used to search for books with these codes in their database.


[0225] 6. Stop phrases


[0226] In the current version the list of stop phrases is substantially expanded to further improve on natural language processing. Since the stop phrases are ignored by the system, this expansion allows for many more phrasings by the user, thus making the system even more versatile. However, there will always be many ways to phrase a request and in order to better and more efficiently process this information, this version of TurboSearch introduces pattern matching to the stop phrase feature. Rather than having to exactly match the phrase the user types in, this version can recognize a variety of similar phrasings, making the system more robust as well as more quickly scaleable.


[0227] 7. Linguistic Features


[0228] Features in the current version include:


[0229] A. Simultaneous adjective and relative clause interpretation; implementing this facility also allows for modifiction by multiple event adjectives and multiple (aka “stacked”) relative clauses


[0230] B. Distinctions between different types of possessive semantics


[0231] C. Full functionality of relative clauses (subject, object, adjunct relatives, and reduced relatives, with/without complementizers)


[0232] D. Generalized “Display This” functionality through Information Builders (general rules replacing long and inevitably incomplete lists of ignorable “stop phrases” that often begin user queries


[0233] E. Full qualia and argument binding capability for event nominals; in particular, binding of theme arguments of a head by a preceding nominal modifier (as in “sword swallowing”)


[0234] 8. Vocabulary Building


[0235] We distinguish the following three categories of vocabulary:


[0236] A. Content vocabulary: these are the words and phrases that are semantically meaningful on their own, and have entries in our lexicon. (Ex: ‘children’, ‘France’, ‘restaurants’).


[0237] B. Function vocabulary: These words have no well-defined meaning on their own, but they have well-defined database semantics for selecting specific fields. (Ex: ‘in’, ‘by’, ‘during’, ‘books about’, ‘books by’)


[0238] C. Stop vocabulary: These words and phrases are ignored by the system. (Ex: ‘tell me about’, pronouns such as ‘you’, ‘me’, most prepositions, and other requesting or interrogative (questioning) phrases, such as “Do you have”, “where can I find”, and so on.)


[0239] TurboSearch uses these distinctions and the meaning of sentences to expand content vocabulary, discard stop vocabulary, and use function vocabulary in field identification or term expansion.


[0240] The vocabulary is built semi-automatically from product catalogs.


[0241] 9. Performance and Operational Specs


[0242] TurboSearch is expected to have the following performance characteristics:


[0243] A. Latency (question to query time):


[0244] Average latency 200 milliseconds


[0245] <1% of queries to exceed 500 milliseconds


[0246] B. Throughput (queries per second at peak):


[0247] Total system throughput—100 queries per second


[0248] C. System Availability:


[0249] No downtime (24×7 operation)


[0250] 2 or more disparate data centers (one being lights-out, one DC should be able to handle load)


[0251] D. Startup, reload time and updates:


[0252] Easy frequent reload of new versions with minimal impact to site performance


[0253] Ability to perform quick update of software (under 1 hour)


[0254] Ability to upgrade OS with minimal impact to site performance


[0255] Quick startup time (under 10 minutes)


[0256] 10. Production Architecture


[0257] The diagram is FIG. 8E shows schematically the production (process) architecture of TurboSearch version 1.1. Each machine is a multi-processor computer running Windows 2000. Multiple copies of the TurboSearch process are used on a single machine, sharing a multi-threaded copy of LingoNet. LingoNet is instantiated as an Oracle database, and Oracle native facilities are used for updates, caching and thread management. A load balancer process allows the machine to appear as a single port to the search engine, and also allows for process control within the machine.


[0258] 11. Installation and Packaging


[0259] The components available for installation on the TurboSearch Installation CD are:


[0260] A. Full Product Install (Recommended).


[0261] B. TurboSearch Services. Use this option to install only the TurboSearch engine and use a currently installed version of the LingoNet database.


[0262] C. LingoNet Database. Use this option to install only the LingoNet database and use an existing version of the TurboSearch engine.


[0263] 12. System Management


[0264] The current TurboSearch version is hosted in Windows 2000, and uses the windows event log to report exceptions and error conditions. The following system management constructs are included in this version.


[0265] A. System Management primitives


[0266] a. startup


[0267] b. shutdown/restart


[0268] c. load new code image


[0269] d. load new database image (database machines only)


[0270] B. Logging—using Windows event log


[0271] a. Exceptions, alarms, startup/shutdown messages


[0272] C. Logging—using local file logs


[0273] a. Questions


[0274] b. Queries (reformulations)


[0275] c. Detailed traces/diagnostic output as appropriate


[0276] D. Engine statistics reporting


[0277] a. Query number, average throughput, max throughput, latency


[0278] b. Exceptions—count, type breakdown


[0279] c. Answer statistics—count, averages, type breakdown


[0280] d. Current size (lexical entries, types, memory)


[0281] e. Performance (average speed breakdown, machine utilization)


[0282] E. Database statistics reporting


[0283] a. Include base statistics akin to engine reporting


[0284] b. Current size (synsets, constituents)


[0285] c. Performance (average speed breakdown, machine utilization)


[0286] 13. User Profiles


[0287] The following types of users are expected:


[0288] A. Users


[0289] The users of the system are online customers interested in locating and buying a book.


[0290] These customers are:


[0291] Searching for a particular book


[0292] Looking for particular information


[0293] Browsing for general information


[0294] B. Anticipated Purchasing Behavior


[0295] We anticipate purchase behavior to be one of three modes:


[0296] a. Predetermined—This consumer has an idea of the title, the author, or the subject of the book(s) she wants to buy. She may be in a hurry; she may be buying a gift.


[0297] b. Browse-based—This consumer has more time and may be enticed into browsing many topics that may be unrelated and buying books that were not on his original list.


[0298] c. Impulse—This consumer has a buying profile and responds to suggestions such as best sellers of a certain category, other titles on a similar subject, and new books by a favored author.


[0299] 14. Metrics


[0300] The goals of metrics are:


[0301] Steer ongoing development and maintenance


[0302] Show improvement over conventional systems


[0303] Connect that improvement to business value


[0304] During version 1.1 development, only two search & navigation metrics will be in place: % Correct Reformulation, and First Page Relevance. However, a variety of additional measurements could be used in the deployment of TurboSearch, either simultaneous with TurboSearch deployment or at a later time. These include:


[0305] Business metrics


[0306] Customer Experience metrics


[0307] Search & Navigation metrics


[0308] Systems and operations metrics


[0309] Internal systems metrics


[0310] A. BUSINESS METRICS


[0311] The ultimate goal of implementing new technology is higher business value, measured in dollars. (None of these metrics are part of the system per se, but they are described here because their implementation may occur concurrently with a deployment.)


[0312] Typical business metrics include: Conversion rate, Abandonment rate, Transaction rate, and Sales per transaction.


[0313] Common supporting measurements are: Number of Visits, Number of new customers, Number of repeat visits, Subjective customer loyalty, Brand awareness.


[0314] B. CUSTOMER EXPERIENCE METRICS


[0315] Overall, the goal is to provide a “knock-your-socks-off” customer impression, with high customer satisfaction. Typically, this is measured through site ratings, customer experience surveys and/or usability studies.


[0316] These may include the following measurements. Subjective ease of use, Overall Customer experience, Impulse purchases, Time spent shopping, Time to first relevant result, Average time to first selection.


[0317] C. SEARCH & NAVIGATION METRICS


[0318] The high-level goals for search and navigation quality are:


[0319] A. “Home run” results—numerous examples of “wow” answers to example questions


[0320] B. Better results than competitive sites on a selected set of “typical” queries


[0321] C. Good consistency—does not return “bizarre” answers


[0322] Two search & navigation metrics will be in place during the current version development:


[0323] A. % Correct Reformulation—this is a score of TurboSearch's output across a reference set of user queries. It will be manually scored at periodic points during development.


[0324] B. First Page Relevance—this is a score across a deployed system including the search engine and front end. The percentage of relevant answers for a reference set of queries will be manually scored across the development system and competitive sites.


[0325] Although the design and functional description is described in terms of specific hardware features, it would be recognized that there can be many alternatives, variations, and modifications. For example, any of the elements can be separated or combined. Alternatively, some of the elements can be implemented in software or a combination of hardware and software. Alternatively, the above elements can be further integrated in hardware or software or hardware and software or the like. It is also understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.


[0326] It is understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and scope of the appended claims.


Claims
  • 1. A method for searching information using a reformulated query expression, the method comprising: entering a query in a form of a natural language expression, the query comprising a plurality of terms; converting the query by identifying one or more interesting terms using semantic and syntactic information for one or more of the terms of the query to derive only interesting terms; and searching an information source of information based upon the interesting terms.
  • 2. The method of claim 1 wherein converting the query comprises converting the query with a type system.
  • 3. The method of claim 1 wherein converting the query comprises using logical expressions to identify one or more non-interesting terms.
  • 4. The method of claim 1 wherein converting the query identifies one or more non-interesting terms, the one or more non-interesting terms being one or more context dependent stop words, each such stop word being defined as a term that is free from processing in subsequent processing operations.
  • 5. The method of claim 4 wherein the one or more stop words is provided using respective one or more logical expressions of the one or more stop words.
  • 6. The method of claim 1 wherein the information source is a database.
  • 7. The method of claim 6 wherein the information source is selected from book information, financial information, news information, email information, legal information, and consumer information.
  • 8. The method of claim 1 wherein the interesting terms are defined as those terms relevant from the query in an index for a specific domain.
  • 9. The method of claim 1 wherein the steps are provided on a networked computer system.
  • 10. A method for forming an enhanced query, the method comprising: entering a query in a form of a natural language expression, the query comprising a plurality of terms; converting the query into a logical form based upon semantic and syntactic information for each of the terms; reformulating the query in the first logical form into an enhanced query based upon one or more fields in a database; and querying a source of information based upon the reformulated query.
  • 11. The method of claim 10 wherein entering the query is provided on a client device.
  • 12. The method of claim 10 wherein converting the query and reformulating query are provided on a server device.
  • 13. The method of claim 10 wherein converting the query, reformulating the query, and querying the source of information are provided on a server device.
  • 14. The method of claim 10 wherein reformulating the query comprises filtering the query to ignore non-essential terms.
  • 15. The method of claim 10 wherein reformulating the query comprises expanding one or more terms in the query using a type system.
  • 16. The method of claim 10 wherein reformulating the query comprises identifying field terms in the query.
  • 17. A method for operating a searching method by a user, the method comprising: entering a query in a form of a natural language expression, the query comprising a plurality of terms; converting the query into a logical form based upon a semantic and syntactic information for one or more of the terms; reformulating the query in the logical form into an enhanced query based upon one or more fields in a database; querying a source of information based upon the reformulated query; and repeating entering, converting, reformulating, and querying for one or more other queries without permanently storing all of the enhanced queries into memory.
  • 18. A system for forming an enhanced query, the system comprising: a receiving module for receiving a query in a form of a natural language expression, the query comprising a plurality of terms; a natural language engine for converting the query into a logical form based upon semantic and syntactic information for each of the terms; and a reformulating module for the query from the first logical form into an enhanced query based upon one or more fields in a database.
  • 19. A system for forming query reformulation, the system comprising: a receiving module for receiving a query in a form of a natural language expression in a logical form; a query reformulation engine coupled to the receiving module, the query reformulation engine being adapted to receive the natural language expression in the logical form and to form a reformulated query from the natural language expression; and an information retrieval engine coupled to the query reformulation engine to receive the reformulated query, the reformulated query being adapted to be received by the information retrieval engine by the query reformulation engine.
  • 20. The system of claim 19 wherein the query reformulation module comprises a normalization module to normalize the reformulated query to be compatible with the information retrieval engine.
  • 21. A method for retrieving information from an information store, comprising: receiving a user query comprising plural terms; identifying zero or more non-interesting terms based on semantic and syntactic relationships among said terms; and producing a request to access information contained in said information store, said request comprising said terms exclusive of said non-interesting terms, including expressing said request in a language used to access information from said information store.
  • 22. The method of claim 21 wherein said user query is a natural language query.
  • 23. The method of claim 21 wherein said user query is in logical form.
  • 24. The method of claim 21 further including expanding said terms exclusive of said non-interesting terms.
  • 25. The method of claim 21 further including associating one or more of said terms with one or more fields defined in said information store, wherein said producing a request includes incorporating said one or more of said terms into said request.
  • 26. The method of claim 21 wherein identifying zero or more non-interesting terms includes associating a plurality of types with groups of said terms based on said semantic and syntactic relationships, each group comprising a subset of said terms, said identifying being based on said types.
  • 27. The method of claim 21 wherein identifying zero or more non-interesting terms is based on stop words.
  • 28. The method of claim 27 wherein said stop words are identified based on pattern recognition.
  • 29. The method of claim 27 wherein said stop words are identified using tree transduction.
  • 30. The method of claim 21 wherein said information store is a database and said language is an appropriate database language for accessing said information.
  • 31. The method of claim 30 wherein said database language includes operations for reading and updating said information, and inserting new information.
  • 32. A method for retrieving information from an information store, comprising: receiving a user query comprising plural terms; associating one or more of said terms with one or more fields defined in said information store; and producing a search request using a search language suitable for accessing said information store, said search request including said one or more of said terms for targeting said one or more fields.
  • 33. The method of claim 32 wherein said producing includes generating searches terms for said one or more fields using said one or more of said terms.
  • 34. The method of claim 32 wherein said user query is a natural language query.
  • 35. The method of claim 32 wherein said user query is in logical form.
  • 36. The method of claim 32 further including identifying zero or more non-interesting terms based on semantic and syntactic relationships among said terms; said request being exclusive of said non-interesting terms.
  • 37. The method of claim 36 wherein said identifying is based on stop words.
  • 38. The method of claim 37 wherein said stop words are identified based on pattern recognition.
  • 39. The method of claim 37 wherein said stop words are identified using tree transduction.
  • 40. The method of claim 36 further including expanding said terms exclusive of said non-interesting terms.
  • 41. The method of claim 32 further including selecting a subset of said terms based on semantic and syntactic relationships among said terms, said request including one or more terms contained in said subset.
  • 42. A method for retrieving information from a database, comprising: receiving a natural language query comprising plural terms; converting said natural language query to logical form; identifying non-interesting terms; and reformulating said logical form to produce an enhanced query in terms of the query language of said database, said enhanced query being exclusive of said non-interesting terms, said reformulating including identifying said terms that are associated with a plurality of predefined database fields contained in said database and database field-filling said associated terms.
  • 43. The method of claim 42 wherein said identifying non-interesting terms is based on the context in which said terms occur.
  • 44. The method of claim 42 wherein said identifying non-interesting terms includes pattern matching.
CROSS-REFERENCES TO RELATED APPLICATIONS

[0001] This application is a nonprovisional of and claims priority to U.S. Prov. Appl. No. 60/236,509, filed Sep. 29, 2000 by John O'Neill et al, entitled “SEARCH ENGINE METHOD AND SYSTEM,” the entire disclosure of which is herein incorporated by reference. [0002] This application is related to U.S. patent application Ser. No. __/______, filed concurrently with the present application by John O'Neil et al., entitled “METHOD AND RESULTING SYSTEM FOR INTEGRATING A QUERY REFORMATION MODULE ONTO AN INFORMATION RETRIEVAL SYSTEM” (Attorney Docket No. 19497-000220US), the entire disclosure of which is herein incorporated by reference for all purposes.

Provisional Applications (1)
Number Date Country
60236509 Sep 2000 US