Field weighting in text searching

Information

  • Patent Grant
  • 7584221
  • Patent Number
    7,584,221
  • Date Filed
    Thursday, March 18, 2004
    20 years ago
  • Date Issued
    Tuesday, September 1, 2009
    15 years ago
Abstract
A field-weighted search combines statistical information for each term across document fields in a suitably weighted fashion. Both field-specific term frequencies and field and document lengths are considered to obtain a field-weighted document weight for each query term. Each field-weighted document weight can then be combined in order to generate a field-weighted document score that is responsive to the overall query.
Description
TECHNICAL FIELD

The invention relates generally to text document searching, and more particularly to field weighting in text document searching.


BACKGROUND

In a text document search, a user typically enters a query into a search engine. The search engine evaluates the query against a database of indexed documents and returns a ranked list of documents that best satisfy the query. A score, representing a measure of how well the document satisfies the query, is algorithmically generated by the search engine. Commonly-used scoring algorithms rely on splitting the query up into search terms and using statistical information about the occurrence of individual terms in the body of text documents to be searched. The documents are listed in rank order according to their corresponding scores so the user can see the best matching search results at the top of the search results list.


Many such scoring algorithms assume that each document is a single, undifferentiated string of text. The query of search terms is applied to the text string (or more accurately, to the statistics generated from the undifferentiated text string that represents each document). However, documents often have some internal structure (e.g., fields containing titles, section headings, metadata fields, etc.), and reducing such documents to an undifferentiated text string loses any searching benefit provided by such structural information.


Some existing approaches attempt to incorporate the internal structure of documents into a search by generating statistics for individual document fields and generating scores for individual fields. The score for an individual document is then computed as a weighted sum of scores for its fields. However, in such existing approaches, the weights applied to individual fields of different documents do not adequately consider the influence of document length, field lengths, and the possible combinations of term frequencies of different query terms in different fields on the overall score for a given document.


SUMMARY

Implementations described and claimed herein address the foregoing problems by combining statistical information for each term across document fields in a suitably weighted fashion. Both field-specific term frequencies and field lengths may be considered to obtain a field-weighted document weight for each query term. Each field-weighted document weight can then be combined in order to generate a field-weighted score that is responsive to the overall query.


In some implementations, articles of manufacture are provided as computer program products. One implementation of a computer program product provides a computer program storage medium readable by a computer system and encoding a computer program. Another implementation of a computer program product may be provided in a computer data signal embodied in a carrier wave by a computing system and encoding the computer program.


The computer program product encodes a computer program for executing on a computer system a computer process for determining a field-weighted score for a document having multiple fields relative to a query having a plurality of query terms. A field-weighted term frequency is computed for each query term based on field weights designated for individual fields in the document. A field-weighted document weight is computed for each query term based on the field-weighted term frequency for each field in the document. The field-weight score is computed based on the field-weighted document weights of the query terms.


In another implementation, a method is provided that determines a field-weighted score for a document having multiple fields relative to a query having a plurality of query terms. A field-weighted term frequency is computed for each query term based on field weights designated for individual fields in the document. A field-weighted document weight is computed for each query term based on the field-weighted term frequency for each field in the document. The field-weight score is computed based on the field-weighted document weights of the query terms.


In another implementation, a system for determining a field-weighted score for a document having multiple fields relative to a query having a plurality of query terms is provided. A field-weighted term frequency calculator computes a field-weighted term frequency for each query term based on field weights designated for individual fields in the document. A field-weighted document weight calculator computes a field-weighted document weight for each query term based on the field-weighted term frequency for each field in the document. A search engine computes the field-weighted score as a function of the field-weighted document weights of the query terms.


Other implementations are also described and recited herein.





BRIEF DESCRIPTIONS OF THE DRAWINGS


FIG. 1 illustrates an exemplary field-weighted search engine.



FIG. 2 illustrates an exemplary generation of a virtual document.



FIG. 3 illustrates an exemplary search engine employing a virtual document approach to provide a field-weighted search.



FIG. 4 illustrates an exemplary field weighting search engine employing a field weighting search algorithm to provide a field-weighted search.



FIG. 5 illustrates operations of an exemplary field-weighted searching process.



FIG. 6 illustrates operations of another exemplary field-weighted searching process.



FIG. 7 illustrates a system useful for implementing an embodiment of the present invention.





DETAILED DESCRIPTION


