Random shot generator FAQ

What is this thing?

Footballguys co-owner Joe Bryant has for many years written a column called Random Shots. He opens it each week as follows: "A Twisted Look At The NFL And All That Goes With It. Here's what happens when you sit an NFL Junkie down in front of multiple big screens with Sunday Ticket and fresh batteries in the remote..." This is a whimsical (i.e. complete waste of time) app that creates a random sequence of words in the style of Joe's Random Shots.

The resulting "Randomized Shots" are often gramatically incorrect or otherwise "off" in some way, but they can be a lot of fun. And in most cases, they do mimic Joe's style successfully.

Who built it, and Why???!!?

Footballguy Doug Drinen built it. In real life, Drinen teaches math. In preparation for a mathematical modeling class he will be teaching soon, he was doing some research on applications of Markov chains, one of the more useless (but fun) of which is to generate realistic-looking strings of text. Joe Bryant has nothing to do with this, except that he graciously agreed to be a guineau pig, allowing his words to be the ones that drive it.

How does it work?

First, we took all of Joe Bryant's Random Shots articles from 2004--2007, we loaded them into a database, and we analyzed the word sequences. Then we generate random text based on sequences of words Joe uses most often. Let's walk through the process, assuming we're going to use sequences of length two.

First, we have to randomly start the Random Shot. To do so, we look at what words Joe most often started Random Shots with. As it turns out, those would be: I (9.6% of the time), the (5.9%), speaking (2.9%), you (2.4%), how (2.3%), I'm (2.1%), and so on. So we randomly select one of these starting words, with the probability of choosing each one proportional to the frequency that Joe started his actual Random Shots with it. Let's say we randomly chose the word "how" to start. Onto word #2.

When Joe started a Shot with "how", the next words he used were, in order of preference, "bad", "do", "tough", "many", "much", "old", and a handful of others. So we randomly choose one of those. Let's say "many".

When Joe used the two-word phrase "how many", he most often followed it with "times". But he also, at various times, used "young", "more", "TDs", "guys", and a bunch of other words. We randomly select one. Let's say "more". Now our two-word sequence is "many more".

It turns out that Joe has only used the sequence "many more" twice. Once, it ended a sentence: "He's played with Isaac Bruce, Torry Holt, Joey Galloway and many more." Another time, it was followed by the word "26": "I'm not sure how many more 26 yard misses the Big Guy can stand.". So we flip a coin and choose to either end the sentence (which makes for a pretty poor opening --- that's the way it goes sometimes), or add the word 26 onto it.

And so on.

Sometimes you end up following an actual Random Shot for several words in a row, as would be the case if we chose "26" above. The only time Joe used the phrase "more 26" was in that same Shot. So we'd have to follow it with "yard", then "misses", then "the". But after that, the Shot can mutate, because Joe used "misses the" twice. Once following it with "big" and the other time following it with "kick". If we choose "kick" there, then we've got a lot of different directions to go after that, because Joe said "the kick" 14 times.

And on it goes. In the example above, we've got "How many more 26 yard misses the kick..." Doesn't make much sense. Sometimes, they don't. But sometimes you get some funny stuff.

In the above example, we used word sequences of length two. Another option is to use sequences of length three. If you use three-word sequences, you usually get Random Shots with better sentence structure, but with less variation from the actual Random Shots. Sometimes, you'll get one that is precisely what Joe wrote. Right now, the program is set to build your Random Shot out of two-word sequences half the time and three-word sequences half the time.

This procedure is related to a mathematical concept called Markov chains which, you'll be relieved to know, does have applications beyond generating funny fantasy-football-related text.

Fascinating. Can you tell me more?

Periods, question marks, and colons were also defined as "words" for the purposes of defining the word sequences. Also "end of random shot" is a word, so that we can have a better chance of realistically ending the Shot in a way similar to how Joe ends them.

One problem is that Joe frequently uses quotations from players and coaches in his Random Shots. Since my sequences have very short memories (only two or three words), it's tough to figure out when a quotation is open, and hence that it needs to be closed. So we just took the quote marks out. And this means that the Randomized Shots you get are actually the words of Joe intermingled with the words of players, coaches, and commentators. Sometimes, this works well. Here's a random example: "according to cleveland's butch davis, the headsets go out, talk on those. i bet steve spurrier could come down and show them how to do it. they need to get off their butts." And another: "the players were removed from the field on a stretcher. Said johnson, the bottom line is, it was a small percentage of guys."

If Joe used this app to create some Random Shots, and then put them in his actual Random Shots column, would it create an infinite loop that would rip the fabric of space-time?

Possibly.