Method of summarizing text using just the text

A method of summarizing a text by the following steps. Identifying the textual units in the text. Selecting a first set of textual units and identifying its textual units. Selecting a second set of textual units and identifying its textual units. Determining how many textual units are shared between the first and second sets of textual units. Selecting a third set of textual units between the first and second set of textual units and identifying its unique textual units. Determining the frequency of occurrence of the textual unit in the third set of textual units. Determining the frequency of occurrence of the textual unit in the text. Determining the proximity of the results of the last two steps. Calculating a score for the first set of textual units. Assigning the highest score to the first set of textual units. Selecting a numbers of first sets of textual units, according to score, as the summary of the text.

FIELD OF THE INVENTION

The present invention relates, in general, to data processing and, in particular, to document processing of text.

BACKGROUND OF THE INVENTION

Prior art methods of processing text typically incorporate linguistic knowledge that is not resident in the text (e.g., document) being processed. Prior art text summarization methods often rely on a collection of exemplary text that is external to the text being processed to assess the role a word plays in the text being processed. For those methods that rely on a collection of exemplary text, it is difficult, if not impossible, to generate a single collection of exemplary text that can be used to successfully summarize textual documents on widely different topics because a word in one context may have a different meaning in another context. This problem is often overcome in the prior art by generating multiple collections of exemplary text, where each collection is tailored to a specific topic (e.g., scientific, financial). Generating a collection of exemplary text is difficult, time consuming, and prone to error (e.g., biases of those generating the collection).

U.S. Pat. No. 5,384,703, entitled “METHOD AND APPARATUS FOR SUMMARIZING DOCUMENTS ACCORDING TO THEME”; U.S. Pat. No. 5,638,543, entitled, “METHOD AND APPARATUS FOR AUTOMATIC DOCUMENT SUMMARIZATION”; U.S. Pat. No. 5,708,822, entitled, “METHODS AND APPARATUS FOR THEMATIC PARSING OF DISCOURSE”; U.S. Pat. No. 5,768,580, entitled “METHODS AND APPARATUS FOR DYNAMIC CLASSIFICATION OF DISCOURSE”; U.S. Pat. No. 5,978,820, entitled “TEXT SUMMARIZING METHOD AND SYSTEM”; U.S. Pat. No. 5,924,108, entitled “DOCUMENT SUMMARIZER FOR WORD PROCESSORS”; and U.S. Pat. No. 6,199,034, entitled “METHODS AND APPARATUS FOR DETERMINING THEME FOR DISCOURSE,” each disclose a method of summarizing text that relies on information not contained in the text being summarized. The information not contained in the text comes in various forms such as a stop list, a lexicon, a knowledge catalog that includes static ontologies, a word dictionary, and a pre-compiled list of words and phrases. The present invention does not rely on any of these forms of information. U.S. Pat. Nos. 5,384,703; 5,638,543; 5,708,822; 5,768,580; 5,978,820; 5,924,108; and 6,199,034 are hereby incorporated by reference into the specification of the-present invention.

SUMMARY OF THE INVENTION

It is an object of the present invention to summarize text based solely on the text itself and not on any information outside of the text.

It is another object of the present invention to summarize text without considering the definition of any term contained therein.

It is another object of the present invention to summarize text by measuring the similarity between passages in the text and measuring the significance of any similarity.

The present invention is a method of summarizing text in a manner that relies solely on the text itself. The first step of the method is receiving text.

The second step of the method is identifying all of the textual units in the text.

The third step of the method is selecting a first set of textual units from the text.

The fourth step of the method is selecting a second set of textual units from the text.

The fifth step of the method is identifying each unique textual unit in the first set of textual units.

The sixth step of the method is identifying each unique textual unit in the second set of textual units.

The seventh step of the method is determining how many textual units are shared between the first and second sets of textual units.

The eighth step of the method is selecting a third set of textual units from the text, where the third set of textual units is between the first and second set of textual units.

The ninth step of the method is identifying each unique textual unit in the third set of textual units.

The tenth step of the method is identifying each unique textual unit in the text.

The eleventh step of the method is determining the frequency of occurrence of each unique textual unit in the third set of textual units.

The twelfth step of the method is determining the frequency of occurrence of each unique textual unit in the text.

