I have a large collection of project manuals, each with a large number of pages. Each manual contains some form of summary paragraphs, although these are not necessarily similar in structure or format from one to the next. The rest of the manual generally contains a large amount of various information in relation to the project, and is not always relevant to the desired content to be extracted and summarized.

In theory-

paragraph 1 - Project Summary (Extract this)
paragraph 2 - Background info (ignore)
paragraph 3 - Background info (ignore)
paragraph 4 - Background info (ignore)
paragraph 5 - Project Requirements (extract this)

Is it possible to somehow selectively target paragraphs/ sentences within a document for extractive summarization, and if so, is possible to train a model with datasets containing full texts and their desired summarizations?

So far, I have tried general extractive summarization methods utilizing TF-IDF. However, due to the substantial amount of extraneous information within the document, critical text within the summary paragraphs is usually ignored. I've considered manually increasing word counts across various keywords, but I think this will still ignore relevant sentences and phrase within close proximity (same worry with binary classification of desired paragraphs/ sentences).

Can this be done, and is there a better approach than what I've been trying so far?


What you describe is a supervised problem, an unsupervised system cannot guess which parts of the documents are relevant for your purpose. In this option you need to annotate a sample of documents with a binary class, then train a system using features based on the context (for example titles of the parts).

But imho this depends how many documents you have: if it's less than a few hundreds, semi-manual annotation is going to be faster and give better results.

  • $\begingroup$ Thanks Erwan, after doing some testing, I think this is the gist of the approach we'll need to use. The current thought is to extract all paragraphs, lists and sections (which is surprisingly tedious to write the RegEx for) and then use some sort of binary classification to label as "In Summary" or "Not in Summary". I think that method is what you were getting at? $\endgroup$ – HtG Jun 27 '19 at 17:46
  • $\begingroup$ Yes exactly, instances should be "blocks of text" at the level of granularity needed for associating each of them with a label. $\endgroup$ – Erwan Jun 27 '19 at 18:29
  • $\begingroup$ Awesome, thanks Erwan! $\endgroup$ – HtG Jun 27 '19 at 18:51

What about splitting the text into different paragraphs and select only the important paragraphs based on the keywords or patterns and then apply the summarization techniques only on the extracted paragraphs.

  • $\begingroup$ Thanks nag, this is generally the approach we've decided to use. $\endgroup$ – HtG Jun 27 '19 at 17:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.