My fascination for a long time with Machine Learning is connected to both building character personalities and structuring words correctly. Can a machine learn to write sentences that make sense? Even if it cannot think, can it think in it’s own way enough to make sense to us? Long form structure I understand is very hard for machine learning so I am no anticipating a book to be written with the code for my project, but what about a scene? Or a great line that was never said before?

Scene structure is not that complicated. If it’s a simple scene, you can have two characters with opposing objectives interact, build to a climax and then resolve. This sounds a lot easier than it is. And for a machine who does not know what the words mean, it’s even harder.

david_mamet_quote

Bu then there’s David Mamet with dialogue like the famous quote above from Glengarry Glen Ross. He is infamous for short, clipped dialogue and, more importantly for machine learning, extraordinary amounts of repetition. Often one character will repeat the line the former character says before moving on. It gives it a stilted sound, but it also makes the characters sound like they are listening to each other — a tough feat for a computer to make believable. Often machine learning language sounds like a bunch of non sequiturs strung together. This made me think a Mamet-esque scene might be a good way to begin.

Another thought is simple scenes — ones with obvious good guys and bad guys might be a good place to begin as well.

batman-begins-batman-with-bats

Comic book stories have years and years of material to seed with and a litany of bad guys. One thought for a project would be this: The computer would already be seeded with a ton of comic books and movie scripts for a particular character like Batman. The project would involve the user picking their favorite villain. The computer in turn would write a scene between Batman and said villain — an to give it a little more visual, it can pull a random image of Batman and the Village from an image bank incorporated as well.

Again, comic books tend to not be all that verbose so maybe with simple, antagonistic lines, it could built essentially simple conflict/fight scenes between Batman and a villain?

This is something I would definitely like to attempt, but I am not sure if I could make it work yet. That said, it led me to a simpler version of it.

dsuop3zklby-market_maxres

 

What about getting a machine to write the best comeback? There are so many times in life that someone has said something not-so-nice to me and I have not thought of a comeback until much later. What about kids who are bullied and are terrible at thinking quickly on their feet to defend themselves? It made me wonder if I could seed the computer with material like VEEP — arguably some of the funniest, sharpest comeback lines around. Then the user writes in the insult said to them and the machine writes a great comeback? It might be the simplest version of building a machine with a specific voice. Although I definitely want to attempt scene structure eventually, this might be the easiest way to start working with text.

But how do I code any of this? Which machine learning library should I use? After a bit of Googling,  I found this article by Max Deutsch, product manager at Intuit,  called “How to Write with Artificial Intelligence.” This makes me believe TensorFlow would be a good place to start. He even claims he can show a user how to do this who doesn’t know how to code at all. I’d like to believe I’m ahead of that, but it also makes me feel it’s the best way to start this project. I would like to first begin with things that are doable and then expand into the harder territory from there.