The thirteenth step of the method is determining the proximity of the results of the eleventh step and the twelfth step.

The fourteenth step of the method is calculating a score for the first set of textual units with respect to the second set of textual units as a function of the results of the seventh step and the thirteenth step.

The fifteenth step of the method is returning to the fourth step if additional processing is desired.

The sixteenth step of the method is assigning the highest scoring result of the fourteenth step to the first set of textual units.

The seventeenth step of the method is returning to the third step if additional processing is desired.

The eighteenth step of the method is selecting a user-definable number of first sets of textual units selected in the third step according to the scores assigned thereto as the summary of the text.

In an alternate embodiment, a set of textual units that has already been summarized by another set of textual units is no longer considered. In a second alternate embodiment, the score of a set of textual units is modified based on how dissimilar the set of textual units is from another set of textual units that extends to the end of the text. In a third alternate embodiment, weights are included to account for textual units that have greater significance than others.

DETAILED DESCRIPTION

The present invention is a method of summarizing text (e.g., a document) in a manner that relies solely on the text itself and does not rely on any information that is external to the text (e.g., dictionary, collection of terms for a particular topic of interest). The present method identifies at least one set of textual units in the text that best summarize the text, where a textual unit may be one or more words, ASCII characters, graphics (e.g., musical notes) phrases, sentences, paragraphs, and so on. The present method does not consider the meaning of any textual unit in the text and, therefore, does not require the use of a dictionary, a collection of exemplary text for a particular topic, or any other information that is external to the text.

The present invention is based on two premises. The first premise is that a textual unit in a particular set of textual units (e.g., set of contiguous sentences, paragraph(s), chapter(s)) that is a candidate for inclusion in a summary of a text will resemble other sets of textual units within the text. For example, a sentence within one paragraph of a text that resembles other paragraphs within the text (e.g., shares similar terms) should be included in the summary of the text. Therefore, the present invention measures the similarity between sets of textual units within a text.

The second premise is that the similarity of a textual unit within a first set of textual units to a second set of textual units is significant only if a third set of textual units between the first and second sets of textual units is dissimilar to the first and second sets of textual units. For example, if the terms in a third set of textual units are dissimilar than those of a first and second set of textual units then a similarity of terms between the first and second set of textual units is significant. If a textual unit is included in a summary of the text then the text will not only discuss the topic of the textual unit included in the summary but also discuss other matters before returning to the topic. If the intervening set of textual units discusses the same topic then this indicates that the text simply discusses one topic at length, and any similarity between a first and second set of textual units is not significant.

FIG. 1is a list of steps of the present invention. The first step1of the method is receiving text (i.e., document) to be summarized. The text includes a number of sets of textual units (e.g., set of contiguous sentences, paragraph(s), chapter(s)), where each set of textual units includes a number of textual units (e.g., word(s), ASCII character(s), phrase(s), sentence(s), paragraph(s)).

The second step2of the method is identifying all of the textual units in the text

The third step3of the method is selecting a first set of textual units from the text.

The fourth step4of the method is selecting a second set of textual units from the text. In the preferred embodiment, the second set of textual units occurs after the first set of textual units in the text. The second set of textual units may, or may not, overlap with the first set of textual units. That is, the second set of textual units may include one or more textual units from the first set of textual units.

The fifth step5of the method is identifying each unique textual unit (e.g., word) in the first set of textual units.

The sixth step6of the method is identifying each unique textual unit in the second set of textual units.

The seventh step7of the method is determining how many textual units are shared between the first and second sets of textual units. The seventh step7measures the similarity between the first and second sets of textual units and, therefore satisfies the first premise of the present invention.

The eighth step8of the method is selecting a third set of textual units from the text, where the third set of textual units is between the first and second set of textual units. In the preferred embodiment, the third set of textual units includes the last textual unit of the first set of textual units and the first textual unit of the second set of textual units.

The ninth step9of the method is identifying each unique textual unit in the third set of textual units.

The tenth step10of the method is identifying each unique textual unit in the text.

The eleventh step11of the method is determining the frequency of occurrence of each unique textual unit in the third set of textual units. The frequency of occurrence of a textual unit a in the third set of textual units is determined by dividing the number of occurrences of the textual unit in the third set of textual units by the total number of textual units in the third set of textual units.

