Hi there,
I am trying to perform the decode stage using my AM model. I trained my acoustic and language model using the same datasets. Below is my decode.cfg file contents.
# Replace `[...]` with appropriate paths
--datadir=/media/home/megha/5_wav2letter/WAV_2_LETTER/
--lexicon=/media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/lexicon.txt
--lm=/media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
--am=/media/home/megha/5_wav2letter/WAV_2_LETTER/deutsche_Combined_clean_trainlogs/001_model_wav2letter#tutorials#output#data#dev-clean.bin
--test=wav2letter/tutorials/output/data/test-clean
--lmweight=2.5
--wordscore=1
--beamsize=1000
--beamscore=25
--silweight=-0.5
--nthread=1
--nthread_decoder=8
--smearing=max
--show
after executing the decoder command, my tokens are getting skipped. A sample of the is as shown below. Kindly point out what I am missing.
I0517 16:45:09.636415 1615 Dictionary.cpp:55] Skipping unknown token: 'dem,'
I0517 16:45:09.636431 1615 Dictionary.cpp:55] Skipping unknown token: 'gesagt,'
I0517 16:45:09.636435 1615 Dictionary.cpp:55] Skipping unknown token: 'können,'
I0517 16:45:09.636438 1615 Dictionary.cpp:55] Skipping unknown token: 'gesprochen.'
I0517 16:45:09.662009 1615 Dictionary.cpp:55] Skipping unknown token: 'knoten,'
I0517 16:45:09.662058 1615 Dictionary.cpp:55] Skipping unknown token: 'waren,'
I0517 16:45:09.662063 1615 Dictionary.cpp:55] Skipping unknown token: 'seemannsknoten.'
I0517 16:45:09.690374 1615 Dictionary.cpp:55] Skipping unknown token: 'kabine,'
I0517 16:45:09.690390 1615 Dictionary.cpp:55] Skipping unknown token: 'beobachtete,'
I0517 16:45:09.719741 1615 Dictionary.cpp:55] Skipping unknown token: 'dessen,'
I0517 16:45:09.719758 1615 Dictionary.cpp:55] Skipping unknown token: 'konnte,'
I0517 16:45:09.789772 1615 Dictionary.cpp:55] Skipping unknown token: 'leichter,'
and when it starts predicting, it is giving no output as below.
I0517 16:54:02.218433 1615 Dictionary.cpp:55] Skipping unknown token: 'schwelten.'
I0517 16:54:02.280560 1602 Decode.cpp:178] [Dataset] Number of samples per thread: 3305
Loading the LM will be faster if you build a binary file.Loading the LM will be faster if you build a binary file.Loading the LM will be faster if you build a binary file.Loading the LM will be faster if you build a binary file.
Loading the LM will be faster if you build a binary file.
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
Loading the LM will be faster if you build a binary file.
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
Loading the LM will be faster if you build a binary file.
Loading the LM will be faster if you build a binary file.
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpaReading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
Reading /media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
----5---10---15---20---25---30---35---40---45---50---55---60---65---70---75---80---85---90---95--100
*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
*
*
*
*
*
*
*
I0517 16:54:08.217253 19827 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217288 19833 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217293 19828 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217293 19832 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217291 19826 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217319 19829 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217321 19830 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:08.217303 19831 Decode.cpp:259] [Decoder] LM constructed.
I0517 16:54:10.297996 19827 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.339915 19830 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.340629 19829 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.341116 19831 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.345851 19826 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.345937 19832 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.357133 19833 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.361325 19828 Decode.cpp:293] [Decoder] Trie planted.
I0517 16:54:10.391551 19827 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.391718 19827 Decode.cpp:311] [Decoder] Decoder loaded in thread: 3
I0517 16:54:10.473187 19829 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.473438 19829 Decode.cpp:311] [Decoder] Decoder loaded in thread: 6
I0517 16:54:10.475255 19831 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.475455 19831 Decode.cpp:311] [Decoder] Decoder loaded in thread: 2
I0517 16:54:10.478157 19826 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.478365 19826 Decode.cpp:311] [Decoder] Decoder loaded in thread: 5
I0517 16:54:10.479481 19832 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.479665 19832 Decode.cpp:311] [Decoder] Decoder loaded in thread: 1
I0517 16:54:10.489560 19833 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.489792 19833 Decode.cpp:311] [Decoder] Decoder loaded in thread: 0
I0517 16:54:10.492317 19828 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.492513 19828 Decode.cpp:311] [Decoder] Decoder loaded in thread: 7
I0517 16:54:10.494510 19830 Decode.cpp:305] [Decoder] Trie smeared.
I0517 16:54:10.494719 19830 Decode.cpp:311] [Decoder] Decoder loaded in thread: 4
|T|: sie erhoben <unk> als wollten sie den weg <unk>
|P|:
[sample: 11245, WER: 100%, LER: 100%, slice WER: 100%, slice LER: 100%, progress: 0.0302572%]
|T|: grunthe verharrte noch immer in seinem <unk>
|P|:
[sample: 2850, WER: 100%, LER: 100%, slice WER: 100%, slice LER: 100%, progress: 0.0302572%]
|T|: sind wir bis dahin nicht glücklich <unk> so müssen sie es <unk>
|P|:
[sample: 5845, WER: 100%, LER: 100%, slice WER: 100%, slice LER: 100%, progress: 0.0302572%]
|T|: er strengte seine scharfen augen <unk> um die abbildung auf der tafel zu <unk>
|P|:
[sample: 1348, WER: 100%, LER: 100%, slice WER: 100%, slice LER: 100%, progress: 0.0302572%]
|T|: dass <unk> wie jeder instruktor im deutschen <unk> es verstand
|P|:
[sample: 12129, WER: 100%, LER: 100%, slice WER: 100%, slice LER: 100%, progress: 0.0302572%]
Thanks,
Megha
Maybe those are not in your lexicon.
You'd better to see your lexicon file.
On Fri, May 17, 2019 at 10:47 PM Megha Rangaswamy notifications@github.com
wrote:
Hi there,
I am trying to perform the decode stage using my AM model. I trained my
acoustic and language model using the same datasets. Below is my decode.cfg
file contents.Replace
[...]with appropriate paths--datadir=/media/home/megha/5_wav2letter/WAV_2_LETTER/
--lexicon=/media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/lexicon.txt
--lm=/media/home/megha/5_wav2letter/WAV_2_LETTER/wav2letter/tutorials/output/lm/MAI_LM.arpa
--am=/media/home/megha/5_wav2letter/WAV_2_LETTER/deutsche_Combined_clean_trainlogs/001_model_wav2letter#tutorials#output#data#dev-clean.bin
--test=wav2letter/tutorials/output/data/test-clean
--lmweight=2.5
--wordscore=1
--beamsize=1000
--beamscore=25
--silweight=-0.5
--nthread=1
--nthread_decoder=8
--smearing=max
--show
after executing the decoder command, my tokens are getting skipped. A
sample of the is as shown below. Kindly point out what I am missing.I0517 16:45:09.636415 1615 Dictionary.cpp:55] Skipping unknown token: 'dem,'
I0517 16:45:09.636431 1615 Dictionary.cpp:55] Skipping unknown token: 'gesagt,'
I0517 16:45:09.636435 1615 Dictionary.cpp:55] Skipping unknown token: 'können,'
I0517 16:45:09.636438 1615 Dictionary.cpp:55] Skipping unknown token: 'gesprochen.'
I0517 16:45:09.662009 1615 Dictionary.cpp:55] Skipping unknown token: 'knoten,'
I0517 16:45:09.662058 1615 Dictionary.cpp:55] Skipping unknown token: 'waren,'
I0517 16:45:09.662063 1615 Dictionary.cpp:55] Skipping unknown token: 'seemannsknoten.'
I0517 16:45:09.690374 1615 Dictionary.cpp:55] Skipping unknown token: 'kabine,'
I0517 16:45:09.690390 1615 Dictionary.cpp:55] Skipping unknown token: 'beobachtete,'
I0517 16:45:09.719741 1615 Dictionary.cpp:55] Skipping unknown token: 'dessen,'
I0517 16:45:09.719758 1615 Dictionary.cpp:55] Skipping unknown token: 'konnte,'
I0517 16:45:09.789772 1615 Dictionary.cpp:55] Skipping unknown token: 'leichter,'
Thanks,
Megha—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/facebookresearch/wav2letter/issues/297?email_source=notifications&email_token=AK4T4CXMQQNZWXHKECQIPTDPV3AP5A5CNFSM4HNV527KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUNPE7Q,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK4T4CW54WQ7UZP3DMT3BFTPV3AP5ANCNFSM4HNV527A
.
This is the sample of the training data for Language Model.
fröhliche weihnachten , bob !
sagte scrooge , mit einem ernst , der nicht missverstanden werden konnte , indem er ihn auf die achsel klopfte .
fröhlichere weihnachten , bob , als ich sie so manches jahr habe feiern lassen .
ich will ihr salär erhöhen und mich bemühen , ihrer familie unter die arme zu greifen .
wir wollen heute nachmittag bei einer weihnachtsbowle dampfenden punsches über ihre angelegenheiten sprechen , bob !
schüren sie das feuer an und kaufen sie eine andere kohlenschaufel , ehe sie wieder einen punkt auf ein i machen , bob cratchit !
scrooge war besser als sein wort .
er that alles und mehr noch , als er versprochen hatte und für tiny tim , welcher nicht starb , wurde er ein zweiter vater .
er wurde ein so guter freund und so guter mensch , wie nur die liebe alte city oder jede andere liebe alte stadt oder dorf in der lieben alten welt je gesehen .
einige leute lachten , ihn so verändert zu sehen , aber er liess sie lachen und kümmerte sich wenig darum ,
denn er war klug genug , zu wissen , dass nichts gutes in dieser welt geschehen kann , worüber nicht von vornherein einige leute lachen müssen
und da er wusste , dass derart leute doch blind bleiben würden , dachte er bei sich , es ist besser , sie legen ihre gesichter durch lachen in falten ,
als dass siees auf weniger anziehende weise thun .
sein eigenes herz lachte und damit war er zufrieden .
er hatte keinen fernern verkehr mit geistern , sondern lebte von jetzt an nach dem prinzip gänzlicher enthaltsamkeit
und immer sagte man von ihm , er wisse weihnachten recht zu feiern , wenn es überhaupt ein mensch wisse .
möge dies auch in wahrheit von uns allen gesagt werden können !
und so schliessen wir mit tiny tims worten gott segne uns alle und jeden !
does this seems to be correct ?
Thanks,
Megha
Two suggestions:
1) Remove all the punctuations in your LM training data.
2) For items in the lexicon, remove the punctuations appended at the end. (dem, to dem) So that the words you provided in the lexicon files matches the ones occurred in LM training data.
@xuqiantong
I actually modified my LM training data as below. in my new training data, all the punctuations are appended to the previous word. So now punctuations are not considered as a different token.
fröhliche weihnachten, bob!
sagte scrooge, mit einem ernst, der nicht missverstanden werden konnte, indem er ihn auf die achsel klopfte.
fröhlichere weihnachten, bob, als ich sie so manches jahr habe feiern lassen.
ich will ihr salär erhöhen und mich bemühen, ihrer familie unter die arme zu greifen.
But can my AM training data contain punctuations?
But even after building my LM and lexicon on my new training data, I am facing the same issues.
Is this may be because of something else? do you suspect anything else? I will also try to remove all the punctuations as you suggested.
Thanks,
Megha
@megharangaswamy Can you show me several lines of your lexicon file?
@xuqiantong
This is how my lexicon file looks.
bschnitt a b s c h n i t t
vier v i e r
von v o n
das d a s
letzte l e t z t e
marchen m a r c h e n
vom v o m
paul p a u l
keller.dasletztemarchenf k e l l e r . d a s l e t z t e m a r c h e n f
ich i c h
verzichtete v e r z i c h t e t e
darauf, d a r a u f ,
eine e i n e
neue n e u e
redaktionssitzung r e d a k t i o n s s i t z u n g
anzuberaumen.dasletztemarchenf a n z u b e r a u m e n . d a s l e t z t e m a r c h e n f
beauftragte b e a u f t r a g t e
herrn h e r r n
stimpekrex s t i m p e k r e x
schriftlich, s c h r i f t l i c h ,
politische p o l i t i s c h e
umschau u m s c h a u
binnen b i n n e n
tagen t a g e n
auszuarbeiten a u s z u a r b e i t e n
und u n d
mir m i r
einzureichen e i n z u r e i c h e n
dr. d r .
nein n e i n
würde w ü r d e
alsdann a l s d a n n
den d e n
auftrag a u f t r a g
erhalten, e r h a l t e n ,
über ü b e r
dieselben d i e s e l b e n
dinge d i n g e
zu z u
schreiben.dasletztemarchenf s c h r e i b e n . d a s l e t z t e m a r c h e n f
beide b e i d e
artikel a r t i k e l
würden w ü r d e n
veröffentlicht v e r ö f f e n t l i c h t
werden.dasletztemarchenf w e r d e n . d a s l e t z t e m a r c h e n f
der d e r
leser l e s e r
möge m ö g e
sich s i c h
dann d a n n
aus a u s
meinung m e i n u n g
gegenmeinung g e g e n m e i n u n g
die d i e
eigne e i g n e
bilden.dasletztemarchenf b i l d e n . d a s l e t z t e m a r c h e n f
redakteure r e d a k t e u r e
protestierten p r o t e s t i e r t e n
heftig h e f t i g
gegen g e g e n
solch s o l c h
unerhörte u n e r h ö r t e
praxis.dasletztemarchenf p r a x i s . d a s l e t z t e m a r c h e n f
beachtete b e a c h t e t e
aber a b e r
diese d i e s e
proteste p r o t e s t e
nicht.dasletztemarchenf n i c h t . d a s l e t z t e m a r c h e n f
antwortete a n t w o r t e t e
nur, n u r ,
dass d a s s
er e r
nunmehr n u n m e h r
seinen s e i n e n
schon s c h o n
drei d r e i
liefern l i e f e r n
hättedasletztemarchenf h ä t t e d a s l e t z t e m a r c h e n f
nein, n e i n ,
in i n
dessen d e s s e n
brief b r i e f
injurie i n j u r i e
enthalten e n t h a l t e n
war, w a r ,
schrieb s c h r i e b
ich, i c h ,
möchte m ö c h t e
freiwillig f r e i w i l l i g
tausend t a u s e n d
mark m a r k
geldstrafe g e l d s t r a f e
hilfskasse h i l f s k a s s e
für f ü r
unbemittelte u n b e m i t t e l t e
schriftsteller s c h r i f t s t e l l e r
legen, l e g e n ,
wenn w e n n
nicht n i c h t
sehr s e h r
unliebsame u n l i e b s a m e
erfahrungen e r f a h r u n g e n
machen m a c h e n
wolle.dasletztemarchenf w o l l e . d a s l e t z t e m a r c h e n f
waren w a r e n
bescheidene b e s c h e i d e n e
summe, s u m m e ,
denn d e n n
ein e i n
mehrfaches m e h r f a c h e s
davon d a v o n
erhalten e r h a l t e n
herididasufoturanien h e r i d i d a s u f o t u r a n i e n
parlamentarier p a r l a m e n t a r i e r
an a n
täglichen t ä g l i c h e n
diäten.dasletztemarchenf d i ä t e n . d a s l e t z t e m a r c h e n f
darauf d a r a u f
er, e r ,
korrespondenz k o r r e s p o n d e n z
mit m i t
sei s e i
ihm i h m
auf a u f
dauer d a u e r
teuer, t e u e r ,
weswegen w e s w e g e n
vorläufig v o r l ä u f i g
seine s e i n e
einstelle.dasletztemarchenf e i n s t e l l e . d a s l e t z t e m a r c h e n f
schnaff s c h n a f f
einige e i n i g e
spalten s p a l t e n
lokales l o k a l e s
sorgen s o r g e n
selbst s e l b s t
übernahm ü b e r n a h m
belletristischen b e l l e t r i s t i s c h e n
teil.dasletztemarchenf t e i l . d a s l e t z t e m a r c h e n f
hatte h a t t e
sorgen.dasletztemarchenf s o r g e n . d a s l e t z t e m a r c h e n f
nicht, n i c h t ,
es e s
meine m e i n e
mitredakteure m i t r e d a k t e u r e
schwer s c h w e r
machten m a c h t e n
hoffte, h o f f t e ,
ihnen i h n e n
fertig f e r t i g
werden, w e r d e n ,
wusste w u s s t e
wie w i e
literarischen l i t e r a r i s c h e n
aufgaben, a u f g a b e n ,
zufielen, z u f i e l e n ,
am a m
besten b e s t e n
lösen l ö s e n
solle.dasletztemarchenf s o l l e . d a s l e t z t e m a r c h e n f
sollte s o l l t e
erzählungen, e r z ä h l u n g e n ,
vielleicht v i e l l e i c h t
gar g a r
einen e i n e n
roman r o m a n
schreiben s c h r e i b e n
wesen, w e s e n ,
fremd f r e m d
waren, w a r e n ,
land, l a n d ,
so s o
wenig w e n i g
kannte.dasletztemarchenf k a n n t e . d a s l e t z t e m a r c h e n f
jenseits j e n s e i t s
tore t o r e
stadt s t a d t
kam k a m
herrlichen h e r r l i c h e n
wald.dasletztemarchenf w a l d . d a s l e t z t e m a r c h e n f
riesige r i e s i g e
bäume b ä u m e
wildverworrenem w i l d v e r w o r r e n e m
geäst g e ä s t
spannten s p a n n t e n
dach d a c h
mich.dasletztemarchenf m i c h . d a s l e t z t e m a r c h e n f
ihren i h r e n
zweigen z w e i g e n
wohnten w o h n t e n
seltsame s e l t s a m e
vögel v ö g e l
hohlen h o h l e n
stämmen s t ä m m e n
hausten h a u s t e n
tiere, t i e r e ,
herzförmige h e r z f ö r m i g e
blätter b l ä t t e r
wuchsen w u c h s e n
erde e r d e
ganz g a n z
frei f r e i
standen s t a n d e n
sie, s i e ,
mitten m i t t e n
grünen g r ü n e n
herzen h e r z e n
sprossten s p r o s s t e n
rote r o t e
blüten.dasletztemarchenf b l ü t e n . d a s l e t z t e m a r c h e n f
grosse, g r o s s e ,
rätseläugige r ä t s e l ä u g i g e
blumen b l u m e n
träumten t r ä u m t e n
zwischen z w i s c h e n
verwittertem v e r w i t t e r t e m
gestein, g e s t e i n ,
bäche b ä c h e
quellen q u e l l e n
alle a l l e
buntfarbig.dasletztemarchenf b u n t f a r b i g . d a s l e t z t e m a r c h e n f
felsenhöhlen f e l s e n h ö h l e n
schmale, s c h m a l e ,
wilde w i l d e
räubersteige, r ä u b e r s t e i g e ,
leise l e i s e
surrende s u r r e n d e
mühlen m ü h l e n
rotleuchtende r o t l e u c h t e n d e
waldschmiedefeuer.dasletztemarchenf w a l d s c h m i e d e f e u e r . d a s l e t z t e m a r c h e n f
dort, d o r t ,
wo w o
nebel n e b e l
im i m
tal t a l
bäumen b ä u m e n
aufstiegen, a u f s t i e g e n ,
kochten k o c h t e n
waldweiber w a l d w e i b e r
ihr i h r
mahl, m a h l ,
unter u n t e r
grossen g r o s s e n
pilzen p i l z e n
sassen s a s s e n
kleine k l e i n e
elfenkinder, e l f e n k i n d e r ,
einer e i n e r
wiese w i e s e
hütete h ü t e t e
knabe k n a b e
herde h e r d e
weisser, w e i s s e r ,
rotäugiger r o t ä u g i g e r
mäuse.dasletztemarchenf m ä u s e . d a
Most helpful comment
Two suggestions:
1) Remove all the punctuations in your LM training data.
2) For items in the lexicon, remove the punctuations appended at the end. (
dem,todem) So that the words you provided in the lexicon files matches the ones occurred in LM training data.