News

This man trained an artificial intelligence to generate the most British sounding place names

This man trained an artificial intelligence to generate the most British sounding place names

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

The Conversation (0)