FIG. 1 illustrates an exemplary field-weighted search engine 100. The search engine 100 receives a query 102 containing multiple query terms 104, 106, and 108. Each query term may include multiple component terms, such as if the query term is a phrase (e.g., the phrase “document management system” may be considered a single query term”). In addition, a query may include one or more operators, such as Boolean operators, constraints, etc., which are commonly supported by known search engines.


A plurality of documents, represented by documents 110, 112, 114, and 116, are available for searching. In practice, a search engine may search any number of documents and typically search collections containing large numbers (e.g., millions) of documents. An indexing module (not shown) generates individual document statistics (e.g., 118, 120, 122, and 124) for each document. The document statistics are stored in an index 126.


The search engine 100 interrogates the index 126 to determine a search score 128 for each document based on the query 102 and the corresponding document statistics. Typically, the document scores 128 are then ranked in descending order to give the user a list of documents that are considered by the search algorithm to be most relevant to the query 102.


In the illustrated system, the search engine 100 represents a field-weighted search engine, which considers the structure of a document in its search algorithm. For examples, a simple document structure may include fields, such as title, abstract, and body. Other exemplary types of fields may include without limitation headings, sections, conclusions, and metadata fields.


A field-weighted search may be expected to be more accurate when the different fields are expected to include the same general type of language, although a less constrained selection of fields may be effective as well. For example, fields such as title, abstract, and body might be expected to share common and important terms that are indicative of the relevance of the document to a given search. In contrast, an author field tends to include names (a different “type” of language) that are not expected to be contained within the title, abstract, and body. Accordingly, one implementation omits an author field from a field-weighted search for this reason. Author fields and other “different types” of fields are, nevertheless, eligible for consideration in a field-weighted search, in any combination.


In one implementation, aspects of field weighting may be introduced by way of a field weighting indexer (e.g., the virtual document index generator of FIG. 3). In another implementation, fielding weighting features may be integrated into a field weighting search engine (e.g., the field weighting search engine of FIG. 4).



FIG. 2 illustrates an exemplary generation of a virtual document 200 from a document 202 that includes multiple fields: title field 204, abstract field 206, and body field 208. In this implementation, field weighting is introduced through the generation of a virtual documents 200 as influenced by field weight 210 (weight=5 in association with the title field 204), field weight 212 (weight=3 in association with the abstract field 206), and field weight 214 (weight=1 in association with the body field 208). A weight equaling zero may also be used, for example, to ignore the associated field in the search results.


In this implementation, each field of the document is replicated the number of times indicated by the field weight. The replicated field copies are concatenated to produce a field set (although other methods of combining the field copies into a field set may be employed). For example, the title 204 field is replicated five times to produce the title field set 216, the abstract field 206 is replicated three times to produce the abstract field set 218, and the body field 208 replicated once to product an abstract fields set 220.


The three field sets are then concatenated together into the virtual document 200 (although other combinations are possible, such as mixing the field sets). As described with regard to FIG. 3, the virtual document may then be indexed to provide field-weighted virtual document statistics for the document 202. These statistics may then be retrieved by a search engine to produce a field-weighted score for the document 202.



FIG. 3 illustrates an exemplary search engine 300 employing a virtual document approach to provide a field-weighted search. The search engine 300 receives a query 302 containing multiple query terms. A plurality 304 of documents is available for searching.


A virtual document index generator 306 inputs each document and a set of field weights 308. The index generator 306 generates a virtual document (not shown) from each input document, such as described with regard to FIG. 2. The index generator 306 then generates virtual document statistics 310 for each virtual document. The virtual document statistics 310 may include term statistics 312 (including without limitation the frequencies of each term in the document (i.e., “term frequency” in the document) and the locations of each term in the document) and a document length table 314 (which indicates the length of the document).


To describe the operations for an exemplary field-weighted search using the virtual document approach, the following terms and notations are introduced. (Certain terms are preceded by a parenthetical indicating that the terms are “field-weighted”. This description is meant to indicate that the document statistics of the virtual document implicitly include the influence of field weighting because the virtual document was constructed based on the field weights and the field lengths.):


Base Query Term Weight (wi)—a weight applied to the query term i (e.g., the definite article “the” may be given less weight than other more informative query terms “structured” or “document”)


(Field-weighted) Term Frequency (tfi,d)—the number of occurrences of term i in virtual document d


(Field-weighted) Document Length (dld)—the length of virtual document d


