Automated Sports Commentary Generation using LLMs

wsc_sport · Media & Entertainment · 2023 · source Agentic: no · promotional bias: med · summary-only (no fetched source) · extracted with prompt 0.5.4 (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: Sports media automation

WSC Sport needed to produce narrated game recap videos quickly enough for post-game consumption while preserving sport-specific accuracy, video synchronization, and commentary variety across leagues and languages.

Constraints:

Architecture

WSC Sport combined its existing automated highlight generation with an LLM script generator called Roger, a text-to-speech commentator called John, and a translation layer. Structured event metadata supplies actions, ratings, statistics, players, teams, and special attributes to the LLM so the script generator does not have to infer facts. The team moved away from a zero-shot whole-recap prompt toward per-event generation, dynamic example retrieval, and chain-of-thought guardrail checks to reduce repetition, synchronization failures, and hallucinated sports claims.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  highlight-generator[Highlight generator] --> structured-event-metadata[Structured event metadata]
  structured-event-metadata --> roger-script-generator[Roger script generator]
  dynamic-example-selector[Dynamic example selector] --> roger-script-generator
  roger-script-generator --> guardrail-checker[Guardrail checker]
  guardrail-checker --> john-narration-engine[John narration engine]
  john-narration-engine --> translation-layer[Translation layer]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Highlight generator Identifies and ranks important moments from sports broadcasts. Structured event metadata, Roger script generator
Structured event metadata Carries event ratings, action types, statistics, players, teams, and attributes into prompting. Roger script generator, Guardrail checker
Roger script generator Generates sports commentary scripts from event metadata and dynamic prompt examples. Dynamic example selector, Guardrail checker, John narration engine
Dynamic example selector Selects few-shot examples by action type, game time, attributes, and statistics to reduce repetitive language. Roger script generator
Guardrail checker Uses chain-of-thought verification prompts to compare generated claims with structured event data. Roger script generator, John narration engine
John narration engine Converts approved script text into synchronized synthetic commentary audio. Translation layer
Translation layer Localizes generated commentary into multiple target languages. John narration engine

Data flow

The pipeline starts with broadcast event data and highlight selection. Highlight metadata and background context feed Roger for event-level script generation, dynamically selected examples guide wording, guardrail prompts check claims against event data, text-to-speech turns approved copy into narration, and translation produces localized versions.

4 supporting quotes
“Highlight Generation: WSC Sport's core technology automatically identifies and extracts key moments from sports broadcasts within minutes.”summary, stated
“Script Generation (Roger): The LLM-based component they internally call "Roger" takes all the event data and background knowledge to write coherent scripts.”summary, stated
“Audio Synthesis (John): The text-to-speech component they call "John" serves as the synthetic commentator. It must stay synchronized with the video content, know when to inject emotion and excitement, and produce natural-sounding narration that matches what's happening on screen.”summary, stated
“Translation Layer: An additional model handles translation to multiple languages including Spanish, French, Portuguese (Brazilian), Turkish, and Polish”summary, stated

Why this architecture

A pipeline architecture fit the problem because WSC already had structured highlight data, and each stage has a different failure mode: script quality, factual verification, narration timing, and localization. Per-event generation and dynamic examples trade whole-recap coherence for better length and synchronization control. Structured metadata reduces hallucination risk by giving the model facts explicitly.

3 supporting quotes
“This existing capability provides the foundation—the system already knows what events occurred and can rate their significance.”summary, stated
“Sequential Approach: They moved to processing each event in isolation, which provided better control but introduced new challenges.”summary, stated
“Rather than describing events in natural language and hoping the model extracts the right information, they explicitly provide structured data”summary, stated

Models used: LLM script generator · text-to-speech model · translation model

Scale

Alternatives considered (roads not taken)

Human-only narrated recap production

Rejected because: Manual production took hours of data collection, writing, recording, and quality assurance.

“Traditional production of such content requires human commentators who need to know all the game information”summary, stated
“a process that traditionally takes hours including data collection, script writing, studio recording, and quality assurance.”summary, stated

Zero-shot whole-script generation

Rejected because: A single prompt over all events made length and video synchronization hard to control.

“Their initial attempt was straightforward—feed all events with their details into the model and generate the complete script in one pass.”summary, stated
“Length control was nearly impossible—they couldn't control how verbosely each event was described”summary, stated

Static few-shot examples

Rejected because: The team needed examples matched to event type and context to reduce repetitive phrasing.

“To combat repetition and hallucinations, they built a system where the few-shot examples in the prompt are dynamically selected based on the current event being described.”summary, stated

Patterns

structured-output-contract (reliability)

The system feeds structured game-event facts to the script generator so sports facts are provided rather than inferred.

“they explicitly provide structured data: what the action was, what parameters applied, what happened after the action, any statistics”summary, stated

prompt-versioning (prompting)

The system uses sport-, league-, and event-aware prompt instructions and dynamically selected examples.

“the few-shot examples in the prompt are dynamically selected based on the current event being described.”summary, stated

guardrails-io-filtering (reliability)

Chain-of-thought verification prompts check generated assertions against actual event data before narration.

“They implemented a guardrailing process using Chain of Thought (CoT) prompting for detection.”summary, stated

model-routing (architecture)

Different model stages handle script generation, text-to-speech narration, and translation.

“The production pipeline consists of several key components working together”summary, implied

Tradeoffs

Generate commentary per event

Chose event-by-event script generation over one complete-script generation pass.

Rationale: Per-event generation improved control over length and synchronization but introduced context and repetition challenges.

“They moved to processing each event in isolation, which provided better control but introduced new challenges.”summary, stated

Prioritize script generation as the LLMOps bottleneck

Chose focus LLMOps effort on script quality over spread equal effort across TTS, translation, and video editing.

Rationale: The source identifies script generation as the critical quality bottleneck for the final recap.

“they identified script generation as the critical bottleneck. This is where they concentrated their LLMOps efforts”summary, stated

Gotchas (what bit them)

Whole-recap prompting broke synchronization with video.

Root cause: The model could describe one event too verbosely while the highlight video had already moved on.

Resolution: The team moved to event-level processing for better control.

“if one event was described with 2-3 sentences while the video had already moved to the next event, the narration would fall out of sync”summary, stated

Generated sports language became repetitive across a two-minute recap.

Root cause: Similar replay events triggered similar stock phrases.

Resolution: Dynamic few-shot selection varied examples by event attributes.

“every replay might trigger "let's take another look" which becomes grating to viewers.”summary, stated
“they retrieve relevant examples and perform random sampling from the matched pool. This significantly reduced repetitiveness in the output.”summary, stated

LLMs could invent or misstate sports facts.

Root cause: Models may rely on stale training data or infer unsupported events.

Resolution: Structured event metadata and CoT guardrail checks compare claims with actual event data.

“A player who was a rookie (first-year player) two years ago might still be described as a rookie by a model trained on older data”summary, stated
“If a "steal" is mentioned but the play action was actually a "two-pointer," the system identifies this discrepancy”summary, stated

Evaluation

The available summary describes qualitative guardrail checks and production deployment but does not provide error-rate metrics.

Metrics: production time reduction · hallucination checks · language coverage · production deployment

“The claimed reduction from 3-4 hours to 1-2 minutes is dramatic but likely represents best-case scenarios.”summary, stated
“the presentation doesn't provide metrics on error rates or human oversight requirements in production.”summary, stated

Outcomes

Summary-only evidence reports global operations, several major leagues, multiple languages, and post-game generation in minutes.

3 supporting quotes
“reduces production time from 3-4 hours to just 1-2 minutes”summary, stated
“currently deployed in production, visible in the NBA app with Spanish, French, and Portuguese commentary.”summary, stated
“Hallucinations: This was described as a particularly difficult problem.”summary, stated