The guide to tackle with the Text Summarization.
To take the appropriate action, we need latest information.
But on the contrary, the amount of the information is more and more growing. There are many categories of information (economy, sports, health, technology...) and also there are many sources (news site, blog, SNS...).
from THE HISTORICAL GROWTH OF DATA: WHY WE NEED A FASTER TRANSFER SOLUTION FOR LARGE DATA SETS
So to make an automatically & accurate summaries feature will helps us to understand the topics and shorten the time to do it.
Basically, we can regard the "summarization" as the "function" its input is document and output is summary. And its input & output type helps us to categorize the multiple summarization tasks.
We can take the query to add the viewpoint of summarization.
This type of summarization is called "Query focused summarization" on the contrary to the "Generic summarization". Especially, a type that set the viewpoint to the "difference" (update) is called "Update summarization".
And the "summary" itself has some variety.
Discussion
Generic summarization is really useful? Sparck Jones argued that summarization should not be done in a vacuum, but rather done according to the purpose of summarization (2). She argued that generic summarization is not necessary and in fact, wrong-headed. On the other hand, the headlines and 3-line summaries in the newspaper helps us.
There are mainly two ways to make the summary. Extractive and Abstractive.
Now I show the some categories of extractive summarization.
The graph base model makes the graph from the document, then summarize it by considering the relation between the nodes (text-unit). TextRank is the typical graph based method.
TextRank is based on PageRank algorithm that is used on Google Search Engine. Its base concept is "The linked page is good, much more if it from many linked page". The links between the pages are expressed by matrix (like Round-robin table). We can convert this matrix to transition probability matrix by dividing the sum of links in each page. And the page surfer moves the page according to this matrix.
Page Rank Algorithm
TextRank regards words or sentences as pages on the PageRank. So when you use the TextRank, following points are important.
Then, solve the graph by PageRank algorithm. LexRank uses the sentence as node and the similarity as relation/weight (similarity is calculated by IDF-modified Cosine similarity).
If you want to use TextRank, following tools support TextRank.
The feature base model extracts the features of sentence, then evaluate its importance. Here is the representative research.
Sentence Extraction Based Single Document Summarization
In this paper, following features are used.
...etc. All the features are accumulated as the score.

The No.of coreferences are the number of pronouns to previous sentence. It is simply calculated by counting the pronouns occurred in the first half of the sentence. So the Score represents the reference to the previous sentence.
Now we can evaluate each sentences. Next is selecting the sentence to avoid the duplicate of the information. In this paper, the same word between the new and selected sentence is considered. And the refinement to connect the selected sentences are executed.
Luhn’s Algorithm is also feature base. It evaluates the "significance" of the word that is calculated from the frequency.
You can try feature base text summarization by TextTeaser (PyTeaser is available for Python user).
Of course, you can use Deep learning model to extract sentence feature. SummaRuNNer is a representative model for the extractive summarization by DNN.

1).1 & 2.The topic base model calculates the topic of the document and evaluate each sentences by what kinds of topics are included (the "main" topic is highly evaluated when scoring the sentence).
Latent Semantic Analysis (LSA) is usually used to detect the topic. It's based on SVD (Singular Value Decomposition).
The following paper is good starting point to overview the LSA(Topic) base summarization.
Text summarization using Latent Semantic Analysis

The simple LSA base sentence selection
There are many variations the way to calculate & select the sentence according to the SVD value. To select the sentence by the topic(=V, eigenvectors/principal axes) and its score is most simple method.
If you want to use LSA, gensim supports it.
The grammer base model parses the text and constructs a grammatical structure, then select/reorder substructures.
Title Generation with Quasi-Synchronous Grammar

This model can produce meaningful "paraphrase" based on the grammatical structure. For example, above image shows the phrase "in the disputed territory of East Timor" is converted to "in East Timor". To analyze grammatical structure is useful to reconstruct the phrase with keeping its meaning.
The main theme of extractive summarization by Neural Network is following two point.
1 is encoding problem, 2 is objective function problem. These are summarized at A Survey on Neural Network-Based Summarization Methods.

Extractive & Abstractive is not conflicting ways. You can use both to generate the summary. And there are a way collaborate with human.
The beginning of the abstractive summarization, Banko et al. (2000) suggest to use machine translatation model to abstractive summarization model. As like the machine translation model converts a source language text to a target one, the summarization system converts a source document to a target summary.
Nowadays, encoder-decoder model that is one of the neural network models is mainly used in machine translation. So this model is also widely used in abstractive summarization model. The summarization model that used encoder-decoder model first achieved state-of-the-art on the two sentence-level summarization dataset, DUC-2004 and Gigaword.
If you want to try the encoder-decoder summarization model, tensorflow offers basic model.
The encoder-decoder model is composed of encoder and decoder like its name. The encoder converts an input document to a latent representation (vector), and the decoder generates a summary by using it.

