Intelligent Document Processing for Education Quality Assessment Reports

bqa · Education · 2025 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Education quality-assurance report review

BQA needed to review self-evaluation reports and supporting evidence from education and training institutions more efficiently. Manual review was slow, resource-intensive, and prone to incomplete submissions, missing evidence, and follow-up loops. The proof of concept tested whether AWS document processing and LLMs could extract, summarize, and assess evidence against BQA standards while preserving structured reviewer-facing output.

Constraints:

Architecture

BQA and AWS built a serverless IDP proof of concept using S3, SQS, Lambda, Textract, SageMaker JumpStart, Meta Llama, DynamoDB, Amazon Bedrock, and Amazon Titan Text Express. Documents are uploaded to S3, SQS decouples processing stages, Lambda functions invoke Textract for text extraction, extracted text is queued for summarization, a SageMaker JumpStart Meta Llama model summarizes content and compares extracted text to BQA standards, and DynamoDB stores summaries and assessment results. On request, a Bedrock Lambda invokes Titan Text Express with a carefully engineered rubric prompt to generate evaluation summaries and compliance comments.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  S3_document_bucket["S3 document bucket"] --> S3_event_notification["S3 event notification"]
  S3_event_notification --> Initial_SQS_queue["Initial SQS queue"]
  Initial_SQS_queue --> Textract_extraction_Lambda["Textract extraction Lambda"]
  Textract_extraction_Lambda --> Amazon_Textract["Amazon Textract"]
  Textract_extraction_Lambda --> Extracted_text_SQS_queue["Extracted text SQS queue"]
  Extracted_text_SQS_queue --> Summarization_Lambda["Summarization Lambda"]
  Extracted_text_SQS_queue --> Assessment_Lambda["Assessment Lambda"]
  Summarization_Lambda --> SageMaker_JumpStart_Llama["SageMaker JumpStart Llama"]
  Assessment_Lambda --> SageMaker_JumpStart_Llama
  SageMaker_JumpStart_Llama --> DynamoDB_results_table["DynamoDB results table"]
  Assessment_Lambda --> DynamoDB_results_table
  DynamoDB_results_table --> InvokeBedrock_Lambda["InvokeBedrock Lambda"]
  InvokeBedrock_Lambda --> Prompt_template["Prompt template"]
  Prompt_template --> Amazon_Titan_Text_Express["Amazon Titan Text Express"]
  Amazon_Titan_Text_Express --> Reviewer_facing_output["Reviewer-facing output"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
S3 document bucket Stores uploaded self-evaluation reports, evidence, and related materials. S3 event notification, Textract extraction Lambda
S3 event notification Triggers downstream processing when a file is uploaded. S3 document bucket, Initial SQS queue
Initial SQS queue Buffers uploaded files for reliable, decoupled text extraction. S3 event notification, Textract extraction Lambda
Textract extraction Lambda Consumes file events and calls Amazon Textract to extract text from documents. Initial SQS queue, Amazon Textract, Extracted text SQS queue
Amazon Textract OCR and structured text extraction service for submitted documents. Textract extraction Lambda
Extracted text SQS queue Buffers extracted text for summarization and assessment stages. Textract extraction Lambda, Summarization Lambda, Assessment Lambda
Summarization Lambda Sends extracted text to SageMaker JumpStart for concise summarization. Extracted text SQS queue, SageMaker JumpStart Llama
SageMaker JumpStart Llama Meta Llama text generation model deployed for summarizing content. Summarization Lambda, Assessment Lambda, DynamoDB results table
Assessment Lambda Compares extracted text against BQA standards for compliance, quality, and relevant metrics. Extracted text SQS queue, SageMaker JumpStart Llama, DynamoDB results table
DynamoDB results table Stores summarized data and assessment results. SageMaker JumpStart Llama, Assessment Lambda, InvokeBedrock Lambda
InvokeBedrock Lambda Constructs evaluation prompts and invokes Amazon Bedrock on request. DynamoDB results table, Prompt template, Amazon Titan Text Express
Prompt template Injects indicator name, submitted evidence, rubric criteria, scoring instructions, and response-format constraints. InvokeBedrock Lambda, Amazon Titan Text Express
Amazon Titan Text Express Bedrock-hosted model used to generate evaluation responses and compliance comments. InvokeBedrock Lambda, Reviewer-facing output
Reviewer-facing output Summaries, compliance comments, scores, recommendations, and supporting evidence for BQA reviewers. Amazon Titan Text Express

Data flow

Relevant documents are stored in S3. An S3 event triggers an SQS queue, and a Lambda function consumes the queue to run Textract over each file. Extracted text is placed onto another SQS queue. A summarization Lambda sends the text to SageMaker JumpStart, where Meta Llama summarizes it. In parallel, an assessment Lambda compares extracted text against BQA standards for compliance and quality. DynamoDB stores summarized data and assessment results. When reviewers request generative feedback, another Lambda calls Amazon Bedrock with Titan Text Express and a structured prompt containing indicator names, submitted evidence, rubric comments, scoring instructions, and output constraints.

3 supporting quotes
“Documents are uploaded to Amazon S3, which triggers event notifications sent to Amazon SQS queues.”summary, stated
“The text extraction AWS Lambda function is invoked by the SQS queue, processing each queued file and using Amazon Textract”article, stated
“This function sends a request to SageMaker JumpStart, where a Meta Llama text generation model is deployed to summarize the content based on the provided prompt.”article, stated

Why this architecture

BQA's process needs a decoupled document pipeline because submissions can be long, multimodal, and variable in processing cost. S3 and SQS buffer ingestion; Lambda and Textract extract text; SageMaker JumpStart handles summarization and standards comparisons; DynamoDB stores intermediate results; and Bedrock/Titan generates reviewer-facing comments from a strict rubric prompt. The prompt replaces model fine-tuning by embedding evidence, rubric criteria, edge-case handling, scoring, and formatting into each evaluation request.

3 supporting quotes
“Amazon SQS serves as a buffer, enabling the different components to send and receive messages in a reliable manner without being directly coupled”article, stated
“Evidence submission – Present the evidence submitted by the institution under the relevant indicator, providing the model with the necessary context for evaluation”article, stated
“By embedding these standards directly in the prompt, the system doesn't require fine-tuning the model on BQA-specific standards.”summary, stated

Models used: Amazon Titan Text Express · Meta Llama text generation model · Amazon Textract OCR · foundation models through Amazon Bedrock

Scale

Alternatives considered (roads not taken)

Manual review and follow-up

Rejected because: Manual review was time-consuming, resource-intensive, and slowed the review process when submissions were incomplete or unsupported.

“The process required dedicating significant time and resources to review the submissions manually and follow up with institutions”article, stated
“resulting in slowing down the overall review process.”article, stated

Directly couple upload processing stages

Rejected because: SQS buffering improves scalability and fault tolerance by decoupling components.

“Amazon SQS serves as a buffer, enabling the different components to send and receive messages in a reliable manner without being directly coupled”article, stated
“enhancing scalability and fault tolerance of the system.”article, stated

Fine-tune a BQA-specific standards model

Rejected because: The PoC embeds rubric standards directly in the prompt so it can evaluate against criteria without fine-tuning.

“By embedding these standards directly in the prompt, the system doesn't require fine-tuning the model on BQA-specific standards.”summary, stated

Use one model for all generation tasks

Rejected because: The architecture uses Meta Llama on SageMaker JumpStart for summarization and Titan Text Express on Bedrock for evaluation comments.

“where a Meta Llama text generation model is deployed to summarize the content based on the provided prompt.”article, stated
“Amazon Titan Text Express model will then generate the evaluation response based on the provided prompt instructions”article, stated

Patterns

async-message-orchestration (workflow)

S3 events and SQS queues decouple ingestion, extraction, summarization, and assessment stages.

“An event notification is sent to an Amazon Simple Queue Service (Amazon SQS) queue”article, stated
“Amazon SQS serves as a buffer, enabling the different components to send and receive messages in a reliable manner without being directly coupled”article, stated

tool-use-orchestration (workflow)

Lambda functions orchestrate Textract, SageMaker JumpStart, DynamoDB, and Bedrock calls across the document-processing pipeline.

“The text extraction AWS Lambda function is invoked by the SQS queue”article, stated
“Upon request, the InvokeBedrock Lambda function invokes Amazon Bedrock to generate generative AI summaries and comments.”article, stated

structured-output-contract (interface)

The prompt constrains output to bullet points, three compliance score classes, direct evidence, and a 100-word limit.

“Choose one from the below compliance score based on evidence submitted: 1. Non-compliant: The comment does not meet the criteria or standards.”article, stated
“Write your response in concise bullet points, focusing strictly on relevant analysis and evidence. LIMIT YOUR RESPONSE TO 100 WORDS ONLY.”article, stated

model-routing (modeling)

The PoC uses Meta Llama through SageMaker JumpStart for summarization and Titan Text Express through Bedrock for evaluation responses.

“This function sends a request to SageMaker JumpStart, where a Meta Llama text generation model is deployed to summarize the content”article, stated
“Amazon Titan Text Express model will then generate the evaluation response based on the provided prompt instructions”article, stated

eval-driven-development (quality)

The prompt encodes rubric criteria, scoring instructions, direct evidence citation, and deterministic model parameters for consistent reviewer-facing evaluation.

3 supporting quotes
“Outline the specific criteria the evidence should be assessed against”article, stated
“Assign a score from 1–5 for each comment, citing evidence directly from the content”article, stated
“textGenerationConfig: { maxTokenCount: 4096, stopSequences: [], temperature: 0, topP: 0.1, },”article, stated

human-in-the-loop-gate (workflow)

Generated summaries and compliance comments support BQA reviewers rather than replacing the authority's review function.

“allowing BQA reviewers to quickly analyze and comprehend the most pertinent information”article, stated
“empowering reviewers to effectively evaluate submissions against established standards and guidelines”article, stated

Tradeoffs

Use prompt-embedded standards instead of fine-tuning.

Chose rubric criteria and evidence supplied dynamically in the prompt over fine-tuning a model on BQA-specific standards.

Rationale: The PoC can evaluate against standards without maintaining a fine-tuned domain model.

“By embedding these standards directly in the prompt, the system doesn't require fine-tuning the model on BQA-specific standards.”summary, stated

Use event-driven queues between stages.

Chose S3 notifications, SQS queues, and Lambda consumers over synchronous end-to-end document processing.

Rationale: Decoupling improves scalability and fault tolerance for variable-duration document workloads.

“Amazon SQS serves as a buffer, enabling the different components to send and receive messages in a reliable manner without being directly coupled”article, stated

Split summarization and evaluation across model paths.

Chose Meta Llama via SageMaker JumpStart for summarization and Titan Text Express via Bedrock for compliance comments over one model endpoint for every step.

Rationale: The architecture assigns separate model components to summarization, comparison, and reviewer-facing generation.

“where a Meta Llama text generation model is deployed to summarize the content based on the provided prompt.”article, stated
“Amazon Titan Text Express model will then generate the evaluation response based on the provided prompt instructions”article, stated

Constrain generation parameters for consistency.

Chose temperature 0 and topP 0.1 over creative or diverse sampling.

Rationale: Compliance assessment benefits from deterministic, focused outputs rather than varied prose.

“temperature: 0, topP: 0.1,”article, stated
“generate the evaluation response based on the provided prompt instructions, adhering to the specified format and guidelines.”article, stated

Gotchas (what bit them)

Submitted evidence often did not support institutional claims.

Root cause: Institutions provided incomplete, inaccurate, missing, or insufficient supporting material.

Resolution: The pipeline extracts evidence and compares it against standards so reviewers can detect gaps and request clarification.

“Institutions might provide incomplete or inaccurate information in the submitted reports and supporting evidence”article, stated
“The supporting material provided as evidence by institutions frequently did not substantiate the claims made in their reports”article, stated

Manual review created workflow bottlenecks.

Root cause: BQA staff had to manually inspect submissions and follow up with institutions for missing or inadequate material.

Resolution: Automated extraction, summarization, and compliance feedback are intended to reduce review time and follow-up friction.

“The process required dedicating significant time and resources to review the submissions manually and follow up with institutions”article, stated
“Real-time feedback, allowing institutions to make necessary adjustments promptly.”article, stated

Direct component coupling would reduce reliability under variable document workloads.

Root cause: Document processing can be slow and uneven, so upload, extraction, and generation stages need buffering.

Resolution: The architecture uses SQS between stages for reliable decoupling, scalability, and fault tolerance.

“Amazon SQS serves as a buffer, enabling the different components to send and receive messages in a reliable manner without being directly coupled”article, stated
“enhancing scalability and fault tolerance of the system.”article, stated

LLM output needed strict scoring and formatting controls.

Root cause: Free-form feedback would be hard for reviewers to consume consistently across submissions.

Resolution: The prompt enforces score categories, direct evidence citation, bullet points, and a 100-word limit.

“THE END OF THE RESPONSE THERE SHOULD BE EITHER SCORE: [SCORE: COMPLIANT OR NON-COMPLIANT OR COMPLIANT WITH RECOMMENDATION]”article, stated
“Write your response in concise bullet points, focusing strictly on relevant analysis and evidence.”article, stated

The case should not be overread as deployed production impact.

Root cause: The article explicitly describes the work as a proof of concept with anticipated success metrics.

Resolution: Treat the reported 70%/30% metrics as expected benefits from the PoC, not independently verified production outcomes.

“As part of the CIC program, BQA has built a proof of concept solution”article, stated
“Key success metrics anticipated include:”article, stated

Evaluation

The project is evaluated as a proof of concept with anticipated success metrics. The prompt-level evaluation contract includes rubric criteria, score classes, direct evidence citation, 1-5 scoring per comment, N/A handling for irrelevant evidence, 100-word output limits, and deterministic generation settings. Reported benefits are expected improvements, not confirmed production measurements.

Metrics: 70% accurate and standards-compliant self-evaluation reports · 30% evidence analysis time reduction · 30% operational cost reduction · score from 1-5 for each comment · Non-compliant / Compliant with recommendation / Compliant labels · 100-word response limit · temperature 0 · topP 0.1

3 supporting quotes
“Assign a score from 1–5 for each comment, citing evidence directly from the content”article, stated
“Faster turnaround times for generating 70% accurate and standards-compliant self-evaluation reports”article, stated
“allowing BQA reviewers to quickly analyze and comprehend the most pertinent information, reducing evidence analysis time by 30%.”article, stated

Outcomes

The article describes BQA's national education quality-assurance remit and a PoC architecture. Its numeric benefits are explicitly anticipated metrics rather than measured production outcomes.

3 supporting quotes
“As part of the CIC program, BQA has built a proof of concept solution”article, stated
“The implementation of Amazon Bedrock enabled institutions with transformative benefits.”article, stated
“the full code for this implementation is available in the following GitHub repo.”article, stated