(Field-weighted) document Weight (wdi)—a function of a base query weight w for each query term i, the Term Frequency (tfi,d) in the virtual document d, the document length (did) of the virtual document d, and possibly other document-specific information (dld) (i.e., wdi(wi,tfi,d,dldd)); this function may be linear or non-linear


Document Score (scd)—combines the document weights of all the terms of a query (indexed 1, . . . , V) into a single document score (e.g., scd(wd1,wd2, . . . , wdv)); may be a linear combination or a non-linear combination


The search engine 300 then applies its search algorithm to generate a field-weighted document weight for each query term from the virtual document statistics. There exist a variety of methods for computing document weights and most can be used to compute the (field-weighted) document weight given the parameters wi, tfi,d, dld, and θd based on the virtual document. The search engine 300 then combines the field-weighted term weights for each document into a field-weighted document score 316. Typically, the document scores 316 for evaluated documents are then ranked in descending order to give the user a list of documents that are considered by the search algorithm to be most relevant to the query 302.


The virtual document approach described with regard to FIGS. 2 and 3 represents an effective implementation of a field-weighted search. Another implementation, discussed with regard to FIG. 4, employs document statistics for each document without resorting to generation of a virtual document. The document statistics employed in the implementation illustrated in FIG. 4 includes field-specific information, such as the field location of each term (e.g., which field), field-specific term frequencies, and field lengths.



FIG. 4 illustrates an exemplary field weighting search engine 400 employing a field weighting search algorithm to provide a field-weighted search. To describe the operations for an exemplary field-weighted search, the following terms and notations are introduced:


Base Query Term Weight (wi)—a weight applied to the query term i


Term Frequency (tfi,d)—the number of occurrences of term i in document d


Field-specific Term Frequency (tfi,d,f)—the number of occurrences of a term i in field f of document d


Document Length (dld)—the length of document d


Field Length (dld,f)—the length of field f in document d


Document Weight (wdi)—a function of a base query weight w for each query term i, the Term Frequency (tfi,d) in the document d, the document length (dld) of the document d, and possibly other document-specific information (θd) (i.e., wdi(wi,tfi,d,dldd))


Field-weighted Term Frequency (ntfi,d)—a combination of field weights and field-specific term frequencies tf for a term i and a document d


Field-weighted Document Length (ndld)—a combination of field-weights and field lengths dl for a document d


Field-weighted Document Weight (fwdi)—a function of a base query weight w for each query term, the Field-weighted Term Frequency (ntfi,d) in the document d, the Field-weighted document length (ndld) of the document d, and possibly other document-specific information (θd) (i.e., fwdi(wi,ntfi,d,ndldd)); this function may be linear or non-linear


Field-weighted Document Score (fscd)—combines the weights of all the field-weighted document weights of all the terms of a query (indexed 1, . . . , V) into a single document score (i.e., fscd(fwd1,fwd2, . . . , fwdv)); may be a linear combination or a non-linear combination


An index containing exemplary document statistics 402 are input to the field weighting search engine 400. The exemplary document statistics 402 include without limitation a term statistics 404 (including without limitation the frequencies of each term in each field (i.e., “field-specific term frequency”) and the locations of each term in each field) and a document length table 406 (which indicates the length of each field). It should be understood that the document statistics 402 may include additional statistics, such as the locations of each term in the document, and the document length table 406 may include additional information, such the length of the overall document.


A multi-term query 408 is input to the field weighting search engine 400. A field-weighted term frequency calculator 410 inputs the query terms from the query 408 and field weights 412 The field-weighted term frequency calculator 410 also retrieves appropriate document statistics 402 (e.g., for each query terms). Based on these inputs, the field-weighted term frequency calculator 410 computes a field-weighted term frequency for each query term for each document. In one implementation, the field-weighted term frequency for a query term i and a document d is computed using the equation










ntf

i
,
d


:=




f


document





fields






m
f



tf

i
,
d
,
f








(
1
)








where mf represents a field weight for field f and tfi,d,f represents a field-specific term frequency for the query term i, a field f, and the document d. However, it should be understood that the algorithm of Equation (1) is merely exemplary and that other algorithms may alternatively be employed.


A field-weighted document length calculator 414 inputs the field weights 412 and appropriate document statistics (e.g., field lengths). Based on these inputs, the field-weighted document length calculator 414 computes a field-weighted document length for each document. In one implementation, the field-weighted document length for a document d is computed using the equation










