In the past year or so there have been some very funny attempts to use neural networks (roughly, programs that try to learn to identify patterns in data) to produce text. From the RoboRosewater bot that creates new Magic: The Gathering cards, to the new episodes of Friends, to the attempt to beat G.R.R. Martin to the next A Song of Ice and Fire book, they’re everywhere.
The trouble is, they don’t feel natural. The grammar is always slightly off, characters simply appear without introduction, and no-one behaves like a human.
In most genres, this would be a disadvantage. For trying to create a script in the style of Tommy Wiseau’s The Room though, it’s a positive bonus.
If you haven’t seen The Room, the opening scene should give you some idea of how bizarre this film is. Some brave soul has transcribed the whole film, and you can see just how much like neural network output it sounds.
Characters get stuck in loops repeating themselves:
Denny: I owe him some money.
Lisa: What kind of money?
Denny: I owe him some money.
Lisa: What kind of money?
Denny: Everything is okay, he’s gone!
They’re always forgetting what they’re talking about:
Johnny: I have a serious problem with Lisa. Um, I don’t think she’s faithful to me. In fact I know she isn’t.
Peter: Lisa? Are you sure?
Johnny: Yeah I’m sure, I overheard a conversation between Lisa and her mother. What should I do, Peter?
Peter: This is Lisa we’re talking about?
Many lines are non-sequiturs:
Johnny: Ha-ha yeah, “can you marry me?”, ha-ha, I thought I would take her up on it, ha-ha.
Mark: I never ate so much.
Johnny: Yeah, the barbecue chicken was delicious, rice, that was cool.
Peter: You guys proved my point. You’re both weird. You guys want to play cards?
And sometimes they just ramble on in total gibberish:
Johnny: That son of a bitch told me that I would get it within three months. I save them bundles. They’re crazy. I don’t think I will ever get it. They betray me, they didn’t keep their promise, they tricked me, and I don’t care anymore.
In other words, The Room is the perfect target for a bit of machine learning. When the AI revolution comes, Wiseau will be first to go. So, without further ado, here’s the output of a neural network trained with the transcript of The Room. Think of this as The Room 2, and imagine stock footage of the Golden Gate Bridge panning slowly between each snippet here.
Lisa: I am that kind. I love you and Johnny.
Johnny: A-ha-ha-ha. You must be kidding, aren’t you?
Lisa: Okay, bye.
Johnny: Bye.
Mark: What are you doing? I mean, are you crazy?
Lisa: You know, you’re not such an angel yourself. You’re a cance, cuck.
Mark exits.
Steven: Do you understand look about it.
Peter: Yeah!
Johnny: You look great. You know what they say: “love is bling”
Lisa drapes her legs across Mark and Lisa are dang.
Denny: What’s going on?!
Johnny: Donnyy?
Johnny: Oh ho, Denny.
Denny: Do you understand lake bally?
Denny: Hey Johnny.
Johnny: Oh hi, Denny.
Claudette: Homewith!
Claudette exits.
Cut to the shot.
Johnny: Hi, are yoursher!
Denny: What’s hemening well?
Michelle: Yum!
Mike: It’s delicious!
Michelle: You’ve got to tell Johnny.
Lisa: Okay, why don’t you take him home? And Michelle are you doing this cheesecake and a bottle of water.
Male Bare and Mark is wrong.
Cut to the room, where Lisa is sitting as Johnny enters.
Fhangbis be on Lisa and Mark enter.
Johnny: Oh hi, Susan.
Susan: What about this?
Lisa: I love her. I have to go worry about these before a sin in the bed.
Johnny: Something for my poop.
Peter and Mike enter.
Cherin: Lisa like have some me. I don’t like him anymore.
Lisa (recording): I think I should be alone with him right now.
Claudette: Bye bye, look good to see you, are well have every hears in from of Johnny.
Denny: Bye, lovebirds!
Johnny: Oh hi, Denny.
Denny: What’s up?
Lisa: What kind of drugs do you take?!
Denny: I just want you and my best friend.
Lisa: Did you get your promotion?
Johnny: Oh hi, Sust. Sand.
Cut to an exterior shot of the house. Johnny is approaching. He picks up the TV and hurls it later.
Lisa: Come on, you owe me one.
Johnny: I love you, you love my some friends.
Johnny: You’re right about that.
Lisa: I love you. I love you. I’re very attractive, it’s good to get hurt.
Lisa: I didn’t know what paint is.
Lisa: I miss to me a lat.
Denny enters with a doow.
Mark: ha-ha.
Lisa: He’s not my husband.
Lisa: Bye.
Mark: Bye.
Johnny enters the bedroom.
Johnny: Ha-ha-ha. A-ha-ha-ha. Mmm.
Lisa: I’m going to deal you gays.
Johnny: Do you, do you have some secret dress?
Mark: I don’t think so. Everything’s changed. I need more for best friends.
Lisa: You never told us.
Johnny: Well that’s the idea.
Denny: Catch, Johnny! Alright, Peter.
Denny: Come on, Peter.
Peter: Nah, I don’t understand you.
Florist: Bye bye!
Johnny exits with the football while talking right now.
Claudette: Bye bye, why doesn’t you take him home? And Mike like a happy.
Lisa: I love you.
Mark: Why don’t you ditch this creep? I don’t like him anymore.
Lisa: I know. I am right at it.
Claudette: Well it is time somebody gang up to get it a promes, and be with you?
Mark: Sure baby, come on up. I want your body.
Lisa (recording): I don’t believe it. I show them. I will record every hind.
Johnny: Shoot, Denny.
Denny: It’s about Lisa.
Johnny: Go I can’t talk to Johnny. Oh hey Johnny, how’s it going?
Johnny: Good.
Johnny: What makes you say that?
Mark: I dunno. You know your problems, Johnny.
Johnny: Peter, you always part, and my in the rind and you take and money and me toding we wenrot mereacand the football in the dousing your stacking money, Denny?
Denny: Put the gun down.
Mark: I just feel like, like running.
Seamless, right? Just like the real thing. Although I’m sure someone else will come along and do it better. As Johnny once said, the computer business is too competitive.
Edit: Almost forgot to credit my source! The code behind this is based on Trung Tran’s demo example, which uses the Keras Python package. You can download his recurrent network from Github here. I’d recommend commenting out lines 48 and 62 in recurrent_keras.py in order to speed it up, and I think there’s a typo in line 67 (it should be elif WEIGHTS !='':
). I found 3 layers worked best – I didn’t change the default number of hidden states from 500, but maybe I should have.