1. Field of the Invention
The present invention relates generally to information search and retrieval. More specifically, systems and methods are disclosed for improving search quality.
2. Description of Related Art
In an information retrieval system, a user typically enters a query and receives a list of documents that contain the query terms. Documents that do not contain the query terms are ignored. Such systems thus place a premium on proper query formulation.
What is needed are systems and methods for improving queries such that they are more likely to yield useful search results.
Systems and methods are disclosed for improving search quality. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication lines. Several inventive embodiments of the present invention are described below.
In one embodiment, a method may generally include receiving a query containing at least one query term, making a determination whether the query includes a compound query term, a query term included in a set of inflectional forms, and/or a query term included in a set of alternative spellings, and if so, automatically expanding the query to include an alternative representations of the compound query term, a corresponding inflectional forms from the set of inflectional forms and/or a corresponding alternative spellings from the set of alternative spellings, searching a database using the expanded query, and returning results to a user.
In another embodiment, a method may generally include identifying a set of terms associated with a document, expanding the set of terms by further associating with the document one or more alternative spellings, additional inflectional forms of at least one term in the set of terms, and/or one or more alternative representations of at least one compound term in the set of terms, and indexing the document using the expanded set of terms.
In yet another embodiment, a method generally includes searching a first set of documents for hyphenated words, searching the first set of documents for non-hyphenated words that correspond to the hyphenated words, and generating a set of associations between the hyphenated and the corresponding non-hyphenated words. In one example, the method may further include receiving a query containing a first query term from a user, locating the first query term in the set of associations between hyphenated and corresponding non-hyphenated words, and expanding the query to include a second query term associated with the first query term in the set of associations between hyphenated and corresponding non-hyphenated words.
According to yet another embodiment, a computer program package embodied on a computer readable medium, the computer program package including instructions that, when executed by a processor, cause the processor to perform an action such as expanding a query received from a user by including one or more alternative spellings of at least one query term, expanding the query with one or more alternative representations of at least one compound query term, and/or expanding the query with one or more inflectional forms of at least one query term.
According to a further embodiment, an information retrieval system generally includes a document database containing a group of documents and query processing logic operable to receive a query, expand the query using one or more linguistic techniques, and search documents in the document database for information responsive to the query. The linguistic techniques may include compound term expansion, inflection set expansion, and/or orthographic expansion.
These and other features and advantages of the present invention will be presented in more detail in the following detailed description and the accompanying figures which illustrate by way of example the principles of the invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
Systems and methods are disclosed for improving search quality. The following description is presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. For instance, while several examples are provided in the context of a German language search engine, it will be appreciated that the general principles described herein may be applied to other languages, embodiments, and applications without departing from the spirit and scope of the invention. Similarly, although many of the examples presented below are described using Internet web pages as the documents to be searched, it is to be understood that offline documents, e.g., books, newspapers, magazines, or other paper documents that have been scanned into electronic form, may also be searched. Thus, the present invention is to be accorded the widest scope, encompassing numerous alternatives, modifications, and equivalents consistent with the principles and features disclosed herein. For purpose of clarity, details relating to technical material that is known in the fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention.
In an information retrieval system, users typically enter queries via a retrieval interface to find responsive documents. The results that are returned are generally restricted to those documents that match the query in some way. Systems and methods are described for augmenting user queries via the application of one or more linguistic techniques. In one embodiment, the user's original query is expanded using a database of compound words, inflectional forms, and/or orthographic variations. The expanded query is then used to perform a search for responsive documents.
The operation of system 200 will typically be controlled by processor 202 operating under the guidance of programs stored in memory 204. Memory 204 will generally include some combination of computer readable media, such as high-speed random-access memory (RAM) and non-volatile memory such as read-only memory (ROM), a magnetic disk, disk array, and/or tape array. Port 207 may comprise a disk drive or memory slot for accepting computer-readable media such as floppy diskettes, CD-ROMs, DVDs, memory cards, magnetic tapes, or the like. User interface 206 may, for example, comprise a keyboard, mouse, pen, or voice recognition mechanism for entering information, and one or more mechanisms such as a display, printer, speaker, and/or the like for presenting information to a user. Network interface 210 is typically operable to provide a connection between system 200 and other systems (and/or networks 220) via a wired, wireless, optical, and/or other connection.
As described in more detail below, system 200 may perform a variety of search and retrieval operations. These operations will typically be performed in response to processor 202 executing software instructions contained on a computer readable medium such as memory 204. The software instructions may be read into memory 204 from another computer-readable medium, such as data storage device 208, or from another device via communication interface 210 or I/O port 207. As shown in
It should be appreciated that the systems and methods of the present invention can be practiced with devices and/or architectures that lack some of the components shown in
As previously indicated, the systems shown in
As seen in the foregoing example, a search may fail to identify documents that do not contain the exact query terms. For instance, in the example described in connection with
One way to improve search results is to expand queries to include possible variants of the query terms, thereby ensuring that responsive documents that contain these variants are not missed. In a preferred embodiment, a variety of linguistic features such as compound words, inflections, and orthographic (e.g., spelling) variations are used for this purpose.
Compounds
In many languages, certain word pairs can be written separately, written as compounds, or hyphenated. For example, in the German language many nouns can be concatenated to form longer nominal compounds. In many cases, there is not a standard way to write these words (e.g., concatenated, hyphenated, or separated), and thus different forms may be used in different documents. For example, the term “fernsehprogramm” (meaning television program) can be written either as “fernsehprogramm” or “fernseh-programm.” Thus, a query that uses one form of this word, but not the other, may fail to locate responsive documents.
In one embodiment, this problem can be solved or ameliorated by generating a list of potential compound words, then using this list to expand queries containing one or more compound words from the list. The list of word pairs (or triplets, etc.) can be generated in a variety of ways. For example, it could be formed using a dictionary, or by dynamically searching across a corpus of documents (e.g., Internet web pages) and generating a list of compound terms.
As shown in
In some embodiments, the list of compound words described above can be used to improve search results in other ways as well. For example, documents written in formats such as Postscript (PS) or Adobe's Portable Document Format (PDF) often include hyphenation to break words at the end of lines. These words may be indexed improperly as hyphenated words. Thus, in one embodiment the list of compound words described above can be used at document indexing (or parsing) time. When a hyphenated word is encountered, it is compared to the list of compound words, and if it is not located, the hyphen can be removed when the word is indexed.
Inflections
Similarly, many words have a variety of inflectional forms for expressing grammatical relationships such as case, gender, number, person, tense, or mood. Examples of English inflections include the addition of “s” to a noun to form a plural, or the addition of “ed” to a verb to express the past tense. Other inflections involve changing the base word itself, as illustrated by the inflection set “speak,” “spoke,” and “spoken.”
German has a wide variety of inflectional forms as well. For example, “abirrung” and “abirrungen” are different inflectional forms of the same root, as are “spiel,” “spiele,” “spielen,” “spieles,” and “spiels.” Thus, a query that uses one inflectional form, but not the others, may fail to identify documents that would be of interest to the user who generated the query.
Thus, in one embodiment sets of inflectional forms are assembled, and then used to expand queries. The inflection sets can be obtained in a variety of ways, such as by consulting a dictionary or by using an automated tool. For example, if German is the query language, the inflection sets could be generated using a language analysis or generation tool with a relatively large lexicon of root forms, such as with any suitable word form analyzer.
As shown in
It will be appreciated that a number of variations can be made to the basic concepts illustrated in
Orthographic Variations
Many languages include a number of words that can be spelled in different ways. For example, many German words have different spellings due to dialectical variations and/or the recent spelling reform. Examples of common German spelling variations include the interchangeability of “ph” and “f” (e.g., “telefon” or “telephon”), “β” and “ss” (e.g., “maβe” or “masse”), the interchangeability of various repeat letter sequences (e.g., “wagon” or “waggon,” “bettuch” or “betttuch,” etc.), and the use of apostrophes (e.g., “kantsch” or “kant'sch”).
Thus, in one embodiment a table is created of orthographic variations. This can be accomplished, e.g., by consulting a dictionary or other source. For example, many of the variations in German spelling can be obtained by examining data relating to the German spelling reform (e.g., using any suitable word form analyzer), and/or the like. As an example, information on the German spelling reform is provided by Institut fuer Deutsche Sprache (Institute for the German Language) at http://www.ids-mannheim.de/org/, a foundation that has published extensive information about the German language. As shown in
Thus a variety of techniques have been described for improving search results. It will be appreciated that these techniques can be applied individually, or in combination with each other and/or with other techniques.
It will be appreciated that a variety of changes can be made to the systems and methods described above in accordance with embodiments of the present invention. For example, the techniques described above can be applied in combination with other techniques, such as spelling correction, synonym and/or related-word expansion, language translation, spam reduction, and/or the like, to further enhance search results. As another example, in some embodiments multiple searches could be performed in response to a user's query. For example, a search could first be performed using the user's original query, followed by one or more searches using expanded or re-written versions of that query. The results of these searches could be evaluated (e.g., using information regarding the user's preferences and search history), and the results determined to be most likely to be useful could be returned. For example, the highest quality results from the original query could be supplemented with results from the expanded query if those results were determined to be of higher or comparable quality. Alternatively, or in addition, the terms in the expanded query could be weighted differently. For example, a higher weighting could be assigned to the original query terms, and lower weightings could be assigned to the terms added via expansion.
In addition, although the examples described above involve expansion of the user's query, in other embodiments the document index itself can be expanded instead (or in addition).
Moreover, while many of the examples provided above have been in the context of the German language, it will be appreciated that the techniques that have been described are readily applicable to other languages as well. Each language has its own set of linguistic features that pose problems for search. Thus, to design a search engine for a given language, and/or a general-purpose search engine, an effort can be made to identify these problems and to address them. For example, random searches can be performed to see what search terms cause problems. The search terms can then be varied to see if improvements can be made. User sessions can also be analyzed to find patterns in users' searching behavior. For example, users may apply certain transformations to compensate for problematic aspects of the language. Once a set of problem areas are identified, work can be done to generate solutions. Potential solutions can be tested or simulated to determine their effectiveness and the amount of effort needed to implement them.
While the preferred embodiments of the present invention are described and illustrated herein, it will be appreciated that they are merely illustrative and that modifications can be made to these embodiments without departing from the spirit and scope of the invention. Thus, the invention is intended to be defined only in terms of the following claims.