But the encoder-decoder model is not the silver bullet. There are many remaining issues are there.
A Neural Attention Model for Sentence Summarization
Abstractive Text Summarization Using Sequence-to-Sequence RNNs and Beyond
Not only one side of extractive or abstractive, combine them to generate summaries.
Combine the extractive and abstractive model by switching probability.
Get To The Point: Summarization with Pointer-Generator Networks
p_gen probability).p_gen and (1 - p_gen) weight (please refer the following picture).
A Deep Reinforced Model for Abstractive Summarization
from Your tldr by an ai: a deep reinforced model for abstractive summarization
The pointer-generator network is theoretically beautiful, but you have to pay attention to its behavior.
Weber et al. (2018) report that a pointer-generator model heavily depends on a "copy" (pointer) at test time.
Weber et al. (2018) use a penalty term for pointer/generator mixture rate to overcome this phenomenon and control the abstractive.
Use extractive model to select the sentence from documents, then adopt the abstractive model to selected sentences.
Generating Wikipedia by Summarizing Long Sequences
This model combines query focused extractive model and abstractive model. Extract sentence and calculate the relevance score of each word according to the query, then input it to pre-trained abstractive model.
Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting
The extractor is reinforcement-learning agent, and the abstractor rewrites selected sentence.
It'll be useful to reuse the learned model to make a new summarization model. That's called "Transfer Learning". It enables making the model by few data and short time. This feature leads to domain-specific summarization by a few data/short time.
BERT is the representative model that enables getting good representation of sentences. Several methods are proposed to create summaries by BERT.
Fine-tune BERT for Extractive Summarization
Pretraining-Based Natural Language Generation for Text Summarization
Rouge-N is a word N-gram count that matche between the model and the gold summary. It is similart to the "recall" because it evaluates the covering rate of gold summary, and not consider the not included n-gram in it.
ROUGE-1 and ROUGE-2 is usually used. The ROUGE-1 means word base, so its order is not regarded. So "apple pen" and "pen apple" is same ROUGE-1 score. But if ROUGE-2, "apple pen" becomes single entity so "apple pen" and "pen apple" does not match. If you increase the ROUGE-"N" count, finally evaluates completely match or not.
BLEU is a modified form of "precision", that used in machine translation evaluation usually. BLEU is basically calculated on the n-gram co-occerance between the generated summary and the gold (You don't need to specify the "n" unlike ROUGE).
stories are commonly used as summarization dataset (you can download preprocessed dataset from here).gensim.summarization offers TextRank summarizationgensim models.lsimodel offers topic model687 followers · starred Apr 2019
381 followers · starred Aug 2019
848 followers · starred Jan 2021
67 followers · starred Apr 2025
The guide to tackle with the Text Summarization.
To take the appropriate action, we need latest information.
But on the contrary, the amount of the information is more and more growing. There are many categories of information (economy, sports, health, technology...) and also there are many sources (news site, blog, SNS...).
from THE HISTORICAL GROWTH OF DATA: WHY WE NEED A FASTER TRANSFER SOLUTION FOR LARGE DATA SETS
So to make an automatically & accurate summaries feature will helps us to understand the topics and shorten the time to do it.
Basically, we can regard the "summarization" as the "function" its input is document and output is summary. And its input & output type helps us to categorize the multiple summarization tasks.
We can take the query to add the viewpoint of summarization.
This type of summarization is called "Query focused summarization" on the contrary to the "Generic summarization". Especially, a type that set the viewpoint to the "difference" (update) is called "Update summarization".
And the "summary" itself has some variety.
Discussion
Generic summarization is really useful? Sparck Jones argued that summarization should not be done in a vacuum, but rather done according to the purpose of summarization (2). She argued that generic summarization is not necessary and in fact, wrong-headed. On the other hand, the headlines and 3-line summaries in the newspaper helps us.
There are mainly two ways to make the summary. Extractive and Abstractive.
Now I show the some categories of extractive summarization.
The graph base model makes the graph from the document, then summarize it by considering the relation between the nodes (text-unit). TextRank is the typical graph based method.
TextRank is based on PageRank algorithm that is used on Google Search Engine. Its base concept is "The linked page is good, much more if it from many linked page". The links between the pages are expressed by matrix (like Round-robin table). We can convert this matrix to transition probability matrix by dividing the sum of links in each page. And the page surfer moves the page according to this matrix.
Page Rank Algorithm
TextRank regards words or sentences as pages on the PageRank. So when you use the TextRank, following points are important.
Then, solve the graph by PageRank algorithm. LexRank uses the sentence as node and the similarity as relation/weight (similarity is calculated by IDF-modified Cosine similarity).
If you want to use TextRank, following tools support TextRank.
The feature base model extracts the features of sentence, then evaluate its importance. Here is the representative research.
Sentence Extraction Based Single Document Summarization
In this paper, following features are used.
...etc. All the features are accumulated as the score.

The No.of coreferences are the number of pronouns to previous sentence. It is simply calculated by counting the pronouns occurred in the first half of the sentence. So the Score represents the reference to the previous sentence.
Now we can evaluate each sentences. Next is selecting the sentence to avoid the duplicate of the information. In this paper, the same word between the new and selected sentence is considered. And the refinement to connect the selected sentences are executed.
Luhn’s Algorithm is also feature base. It evaluates the "significance" of the word that is calculated from the frequency.
You can try feature base text summarization by TextTeaser (PyTeaser is available for Python user).
Of course, you can use Deep learning model to extract sentence feature. SummaRuNNer is a representative model for the extractive summarization by DNN.

1).1 & 2.The topic base model calculates the topic of the document and evaluate each sentences by what kinds of topics are included (the "main" topic is highly evaluated when scoring the sentence).
Latent Semantic Analysis (LSA) is usually used to detect the topic. It's based on SVD (Singular Value Decomposition).
The following paper is good starting point to overview the LSA(Topic) base summarization.
Text summarization using Latent Semantic Analysis