ndl
d

:=




f


document





fields






m
f



dl

d
,
f








(
2
)








where mf represents a field weight for field f and dld,f represents a field length for a field f and the document d. However, it should be understood that the algorithm of Equation (2) is merely exemplary and that other algorithms may alternatively be employed.


A field-weighted document weight calculator 416 computes a field-weighted document weight fwdi for each term i in each document d as a function of the base query term weight, the field-weighted term frequency, the field-weighted document length, and possibly other document-specific information (e.g., nfwdi(wi,ntfi,d,ndldd)). There exist a variety of methods for computing document weights and most can be used to compute the field-weighted document weight given these parameters. A document score calculator 418 computes a field-weighted document score 420 for each document searched. Typically, the document scores 420 for evaluated documents are then ranked in descending order to give the user a list of documents that are considered by the search algorithm to be most relevant to the query 408.



FIG. 5 illustrates operations 500 of an exemplary field-weighted searching process using a virtual document approach. A field weight operation 502 determines the weights associated with each field of a set of searchable documents. Some documents may have different fields than other documents, and some fields existing in some documents in the set may not be weighted or may have weights set to zero.


A generating operation 504 generates field sets for each document based on the field weights and the identification of the fields of each document. Another generation operation 506 combine the field sets of each document to product an individual virtual document corresponding to each document. An indexing operation 508 analyzes each virtual document and generates virtual document statistics, which implicitly reflect the field-based influences of the document set.


An extraction operation 510 parses the query to determine the query terms. Base query term weights (e.g., wi) are determined for each query term in a determination operation 512. A computing operation 514 computes for each virtual document the field-weighted document weights for each term from the field-weighted term frequency from the virtual document statistics. The computing operation 514 then computes a field-weighted document score based on the virtual document, which is associated with the original document. In some implementations, the document scores are ranked in ranking operation 516 and displayed in a user interface in the descending order of document score, reflecting each document's anticipated relevance.



FIG. 6 illustrates operations 600 of another exemplary field-weighted searching process. An extraction operation 602 parses the query to determine the query terms. Base query term weights (e.g., wi) are determined for each query term in a determination operation 604.


A document index containing document statistics is retrieved by retrieval operation 606. Another retrieval operation 608 retrieves from the document index field-specific term frequencies and field lengths for each field of each document, based on the field weights. A calculation operation 610 computes the field-weighted term frequency and field-weighted document length for each document based on the field-specific term frequencies and field lengths. Another calculation operation 612 computes a field-weighted document weight for each term based on the field-weighted term frequency and field-weighted document length for each document. A computation operation 614 then computes a field-weighted document score based on the virtual document, which is associated with the original document. In some implementations, the document scores are ranked in ranking operation 616 and displayed in a user interface in the descending order of document score, reflecting each document's anticipated relevance.


Document weights wi can also be modified by the number of fields in the document in which the term i occurs, represented by the multiple field factor ffi,d. In one implementation, a suitable function may take the form:








nfwd
i



(


w
i

,

ntf

i
,
d


,

ndl
d

,

ff
i

,

θ
d


)


:=



fwd
i



(


w
i

,

ntf

i
,
d


,

ndl
d

,

θ
d


)


·


ff
i



k
f

+

ff
i









where kf represents a scalar constant that controls the extent of the multiple field effect.


Document score fscd can also be modified based on detection of multiple query terms in a given field, represented by the multiple term factor bfd. In one implementation, a suitable function may be implemented as follow:







bf
d

:=



max

f


document





fields





{




i



tf

i
,
d
,
f



0





fwd
i


}







i
=
1

,





,
V




fwd
i








Here bfd represents a quantity between 0 and 1, which may be used to multiply the document score or may be used in a factor to modify the document score. In one implementation, the document score may be computed as:

nfscd:=[kmbfd+(1−km)]fsc(nfwd1,nfwd2, . . . , nfwdv)


One specific implementation is based on the BM25 ranking formula (see e.g., Robertson, S. E., Walker, S., Beaulieu, M. M., Gatford, M., Payne, A. (1995): Okapi at TREC-4, in NIST Special Publication 500-236: The Fourth Text Retrieval Conference (TREC-4): 73-96). In such a context, the field-weighted document weights fwdi may be determined as follows:







fwd
i

:=




(


k
1

+
1

)



