News
Dan Hon
Jul 27, 2017
Dan Hon recently set out out to do something rather fun with artificial intelligence.
The director of content at Code for America took a bunch of existing British place names and, with a method that goes over our heads somewhat, managed to train an AI to generate some new ones.
His results are so fantastic that they sound like any number of drizzly English villages you may have driven through looking for a half hidden wedding venue.
Check out Dan's working out, and all the incredibly convincing sounding British place names below.
I trained an A.I. to generate British placenames
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 place names. 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 place names (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
This article originally appeared on Medium and was syndicated with permission from the author.
More: Every British swearword has been ranked in order of offensiveness
Top 100
The Conversation (0)