Fix letters 'q' and 'z' not being in the dictionary

Enfore that all one-grams are present in the dictionary to make sure
it's possible to write any sentence
This commit is contained in:
2025-05-17 00:25:51 +02:00
parent 623888851b
commit 5917e79635
2 changed files with 327 additions and 321 deletions

View File

@@ -56,7 +56,7 @@ Console.WriteLine("Computing ngrams");
var ngrams = new Dictionary<string, long>(); var ngrams = new Dictionary<string, long>();
const int MaxLength = 8; const int MaxLength = 8;
const int MinLength = 1; const int MinLength = 2;
foreach (var (word, frequency) in wordFrequencies) foreach (var (word, frequency) in wordFrequencies)
{ {
@@ -112,9 +112,15 @@ Console.WriteLine("Generating dictionary...");
var dictionary = new Dictionary<string, string>(); var dictionary = new Dictionary<string, string>();
var ngramIndex = 0; var ngramIndex = 0;
// Prepend base letters to make sure all words are writeable
string[] oneGrams = [
" ", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"
];
var fullNgrams = oneGrams.Concat(orderedNgrams.Select(p => p.Key)).ToArray();
foreach (var letter in Alphabet.BaseAlphabet) foreach (var letter in Alphabet.BaseAlphabet)
{ {
dictionary[letter] = orderedNgrams[ngramIndex].Key; dictionary[letter] = fullNgrams[ngramIndex];
ngramIndex++; ngramIndex++;
} }

View File

@@ -1,320 +1,320 @@
poyo= poyo=
poyó=e poyó=a
poyò=t poyò=b
poyô=a poyô=c
poyö=o poyö=d
poyõ=i poyõ=e
poyō=n poyō=f
poyǒ=e poyǒ=g
póyo=r póyo=h
póyó=h póyó=i
póyò=s póyò=j
póyô=l póyô=k
póyö=d póyö=l
póyõ=c póyõ=m
póyō=th póyō=n
póyǒ=u póyǒ=o
pòyo=t pòyo=p
pòyó=he pòyó=q
pòyò=m pòyò=r
pòyô=b pòyô=s
pòyö=f pòyö=t
pòyõ=y pòyõ=u
pòyō=p pòyō=v
pòyǒ=the pòyǒ=w
pôyo=n pôyo=x
pôyó=w pôyó=y
pôyò=g pôyò=z
pôyô=he pôyô=e
pôyö=in pôyö=th
pôyõ=y pôyõ=t
pôyō=d pôyō=he
pôyǒ=r pôyǒ=the
pöyo=an pöyo=n
pöyó=er pöyó=he
pöyò=the pöyò=in
pöyô=be pöyô=y
pöyö=at pöyö=d
pöyõ=re pöyõ=r
pöyō=v pöyō=an
pöyǒ=on pöyǒ=er
põyo=o põyo=the
põyó=nd põyó=be
põyò=or põyò=at
põyô=be põyô=re
põyö=ha põyö=on
põyõ=en põyõ=o
põyō=to põyō=nd
põyǒ=ve põyǒ=or
pōyo=ou pōyo=be
pōyó=nd pōyó=ha
pōyò=it pōyò=en
pōyô=st pōyô=to
pōyö=l pōyö=ve
pōyõ=k pōyõ=ou
pōyō=te pōyō=nd
pōyǒ=al pōyǒ=it
pǒyo=ti pǒyo=st
pǒyó=f pǒyó=l
pǒyò=and pǒyò=te
pǒyô=s pǒyô=al
pǒyö=er pǒyö=ti
pǒyõ=nt pǒyõ=f
pǒyō=and pǒyō=and
pǒyǒ=of pǒyǒ=s
payo=ar payo=er
payó=a payó=nt
payò=se payò=and
payô=to payô=of
payö=ea payö=ar
payõ=hi payõ=a
payō=of payō=se
payǒ=me payǒ=to
páyo=le páyo=ea
páyó=on páyó=hi
páyò=h páyò=of
páyô=co páyô=me
páyö=is páyö=le
páyõ=in páyõ=on
páyō=at páyō=h
páyǒ=ro páyǒ=co
pàyo=ll pàyo=is
pàyó=ve pàyó=in
pàyò=de pàyò=at
pàyô=es pàyô=ro
pàyö=ng pàyö=ll
pàyõ=io pàyõ=ve
pàyō=om pàyō=de
pàyǒ=ne pàyǒ=es
pâyo=ic pâyo=ng
pâyó=li pâyó=io
pâyò=ri pâyò=om
pâyô=ra pâyô=ne
pâyö=as pâyö=ic
pâyõ=ce pâyõ=li
pâyō=g pâyō=ri
pâyǒ=ho pâyǒ=ra
päyo=ion päyo=as
päyó=ca päyó=ce
päyò=or päyò=g
päyô=ta päyô=ho
päyö=ut päyö=ion
päyõ=el päyõ=ca
päyō=ch päyō=or
päyǒ=m päyǒ=ta
pãyo=hat pãyo=ut
pãyó=ma pãyó=el
pãyò=hat pãyò=ch
pãyô=ur pãyô=m
pãyö=k pãyö=hat
pãyõ=ng pãyõ=ma
pãyō=fo pãyō=hat
pãyǒ=re pãyǒ=ur
pāyo=no pāyo=k
pāyó=si pāyó=ng
pāyò=her pāyò=fo
pāyô=av pāyô=re
pāyö=nt pāyö=no
pāyõ=tha pāyõ=si
pāyō=ion pāyō=her
pāyǒ=il pāyǒ=av
pǎyo=ent pǎyo=nt
pǎyó=et pǎyó=tha
pǎyò=la pǎyò=ion
pǎyô=us pǎyô=il
pǎyö=ac pǎyö=ent
pǎyõ=ly pǎyõ=et
pǎyō=ing pǎyō=la
pǎyǒ=wh pǎyǒ=us
piyo=ow piyo=ac
piyó=ave piyó=ly
piyò=pe piyò=ing
piyô=ec piyô=wh
piyö=ly piyö=ow
piyõ=ot piyõ=ave
piyō=tio piyō=pe
piyǒ=ll piyǒ=ec
píyo=tion píyo=ly
píyó=wi píyó=ot
píyò=ave píyò=tio
píyô=se píyô=ll
píyö=al píyö=tion
píyõ=ing píyõ=wi
píyō=ge píyō=ave
píyǒ=it píyǒ=se
pìyo=so pìyo=al
pìyó=that pìyó=ing
pìyò=that pìyò=ge
pìyô=for pìyô=it
pìyö=ay pìyö=so
pìyõ=st pìyõ=that
pìyō=lo pìyō=that
pìyǒ=pr pìyǒ=for
pîyo=ee pîyo=ay
pîyó=hav pîyó=st
pîyò=have pîyò=lo
pîyô=have pîyô=pr
pîyö=tr pîyö=ee
pîyõ=sh pîyõ=hav
pîyō=le pîyō=have
pîyǒ=w pîyǒ=have
pïyo=mo pïyo=tr
pïyó=an pïyó=sh
pïyò=tion pïyò=le
pïyô=ut pïyô=w
pïyö=un pïyö=mo
pïyõ=ce pïyõ=an
pïyō=ct pïyō=tion
pïyǒ=ay pïyǒ=ut
pĩyo=me pĩyo=un
pĩyó=di pĩyó=ce
pĩyò=ss pĩyò=ct
pĩyô=ed pĩyô=ay
pĩyö=i pĩyö=me
pĩyõ=we pĩyõ=di
pĩyō=ol pĩyō=ss
pĩyǒ=yo pĩyǒ=ed
pīyo=ul pīyo=i
pīyó=rt pīyó=we
pīyò=te pīyò=ol
pīyô=em pīyô=yo
pīyö=th pīyö=ul
pīyõ=ter pīyõ=rt
pīyō=do pīyō=te
pīyǒ=ke pīyǒ=em
pǐyo=po pǐyo=th
pǐyó=ir pǐyó=ter
pǐyò=thi pǐyò=do
pǐyô=nc pǐyô=ke
pǐyö=you pǐyö=po
pǐyõ=his pǐyõ=ir
pǐyō=im pǐyō=thi
pǐyǒ=is pǐyǒ=nc
puyo=oo puyo=you
puyó=all puyó=his
puyò=ent puyò=im
puyô=ig puyô=is
puyö=pa puyö=oo
puyõ=ate puyõ=all
puyō=p puyō=ent
puyǒ=ati puyǒ=ig
púyo=ld púyo=pa
púyó=fi púyó=ate
púyò=his púyò=p
púyô=en púyô=ati
púyö=ver púyö=ld
púyõ=na púyõ=fi
púyō=mi púyō=his
púyǒ=ry púyǒ=en
pùyo=ai pùyo=ver
pùyó=pl pùyó=na
pùyò=ow pùyò=mi
pùyô=gh pùyô=ry
pùyö=wo pùyö=ai
pùyõ=sa pùyõ=pl
pùyō=ad pùyō=ow
pùyǒ=her pùyǒ=gh
pûyo=ld pûyo=wo
pûyó=ev pûyó=sa
pûyò=su pûyò=ad
pûyô=os pûyô=her
pûyö=iv pûyö=ld
pûyõ=for pûyõ=ev
pûyō=ther pûyō=su
pûyǒ=wa pûyǒ=os
püyo=ni püyo=iv
püyó=ry püyó=for
püyò=ith püyò=ther
püyô=am püyô=wa
püyö=bo püyö=ni
püyõ=u püyõ=ry
püyō=ch püyō=ith
püyǒ=ab püyǒ=am
pũyo=ou pũyo=bo
pũyó=you pũyó=u
pũyò=op pũyò=ch
pũyô=id pũyô=ab
pũyö=wit pũyö=ou
pũyõ=ne pũyõ=you
pũyō=bu pũyō=op
pũyǒ=with pũyǒ=id
pūyo=fe pūyo=wit
pūyó=tu pūyó=ne
pūyò=bl pūyò=bu
pūyô=ere pūyô=with
pūyö=atio pūyö=fe
pūyõ=x pūyõ=tu
pūyō=ed pūyō=bl
pūyǒ=ation pūyǒ=ere
pǔyo=ome pǔyo=atio
pǔyó=out pǔyó=ed
pǔyò=con pǔyò=ation
pǔyô=ke pǔyô=ome
pǔyö=ns pǔyö=out
pǔyõ=rea pǔyõ=con
pǔyō=eve pǔyō=ke
pǔyǒ=ci pǔyǒ=ns
peyo=ie peyo=rea
peyó=com peyó=eve
peyò=ar peyò=ci
peyô=et peyô=ie
peyö=ith peyö=com
peyõ=vi peyõ=ar
peyō=ty peyō=et
peyǒ=with peyǒ=ith
péyo=ear péyo=vi
péyó=fr péyó=ty
péyò=if péyò=with
péyô=ag péyô=ear
péyö=res péyö=fr
péyõ=ate péyõ=if
péyō=do péyō=ag
péyǒ=mp péyǒ=res
pèyo=ey pèyo=ate
pèyó=ive pèyó=do
pèyò=ia pèyò=mp
pèyô=pro pèyô=ey
pèyö=ba pèyö=ive
pèyõ=ov pèyõ=ia
pèyō=nce pèyō=pro
pèyǒ=as pèyǒ=ba
pêyo=ck pêyo=ov
pêyó=sta pêyó=nce
pêyò=sp pêyò=as
pêyô=ty pêyô=ck
pêyö=gr pêyö=sta
pêyõ=ter pêyõ=sp
pêyō=ation pêyō=ty
pêyǒ=hin pêyǒ=gr
pëyo=ess pëyo=ter
pëyó=ak pëyó=ation
pëyò=ge pëyò=hin
pëyô=ill pëyô=ess
pëyö=go pëyö=ak
pëyõ=out pëyõ=ge
pëyō=our pëyō=ill
pëyǒ=ot pëyǒ=go
pẽyo=ey pẽyo=out
pẽyó=fa pẽyó=our
pẽyò=ss pẽyò=ot
pẽyô=igh pẽyô=ey
pẽyö=not pẽyö=fa
pẽyõ=int pẽyõ=ss
pẽyō=ex pẽyō=igh
pẽyǒ=j pẽyǒ=not
pēyo=om pēyo=int
pēyó=one pēyó=ex
pēyò=ap pēyò=om
pēyô=men pēyô=one
pēyö=all pēyö=ap
pēyõ=od pēyõ=men
pēyō=here pēyō=all
pēyǒ=est pēyǒ=od
pěyo=up pěyo=here
pěyó=ive pěyó=est
pěyò=rs pěyò=up
pěyô=ere pěyô=ive
pěyö=ove pěyö=rs
pěyõ=nce pěyõ=ere
pěyō=ide pěyō=ove
pěyǒ=uc pěyǒ=nce