ntf

i
,
d






k
1



(


(

1
-
b

)

+

b



ndl
d

avndl



)


+

ntf

i
,
d






w
i







where ndld represents the field-weighted document length, avndl is the average field-weighted document length across the collection of documents, and kl and b are free parameters. The basic query term weight wi in the BM25 function is normally calculated as follows:







w
i

=

log



N
-

df
i

+
0.5



df
i

+
0.5








where dfi is the number of documents in which query term i occurs and N is the total number of documents in the collection. The field-weighted document score fscd may then be obtained by adding the field-weighted document weights:







fsc
d

=



i



fwd
i







It should be understood that other scoring algorithms, either based on BM25 or otherwise, may also be employed.


Given the BM25 implementation described above, the parameters kl and b may be optimized once for the non-field-weighted configuration (e.g., all field weights equaling 1 represents an exemplary non-field-weighted configuration) for a given document collection and then be applied to all other combinations of fields weights for that collection. For example, assuming that kl* and b* represent the optimal values for the non-field weighted case, kl and b may be optimized of a field-weighted case by:

    • (1) Calculating the average term frequency over all terms and all documents in the non-field-weighted configuration, atfunweighted.
    • (2) For a particular combination of field weights, calculating the average term frequency, atfweighted (e.g., an average of the field-weighted term frequencies of all terms and all documents in the field-weighted configuration).
    • (3) Calculating the optimal b for the field weight combination as b=b*.
    • (4) Calculating the optimal kl for the field weight combination as







k
1

=


k
1
*





atf
weighted


atf
unweighted


.






The exemplary hardware and operating environment of FIG. 7 for implementing the invention includes a general purpose computing device in the form of a computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that operatively couples various system components include the system memory to the processing unit 21. There may be only one or there may be more than one processing unit 21, such that the processor of computer 20 comprises a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment. The computer 20 may be a conventional computer, a distributed computer, or any other type of computer; the invention is not so limited.


The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, a switched fabric, point-to-point connections, and a local bus using any of a variety of bus architectures. The system memory may also be referred to as simply the memory, and includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the computer 20, such as during start-up, is stored in ROM 24. The computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.


The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer 20. It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROMs), and the like, may be used in the exemplary operating environment.


A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24, or RAM 25, including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite 11 dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.


The computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 49. These logical connections are achieved by a communication device coupled to or a part of the computer 20; the invention is not limited to a particular type of communications device. The remote computer 49 may be another computer, a server, a router, a network PC, a client, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 20, although only a memory storage device 50 has been illustrated in FIG. 7. The logical connections depicted in FIG. 7 include a local-area network (LAN) 51 and a wide-area network (WAN) 52. Such networking environments are commonplace in office networks, enterprise-wide computer networks, intranets and the Internet, which are all types of networks.


When used in a LAN-networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53, which is one type of communications device. When used in a WAN-networking environment, the computer 20 typically includes a modem 54, a network adapter, a type of communications device, or any other type of communications device for establishing communications over the wide area network 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It is appreciated that the network connections shown are exemplary and other means of and communications devices for establishing a communications link between the computers may be used.


In an exemplary implementation, a search engine, a virtual document index generator, a field-weighted term frequency calculator, a field-weighted document length calculator, and other modules may be incorporated as part of the operating system 35, application programs 36, or other program modules 37. Document statistics, search scores, and other data may be stored as program data 38.


The embodiments of the invention described herein are implemented as logical steps in one or more computer systems. The logical operations of the present invention are implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system implementing the invention. Accordingly, the logical operations making up the embodiments of the invention described herein are referred to variously as operations, steps, objects, or modules.


