Fast-approximate TFIDF

Information

  • Patent Grant
  • 7730061
  • Patent Number
    7,730,061
  • Date Filed
    Friday, September 12, 2008
    16 years ago
  • Date Issued
    Tuesday, June 1, 2010
    14 years ago
Abstract
Our approach seeks to reduce the complexity of this type of calculation through approximation and pre-computation. It is designed to work efficiently with modern relational database constructs for content management. The approach is designed to enable the kinds of highly interactive data-driven visualizations that are the hallmark of third generation business intelligence.
Description
TECHNICAL FIELD

The present disclosure generally relates to the field of document analysis, and more particularly to a method for generating an ordered list of signature terms occurring in at least a first document and a second document.


BACKGROUND

Traditional Term Frequency Inverse Document Frequency approaches are computationally intensive methods for identifying significant terms and phrases that differentiate specific documents from the rest of the corpus.


In finding unique terms and phrases for a set of search results, all of the documents in the result set are summed to create a result set frequency, this set is then sorted, and the top N terms or phrases are selected as the signature terms.


SUMMARY

Our approach seeks to reduce the complexity of this type of calculation through approximation and pre-computation. It is designed to work efficiently with modern relational database constructs for content management. The approach is designed to enable the kinds of highly interactive data-driven visualizations that are the hallmark of third generation business intelligence.


It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not necessarily restrictive of the present disclosure. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate subject matter of the disclosure. Together, the descriptions and the drawings serve to explain the principles of the disclosure.





BRIEF DESCRIPTION OF THE DRAWINGS

The numerous advantages of the disclosure may be better understood by those skilled in the art by reference to the accompanying figures in which:



FIG. 1A is a flow diagram illustrating a method for generating an ordered list of signature terms occurring in at least a first document and a second document;



FIG. 1B is a flow diagram continuing the method illustrated in FIG. 1A; and



FIG. 1C is a flow diagram continuing the method illustrated in FIGS. 1A and 1B.





DETAILED DESCRIPTION

Reference will now be made in detail to the subject matter disclosed, which is illustrated in the accompanying drawings.


We begin in the same manner as traditional TFIDF by computing the DF. We then sort the lists to bring the signature terms of the document to the front.


We then approximate this list by setting the top Q entries of the TFIDF to 1 and the rest to 0. We can make this approximation because of the Zipf's Law distribution of terms and phrases in English documents. This is additionally helpful from a computational standpoint because it moves the computation space out of floating point math and replaces it with simple sums over integers.


We then truncate the zero entries, leaving just the top terms. At this point we could also use a thesaurus for further term reduction.


This technique is most useful in cases where a novel set of results is generated as part of a user interaction. This is very typically the result when a search query is issued; a set of results is returned that a user may want to explore and understand. Given these search results, which constitute a document set within the corpus, we can take the union of all the sets of “indicative terms” for those documents. We then return the top M of them when requested. These are sorted to produce an ordered list of the signature terms of a result set.


This computation by contrast is order q*(k+1) for a result set of size k and a threshold of q for the number of entries considered. This dramatic reduction in computation enables functionalities including 3rd generation business intelligence which require real-time interactivity.


Referring to FIG. 1, a method for generating an ordered list of signature terms occurring in at least a first document and a second document is described. First, a frequency of a first term occurring in a first document is computed, 110. Then, a frequency of a second term occurring in the first document is computed, 120. The first term and the second term are sorted to identify the most frequently occurring term in the first document, 130. A frequency of a third term occurring in a second document is computed, 140. A frequency of a fourth term occurring in the second document is computed, 150. The third term and the fourth term are sorted to identify the most frequently occurring term in the second document, 160. The sorted list for the first document is truncated by selecting a number of terms to retain from the sorted list for the first document, 170. The sorted list for the second document is truncated by selecting a number of terms to retain from the sorted list for the second document, 180. The size of at least one of the sorted list for the first document and the sorted list for the second document is reduced by utilizing a thesaurus to identify like terms, 190. Then, the sorted list for the first document and the sorted list for the second document are combined utilizing a union operation, 200. Finally, the combined list generated by the union operation is sorted to create an ordered list of signature terms, 210.


In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.


It is believed that the present disclosure and many of its attendant advantages will be understood by the foregoing description, and it will be apparent that various changes may be made in the form, construction and arrangement of the components without departing from the disclosed subject matter or without sacrificing all of its material advantages. The form described is merely explanatory, and it is the intention of the following claims to encompass and include such changes.

