Text summarization works as a good toy problem, because it leads to two harder problems: 1. text extraction (how to distinguish content from non-content like ads) 2. q&a (given text and a question about the text, how can you produce an answer).
The SMMRY page points out some extra NLP-related grunt work in addition to the high-level steps you list, like:
>Associate words with their grammatical counterparts. (e.g. "city" and "cities")
>Detect which periods represent the end of a sentence. (e.g "Mr." does not).
[1] https://www.reddit.com/r/autotldr/comments/31b9fm/faq_autotl...
The method you described is a part of our algorithms but more steps are needed to make it give meaningful results and make sure it works on different kinds of articles.
Longer sentences had an inherent advantage, so I controlled for that by reducing sentence scores as a function of the sentence length.
You can improve contextual summarization by splitting the x sentences into x/n buckets. Then based on the percent of article to be summarized (eg return 60% of the article), pick the sentences ranked in the top 60% of each bucket. Then do this for all the x sentences, ie top 60% across buckets, and combine them together.
This prevents the bias rising from picking a sentence with a lot of critical words.
... So, don't do what the late Thag Simmons did...
Maybe final paragraphs should be more highly weighted? That's often where the conclusion is.
1. Split the text into words
2. Rank each word based on how many times it appears in the text. For example, a word that appears 10 times gets 10 points, and so on.
3. Rank sentences based on the sum of the scores of each word inside them.
4. Return the top N sentences by score (N is up to the user), in the order in which they appear in the text.
For extra fancyness, exclude the most common articles and prepositions and give 2 points to proper nouns.
Works surprisingly well.