phoneme2grapheme

Using a sequence 2 sequence model with attention to convert from pronunciation to spelling.

installation

Install the requirements pip install --upgrade -r requirements.txt

Then start a jupyter notebook and open main.ipynb

results

It reaches a character error rate of <20%, and here are the results . The machine has made some reasonable mistakes but becomes confused by the end of the word.

Note if you view the readme in html you will see lighter letters show where the model was uncertain.

pronunciationguessspelling
kˈɑkəsˌɔidcockosoid caucasoid
bɹˈæsfˌildbrasfielddbrassfield
flˈæʃbl̩b flashbllb flashbulb
hˈɛstiə hestia hestia
kɹˈæbi crabby crabby
tɹədˈus traduse traduce
təlˈulə talula tallulah
bˈitn̩ beetnn beaton
hˈɑlɪtʃɛk holicckk holecek
beidˈɔiə bedoia bedoya
sɪvˈiɹ siverr severe
nɑɪsˈɪpi nicipp nicippe
lˈoʊɹntʃəɹlornnchrr launcher
bɹɪtˈɔil bretoil britoil
ˈɔɹtnɚ ortner ortner
bˈɪljn̩ɵs billiants billionths
sˈɛmijˌɑn semiyon semillon
lˈɔntʃɪŋ launching launching
zˌubɪlˈɑgəzubilagaa zubillaga
ɹɪfɹˈɛʃɪz refreshes refreshes
ˈɪgnəɹn̩s igneranceeignorance
tɪsˈɪpəs tesippus ctesippus
vɪtkˈɔfskivitkowski witkowski
dˈɑdɹɪdʒ dodrrdge doddridge
tˈɛnn̩t tennnnt tennent
dˈɪŋk dink dink
ˈeiljənəɹ alliner alienor
dˈuln̩ dullnn doolan
hˈʌlki hulkee hulky
mˈɛmwˌɑɹz memwars memoirs
kɑɹdɑɹˈɛlicardarelllcardarelli
fˈɝmɚ furmer firmer
kwˈɑpjɑ quapya kuopio
kɚˈɛktɪd careected corrected
ɹˈɔɵmn̩ rothman rothman
stɹʊk strook strook
ɹˈɛnkwɪst renquist renquist
ɛspɪnˈoʊzəespinosa espinosa
bˈɪgɪnz biggins biggins
pəɹfˈɛkʃn̩perfectionperfection
ˈændəɹsn̩ anderson andersen
ˈænɪnæt aninatt aninat
ˈɔlɹɪd alredd alred
ɑɹkˈoʊlə arcola arcola
pɹˈimiəm premium premium
bˈɑlmʊŋ bolmung balmung
ɹˌɑbˈʌstəsrobustoss robustas
dɪsˈɔɹdɚz disorddrrsdisorders
ˈæsɪtˌæl asitall acetal
bjˈuz buse buse
wˈeif waff waif
ˈæɹənˌoʊs aronose arenose
kwˈeiswˈeiquaseeay kweisui
ɪmbˈɑdiɪŋ imbodiinggembodying
mˈʌlkɚn mulkern mulkern
kˈɪmɪtʃ kimiich kimmich
tˈupəlˌoʊ tupelow tupelo
tɹɑɪˈʌmf triumf triumph
pɹˈaʊd˺ɚ prowder prouder
wˈɛdʒ wedge wedge
ɹˈɛznɪk resnikk reznik
flˈeid flayed flayed
ˈæsɪlɪn asilinn asselin
dɪkɹˈitl̩ dicrettl decretal
sɪndˈɛt˺ɪksindetic syndetic
spˈænɪʃ spannsh spanish
ɹˈæli rally rallye
aʊtʃˈoʊn ouchone outshone
sˈɑsəɹˌɑɪtsosserite saussurite
ɪspˈaʊzd ispousd espoused
bɹˈɪklɪn bricklin bricklin
ɛskˈɑləp escolop escallop
hˈɔɹdz hordss hordes
kˈæɹəkɚ carrcker caraker
wˈɑɪthˌɝstwiithhorstwhitehurst
mˈɛɹɪmæk merimac merrimac
tʃɑɪnˈi chinee chinee
hˈænlɪn hanlin hanlin
dɑɪˈækənl̩diacinal diaconal
kwˈɪnin quinnnn quinine
bɹʊjˈɛɹ bruyerr bruyeres
pitsˈutoʊ pitsuto pizzuto
liˈændəɹ liander leander
əblˈɑɪdʒɪŋobligingg obliging
mˈɔɹfju morfuu morphew
glˈækn̩z glacknns glackens
bukˈeiz buccass bouquets
hˈɝɹmɪt hermit hermit
mˈʌsl̩ mussle mussell
mˈʌt˺əɹ mutter mutter
pəhˈoʊki pahoki pahokee
gɑlˈɑsoʊ galasso galasso
ˈoʊvɚlˌɑk overlock overlock
tˈɪŋktʃəɹ tincturr tincture
pjˈudʒɪn pugin pugin
spˌɛʃəlˌi speshale especially
hˈʊfpɹˌɪnthoofprint hoofprint
pˈɑntɪk pontic pontic
pɹˈɑɪsɪz prices prices
nˈeivi navi navy
gɹˈɪmʃˌɔ grimshau grimshaw
pɹəvˈɑɪzoʊpravizo proviso
sˈoʊlɪtɹɑnsoletron solitron
ˈænəɵˌoʊl anathol anethole
pɑmpˈɛɹoʊ pampero pampero
ˈɑɪməs immu imus
hˈoʊfəɹ hoffer hofer
smˈɑɹts smarts smarts
mɔɹtˈimɔɹ mortemorr mortimore
blˈɛkmn̩ bleckman blechman
ʃˈæfɹn̩ shaffron shafran
tn̩dɹˈoʊ tondrow tondreau
ˈɝdʒn̩tli urgentlyy urgently
ˌɑksˈænə oxanaa oksana
flˈɪntʃiɹ flinchir flintshire
ʃɹˈɛŋk shhrenk schrenk
plˈæzə plaza plaza
dˈunədɪn dunadin dunedin
dɪsmˈɪʃn̩ dismition dismission
skwˈɪfi squiffy squiffy
skˈɑɪwˌei skiway skyway
fˈæʃɪst fashist fascist
pˈɑləpˌɛɹipoloparyy polypary
ɑɪˈælmənəsialmonoss ialmenus
ˈɑzmn̩dsn̩osmandson osmundson
ˈɑɪlˌæʃɪz illases eyelashes
gˈæsp gasp gasp
ɪnwˈɑɪnd inwindd inwind
kˈoʊldli coldlyy coldly
bˈækʃi bacchyy bakshi
æbˈɛsɪv abessiv abessive
tʃɪkˈɔin chicoin chicoine
skˌɪmz skims skims
kɹɪsp crisp crisp
hˈɑɪdɹˌɑɪdhiddrdd hydride
bɹˈæmlɪt bramlet bramlett
jˈɛsəf yessff iosif
gˈɑɹdhˌaʊsgardhouss guardhouse
sˈɪliəs silius syleus
zˈɪŋə zinga zinga
tˈɪŋkɚd tinkerdd tinkered
tˈægəɹ tagger tagger
ˈʌltəmˌoʊ ultimo ultimo
ʃˈɛɹɪl sherill sherrill
poʊstwˈoʊɹpostworr postwar
lˈɔɹiəts loriets laureates
dʒˈɑskɪn joskin joskin
kˈinɪŋ keening keening
slˈoʊli slolly slowly
spoʊsˈɑtoʊsposatoo sposato
wˌɑt˺əɹˈi wattere wateree
æmfˈɪbiə amphibia amphibia
dʒˌæpənˈizjappnnes japanese
əntɹˈu untruu untrue
pˈɛɹəbl̩ perrbbe parable
kʊɹzˈɑwə curzawa kurzawa
sˈʌmwˌɛɹ summaar somewhere
zˈɪlviə zilvia zilvia
oʊsˈɔɹioʊ osorio osorio
swˈɪtʃɚ switcher switcher
ɚˈɛndsˌi areedse arendsee
kɑɹvɑjˈæl carvaial carvajal
blˈæknɪs blackniss blackness
pɚˈɪsiˌɛn perisien parisienne
kˈænjn̩z caniins canyons
pɔɹtˈɛndz portends portends
lˈuɪn luin lewin
slˈɪmɪŋ slimming slimming
mʊɹˈɑt murrtt murat
tˈɑɪmn̩ timen timon
hˈimɪn heemi hemin
tˈɝɹnkˌi ternkee turnkey
ɹɪdˈiməbl̩redemmbbl redeemable
lˈɑkəs lockos lochus
skˈɛɹiɚ scarierr scarier
ˌænəkjˈuʒəanacujia anacusia
stɹˈut stroot stroot
tɑɪmˈiəs timeus timaeus
səbmˈɝs submerse submerse
stˈɑlwəɹɵ stolwwrth stalworth
ˈiniəs enius oeneus
ləzˈɪɹ lazirr lazear
bˈɑoʊ bao booe
ɪkspˈændɪdexpanded expanded
zəɹkˈɑnɪk zerconic zirconic
ˈɑbleit oblatee oblate
gˈɪbi gibby gibby
sˈʌmnɚz sumnners sumners
tˈeiln̩ tallnn taillon
tɹˈɪbjut tributt tribute
pˈʌzl̩mn̩tpussleman puzzlement
lˈændfˌɪlzlandfilss landfills