Summarization

Text Summarization with LLMs

Summarization Approaches

Extractive Summarization
Select and combine important sentences from source text.
- Preserves original wording
- May miss key points between sentences
- More faithful to source

Abstractive Summarization
Generate new text that captures the meaning.
- More natural, readable output
- Can paraphrase and synthesize
- Risk of hallucination
- LLMs excel at this approach

Summarization Techniques

Simple Prompting

summary = llm.generate(f"""
Summarize the following in 3 sentences:

{long_text}
""")

Hierarchical Summarization
For very long documents:

[Document]
     |
     v
[Chunk 1] [Chunk 2] [Chunk 3] [Chunk 4]
     |         |         |         |
     v         v         v         v
[Summary1] [Summary2] [Summary3] [Summary4]
     |_________|_________|_________|
                 |
                 v
          [Final Summary]

Map-Reduce Pattern

def map_reduce_summarize(documents: list) -> str:
    # Map: Summarize each document
    summaries = [llm.summarize(doc) for doc in documents]

    # Reduce: Combine summaries
    combined = llm.generate(f"Combine these summaries: {summaries}")

    return combined

Prompt Techniques

Length Control

Summarize in exactly 100 words.
Provide a 1-paragraph summary.
Create a 3-bullet summary.

Focus Control

Summarize, focusing on financial information.
Summarize the key technical details.
Extract the main action items.

Format Control

Summarize as bullet points.
Summarize in a table with columns: Topic, Key Point, Details.
Provide a TL;DR followed by detailed summary.

Use Cases
| Use Case | Approach |
|----------|----------|
| News articles | Concise abstractive |
| Research papers | Structured: abstract, methods, findings |
| Meeting notes | Action items + discussion summary |
| Code documentation | What it does, key functions |

Quality Considerations
- Check for hallucinated facts
- Verify key information preserved
- Consider multiple summarizations for important docs
- Use human evaluation for quality-critical applications

Take summarization further

Ask the copilot about this term, or have our engineers assess it against your process.