You may have seen “I forced a bot to watch” posts where someone claims to have “forced a bot” to read or watch hours of video and written it’s own script. Those weren’t real but in recent history it has become possible to do it for real in a pretty convincing way with OpenAI’s GPT-2 system.
This is an unbroken, unedited sample of GPT-2 ‘fine-tuned’ on all the TNG and DS9 scripts. Note that television scripts have have distinct formatting and style and all of that is copied perfectly by the bot. It even *almost* gets understands page numbers (in the first example – 28, 28, 28A).
Go to this post for better examples. Right now they are all Olive Garden themed… but may do a later post with a straightforward attempt to create realistic episodes.
28 EXT. PLAZA/SURFACE - DAY (OPTICAL)
Data and Worf as before.
You left him there? He left him
Yes. He had been there for
hours... then decided that I
was going to kill him.
Data frowns, he can't figure out how to phrase what
I do not understand.
I was afraid.
They exchange a look... Data thinking quickly, is
back to the source...
I could have programmed some
medical bank monitors to monitor you
for a pulse response when you
could enter Klingon memory.
We would have --
STAR TREK: "The House... " - REV. 08/10/94 - ACT FOUR 45.
But I was afraid that it would
disrupt my memory.
I'll tell you what I have to do.
They look at him and then Picard EXITS. Data sits in
28A INT. WORF'S QUARTERS
The room is DARK and distant. Worf is struggling to
regain his senses as Picard ENTERS.
Captain... everything I saw is
Worf regards him for a moment... then he starts to fight
it off... he stops in surprise... he doesn't know how
all this is going to impact his relationship with
him... he's uncertain what to do... he glances at the
wall panel and frowns, surprised at the way he sees
Worf... he glances around the room and tries to
find a way to fight it off-kilter... it's pretty
night... Worf hits the wall panel and it OFF.
I was... heading somewhere.
Worf... what's the matter?
Worf decides to break for a moment... he EXITS.
That was one the first scenes I generated that impressed me, though it cheats a bit with by being mysterious enough that it’s hard to rate how coherent it is. But you could almost see as one of the more moody and experimental character-focused episodes in Season 7 TNG. Earlier networks could copy the formatting of a TV script but they totally fell apart when you tried to actually understand the content. Even which characters were present in a scene did not stay consistent from line to line. GPT-2 handles this amazingly keeping track of not just characters but subject of conversation in a scene.
Here are some more samples chosen mostly for the humor:
I think we're lucky this was
just a bad batch of
I'm glad you think that.
I'm glad we're lucky.
Okay. I'm going to let you use
the Bajoran storage bin to backup
your data on this trip.
And with that, Kira heads off down the Corridor. We
HOLD on a thoughtful Dax.
19 INT. OPS
Kira and Dax EXIT the turbolift, followed by Sisko, who
goes to the Transporter Room in frustration.
DEEP SPACE: "The Wire" - 03/01/94 - ACT ONE 12.
It's not working.
I'm having trouble retuning the
transceiver. The adaptors
Maybe they should replace us by
With your arms.
With your hands.
You're lifting your arms.
Your arms. They're my hands.
Kira takes a beat, looks down at her arms for a moment.
They're your hands.
You know what I see when I get
(laughing and crying)
Kira, you never told anyone about
DEEP SPACE: "The Wire" - 03/01/94 - ACT ONE 13.
19 CONTINUED: (2)
When you get to the wormhole, you
should see them grow into shape-
shifters. And you'd be right...
because their arms are like that...
closer than you can get. They
grip off your arm. Bad dreams.
I thought you weren't going to talk
I told myself I was not. But when
the time comes... I want to figure
out what we're doing and what we
are. I always figure it out.
Dax looks at her own hands. Kira's too fast for her
I'm holding all the cards. I'm
playing them all. I'm a prisoner
in here. I can't be happier.
You seem like you've got a lot.
You have me all.
Kira takes one last look at her hands. Kira can't help
her enthusiasm. Her hand. Kira takes another step toward the
You're not going to hurt me.
You're not. And that's a
This is from a later batch where I stripped out some of the very repetitive content in the scripts before training — mostly headers and footers that repeat the exact same information every page. Another sample that was weirdly hands and arms themed:
42 INT. ENGINEERING
Geordi and Data at their respective consoles.
We're ready when you are, Data.
I will prepare enough data for your
Good. Data, what was the vessel
in which the shuttle was
The vessel was slightly more
complex than the starship I
estimate, sir. It chose a
specific set of coordinates to
target the specific
nodes on the Enterprise-D.
And it didn't work. That's
your fault, Data.
I fault is very fault, sir.
I should have realized that.
If you had, the Enterprise-C
could have taken out a few more
I do not believe we could have
survived the attempt on the
STAR TREK: "The Loss" - REV. 10/10/90 - ACT FOUR 51.
I know Data, it would have been
difficult for you to break into
hands and legs and grab a few
nodes... I've never run into a
shuttle in my life that didn't
get that lucky.
Geordi looks down at his hands and arms, frowning.
What are you so angry about?
My heart... and possibly my entire
That's not good.
I am angry that Starfleet has
let you down, Commander.
I know... but I was relieved
that no one tried to destroy
INT. DATA'S QUARTERS
Data, still in his Starfleet uniform, is sitting at a desk
working at the computer. The door CHIMES.
The door OPENS and Geordi ENTERS.
Data, what are you doing here?
This is my quarters.
He looks at the desk for a beat, then EXITS.
You are here to examine my
Computer, is there anything I can
do about your...
Computer, are you aware of what I
have just said?
In case you're wondering... I've
told you something before...
I have never spoken to my computer
That can't possibly be the case...
Data shakes his head.
I have been trying, but I
have been unable.
I have been trying for over
three, four nights.
It must be a pretty long night.
As long as it is not.
And what does it feel like?
I have been experiencing a
sustained, transient, and
unsteady increase in the
activity in my cerebral cortex.
The same as if I were completely
offered a cup of tea, or a
coffee, or an air horn.
That sounds like someone who
has been through a lot.
I experimented with mixing other TV show scripts, the complete set of Frasier in this case. GPT-2 learns very quickly never to mix characters and language from the shows — too well, I wish it would mix them! But I swear the samples trained with some Frasier feel more like a sitcom:
ANGLE ON MAIN VIEWER (OPTICAL)
ANGLE ON MAIN VIEWER (OPTICAL)
Captain, I am detecting a Class-M
planet with high radiation
unaffected by the sun.
Which planet did you detect?
I'm sure it looked like a Class-
What is it?
A small planet with low surface
Here’s another one that feels more like a sitcom, in particular, the repeated dialog lines are something I see a lot in the post-Frasier samples.
======== SAMPLE 15 ========
(to Dax, explaining)
Dax, we were just talking about you.
I realize you're upset about
me, but I've always looked
good in a tuxedo.
I don't look good in a tuxedo.
I've always looked good in a
clutch, Benjamin. And I'm glad to
say, I haven't seen you since I left
I know you're upset, but I've
always looked good in a chiffo
And I'm glad to see you've never worn
I've never looked good in a chiffo
Well, I've seen you look good in
it all... when you're wearing
anyone else's tux.
I never look good in a chiffo
I'm glad you said you were going to
be happy at the Bajoran wedding.
I'm glad you said that.
Dax smiles and they walk off.
(re: the wedding)
I suppose I'll have to mention it
I'm not planning to.
I guess he'll be staying with us
He'll probably be staying with us
I know. I just got here last
I mean it's just a question of...
I'm still not sure. I've got a
surprise planned for the next few
weeks. Besides, it sounds like
somebody's going to need a place to
keep me warm.
I'm sure they will.
I'm sure they will.
Now what about you... are you sure
you don't want to stay with me for
(re: the wedding)
I have a job to do... I'm a
I hear you're married...
And what about Jake?
He's leaving Starfleet.
A few weeks ago he was sent back
to the Institute.
He's been living on the station
all his life...
======== SAMPLE 16 ========
This sample is as long as you can get right now the limit on the output is about 1000 words in the tiny version of GPT-2 that OpenAI let’s us play with. It would still be possible to create an entire script by taking the output from one sample and using it a ‘prompt’ to generate the next sample, over and over until you have a complete script. Since the scripts do clear structure like page and act numbers it should eventually get to ACT 5 or stick an ending on there. Maybe a project for the future.
Link to some complete Star Trek scripts (where I keep generating until it literally says THE END on a line).