Claims
  • 1. A method for generating an ordered list of signature terms occurring in at least a first document and a second document, comprising: computing a frequency of a first term occurring in a first document;computing a frequency of a second term occurring in the first document;sorting the first term and the second term to identify the most frequently occurring term in the first document selected from the group comprising the first term and the second term;computing a frequency of a third term occurring in a second document;computing a frequency of a fourth term occurring in the second document;sorting the third term and the fourth term to identify the most frequently occurring term in the second document selected from the group comprising the third term and the fourth term;truncating the sorted list for the first document by selecting a number of terms to retain from the sorted list for the first documents wherein the sorted list for the first document includes a plurality of terms;truncating the sorted list for the second document by selecting a number of terms to retain from the sorted list for the second documents wherein the sorted list for the second document includes a plurality of terms;reducing the size of at least one of the sorted list for the first document and the sorted list for the second document by utilizing a thesaurus to identify like terms;combining the sorted list for the first document and the sorted list for the second document utilizing a union operation;sorting the combined list generated by the union operation to create an ordered list of signature terms;receiving a signature term request, wherein the signature term request includes a number of top signature terms from the ordered list to be returned; andreturning a number of top signature terms from the ordered list upon receipt of the signature term request.
  • 2. The method of claim 1, further comprising: assigning a value of one to at least one term in the first document based upon the frequency of the at least one term occurring in the first document, wherein the at least one term is identified as the most frequently occurring in the first document.
  • 3. The method of claim 1, further comprising: assigning a value of one to at least one term in the second document based upon the frequency of the at least one term occurring in the second document, wherein the at least one term is identified as the most frequently occurring in the second document.
  • 4. The method of claim 1, further comprising: assigning a value of zero to at least one term in the first document based upon the frequency of the at least one term occurring in the first document.
  • 5. The method of claim 1, further comprising: assigning a value of zero to at least one term in the second document based upon the frequency of the at least one term occurring in the second document.
  • 6. The method of claim 1, further comprising: retrieving a set of results, the set of results including at least one of the first document or the second document, wherein the set of results is generated from a search query.
  • 7. A computer program product for generating an ordered list of signature terms occurring in at least a first document and a second document, comprising: computer usable program code stored on a computer readable storage medium, the computer usable program code executed by a device, comprising: computer usable program code configured to compute a frequency of a first term occurring in a first document;computer usable program code configured to compute a frequency of a second term occurring in the first document;computer usable program code configured to sort the first term and the second term to identify the most frequently occurring term in the first document selected from the group comprising the first term and the second term;computer usable program code configured to compute a frequency of a third term occurring in a second document;computer usable program code configured to compute a frequency of a fourth term occurring in the second document;computer usable program code configured to sort the third term and the fourth term to identify the most frequently occurring term in the second document selected from the group comprising the third term and the fourth term;computer usable program code configured to truncate the sorted list for the first document by selecting a number of terms to retain from the sorted list for the first document, wherein the sorted list for the first document includes a plurality of terms;computer usable program code configured to truncate the sorted list for the second document by selecting a number of terms to retain from the sorted list for the second document, wherein the sorted list for the second document includes a plurality of terms;computer usable program code configured to reduce the size of at least one of the sorted list for the first document and the sorted list for the second document by utilizing a thesaurus to identify like terms;computer usable program code configured to combine the sorted list for the first document and the sorted list for the second document utilizing a union operation;computer usable program code configured to sort the combined list generated by the union operation to create an ordered list of signature terms;computer usable program code configured to receive a signature term request, wherein the signature term request includes a number of top signature terms from the ordered list to be returned; andcomputer usable program code configured to return the number of top signature terms from the ordered list upon receipt of the signature term request.
  • 8. The computer program product of claim 7, further comprising: computer usable program code configured to assign a value of one to at least one term in the first document based upon the frequency of the at least one term occurring in the first document, wherein the at least one term is identified as the most frequently occurring in the first document.
  • 9. The computer program product of claim 7, further comprising: computer usable program code configured to assign a value of one to at least one term in the second document based upon the frequency of the at least one term occurring in the second document, wherein the at least one term is identified as the most frequently occurring in the second document.
  • 10. The computer program product of claim 7, further comprising: computer usable code configured to assign a value of zero to at least one term in the first document based upon the frequency of the at least one term occurring in the first document.
  • 11. The computer program product of claim 7, further comprising: computer usable code configured to assign a value of zero to at least one term in the second document based upon the frequency of the at least one term occurring in the second document.
  • 12. The computer program product of claim 7, further comprising: computer usable code configured to retrieve a set of results, the set of results including at least one of the first document or the second document, wherein the set of results is generated from a search query.
US Referenced Citations (42)
Number Name Date Kind
5263159 Mitsui Nov 1993 A
5621454 Ellis et al. Apr 1997 A
5675819 Schuetze Oct 1997 A
6006221 Liddy et al. Dec 1999 A
6233575 Agrawal et al. May 2001 B1
6499030 Igata Dec 2002 B1
6564210 Korda et al. May 2003 B1
6970863 Cragun et al. Nov 2005 B2
7146356 Choi et al. Dec 2006 B2
7219090 Travis, Jr. May 2007 B2
7251637 Caid et al. Jul 2007 B1
7302646 Nomiyama et al. Nov 2007 B2
7392262 Alspector et al. Jun 2008 B1
20020065957 Rubin May 2002 A1
20020072895 Imanaka et al. Jun 2002 A1
20020103809 Starzl et al. Aug 2002 A1
20020165873 Kwok et al. Nov 2002 A1
20020174101 Fernley et al. Nov 2002 A1
20030014405 Shapiro et al. Jan 2003 A1
20030033287 Shanahan et al. Feb 2003 A1
20030061025 Abir Mar 2003 A1
20030172058 Namba Sep 2003 A1
20040064447 Simske et al. Apr 2004 A1
20040186826 Choi et al. Sep 2004 A1
20050010560 Altevogt et al. Jan 2005 A1
20050086254 Zou et al. Apr 2005 A1
20050198076 Stata et al. Sep 2005 A1
20050262050 Fagin et al. Nov 2005 A1
20050278314 Buchheit Dec 2005 A1
20060106767 Adcock et al. May 2006 A1
20070016574 Carmel et al. Jan 2007 A1
20070074131 Assadollahi Mar 2007 A1
20070185858 Lu et al. Aug 2007 A1
20070185871 Canright et al. Aug 2007 A1
20070192293 Swen Aug 2007 A1
20070244915 Cha et al. Oct 2007 A1
20070294220 Tabraham Dec 2007 A1
20080005651 Grefenstette et al. Jan 2008 A1
20080015844 Fux et al. Jan 2008 A1
20080027918 Altevogt et al. Jan 2008 A1
20090028441 Milo et al. Jan 2009 A1
20090138466 Henry et al. May 2009 A1
Foreign Referenced Citations (1)
Number Date Country
2006244294 Sep 2006 JP
Related Publications (1)
Number Date Country
20100070495 A1 Mar 2010 US