The twelfth step12of the method is determining the frequency of occurrence of each unique textual unit in the text. The frequency of occurrence of a textual unit in the text is determined by dividing the number of occurrences of the textual unit in the text by the total number of textual units in the text.

The thirteenth step13of the method is determining the proximity of the results of the eleventh step11and the twelfth step12. In the preferred embodiment, proximity is determined by multiplying, for each unique textual unit in the third set of textual units, the frequency of occurrence of the unique textual unit in the third set of textual units by the logarithm (log) of the frequency of occurrence of the unique textual unit in the third set of textual units; summing the products of the last step; multiplying, for each unique textual unit in the third set of textual units, the frequency of occurrence of the unique textual unit in the third set of textual units by the log of the frequency of occurrence of the unique textual unit in the text; summing the products of the last step; and dividing the first sum by the second sum.

The fourteenth step14of the method is calculating a score for the first set of textual units with respect to the second set of textual units as a function of the results of the seventh step7and the thirteenth step13. In the preferred embodiment, the score for the first set of textual units with respect to the second set of textual units is calculated as the product of the seventh step7and the thirteenth step13. The fourteenth step14measures the significance of any similarity between the first and second sets of textual units (i.e., the second premise of the present invention).

The fifteenth step15of the method is returning to the fourth step4if additional processing is desired. Otherwise, proceeding to the sixteenth step16.

The sixteenth step16of the method is assigning the highest scoring result of the fourteenth step14to the first set of textual units.

The seventeenth step17of the method is returning to the third step3if additional processing is desired. Otherwise, proceeding to the eighteenth step18.

The eighteenth step18of the method is selecting a user-definable number of first sets of textual units selected in the third step3according to the scores assigned thereto as the summary of the text. In the preferred embodiment, the summary of the text is a user-definable number of first sets of textual units having the highest scores.

If a set of textual units that has already been summarized by another set of textual units is included in the summary then the summary will include some redundancy. To avoid redundancy, it is desired to insure that a set of textual units only appears once in a summary.FIG. 2is a list of steps of an alternate embodiment of the present invention that minimizes redundancy in a summary by introducing a penalty to the score of a set of textual units that has already been summarized by another set of textual units.

The first step21of the alternate method is receiving the text. The text includes a number of sets of textual units, where each set of textual units includes a number of textual units.

The second step22of the alternate method is identifying the sets of textual units in the text.

The third step23of the alternate method is selecting a first set of textual units from the text.

The fourth step24of the alternate method is selecting a second set of textual units from the text.

The fifth step25of the alternate method is identifying each unique textual unit in the first set of textual units.

The sixth step26of the alternate method is identifying each unique textual unit in the second set of textual units.

The seventh step27of the alternate method is determining how many textual units are shared between the results of the fifth step25and the sixth step26.

The eighth step28of the alternate method is selecting a third set of textual units from the text, where the third set of textual units is between the first and second set of textual units.

The ninth step29of the alternate method is identifying each unique textual unit in the third set of textual units.

The tenth step30of the alternate method is identifying each unique textual unit in the text.

The eleventh step31of the alternate method is determining the frequency of occurrence of each unique textual unit in the third set of textual units.

The twelfth step32of the alternate method is determining the frequency of occurrence of each unique textual unit in the text.

The thirteenth step33of the alternate method is determining the proximity of the results of the eleventh step31and the twelfth step32.

The fourteenth step34of the alternate method is calculating a score for the first set of textual units with respect to the second set of textual units as a function of the results of the seventh step27and the thirteenth step33.

The fifteenth step35of the alternate method is returning to the fourth step24if additional processing is desired. Otherwise, proceeding to the sixteenth step36.

The sixteenth step36of the alternate method is assigning the highest result of the fourteenth step34to the first set of textual units.

The seventeenth step37of the alternate method is selecting a fourth set of textual units from the text. The fourth set of textual units is contiguous with the first set of textual units.

The eighteenth step38of the alternate method is identifying each unique textual unit in the fourth set of textual units.

The nineteenth step39of the alternate method is determining how many textual units are shared between the results of the fifth step25and the eighteenth step38.

