There aren’t as many cocks as you’d think.

I trained an A.I. to generate British placenames

Dan Hon
3 min readJul 19, 2017

The results were predictable.

(Inspired in part by Janelle Shane’s New paint colors invented by neural network. Tom Taylor did similar work in 2016, generating English village names.)

Method:

  1. Find a list of British placenames. Here’s one you can download as a CSV. You just need the names, so strip out all the other columns. To save some time, you can use the one I prepared earlier.
  2. Pick a multi-layer recurrent neural network to use. The first time I did this, Karpathy’s char-rnn was all the rage, this time I used jcjohnson’s torch-rnn.
  3. If you’re using a Mac, don’t bother trying to get OpenCL GPU support working. I wasted 3 hours. Just use crisbal’s CPU-based docker image. (If you know what you’re doing, then you’re already comfortable doing this all on AWS or you’ve got an nVidia GPU).
  4. Follow jcjohnson’s instructions in the readme (pre-process your data, etc.)
  5. Go and have a cup of tea while you train your model.
  6. “Mess around” with the temperature when you sample based on your model.
  7. Take a look at some of my favourite neural network generated British placenames (and if you’d like more, here’s 50,000 characters worth):

root@themachine:~/torch-rnn# th sample.lua -checkpoint cv/checkpoint_8450.t7 -length 1000 -gpu -1

  • Ospley
  • Stoke Carrston
  • Elfordbion
  • Hevermilley
  • Ell
  • Elle’s Chorels
  • Eller’s Green
  • Heaton on Westom
  • Hadford Hill
  • Hambate Combe
  • Manory Somerstow
  • Buchraston-on-Ter-Sey
  • Brotters Common
  • Normannegg
  • Twettle Row
  • North Hill Row St Marne
  • Torston-le Taney
  • North Praftton
  • Tonton’s Coss
  • Topswick End
  • Brumlington
  • Boll of Binclestead
  • Farton Green Pear End
  • Wadworth Mayshyn’s Wiwton
  • Wader Bridge
  • Weston Parpenham
  • Oarden of Land Park
  • Batchington Crunnerton
  • Larebridge Heath Brook
  • Capton Briins Forehouint Eftte Green
  • Waryburn Torner Midlwood
  • Wasts Halkstack
  • Maggington Common
  • Stach Helland Neston
  • Stoke Hills
  • Sutsy Compton
  • Stoke of Inch
  • Upper Somefield
  • Rastan-on-croan
  • Wadway Dynd-Rott End
  • Wattings Ward
  • Harhester Willey
  • Marrock
  • Saxford
  • Salton Southen’s Hovers
  • Salt, Earth
  • Stamorn Vale
  • Stouth Wiesley’t Bhampton
  • Upper Brynton
  • Knines’s Gartes
  • Webury Hill
  • Eastbridge Brook
  • Wallow Manworth
  • East Holmsley Anby
  • Hallaid or Humme
  • Galling Compton
  • Hamper’s Hill
  • Hangyd’s Hain
  • Wasland Commone
  • Wantham Mount on-by Langham
  • Kinindworthorpe Marmile
  • Dompton Ole
  • Dimmer Common
  • Keston Upper Rhington
  • Towerhaite Mank
  • Cockhanford Vales
  • Porcoft Green
  • Newtons St Pethen
  • Silmer’s Hill
  • Crocken-on’s Clow
  • Prrighstock Tabergate
  • Crisklethe’s Chorn
  • Cross Gorburster
  • Storton of Brook
  • Cartswood C’sters
  • New Amherston
  • Wascood Woot’s Corner
  • West Dottisley
  • Westovel (Blingwars
  • Sandeside Backton
  • Waledon of Bandsead
  • Rald Bockan-Sea
  • Boleland Brase
  • Stoop Heath
  • Stittleworth
  • Borton Melvery
  • Lunsel’s End
  • Filton-on’s Forton
  • Colban’s St Pelant
  • Cottingley Cross
  • Skepley Meyton
  • Stroby’s Hill
  • Ponkham Bark
  • Ponworth East
  • Kenninish
  • Bankinghead
  • St Hart Charley
  • Houck Scars of Pithard Dgawley
  • Buchlingtomptop
  • Bux Onxar
  • Inglasdale Nello’s Corn-on-rrie
  • Neth Cross
  • Top-Road Quinting
  • Sorton Cross
  • Fotterwell
  • Munealion Wick
  • Broad Romble
  • Bockerundstone Don Ourford
  • Furst Down-Nenkton
  • Burton Salerux
  • Fuckley
  • Lower Simscorns
  • South Pickste-derbridge
  • Rumpley
  • Sumpsley
  • Corthm St Kining Leigh Heaths
  • Cockbeach
  • Chorkwheal
  • Toldsey-on-on-y — n-Valker
  • Forcholmbry
  • Grinachard St Ringley
  • Stouth Villagston
  • Stote S’ster
  • Stowford Killfield
  • Stony’s Heath
  • Chipper Brooknant
  • Warris Botton
  • East Pleyhamf-Artour Weyket Wisher Brook
  • Eastle-Vale
  • Pairinggleat
  • Braerton Park
  • Burston Hale
  • Burting Heat End
  • Hest’s Botton
  • East Brottome
  • Mairton-on-Breaw
  • Old Bedr’s Commot
  • Dauz wick
  • Sotten Mile Cossay
  • Bapnington-on-Faith
  • Watch Uppe Borney
  • Backen Holm Corner
  • Flarton-chergh
  • Mastersley Ferry-the Green
  • Hatlet Backlingham
  • Hall of urn-in Head
  • Maishop Gog
  • Maviston’s End
  • Faenton West Moor
  • Baver-y-y-bnieston
  • Minton-on-y-chyde
  • Bulkes Rishing Walland
  • Burton Shyfield
  • Bunnershead Manes
  • Lovers Cormon Log
  • Kilby Mill
  • Knyne Forest Knare
  • Burton Soughthoston
  • Dyfird-y-moy
  • Pellingrouth Vale
  • Thrainton Shenant
  • Newton Hows
  • Jickley ucherfield
  • Lower St Perton
  • Bandle Bink Wewland
  • Burnernleyskau
  • Bockstangham Beck
  • Borton Bittefell
  • Hisillise St Marsh
  • Holtenham Stye’s Wood Icklets
  • Westington-courding
  • West Waplest Latford
  • Fackle Village
  • Undwinton Woathiston
  • Bunn-Anchridge in Barry
  • Froddington Island
  • Sattle Boslaw
  • Ratterboroug-End
  • Fapton
  • Waterwither Well
  • Thorps Crosk
  • Shiver Valley
  • Ston-ington
  • Thorton Stowin
  • Sketton Brittree
  • Ham’s Courd
  • Matton Oston
  • Lackley Copesley
  • Braeling’s Boke
  • Stoppard Wilberry
  • Storringthornfery
  • Catley Holtbridgeham Ruse
  • Colon-in Mead
  • Stoulton water
  • Nockpop
  • Hacking Woodleigh
  • Cocken Northen
  • St Hittle Carthton
  • Oasterton St Nesmell
  • Theffield
  • Cunding
  • Bryn’s Heath

You might also like:

--

--