ContentRoofLab

LabNote 02Evaluation

Balanced benchmarks hid a 95% error rate

For every sentence of a narration, ContentRoof decides how to show it: a chart, a clock, a side-by-side, or simply a picture of what it names. The model behind that choice looked good on every test we gave it. In real videos it was wrong almost all the time.

Abstract

Our sentence classifier scored 79–95% on balanced test sets in nine languages. On real narration, where three sentences in four are plain statements, it gave 95% of those statements a shape they don't have, so videos filled up with wrong charts and clocks. Training on labelled real sentences and a gate that asks each sentence's own words for evidence now leave 88% of plain statements alone across seven languages, and twice as many of the layouts it does choose are right.

76%of 1,327 real sentences are plain statements
95%of those the original model gave a shape anyway
5% → 88%plain statements left alone, before and after
A frame of an explainer about compound interest
A frame of an explainer about a bank run
A frame of an explainer about hurricanes
Specimens. Frames from ContentRoof explainers. The classifier decides when a sentence earns a template such as a dial or a chart, and when it should just show what it names.

A shape for every sentence

Every sentence of a ContentRoof video gets a visual. Most get a drawing of what they name. Some get a template: a chart when something grew or fell, a clock when the sentence is about a span of time, a side-by-side for a comparison, a cycle for a loop, a flow for steps. We call a sentence's shape its intent, and a small classifier picks it by comparing each sentence with labelled examples.

The benchmarks said it worked

We tested it the usual way, on held-out sets with a fair share of every intent. English scored 95%. When we added native training sentences for eight more languages, their balanced test sets scored 73–88%, 79.5% together.

Figure 1One model, two scoreboards

Balanced test, English (20 sentences)95%Balanced tests, 8 more languages (728)79.5%Real narration: plain statements left alone5.4%54 of 1,004
Balanced test, English (20 sentences)95%Balanced tests, 8 more languages (728)79.5%Real narration: plain statements left alone5.4%54 of 1,004
The same classifier, before any of the changes in this note. The first two bars are accuracy on balanced test sets (an equal share of every kind of sentence). The last is the share of real plain statements it left alone.
Data
Score
Balanced test, English (20 sentences)95%
Balanced tests, 8 more languages (728)79.5%
Real narration: plain statements left alone5.4%

Then we watched the videos. On 60 English scripts, 21% of all scenes had become a chart or a clock, most of them wrongly. "Genghis Khan died" became a falling chart. Every date ("In June 323 BC", "In eighteen thirty-nine") became a clock.

What real narration looks like

A balanced test has as many "growth" sentences as plain ones. Real narration doesn't.

Figure 2What real narration is made of

Plain statement · 76%8%4%4%Cause and effect 8%Steps of a process 4%A number 4%A lesson 2%Rise or fall 2%Question 1%Place 1%Comparison 1%Span of time 1%Scale <1%
Plain statement · 76%8%Cause and effect 8%Steps of a process 4%A number 4%A lesson 2%Rise or fall 2%Question 1%Place 1%Comparison 1%Span of time 1%Scale <1%
1,327 held-out sentences from real scripts in seven languages, labelled by a strict reader. A balanced test set has as many of each kind; real narration is three quarters plain statements.
Data
PartCountShare
Plain statement100476%
Cause and effect1128%
Steps of a process484%
A number474%
A lesson252%
Rise or fall262%
Question161%
Place161%
Comparison151%
Span of time141%
Scale40%

We took the narration of real scripts in seven languages, the exact text the planner sees, and had a strict reader label every sentence, giving it a shape only when the sentence itself shows one. Three sentences in four are plain statements: they name something and say something about it.

The original model left 54 of those 1,004 plain statements alone. It gave the other 95% a shape they don't have. The balanced sets hid this completely: when plain statements are one class among thirteen, a model that almost never answers "plain statement" loses only a few points of accuracy. In real use, that one class is three quarters of everything.

Figure 3What the original model called the plain statements

Steps of a process192Span of time158Question80Growth72Decline67Lesson63Number62Cycle61Cause and effect54Scale51Place48Comparison42Plain statement (right)54
Steps of a process192Span of time158Question80Growth72Decline67Lesson63Number62Cycle61Cause and effect54Scale51Place48Comparison42Plain statement (right)54
The 1,004 plain statements, by the label the original model gave them. It heard the topic, not the shape: a sentence that mentions a year sounds like time, one about an empire ending sounds like decline, any sentence with two verbs sounds like a process.
Data
Sentences
Steps of a process192
Span of time158
Question80
Growth72
Decline67
Lesson63
Number62
Cycle61
Cause and effect54
Scale51
Place48
Comparison42
Plain statement (right)54

The pattern in the mistakes explains them. An embedding model hears what a sentence is about more than how it is built. A sentence that mentions a year sounds like time. A sentence about an empire's end sounds like decline. "Imagine a single ant building a farm that strips a whole tree bare in one night" was labelled a question.

Two changes

Real sentences in training. Half of the labelled real scripts became training examples, next to the hand-written ones. The model now knows what a plain statement sounds like in each language. That alone took the share left alone from 5% to 55%.