The simple LSA base sentence selection
There are many variations the way to calculate & select the sentence according to the SVD value. To select the sentence by the topic(=V, eigenvectors/principal axes) and its score is most simple method.
If you want to use LSA, gensim supports it.
The grammer base model parses the text and constructs a grammatical structure, then select/reorder substructures.
Title Generation with Quasi-Synchronous Grammar

This model can produce meaningful "paraphrase" based on the grammatical structure. For example, above image shows the phrase "in the disputed territory of East Timor" is converted to "in East Timor". To analyze grammatical structure is useful to reconstruct the phrase with keeping its meaning.
The main theme of extractive summarization by Neural Network is following two point.
1 is encoding problem, 2 is objective function problem. These are summarized at A Survey on Neural Network-Based Summarization Methods.

Extractive & Abstractive is not conflicting ways. You can use both to generate the summary. And there are a way collaborate with human.
The beginning of the abstractive summarization, Banko et al. (2000) suggest to use machine translatation model to abstractive summarization model. As like the machine translation model converts a source language text to a target one, the summarization system converts a source document to a target summary.
Nowadays, encoder-decoder model that is one of the neural network models is mainly used in machine translation. So this model is also widely used in abstractive summarization model. The summarization model that used encoder-decoder model first achieved state-of-the-art on the two sentence-level summarization dataset, DUC-2004 and Gigaword.
If you want to try the encoder-decoder summarization model, tensorflow offers basic model.
The encoder-decoder model is composed of encoder and decoder like its name. The encoder converts an input document to a latent representation (vector), and the decoder generates a summary by using it.

But the encoder-decoder model is not the silver bullet. There are many remaining issues are there.
A Neural Attention Model for Sentence Summarization
Abstractive Text Summarization Using Sequence-to-Sequence RNNs and Beyond
Not only one side of extractive or abstractive, combine them to generate summaries.
Combine the extractive and abstractive model by switching probability.
Get To The Point: Summarization with Pointer-Generator Networks
p_gen probability).p_gen and (1 - p_gen) weight (please refer the following picture).
A Deep Reinforced Model for Abstractive Summarization
from Your tldr by an ai: a deep reinforced model for abstractive summarization
The pointer-generator network is theoretically beautiful, but you have to pay attention to its behavior.
Weber et al. (2018) report that a pointer-generator model heavily depends on a "copy" (pointer) at test time.
Weber et al. (2018) use a penalty term for pointer/generator mixture rate to overcome this phenomenon and control the abstractive.
Use extractive model to select the sentence from documents, then adopt the abstractive model to selected sentences.
Generating Wikipedia by Summarizing Long Sequences
This model combines query focused extractive model and abstractive model. Extract sentence and calculate the relevance score of each word according to the query, then input it to pre-trained abstractive model.
Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting
The extractor is reinforcement-learning agent, and the abstractor rewrites selected sentence.
It'll be useful to reuse the learned model to make a new summarization model. That's called "Transfer Learning". It enables making the model by few data and short time. This feature leads to domain-specific summarization by a few data/short time.
BERT is the representative model that enables getting good representation of sentences. Several methods are proposed to create summaries by BERT.
Fine-tune BERT for Extractive Summarization
Pretraining-Based Natural Language Generation for Text Summarization
Rouge-N is a word N-gram count that matche between the model and the gold summary. It is similart to the "recall" because it evaluates the covering rate of gold summary, and not consider the not included n-gram in it.
ROUGE-1 and ROUGE-2 is usually used. The ROUGE-1 means word base, so its order is not regarded. So "apple pen" and "pen apple" is same ROUGE-1 score. But if ROUGE-2, "apple pen" becomes single entity so "apple pen" and "pen apple" does not match. If you increase the ROUGE-"N" count, finally evaluates completely match or not.
BLEU is a modified form of "precision", that used in machine translation evaluation usually. BLEU is basically calculated on the n-gram co-occerance between the generated summary and the gold (You don't need to specify the "n" unlike ROUGE).
stories are commonly used as summarization dataset (you can download preprocessed dataset from here).gensim.summarization offers TextRank summarizationgensim models.lsimodel offers topic model687 followers · starred Apr 2019
381 followers · starred Aug 2019
848 followers · starred Jan 2021
67 followers · starred Apr 2025