The twentieth step40of the alternate method is determining the frequency of occurrence of each unique textual unit in the fourth set of textual units.

The twenty-first step41of the alternate method is determining the proximity of the results of the twelfth step32and the twentieth step40.

The twenty-second step42of the alternate method is calculating a score for the first set of textual units with respect to the fourth set of textual units as a function of the results of the nineteenth step39and the twenty-first step41. In the preferred embodiment, the twenty-second step42is accomplished by subtracting the result of the twenty-first step41from a number having a value equal to one and then multiplying the difference by the result of the nineteenth step39.

The twenty-third step43of the alternate method is returning to the seventeenth step37if additional processing is desired. Otherwise, proceeding to the twenty-fourth step44.

The twenty-fourth step44of the alternate method is combining a user-definable number of results of the twenty-second step42with the result of the sixteenth step36. In the preferred embodiment, the user-definable number of results selected from the twenty-second step42are a user-definable number of the highest values calculated in the twenty-second step42.

The twenty-fifth step45of the alternate method is returning to the third step23if additional processing is desired. Otherwise, proceeding to the eighteenth step38.

The twenty-sixth, and final, step46of the alternate method is selecting a user-definable number of first set of textual units selected in the third step23according to the scores assigned thereto as the summary of the text.

A set of textual units will score well against a set of textual units that includes most of the text. Such a score is not very useful when trying to discriminate between set of textual units with regard to identifying the best sets of textual units to summarize a text.FIG. 3is a list of steps of a second alternate embodiment of the present invention that modifies the score of a set of textual units based on how dissimilar the set of textual units is from another set of textual units. In the preferred second alternate embodiment, the set of textual units to which a set of textual units is compared extends to the end of the text.

The first step51of the second alternate method is receiving text. The text includes a number of sets of textual units, where each set of textual units includes a number of textual units.

The second step52of the second alternate method is identifying the sets of textual units in the text.

The third step53of the second alternate method is selecting a first set of textual units from the text.

The fourth step54of the second alternate method is selecting a second set of textual units from the text.

The fifth step55of the second alternate method is identifying each unique textual unit in the first set of textual units.

The sixth step56of the second alternate method is identifying each unique textual unit in the second set of textual units.

The seventh step57of the second alternate method is determining how many textual units are shared between the results of the fifth step55and the sixth step56.

The eighth step58of the second alternate method is selecting a third set of textual units from the text, where the third set of textual units is between the first and second sets of textual units.

The ninth step59of the second alternate method is identifying each unique textual unit in the third set of textual units.

The tenth step60of the second alternate method is identifying each unique textual unit in the text.

The eleventh step61of the second alternate method is determining the frequency of occurrence of each unique textual unit in the third set of textual units.

The twelfth step62of the second alternate method is determining the frequency of occurrence of each unique textual unit in the text.

The thirteenth step63of the second alternate method is determining the proximity of the results of the eleventh step61and the twelfth step62.

The fourteenth step64of the second alternate method is selecting a fifth set of textual units from the text, where the fifth set of textual units is contiguous with the second set of textual units.

The fifteenth step65of the second alternate method is identifying each unique textual unit in the fifth set of textual units.

The sixteenth step66of the second alternate method is determining the frequency of occurrence of each unique textual unit in the fifth set of textual units.

The seventeenth step67of the second alternate method is determining the proximity of the results of the twelfth step62and the sixteenth step66.

The eighteenth step68of the second alternate method is combining the results of the seventh step57, the thirteenth step63, and the seventeenth step67.

The nineteenth step69of the second alternate method is returning to the fourth step54if additional processing is desired. Otherwise, proceeding to the twentieth step70.

The twentieth step70of the second alternate method is assigning the highest result of the fourteenth step64to the first set of textual units.

The twenty-first step71of the second alternate method is returning to the third step53if additional processing is desired. Otherwise, proceeding to the twenty-second step72.

The twenty-second, and last, step72of the second alternate method is selecting a user-definable number of first set of textual units selected in the third step53according to the scores assigned thereto as the summary of the text.

