one of these days I'm going to get good enough at neural networks that it doesn't take five hours just to get the dimensions matching. one of these days

anyway here's a neural network attempting to spell words based on their phonetic vectors (using the vector to condition an LSTM). caveats: I stopped the training after uh, 20k samples because I have to go home now, so it's only trained on a few hundred words or so? also I should have stripped the alternate pronunciation notation from CMU dict and used start/end tokens. still, a promising start!

I added in start/stop tokens and stripped all of the weird CMUdict stuff, so now it looks better and kinda just seems like someone purposefully mispronouncing words

abacus -> acucala
allison -> coldin
cheese -> cess
mastodon -> mastewans
whoops -> bophe

(guessing orthography from phonetic word vectors)

these results are still from stopping the training after ~20k samples—the fact that it's doing this well at this point in the training probably means it's going to overfit pretty badly, hmm

phonetic interpolations generated after one epoch (sampling points between the vectors for the first/last word on each list)

paper
pithe
pithapper
pithapper
pitfatier
pittifa
pitshaph
plitfich
plathich
plastic

kitten
kittin
kittin
kitpin
pithatt
putki
putki
puppity
puppi
puppy

birthday
barzhe
burzhe
burzhe
burzhervi
berthownize
overrizh
overringse
overringse
anniversary

artificial
alfition
alfitions
alfitarition
alfettion
alotivencation
antivations
intercalizate
intelagist
intelligence

I am incredibly happy with these results, omg. one problem is it seems to be generating common endings like -tion and -ize all over the place, probably because those sequences are just really high-probability in general. I wonder if a beam search would help with that?

generating words from uniformly-distributed random phonetic vectors...

god I wish someone had told me like two years ago that you can just add a second input to an RNN to condition the output on arbitrary vectors (which is what all of the image captioning examples are doing, essentially)

(apologies if you did, in fact, tell me this two years ago, which I'm sure someone did)

random walk starting at a random vector

fulbesh
fulbence
sambe-sied
fubsing
furbing
fulbenk
sambels
fuebence
fudmes
fubence
fulbens
funbese
sambers
sampervel
samperled
pelpenge
pelvermett
ampersive
fumbers

I'll stop now

model is still overfitting, but now produces pretty plausible (?) and/or adorable spellings based on reconstructions from the phonetic vector:

abacus → acabus
allison → allisson
cheese → chees
daring → derring
mastodon → madtostan
parrish → pareshe
purple → perpule
trousers → chrousers
whoops → hupps

interpolating between my first and last name:

allison
alassin
apersille
parissel
parrish

(if you'll excuse me, I'm going down to the court house to fill out a change of name application, please call me Professor Allison Alassin Apersille Parissel Parrish)

text -> array of phonetic vectors for each word -> resample progressively larger -> generate word from RNN from vector at each index in resulting array (with thanks to alvin lucier)

(pleased with how that last line reads like a bad speech-to-text of someone reading that phrase but slowed down 2x)

(for those that have been following this work for a while: the new element here is generating words from the vectors, instead of looking up the most similar word in a pre-existing dictionary)

@aparrish ampersive is my new word for when some mix of stress and caffeine means i just keep string clauses together with conjunctions instead of putting a period on a sentence

@joshmillard fumbers are what the metafilter podcast numbers are getting up to, now that wikipedia doesn't have anything interesting to say about them

@aparrish
Hupps is pretty close to the german version of whoops. In some regions they might say something like that :blobaww:

Also, apersille sounds adorable, whatever it is 😅

@aparrish You could turn this into a game or a party game. Read the words and guess the sentence. Oh read the word to your team and have them guess the words.

@aparrish I don’t know why these are so appealing but they are.

One semi-practical application I can see for the technique is name generation for and other games.

Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!