Patent Abstract:
The method of the present invention discloses: receiving a source text having a set of source text portions; generating a set of source text summarizations, each having a set of summarization portions, from the source text; calculating a portion score for each of the source text portions based on the source text portion&#39;s appearance in the summarizations; and populating a combined text summarization with those source text portions whose portion score exceeds a predetermined threshold. The system of the present invention discloses all means for implementing the method.

Full Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates generally to systems and methods for summarizing text, and more particularly toward combining text summarizations.  
           [0003]    2. Discussion of Background Art  
           [0004]    The accessibility to and the need to understand information have significantly grown in the past several decades. Managing such huge quantities of information often then, becomes more of a burden than a resource. In response, the field of automated Text Summarization (TS) has developed. Text summarization defines a variety of techniques for reducing a set of source text into a relatively shorter set of summarized text.  
           [0005]    Techniques used within the summarization field include Text Extraction (TE) and Text Abstraction (TA). Text extraction generally involves selecting a subset of “important” sentences, such as headlines leading sentences in a paragraph, proper nouns or phrases, citations, boldface or italic type, and etc. within a source text, which are then combined into what becomes a summarized text. Text Abstraction has a similar goal, however techniques for “interpreting/conceptualizing” the text are used.  
           [0006]    Text summarization techniques are applicable to white papers, periodicals, legal documents, Internet searches, as well as many other information processing domains.  
           [0007]    Due to the importance of text summarization, many companies have introduced summarization products that work to varying degrees. In fact, some summarizers tend to work better on some types of source text, but not others. Improvements in the field tend to be incremental and isolated, resulting in a patchwork of summarization strengths.  
           [0008]    Some attempts have been made to combine multiple summarization techniques into a single product; however, these combinations tend to require generation of a completely new set of code that integrates the different techniques in a very detailed and involved way. Such code would need to be supplemented and perhaps even completely rewritten each time a new summarization technique was created.  
           [0009]    Currently, however, there are no text summarization products that are able to quickly leverage the unique strengths currently found in existing text summarization systems, as well those yet to be developed.  
           [0010]    In response to the concerns discussed above, what is needed is a system and method for text summarization that overcomes the problems of the prior art.  
         SUMMARY OF THE INVENTION  
         [0011]    The present invention is a system and method for combining text summarizations. The method of the present invention includes the elements of: receiving a source text having a set of source text portions; generating a set of source text summarizations, each having a set of summarization portions, from the source text; calculating a portion score for each of the source text portions based on the source text portion&#39;s appearance in the summarizations; and populating a combined text summarization with those source text portions whose portion score exceeds a predetermined threshold. The system of the present invention includes all means for implementing the method.  
           [0012]    These and other aspects of the invention will be recognized by those skilled in the art upon review of the detailed description, drawings, and claims set forth below.  
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a dataflow diagram of one embodiment of a system for combining text summarizations;  
         [0014]    [0014]FIG. 2 is a flowchart of one embodiment of a method for combining text summarizations;  
         [0015]    [0015]FIG. 3 is one source code embodiment for aligning text within the method;  
         [0016]    [0016]FIG. 4 shows one embodiment of a look-up table for word score calculation;  
         [0017]    [0017]FIG. 5 is one source code embodiment for populating a combined summarization within the method;  
         [0018]    [0018]FIG. 6 is a dataflow diagram of one embodiment of a system for calibrating summarizers based on source text domain;  
         [0019]    [0019]FIG. 7 is a dataflow diagram of one embodiment of a system for weighting summarizations based on source text domain; and  
         [0020]    [0020]FIG. 8 is a flowchart of one embodiment of a method for calibrating summarizers and weighting summarizations based on source text domain. 
     
    
       [0021]    Appendix A is an exemplary set of source text;  
         [0022]    Appendix B is a “Copernic” text summarization of the source text;  
         [0023]    Appendix C is a “Text Analyst” text summarization of the source text;  
         [0024]    Appendix D is a “Zentext” text summarization of the source text; and  
         [0025]    Appendix E is one possible combination of the text summarizations.  
       DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0026]    The present invention is a system and method that leverages the unique text summarization strengths of many current, and future, text summarization systems. The invention uses existing summarizers to process a set of source text, and then itself processes the source text as well as the summarizations produced by the existing summarizers. This technique is a generic combination algorithm, which can receive as input summarizations from many different summarization systems. As a result, the present invention produces a summarization that is more relevant than any individual summarizer.  
         [0027]    [0027]FIG. 1 is a dataflow diagram of one embodiment of a system  100  for combining text summarizations. FIG. 2 is a flowchart of one embodiment of a method  200  for combining text summarizations. FIGS. 1 and 2 are now discussed together using both functional and logical descriptions.  
         [0028]    The method  200  begins in step  202 , where a source text  102  to be summarized is received as input by a predetermined set of N summarizers (S i , where “i” ranges from 1 to N),  104  through  108 . The source text (T) includes a variety of source text portions, such as: letters, words, phrases, sentences, paragraphs, sections, chapters, titles, citations, footnotes, hyperlinks, as well as many other text portions known to those skilled in the art. For the purposes of the present discussion, the term text portion is herein defined to include any of the information contained in the source text, be it as small as a single letter, or as large as the entire source text.  
         [0029]    To simplify the present discussion, source text words are used as exemplary source text portions, even though the present invention is applicable to all text portions. The source text  102  includes a set of “n” source words (W 1 , W 2  . . . W n ), with W i  being a word. Thus, T={W 1 ,W 2  . . . W n }. Each word is separated from other words by blanks, line breaks and/or paragraph breaks. An exemplary set of source text is shown in Appendix A. The exemplary set of source text is 1145 words long.  
         [0030]    In step  204 , the summarizers (Si)  104  through  108 , generate a corresponding set of source text summarizations (T i , where “i” ranges from 1 to N),  110  through  114 . The summary (T i ) includes a set of “m” summarization words {A 1 , A 2  . . . A m }, where “m” tends to differ from summarizer to summarizer.  
         [0031]    Text Extraction (TE) is one summarization technique that can be used. In TE, source text portions deemed to be the “most significant” within the source text are literally picked out and added to the summary without further processing. Most of the differences between different summarizers are directly related to how each individual summarizer determines which portions of the source text are “most significant.” 
         [0032]    The summaries are condensed versions of the source text, which usually is only 10-25% of the source text&#39;s original length. For example, Appendix B shows a “Copernic” summarization of the source text, which is 328 words long; Appendix C shows a “Text Analyst” summarization of the source text, which is 251 words long; and Appendix D shows a “Zentext” summarization of the source text, which is 319 words long. Copernic, Text Analyst, and Zentext are three popular commercial summarization software packages.  
         [0033]    In the present invention, each summarizer preferably processes the source text  102  in parallel, speeding source text processing and the present invention&#39;s operating efficiency.  
         [0034]    While some summarizers provide information on how their summary corresponds to the source text (for example, the 5 th  word in the summary is the 10 th  word in the original text), most summarizers just generate a summary without direct reference to the original source text.  
         [0035]    As a result, in step  206 , an alignment/mapping module  116  aligns the set of summarizations with (i.e. mapped to) the source text. Thus, summary text T i ={A 1 , A 2  . . . A m }, when mapped to (i.e. aligned with) the source text (T), yields {W P     1   , W P     2    . . . W P     m   }, in which W Pi =A i  and P 1 &lt;P 2  . . . &lt;P m . The variable “P i ” identifies which word A i  is in the source text (T). FIG. 3 is one source code embodiment for aligning text within the method, written in a “C” language style.  
         [0036]    Next in step  208 , the alignment/mapping module  116  also generates an array indicating which words each of the text summarizers have included in their summaries. Thus, each word (W i ) in the source text (T) has an associated word inclusion array {a i1 ,a i2  . . . a iN }, indicating which of the N summarizers included which word (W i ) in their summary.  
         [0037]    In one embodiment, “a ij ” has a integer value of either “0” or “1”, with “0” indicating that the summary does not include the word, and “1” indicating that the summary does include the word. For example, referring to Appendices B thorough D, each of the three summarizers choose the word “metaphor” from the source text, thus the array associated with the word “metaphor” is {1,1,1), whereas the word “spectacle” appears only in Appendix summaries B and D, and the array associated with the word “spectacle” is {1,0,1 }.  
         [0038]    In a second embodiment, “a ij ” can have a fractional value somewhere between “0.000” and “1.000”. This fractional value depends not only on whether the summary includes the word, as described above, but also on how each of the summarizers rates the importance of that word within the source text. For example, one summarizer might rank pronouns as higher in importance than other words in the source text, whereas another summarizer might rank words within a first sentence of every paragraph within the source text as of greater importance.  
         [0039]    Next in step  210 , a word scoring module  118  calculates a word score S(W i ) for each word W i  in the source text (T), as a function of each word&#39;s appearance in the summarizations. There are many alternate functions for calculating the word score S(W i ). For instance, source text words can be scored using a summation function, such as:  
         S        (     W   i     )       =       ∑     j   =   1     N                     a   ij                             
 
         [0040]    ,where array values {a i1 , a i2  . . . a iN } are summed from each of the N summarizers. The score can be normalized by dividing it by N.  
         [0041]    In step  212 , a combination module  120  populates a combined text summarization (T o )  122  with combined summarization words. The combined summarization words are those source words W i  in the source text  102  whose word score S(W i ) is above a predetermined threshold. For example, Appendix E is one possible combined summarization, using an equal weighting function and a threshold (TH) of 2, yielding a 227-word combined summarization. FIG. 5 is one source code embodiment for populating a combined summarization within the method. The source code is written in a “C” language style.  
         [0042]    [0042]FIG. 6 is a dataflow diagram of one embodiment of a system  600  for calibrating summarizers based on source text domain. FIG. 7 is a dataflow diagram of one embodiment of a system  700  for weighting summarizations based on the source text domain. And, FIG. 8 is a flowchart of one embodiment of a method for calibrating summarizers and weighting summarizations based on the source text domain. FIGS. 6, 7 and  8  are now discussed together.  
         [0043]    Source texts summarized by the present invention, are expected to cover a wide range of subjects. These subjects can be broadly grouped into corpora, which are herein described as a set of text domains. Due to the varied authorship techniques common to each text domain, off-the-shelf summarizers tend to be optimized for just a few particular text domains. For instance, since newspaper articles tend to follow a common construction format, newspaper article summarizers are optimized to capture “titles,” “leading paragraphs,” and perhaps “final paragraphs.” In contrast, summarizers optimized for scholarly papers may search for and focus on “abstract” and “conclusion” sections. As a result, a summarizer that generates relevant summaries for a first text domain may fail to do so for other text domains.  
         [0044]    In the embodiment of the present invention, discussed with respect to FIGS. 1 and 2 above, an implicit assumption was that each of the summarizers performed almost equally well on all source texts. As a result, the combined text summarization  122  was effectively populated by majority voting.  
         [0045]    However, in an improvement to the invention discussed above, a system and method for calibrating and weighting the summarizers  104  through  108  is now disclosed. Calibration tailors operation of the present invention to allow for variations in summarizer performance over differing text domains.  
         [0046]    In step  802 , a set of text domain classes are identified within which the present invention is expected to operate. Next in step  804 , a set of source calibration texts, representative of a text domain class, within the set of text domain classes, are selected.  
         [0047]    In step  806 , a Ground Truth Summarization (GTS)  604  is accessed for each of the source calibration texts  602  within a text domain class. GTS&#39;s are typically created by an expert in the corresponding text domain class.  
         [0048]    Then in step  808 , each of the summarizers  104  through  108  generates a calibration summarization  606  through  610  for each of the source calibration texts  602 . In step  810  an alignment/mapping module  116  aligns the set of calibration summarizations  606  through  610  with the source text, and generates corresponding word inclusion arrays.  
         [0049]    Next in step  812 , a weighting optimization module  612  provides a default set of summarizer weights (r j )  614 , preferably all equal in value, to a modified word scoring module  616 . In step  814 , the modified word scoring module  616  calculates a modified word score S(W i ) for each word W i  in the source text (T), using the summarizer array values and weights (r j )  614 .  
         [0050]    As discussed with respect to FIGS. 1 and 2 above, there are many alternate functions for calculating the word score S(W i ). In a first embodiment, source text words can be scored using a modified summation function, such as,  
         S        (     W   i     )       =       ∑     j   =   1     N                       r   j          a   ij                               
 
         [0051]    , where j identifies a summarizer from which an array value a ij  is obtained, and that summarizer&#39;s corresponding weighting value r j .  
         [0052]    In a second embodiment, source text words are scored using a weighted exponential function, such as,  
         S        (     W   i     )       =       ∏     j   =   1     N                     a   ij     r   j                               
 
         [0053]    , in which the summarizer weights are in the form of exponentials. This embodiment is preferred when the summarization techniques used in summarizers  104  through  108  are relatively independent.  
         [0054]    In a third embodiment, source text words can be scored using a neural network, such as a Multiple Layer Perception (MLP) network, with {a i1 , a i2 , . . . , a iN } as the input. Or in a fourth embodiment, S(W i ) can be obtained using a look-up table where each array value of {a i1 ,a i2 . . . ,a iN } is either 0 or 1. In this case, the total number of combinations of {a i1 , a i2  . . . , a iN } is limited to  2 N. The table can be filled experimentally or through any systematic approach, such as described later. An advantage of the look-up table includes increased speed, since actual word score calculation is done off-line; and, increased flexibility, since arbitrary functions can be realized with look-up tables without reprogramming the system  100 . For example, FIG. 4 shows one embodiment of a look-up table  400  for word score calculation. In this embodiment, it is presumed to have only three summarizers (i.e. N=3).  
         [0055]    In step  816 , the combination module  120  populates a combined weighted text summarization (T w )  618  with words W i  in the source calibration text  602  whose word score S(W i ) is above a predetermined threshold.  
         [0056]    In step  818 , the weighting optimization module  612  compares the Ground Truth Summarization  604  to the combined weighted text summarization (T w )  618 . In step  820  the optimization module  612  provides a new set of summarizer weights (r j )  614  to the modified word scoring module  616  and stores the new weights in a summarizer weighting table  620 .  
         [0057]    In step  822 , the method  800  repeats steps  814  through  818 , until the weighting optimization module  612  decides that the summarizer weights (r j )  614  have been optimized for the text domain class associated with the set of source calibration texts.  
         [0058]    Optimization preferably occurs when the set of summarizer weights (r j ) yields a “best-fit” between the Ground Truth Summarization  604  and the combined weighted text summarization (T w )  618 . To this end, a variety of cost/target functions may be used, such as the Mean Square Error (MSE):  
             Cost   =       ∑     i   =   1     q                       (       S        (     W   i     )       -     g   i       )     2                     where                   g   i       =     {             1        (       W   i                   is                 in                 the                 ground                 truth                 summary     )                 0        (       W   i                   is                 not                 in                 the                 ground                 truth                 summary     )             ,                                   
 
         [0059]    q is the number of words in the source text. Numerical analysis software, such as MatLab, can be used to implement the optimization.  
         [0060]    Next in step  824 , the weighting optimization module  612  stores a final set of optimized summarizer weights (r j ) in the summarizer weighting table  620 .  
         [0061]    In step  826 , steps  806  through  820  are repeated for each of the text domain classes.  
         [0062]    Next in step  828 , a source text domain class identifier module  702 , identifies a text domain class within which a new set of source text, such as the source text  102 , is included. Identification can be performed by requesting that a user identify the text domain class by selecting from a set of text domains presented to him/her. Alternatively, identification may be automatically performed by analyzing keywords within the source text  102  in order to determine the text domain class into which the source text  102  falls.  
         [0063]    In step  830 , the identifier module  702  selects a set of summarizer weights (r j )  614  from the summarizer weighting table  620  corresponding to the text domain class within which the new source text falls, and provides the selected weights to the modified word scoring module  616 . Then in step  832 , a new combined weighted text summarization (T w )  618  is generated for the new source text, as described in step  814  and  816 , using the selected weights, after which the method  800  ends.  
         [0064]    While one or more embodiments of the present invention have been described, those skilled in the art will recognize that various modifications may be made. Variations upon and modifications to these embodiments are provided by the present invention, which is limited only by the following claims.

Technology Classification (CPC): 6