Use Cases
Instructor powers structured data extraction across industries. Here's how teams are using it.
E-Commerce¶
Product Data Enrichment¶
Transform sparse product listings into rich, searchable data:
<?php
class ProductEnrichment {
public string $title;
public string $description;
/** @var string[] */
public array $keywords;
/** @var string[] */
public array $categories;
public string|null $brand;
public string|null $material;
/** @var string[] */
public array $useCases;
}
$enriched = (new StructuredOutput)
->withResponseClass(ProductEnrichment::class)
->withMessages("Blue cotton t-shirt, size M, machine washable")
->get();
Review Analysis¶
Extract structured insights from customer reviews:
<?php
class ReviewAnalysis {
public string $sentiment; // positive, negative, neutral
public float $rating; // inferred 1-5 scale
/** @var string[] */
public array $positiveAspects;
/** @var string[] */
public array $negativeAspects;
/** @var string[] */
public array $productMentions;
public bool $wouldRecommend;
}
Customer Support Triage¶
Route support tickets automatically:
<?php
class SupportTicket {
public string $category; // billing, technical, shipping, returns
public string $urgency; // low, medium, high, critical
public string $summary;
public string|null $orderId;
public string|null $productSku;
/** @var string[] */
public array $suggestedActions;
}
Healthcare¶
Medical Record Processing¶
Extract structured data from clinical notes:
<?php
class ClinicalNote {
public string $patientId;
public string $visitDate;
public string $chiefComplaint;
/** @var Diagnosis[] */
public array $diagnoses;
/** @var Medication[] */
public array $medications;
/** @var string[] */
public array $allergies;
public string|null $followUp;
}
class Diagnosis {
public string $condition;
public string $icdCode;
public string $severity;
}
class Medication {
public string $name;
public string $dosage;
public string $frequency;
}
Insurance Claim Processing¶
Parse and validate insurance claims:
<?php
class InsuranceClaim {
public string $claimId;
public string $patientName;
public string $dateOfService;
/** @var Procedure[] */
public array $procedures;
public float $totalAmount;
public string $providerNpi;
/** @var string[] */
public array $validationIssues;
}
Finance¶
Document Analysis¶
Extract key terms from financial documents:
<?php
class ContractAnalysis {
public string $documentType;
public string $effectiveDate;
public string|null $expirationDate;
/** @var Party[] */
public array $parties;
/** @var FinancialTerm[] */
public array $financialTerms;
/** @var string[] */
public array $obligations;
/** @var string[] */
public array $riskFactors;
}
class FinancialTerm {
public string $type; // payment, penalty, interest
public float $amount;
public string $currency;
public string|null $frequency;
}
Transaction Categorization¶
Classify and enrich transaction data:
<?php
class Transaction {
public string $merchantName;
public string $category; // food, transport, utilities, entertainment
public string $subcategory;
public bool $isRecurring;
public string|null $subscriptionService;
public bool $isTaxDeductible;
public string|null $taxCategory;
}
Real Estate¶
Property Listing Extraction¶
Parse unstructured property descriptions:
<?php
class PropertyListing {
public string $propertyType; // house, apartment, condo
public int $bedrooms;
public float $bathrooms;
public int $squareFeet;
public int|null $yearBuilt;
/** @var string[] */
public array $amenities;
public string|null $parkingType;
public bool|null $petFriendly;
public string|null $heatingType;
/** @var string[] */
public array $nearbyFeatures;
}
Contract Data Extraction¶
Pull key terms from lease agreements:
<?php
class LeaseAgreement {
public string $landlordName;
public string $tenantName;
public string $propertyAddress;
public float $monthlyRent;
public float $securityDeposit;
public string $leaseStart;
public string $leaseEnd;
/** @var string[] */
public array $includedUtilities;
/** @var string[] */
public array $restrictions;
public string|null $renewalTerms;
}
Recruitment¶
Resume Parsing¶
Extract structured candidate data:
<?php
class CandidateProfile {
public string $name;
public string $email;
public string|null $phone;
public string|null $location;
public string|null $linkedIn;
/** @var WorkExperience[] */
public array $experience;
/** @var Education[] */
public array $education;
/** @var string[] */
public array $skills;
/** @var string[] */
public array $certifications;
public int $yearsOfExperience;
}
class WorkExperience {
public string $company;
public string $title;
public string $startDate;
public string|null $endDate;
/** @var string[] */
public array $highlights;
}
Job Matching¶
Score candidate fit for positions:
<?php
class CandidateMatch {
public float $overallScore; // 0-100
/** @var SkillMatch[] */
public array $skillMatches;
/** @var string[] */
public array $strengths;
/** @var string[] */
public array $gaps;
public string $recommendation; // strong_yes, yes, maybe, no
public string $reasoning;
}
Manufacturing¶
Quality Control Reports¶
Structure inspection findings:
<?php
class QualityInspection {
public string $productId;
public string $batchNumber;
public string $inspectionDate;
public string $inspector;
public string $overallStatus; // pass, fail, conditional
/** @var Defect[] */
public array $defects;
/** @var Measurement[] */
public array $measurements;
/** @var string[] */
public array $correctiveActions;
}
class Defect {
public string $type;
public string $severity; // minor, major, critical
public string $location;
public string $description;
}
Maintenance Logs¶
Extract actionable maintenance data:
<?php
class MaintenanceRecord {
public string $equipmentId;
public string $equipmentName;
public string $maintenanceType; // preventive, corrective, emergency
public string $datePerformed;
public string $technician;
/** @var string[] */
public array $workPerformed;
/** @var Part[] */
public array $partsUsed;
public float $laborHours;
public string|null $nextScheduledMaintenance;
}
Education¶
Assignment Evaluation¶
Structure grading feedback:
<?php
class AssignmentEvaluation {
public float $score;
public string $grade;
/** @var RubricScore[] */
public array $rubricScores;
/** @var string[] */
public array $strengths;
/** @var string[] */
public array $areasForImprovement;
public string $overallFeedback;
/** @var string[] */
public array $suggestedResources;
}
class RubricScore {
public string $criterion;
public int $points;
public int $maxPoints;
public string $feedback;
}
Content Structuring¶
Convert educational content into structured formats:
<?php
class LessonPlan {
public string $subject;
public string $gradeLevel;
public string $topic;
/** @var string[] */
public array $learningObjectives;
/** @var Activity[] */
public array $activities;
/** @var string[] */
public array $materials;
public int $durationMinutes;
/** @var string[] */
public array $assessmentMethods;
}
Legal¶
Contract Review¶
Extract and flag key clauses:
<?php
class ContractReview {
public string $contractType;
/** @var Clause[] */
public array $keyClauses;
/** @var RiskItem[] */
public array $risks;
/** @var string[] */
public array $missingClauses;
/** @var string[] */
public array $unusualTerms;
public string $overallAssessment;
}
class Clause {
public string $type; // indemnification, limitation_of_liability, termination
public string $summary;
public string $fullText;
public string $favorability; // favorable, neutral, unfavorable
}
class RiskItem {
public string $description;
public string $severity; // low, medium, high
public string $recommendation;
}
Content & Media¶
Content Moderation¶
Analyze and classify user-generated content:
<?php
class ContentModeration {
public bool $isSafe;
/** @var string[] */
public array $flaggedCategories; // spam, hate_speech, adult, violence
public float $confidenceScore;
public string $reasoning;
public string $recommendedAction; // approve, review, reject
}
Article Summarization¶
Generate structured article summaries:
<?php
class ArticleSummary {
public string $headline;
public string $summary;
/** @var string[] */
public array $keyPoints;
/** @var string[] */
public array $topics;
/** @var Entity[] */
public array $entitiesMentioned;
public string $sentiment;
public int $readingTimeMinutes;
}
class Entity {
public string $name;
public string $type; // person, organization, location, product
public string|null $context;
}
Getting Started with Your Use Case¶
- Define your data model - Create PHP classes representing your target structure
- Add validation - Use Symfony constraints to ensure data quality
- Test with examples - Start with a few representative inputs
- Iterate on prompts - Use system messages to guide extraction
- Handle edge cases - Set appropriate retry limits
See the Cookbook for complete working examples of these patterns.