Damsel, decoded: building a search taxonomy from the story itself
Netflix wanted to explore the best ways to allow for enhanced recommendation and search leveraging language models. Members should be able to search not just for titles but moods, storylines, memorable scenes; saying “A dragon movie that actually scares me” should surface accurate results. The traditional metadata, contextual detail for a piece of content, was written mostly as basic tags; genre, cast, a synopsis, type of music. This desciptors don't provide enough contenxt for language models to be useful in improving search and recommendation.
Search can only find what the metadata knows is there.
Netflix came with two questions. How could search connect what members describe to what a title actually contains? And how could the feelings each scene elicits be matched to member cohorts to surface better recommendations? We ran Damsel through Arc View, Pilotly's content intelligence system, to show what a title looks like when its metadata comes from the film itself. Built scene by scene and moment by moment, the building blocks of the story become the metadata set a language model can interpret.

One film, broken into scenes, and then into story beats
Arc View watched all 110 minutes of Damsel and broke it into 37 scenes and 193 moments. Each moment carries a narrative description, a story beat that names its characters, a video technical description of how it was shot, an audio technical description of how it sounds, and emotion tags. Above that sits a character layer, built from face detection and named against the cast, and a story layer that describes each scene with its characters by name and rolls scenes up into storylines.
From those layers we proposed a search taxonomy in four tiers: title, storyline, scene and moment. Each tier answers a different kind of query, and every description points back to a timecode.
Every description is tied to a timecode range.
The taxonomy, four tiers
- TitleGenre, emotions, cast, themes
- Storyline6 storylines traced across the film
- Scene37 scenes, each with a story description that names its characters
- Moment193 moments, each with a narrative, video technical and audio technical description, emotion tags and a story beat
One moment, a dozen ways to find it.
This is one of Damsel’s 193 moments. Tap a layer below the image to see what Arc View knows about it.


What the film told Arc View
The film tells a richer story than its catalog record. The record says fantasy, Millie Bobby Brown, princess, dragon. Arc View traced six storylines, from Elodie’s resistance to a forced marriage to the dragon curse rotting the kingdom, and each one became a searchable thread.
Six storylines detected and tracked throughout the timeline.
One film, two records
a catalog record
- genre
- Fantasy
- cast
- Millie Bobby Brown
- tags
- princess · dragon
the Arc View record
- structure
- 37 scenes, 193 moments
- storylines
- [6] from Elodie’s resistance to the dragon curse
- characters
- Elodie 30.2%, Prince Henry 5.6%, Lady Bayford 5.1%, Floria 3.9% of runtime
- every moment described
- narrative, video technical, audio technical, story beat, emotion tags
- synthetic sentiment
- moment-to-moment sentiment simulated per audience cohort
- traditional tags
- genre, emotion and more

Moments are where search gets specific. The eye in the cave wall could be exactly what someone means when they ask for a dragon movie that actually scares them, or when they want to find a scene they enjoyed to show a friend.
Allowing people to relive specific moments effortlessly.
See film sentiment before you put it in front of any audience
Every story borrows from a short list. Our thesis: the world holds 13 characters and 7 stories, and everything on screen is a new arrangement of them. Break a film down to the moment and the story beat, and its pieces match beats audiences have already watched.
13 characters. 7 stories. Every film rearranges them.
Pilotly has captured over 30 million real audience reaction data points, moment by moment. When a new title arrives, Arc View compares each of its moments to similar story beats in that data and carries over the reactions viewers had to those moments. Combined across the whole film, those reactions form a synthetic sentiment curve: a prediction of how each audience segment is likely to feel from start to finish before anyone has watched it.
Synthetic sentiment across Damsel, before any audience saw it
- 36:26 The eye in the cave: the dragon reveal from the moment viewer above.
| Time | All viewers | Ages 18–24 | Ages 25–34 |
|---|---|---|---|
| 0:50 | +1.5 | +1.6 | +1.7 |
| 2:30 | +1.8 | +2.5 | +1.8 |
| 4:20 | +1.8 | +2.4 | +1.5 |
| 6:00 | +1.8 | +2.0 | +1.9 |
| 8:40 | +2.2 | +2.1 | +2.4 |
| 12:10 | +1.9 | +2.1 | +1.6 |
| 14:50 | +1.9 | +1.8 | +1.6 |
| 16:30 | +1.7 | +1.9 | +1.0 |
| 18:40 | +2.0 | +2.1 | +1.8 |
| 21:10 | +2.4 | +3.0 | +1.9 |
| 23:40 | +1.2 | +1.3 | +0.7 |
| 25:30 | +2.1 | +2.5 | +1.3 |
| 28:40 | +2.2 | +2.0 | +1.8 |
| 33:50 | +2.0 | +1.9 | +1.4 |
| 38:00 | +1.8 | +2.3 | +1.0 |
| 44:00 | +1.8 | +2.5 | +1.2 |
| 52:20 | +1.8 | +2.6 | +1.0 |
| 57:40 | +2.0 | +2.5 | +1.4 |
| 61:50 | +2.0 | +3.0 | +1.7 |
| 65:50 | +1.9 | +2.8 | +1.2 |
| 68:50 | +2.0 | +2.9 | +1.6 |
| 73:40 | +1.8 | +2.5 | +1.4 |
| 77:40 | +1.9 | +2.1 | +1.8 |
| 79:20 | +2.0 | +2.3 | +1.9 |
| 81:30 | +1.8 | +2.3 | +1.0 |
| 83:40 | +1.8 | +3.1 | +1.3 |
| 86:20 | +2.0 | +2.4 | +1.9 |
| 89:00 | +2.1 | +2.8 | +2.0 |
| 93:30 | +2.2 | +2.6 | +2.0 |
| 98:40 | +2.6 | +3.2 | +2.6 |
| 101:20 | +2.9 | +3.4 | +2.5 |
For Damsel, that curve ranks the moments most likely to pull a member in, segment by segment. Search can lead with those moments, and recommendations can match the film to the members its scenes are most likely to move.
What we took to Netflix
A repeatable process by which they could generate a language-model-ready taxonomy for their content. Generated from the content with an interface where they can keep humans in the loop for spot checking, now search could match the story a member describes to various titles in their library.
193 moments, each one searchable.
A bridge to the data Netflix already has. Every description maps to a timecode, so the taxonomy joins existing catalog metadata, viewing data and artwork tests at the level of the scene.
Story metadata that joins to viewing data.
A moment for every search, and the feeling of the moment that can match to member preference. Synthetic sentiment ranks Damsel’s moments by likely appeal for each audience segment, so a result can open on the scene most likely to pull that member in, and recommendations can surface titles whose scenes move members the way they have responded before.
The right ten seconds for the right member.
Damsel was the proof of concept for Netflix. The same pipeline can now run across a title perpetually and turn a catalog into something a language model can interpret to drive new experience value for platform members.