The above specification, examples and data provide a complete description of the structure and use of exemplary embodiments of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims
  • 1. A computer-implemented method of determining a field-weighted score for a document having multiple fields relative to a query having a plurality of query terms, the computer-implemented method comprising: determining fields of the document, wherein each field includes a contextual section of the document based on the document structure;determining a field weight for each of the determined fields, wherein the field weight corresponds to a number of times for replicating the content of each of the determined fields;replicating the content of each of the determined fields the number of times indicated by the field weight for each of the determined fields, wherein the replicated content of each field is concatenated into a field set for each of the determined fields;combining each concatenated field set for each field of the document to generate a virtual document including each concatenated field set for each field of the document;indexing the virtual document to produce virtual document statistics; andcausing a processor of a computing device to compute the field-weighted score from the virtual document index based on the query.
  • 2. The computer-implemented method of claim 1 wherein the query is associated with a search and the field-weighted score represents a level of relevance of the document to the query.
  • 3. The computer-implemented method of claim 1 wherein each field weight is represented by an integer value and the replicating operation comprises: generating each field set to include a number of copies of a field of the document, wherein the number of copies equals the integer value.
  • 4. The computer-implemented method of claim 1 wherein the combining operation comprises: concatenating each field set into the virtual document.
  • 5. The computer-implemented method of claim 1 wherein the computing operation comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics.
  • 6. The computer-implemented method of claim 1 wherein causing the processor of the computing device to compute the field-weighted score from the virtual document index based on the query comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics; andcomputing the field-weighted score based on the field-weighted document weight for each query term.
  • 7. The computer-implemented method of claim 1 further comprising: ranking the field-weighted score with field-weighted scores of other documents.
  • 8. A computer-readable storage medium having computer executable instructions for determining a field-weighted score for a document having multiple fields relative to a query having a plurality of query terms, the instructions comprising: determining fields of the document, wherein each field includes a contextual section of the document based on the document structure;determining a field weight for each of the determined fields, wherein the field weight corresponds to a number of times for replicating the content of each of the determined fields;replicating the content of each of the determined fields the number of times indicated by the field weight for each of the determined fields, wherein the replicated content of each field is concatenated into a field set for each of the determined fields;combining each concatenated field set for each field of the document to generate a virtual document including each concatenated field set for each field of the document;indexing the virtual document to produce a virtual document statistics; andcomputing the field-weighted score from the virtual document index based on the query.
  • 9. The computer-readable storage of claim 8 wherein the query is associated with a search and the field-weighted score represents a level of relevance of the document to the query.
  • 10. The computer-readable storage of claim 8 wherein each field weight is represented by an integer value and the replicating operation comprises: generating each field set to include a number of copies of a field of the document, wherein the number of copies equals the integer value.
  • 11. The computer-readable storage medium of claim 8 wherein the combining operation comprises: concatenating each field set into the virtual document.
  • 12. The computer-readable storage medium of claim 8 wherein the computing operation comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics.
  • 13. The computer-readable storage medium of claim 8 wherein the computing operation comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics; andcomputing the field-weighted score based on the field-weighted document weight for each query term.
  • 14. The computer-readable storage medium of claim 8 further comprising: ranking the field-weighted score with field-weighted scores of other documents.
  • 15. A system comprising: a processor; anda memory having computer-executable instructions stored thereon, wherein the computer-executable instructions are configured for: determining fields of the document, wherein each field includes a contextual section of the document based on the document structure;determining a field weight for each of the determined fields, wherein the field weight corresponds to a number of times for replicating the content of each of the determined fields;replicating the content of each of the determined fields the number of times indicated by the field weight for each of the determined fields, wherein the replicated content of each field is concatenated into a field set for each of the determined fields;combining each concatenated field set for each field of the document to generate a virtual document including each concatenated field set for each field of the document;indexing the virtual document to produce a virtual document statistics; andcomputing the field-weighted score from the virtual document index based on the query.
  • 16. The system of claim 15 wherein the query is associated with a search and the field-weighted score represents a level of relevance of the document to the query.
  • 17. The system of claim 15 wherein each field weight is represented by an integer value and the replicating operation comprises: generating each field set to include a number of copies of a field of the document, wherein the number of copies equals the integer value.
  • 18. The system of claim 15 wherein the combining operation comprises: concatenating each field set into the virtual document.
  • 19. The system of claim 15 wherein the computing operation comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics.
  • 20. The system of claim 15 wherein the computing operation comprises: computing a field-weighted document weight for each query term in the query from the virtual document statistics; andcomputing the field-weighted score based on the field-weighted document weight for each query term.
  • 21. The system of claim 15 further comprising: ranking the field-weighted score with field-weighted scores of other documents.
