Off the bat I’ll say I don’t really have a thesis or point to this, just observations about an aspect that I find interesting.
I’ve been recently asking ChatGTP 4o to generate random things (intended for use in image generation). I started off asking for 10 sets of 5 random words with at least 4 letters. It gave me this:
- Candle, Tiger, Frost, Jelly, Swing
- Mango, Crisp, Blaze, Tooth, River
- Flame, Ghost, Maple, Climb, Dance
- Brick, Lemon, Whisk, Charm, Vivid
- Grasp, Quiet, Storm, Fable, Train
- Spine, Globe, Twist, Crate, Sharp
- Drift, Mirth, Swirl, Baton, Angle
- Cloud, Grain, Knock, Broil, Patch
- Chirp, Scent, Flute, Brake, Woven
- Plume, Trail, Hinge, Bloom, Quest
I immediately saw that they were all short, simple words and definitely not something that would be generated by picking totally random words from a dictionary. (Never mind the assumption that I specifically wanted English words.)
I told it “Dig deeper into your vocabulary. Long words are okay, too.” And it gave me this:
- Paradox, Lantern, Whistle, Mosaic, Juniper
- Obsidian, Reverie, Fragment, Tundra, Elapse
- Labyrinth, Scarlet, Murmur, Vortex, Kindle
- Ephemeral, Cascade, Bramble, Lantern, Fossil
- Threshold, Quarrel, Ember, Velvet, Mirage
- Gossamer, Doctrine, Splendor, Cranium, Torrent
- Solstice, Harpoon, Alchemy, Trivial, Banish
- Spectral, Incline, Verdict, Memento, Fractal
- Sanctify, Oblique, Venture, Lantern, Enchant
- Corridor, Talisman, Oracle, Rustled, Absolve
Still obviously not totally random, none are outliers for being especially long or especially short. I asked it “When I ask for random words, how do you make the random choices?”
And it replied:
When you ask for random words, I generate them based on a mix of:
Internal word databases: I draw from a large internal vocabulary that includes words of varying lengths, types, and complexities—nouns, verbs, adjectives, etc.
Filters and constraints: If you request certain conditions (like minimum length or thematic focus), I filter the word pool to match those.
Pseudorandom selection: While I don’t use a true random number generator like a programming language might, I simulate randomness by varying my choices across different runs. I don’t repeat fixed sets unless asked.
So the result feels random to you, even though it’s based on language patterns and my built-in variety.
Would you like a more technical method, like using a real random seed or code snippet to generate words?
Which seems pretty vague and bullshitty, but I didn’t really need true randomness to fit my purpose, which was to have it pick 5 random words and generate an image based on them. (It could do that, but didn’t specify report which words were used, so the results aren’t useful to this post.)
I then went on to try creating a prompt for image generation that chose random elements, in the style of
A [subject] [action] [location].
Then telling to replace each bracketed word with a random choice from a list of x number of options (I made 4 of each, the whole prompt with syntax is here, spoilered for length):
Summary
A [subject] [action] [location]. Candid photograph with shallow dof taken with an iPhone 12 Pro.
In the prompt, replace [subject] with one of the following four items, chosen at random.
“Starfish”
“Anthropomorphic toaster”
“Plague doctor”
“Possum”
In the prompt, replace [action] with one of the following four items, chosen at random:
“Riding a Vespa”
“Playing jacks”
“Juggling potatoes”
“Eating cotton candy”
In the prompt, replace [location] with one of the following four items, chosen at random:
“On the moon”
“Near the Effiel tower”
“On a tiny desert island with a single palm tree”
“In a crowded bazaar”
I didn’t know for sure if the prompt would work, but it did, on the first try. I went on to generate 15 images with it:
The options were:
Subject
1 “Starfish”
2 “Anthropomorphic toaster”
3 “Plague doctor”
4 “Possum”
Action
1 “Riding a Vespa”
2 “Playing jacks”
3 “Juggling potatoes”
4 “Eating cotton candy”
Location
1 “On the moon”
2 “Near the Effiel tower”
3 “On a tiny desert island with a single palm tree”
4 “In a crowded bazaar”
For the 15 images, the “random” choices were:
Subject
3,1,3,2,1,3,1,1,4,1,3,3,2,3,4
Action
3,1,4,3,1,4,1,1,4,1,4,3,4,3,4
Location
3,1,2,4,1,2,1,1,2,1,4,2,3,4,4
(It turns out that the “bazzar” and “near Effiel tower” images are extremely similar. I called them a “2” if I could see the tower in the image and a “4” if I couldn’t, but you can count those classifications as speculative. It is possible there could be some “leakage” of choices, in the same way that the center image picked both the Vespa and cotton candy options.)
What stands out most to me on the “randomness” is that it picked the first of each of the three options (starfish, Vespa, moon) in 5 out of 15 images, and none of the "1"s were used in any of the other combinations. So not truly random, but it is doing something to pick things that aren’t 1,1,1 for 10 of the 15 runs. (15 of the 16 possible options to use were tried, with “playing jacks” being the only one skipped.)