An evidence gate. A layout is kept only when the sentence's own words show it, in its own language. A rising chart needs a verb of rising; a clock needs a span of time, not just a date. It covers eleven languages, and no template may repeat back to back.

Sentence (held out) Original model Shipped
Within three days, that speck sprouts. process statement
It begins with a speck. scale statement
يقوم هؤلاء العمال بقطع قطع أوراق بعرض مليميترين فقط. process statement
ثم ينتج الفطر أجسامًا غنية بالمغذيات تُسمى الجنغيليديا. growth statement
Juntas, pueden despojar de hojas a un eucalipto maduro en una sola noche. process statement
The sport grew quickly, becoming a vital part of the new identity. growth growth (kept)
اكتشف علماء الآثار أواني عسل في قبور مصرية كانت صالحة للأكل بعد 3,000 سنة. time time (kept)

Results

Figure 4Three versions on the same held-out sentences

0%25%50%75%100%Original modelTrained on realsentencesWith the evidence gate(shipped)9%5%55%88%Plain statements leftalone18%37%Layouts that are right
0%25%50%75%100%OriginalmodelTrained onrealsentencesWith theevidence gate(shipped)9%5%55%88%Plainstatementsleft alone18%37%Layouts thatare right
Each step measured on the same 1,327 sentences with the same labels. Blue: plain statements the planner leaves alone. Orange: of the sentences it does give a layout, the share where that layout is right.
Data
Original modelTrained on real sentencesWith the evidence gate (shipped)
Plain statements left alone5%55%88%
Layouts that are right9%18%37%

With both changes, 88% of plain statements are left alone, and 37% of the layouts the planner does choose are right, up from 9%.1 Templates are now rare: 59 of 1,327 sentences get one (4%), where the original model gave one to 908 (68%).

Figure 5Plain statements left alone, by language

Original modelShipped0%25%50%75%100%English6%82%Arabic5%88%Spanish5%91%French5%89%Portuguese7%88%German8%88%Italian3%93%
Original modelShipped0%25%50%75%100%English6%82%Arabic5%88%Spanish5%91%French5%89%Portuguese7%88%German8%88%Italian3%93%
Original model (grey) and the shipped planner (blue), on 128–157 held-out plain statements per language.
Data
Original modelShipped
English6%82%
Arabic5%88%
Spanish5%91%
French5%89%
Portuguese7%88%
German8%88%
Italian3%93%

The improvement holds in every language we can test, from 82% left alone in English to 93% in Italian.

What we took from it

Measure on the real mix. A balanced test answers "can the model tell the classes apart?", which was never our question. Ours was "what happens to a real video?", and the answer depends on the class that a balanced set shrinks the most.

We also chose to keep recall low. The gate misses many real shapes. A missed chart costs a plain picture of what the sentence names; a wrong chart in every third scene costs the viewer's trust in everything else on screen.

Method

Sentences
Narration from scripts our AI writer produced in English, Arabic, Spanish, French, Portuguese, German and Italian: the text the planner sees in the product. Half the scripts became training data, the other half the held-out test (1,327 sentences, 180–203 per language).
Labels
A strict AI reader labelled every sentence, giving it a shape only when the sentence itself shows one. No person checked the labels.
Balanced sets
Hand-written sentences with an equal share of each intent: 20 in English, 91 in each of eight more languages.
Versions
All three versions were scored today on the same sentences; the original is the same model with the real sentences left out of its examples.

Limits

  • The labels are AI-judged. A person might call some sentences differently, and the shapes are rare (323 of 1,327), so each shape's own score rests on a few dozen sentences.
  • The sentences come from scripts our writer produced. Scripts people write themselves may have a different mix.
  • Russian, Polish, Urdu and Hindi have training sentences but no held-out test of real narration yet.
  • The gate trades recall for precision on purpose: it misses many real shapes. A missed chart costs a plain picture; a wrong chart costs the viewer's trust.
  • The gate's word lists are written by hand. Less common ways of saying "rose" or "fell" are still missed.

Notes

  1. With the gate but without the real training sentences, 76% of plain statements were left alone and 25% of layouts were right. Both changes were needed. ↩

See how a script is directed →

04 Translation5 Nov 20264 min A billion is not a billion in Spanish Spanish billón, German Billion and French billion mean a million million. How we check every number when a video is rebuilt in another language: 8 of 8 planted errors caught. 8 of 8planted number errors caught 03 Speech5 Nov 20263 min Sixty seconds is a different length in every language Asked for 60 s, our videos came out 44–105 s. Measuring each language's voice per letter now lands 43–62 s in eleven languages, and a cloned voice took Arabic errors from 10% to 0. 44–105 s → 43–62 sasked for 60 s, in eleven languages 01 Rendering5 Nov 20264 min We took the browser out of video export Our exports spent 80% of every frame waiting for Chrome's screenshot. We draw the same React components with Skia instead: 2.4× faster on a server, 5× on a laptop GPU. 2.4×faster export, the same frames