Some textual units (e.g., words) in the sets of textual units (e.g., sentences) of a text may deserve greater weight than other textual units. A third alternate embodiment of the present invention operates under two premises regarding textual units. The first premise is that high scoring sets of textual units are marked by the presence of certain textual units. The second premise is that a textual unit is important only if it occurs often in many high-scoring sets of textual units. The second premise implies that a textual unit is important, and deserves greater weight, only if it helps to distinguish high-scoring sets of textual units from low-scoring sets of textual units. The present invention is able to determine the weights of textual units by relying solely on the text itself and does not require the use of any information external to the text.FIG. 4is a list of steps of a third alternate embodiment of the present invention that gives weights to the textual units and uses the same to best summarize text.

The first step81of the third alternate method is receiving the text. The text includes a number of sets of textual units (e.g., sentences), where each set of textual units includes a number of contiguous textual units (e.g., words).

The second step82of the third alternate method is identifying the sets of textual units in the text.

The third step83of the third alternate method is identifying each unique textual unit in the text.

The fourth step84of the third alternate method is assigning a user-definable weight to each textual unit identified in the third step83. If a particular topic is of interest, the words associated with the topic may be assigned a greater weight than those that are not associated with the topic.

The fifth step85of the third alternate method is selecting a first set of textual units from the text.

The sixth step86of the third alternate method is selecting a second set of textual units from the text.

The seventh step87of the third alternate method is identifying each unique textual unit in the first set of textual units.

The eighth step88of the third alternate method is identifying each unique textual unit in the second set of textual units.

The ninth step89of the third alternate method is summing the weights of the textual units that are shared between the results of the seventh step87and the eighth step88.

The tenth step90of the third alternate method is selecting a third set of textual units from the text, where the third set of textual units is between the first and second set of textual units.

The eleventh step91of the third alternate method is identifying each unique term in the third set of textual units.

The twelfth step92of the third alternate method is determining the frequency of occurrence of each unique textual unit in the third set of textual units.

The thirteenth step93of the third alternate method is determining the frequency of occurrence of each unique textual unit in the text.

The fourteenth step94of the third alternate method is determining the proximity of the results of the twelfth step92and the thirteenth step93.

The fifteenth step95of the third alternate method is calculating a score for the first set of textual units with respect to the second set of textual units as a function of the results of the ninth step89and the fourteenth step94.

The sixteenth step96of the third alternate method is returning to the sixth step86if additional processing is desired. Otherwise, proceeding to the seventeenth step97.

The seventeenth step97of the third alternate method is assigning the highest result of the fifteenth step95to the first set of textual units.

The eighteenth step98of the third alternate method is returning to the fifth step85if additional processing is desired. Otherwise, proceeding to the nineteenth step99.

The nineteenth step99of the third alternate method is selecting one of the unique textual units in the text.

The twentieth step100of the third alternate method is identifying, for the unique textual unit selected in the nineteenth step99, each set of textual units in the text in which the selected unique textual unit appears for which a score was calculated, the score corresponding to each identified set of textual units, and the length of each identified set of textual units.

The twenty-first step101of the third alternate method is summing the scores identified in the twentieth step100.

The twenty-second step102of the third alternate method is recalculating the weight of the unique textual unit selected in the nineteenth step99as the combination of the result of the twenty-first step101and the lengths and the scores identified in the twentieth step100. In a variation of the third alternate embodiment, textual units having a weight below a user-definable weight are identified as stop words. Stop words are then removed from the text to improve the performance and quality of the method. In yet another variation of the third alternate embodiment, textual units having a weight greater than a user-definable weight are identified as key words. Key words may be returned as a key-word summary of the text.

The twenty-third step103of the third alternate method is returning to the nineteenth step99if additional unique textual units are desired to be weighted. Otherwise, proceeding to the twenty-fourth step104.

If additional processing is desired, the twenty-fourth step104of the third alternate method is returning to the fifth step85. Otherwise, proceed to the twenty-fifth step105.

The twenty-fifth step105of the third alternate method is assigning the highest result of the fifteenth step95to the first set of textual units.

The twenty-sixth step106of the third alternate method is returning to the fifth step85if additional processing is desired. Otherwise, proceeding to the twenty-seventh step107.

The twenty-seventh, and last, step107of the third alternate method is selecting a user-definable number of first sets of textual units selected in the fifth step85according to the scores assigned thereto as the summary of the text.