US Referenced Citations (167)
Number Name Date Kind
5222236 Potash et al. Jun 1993 A
5257577 Clark Nov 1993 A
5594660 Sung et al. Jan 1997 A
5606609 Houser et al. Feb 1997 A
5848404 Hafner et al. Dec 1998 A
5893092 Driscoll Apr 1999 A
5920859 Li Jul 1999 A
5933851 Kojima et al. Aug 1999 A
5960383 Fleischer Sep 1999 A
5983216 Kirsch et al. Nov 1999 A
5987457 Ballard Nov 1999 A
6006225 Bowman et al. Dec 1999 A
6012053 Pant et al. Jan 2000 A
6032196 Monier Feb 2000 A
6041323 Kubota Mar 2000 A
6070158 Kirsch et al. May 2000 A
6070191 Narendran et al. May 2000 A
6098064 Pirolli et al. Aug 2000 A
6125361 Chakrabarti et al. Sep 2000 A
6128701 Malcolm et al. Oct 2000 A
6145003 Sanu et al. Nov 2000 A
6151624 Teare et al. Nov 2000 A
6167369 Schulze Dec 2000 A
6182085 Eichstaedt et al. Jan 2001 B1
6182113 Narayanaswami Jan 2001 B1
6185558 Bowman et al. Feb 2001 B1
6202058 Rose et al. Mar 2001 B1
6208988 Schultz Mar 2001 B1
6222559 Asano et al. Apr 2001 B1
6240407 Chang et al. May 2001 B1
6240408 Kaufman May 2001 B1
6247013 Morimoto Jun 2001 B1
6263364 Najork et al. Jul 2001 B1
6285367 Abrams et al. Sep 2001 B1
6285999 Page Sep 2001 B1
6304864 Liddy et al. Oct 2001 B1
6317741 Burrows Nov 2001 B1
6327590 Chidlovskii Dec 2001 B1
6349308 Whang et al. Feb 2002 B1
6351467 Dillon Feb 2002 B1
6351755 Najork et al. Feb 2002 B1
6360215 Judd et al. Mar 2002 B1
6385602 Tso et al. May 2002 B1
6389436 Chakrabarti et al. May 2002 B1
6418433 Chakrabarti et al. Jul 2002 B1
6418452 Kraft et al. Jul 2002 B1
6418453 Kraft et al. Jul 2002 B1
6442606 Subbaroyan et al. Aug 2002 B1
6484204 Rabinovich Nov 2002 B1
6516312 Kraft et al. Feb 2003 B1
6539376 Sundaresan et al. Mar 2003 B1
6546388 Edlund Apr 2003 B1
6547829 Meyerzon et al. Apr 2003 B1
6549897 Katariya et al. Apr 2003 B1
6594682 Peterson et al. Jul 2003 B2
6598047 Russell et al. Jul 2003 B1
6598051 Wiener et al. Jul 2003 B1
6601075 Huang et al. Jul 2003 B1
6622140 Kantrowitz Sep 2003 B1
6628304 Mitchell et al. Sep 2003 B2
6633867 Kraft et al. Oct 2003 B1
6633868 Min Oct 2003 B1
6638314 Meyerzon et al. Oct 2003 B1
6671683 Kanno Dec 2003 B2
6701318 Fox et al. Mar 2004 B2
6718324 Edlund et al. Apr 2004 B2
6718365 Dutta Apr 2004 B1
6738764 Mao et al. May 2004 B2
6763362 McKeeth Jul 2004 B2
6766316 Caudill et al. Jul 2004 B2
6766422 Beyda Jul 2004 B2
6775659 Clifton-Bligh Aug 2004 B2
6775664 Lang et al. Aug 2004 B2
6778997 Sundaresan et al. Aug 2004 B2
6829606 Ripley Dec 2004 B2
6862710 Marchisio Mar 2005 B1
6871202 Broder Mar 2005 B2
6883135 Obata et al. Apr 2005 B1
6886010 Kostoff Apr 2005 B2
6886129 Raghavan et al. Apr 2005 B1
6910029 Sundaresan Jun 2005 B1
6931397 Sundaresan Aug 2005 B1
6934714 Meinig Aug 2005 B2
6944609 Witbrock Sep 2005 B2
6947930 Anick et al. Sep 2005 B2
6959326 Day et al. Oct 2005 B1
6973490 Robertson et al. Dec 2005 B1
6990628 Palmer et al. Jan 2006 B1
7016540 Gong et al. Mar 2006 B1
7028029 Kamvar et al. Apr 2006 B2
7051023 Kapur et al. May 2006 B2
7072888 Perkins Jul 2006 B1
7076483 Preda et al. Jul 2006 B2
7080073 Jiang et al. Jul 2006 B1
7107218 Preston Sep 2006 B1
7152059 Monteverde Dec 2006 B2
7181438 Szabo Feb 2007 B1
7197497 Cossock Mar 2007 B2
7243102 Naam et al. Jul 2007 B1
7246128 Jordahl Jul 2007 B2
7257577 Fagin et al. Aug 2007 B2
7281002 Farrell Oct 2007 B2
7328401 Obata et al. Feb 2008 B2
7428530 Ramaranthnam et al. Sep 2008 B2
20010042076 Fukuda Nov 2001 A1
20020055940 Elkan May 2002 A1
20020062323 Takatori et al. May 2002 A1
20020078045 Dutta Jun 2002 A1
20020099694 Diamond et al. Jul 2002 A1
20020103798 Abrol et al. Aug 2002 A1
20020107861 Clendinning et al. Aug 2002 A1
20020107886 Gentner et al. Aug 2002 A1
20020129014 Kim et al. Sep 2002 A1
20020169595 Agichtein et al. Nov 2002 A1
20020169770 Kim et al. Nov 2002 A1
20030037074 Dwork et al. Feb 2003 A1
20030061201 Grefenstette et al. Mar 2003 A1
20030065706 Smyth et al. Apr 2003 A1
20030074368 Schuetze et al. Apr 2003 A1
20030208482 Kim et al. Nov 2003 A1
20030217047 Marchisio Nov 2003 A1
20030217052 Rubenczyk et al. Nov 2003 A1
20040006559 Gange et al. Jan 2004 A1
20040049766 Bloch et al. Mar 2004 A1
20040093328 Damle May 2004 A1
20040117351 Challapalli et al. Jun 2004 A1
20040148278 Milo et al. Jul 2004 A1
20040181515 Ullmann et al. Sep 2004 A1
20040186827 Anick et al. Sep 2004 A1
20040194099 Lamping et al. Sep 2004 A1
20040199497 Timmons Oct 2004 A1
20040215606 Cossock Oct 2004 A1
20040215664 Hennings et al. Oct 2004 A1
20040254932 Gupta et al. Dec 2004 A1
20050033742 Kamvar et al. Feb 2005 A1
20050044071 Cho et al. Feb 2005 A1
20050055340 Dresden Mar 2005 A1
20050055347 Cho et al. Mar 2005 A9
20050060311 Tong et al. Mar 2005 A1
20050071328 Lawrence Mar 2005 A1
20050071741 Acharya et al. Mar 2005 A1
20050086192 Kodama Apr 2005 A1
20050086206 Balasubramanian et al. Apr 2005 A1
20050086583 Obata et al. Apr 2005 A1
20050144162 Liang Jun 2005 A1
20050154746 Liu et al. Jul 2005 A1
20050165781 Kraft et al. Jul 2005 A1
20050187965 Abajian Aug 2005 A1
20050192936 Meek et al. Sep 2005 A1
20050192955 Farrell Sep 2005 A1
20050210006 Robertson Sep 2005 A1
20050216533 Berkhin Sep 2005 A1
20050240580 Zamir et al. Oct 2005 A1
20050251499 Huang Nov 2005 A1
20050262050 Fagin et al. Nov 2005 A1
20060047649 Liang Mar 2006 A1
20060173560 Widrow Aug 2006 A1
20060195440 Burges et al. Aug 2006 A1
20060206460 Gadkari et al. Sep 2006 A1
20060206476 Kapur et al. Sep 2006 A1
20060282455 Lee et al. Dec 2006 A1
20060287993 Yao et al. Dec 2006 A1
20070038616 Guha Feb 2007 A1
20070038622 Meyerzon et al. Feb 2007 A1
20070073748 Barney Mar 2007 A1
20070106659 Lu et al. May 2007 A1
20070150473 Li et al. Jun 2007 A1
Foreign Referenced Citations (11)
Number Date Country
10029644 Jan 2002 DE
0 950 961 Oct 1999 EP
1 050 830 Nov 2000 EP
1 120 717 Aug 2001 EP
1282060 Feb 2002 EP
1557770 Jul 2005 EP
10-91638 Apr 1998 JP
11-328191 Nov 1999 JP
10-2002-0015838 Mar 2002 KR
10-2003-0082109 Oct 2003 KR
10-2006-0116042 Nov 2006 KR
Related Publications (1)
Number Date Country
20050210006 A1 Sep 2005 US