Hi,
with OpenNMT Tokenizer (commit 453fb2c797ec5f15bd9ea12261b7ee3b58b97d4f) I’m worried about getting different results while comparing similar tokenize and spm_encode calls. Just as a short example, data preparation looks like this :
wget --trust-server-names http://data.statmt.org/wmt16/translation-task/training-parallel-nc-v11.tgz
tar xfz training-parallel-nc-v11.tgz
cd training-parallel-nc-v11/
mv news-commentary-v11.de-en.de de-en.de
mv news-commentary-v11.de-en.en de-en.en
cat de-en.en de-en.de | shuf > de-en
spm_train --input=de-en --model_prefix=spm --vocab_size=32000 --model_type=unigram --character_coverage=1.0
spm_encode --model=spm.model --generate_vocabulary < de-en.de > spm_vocab.de
spm_encode --model=spm.model --generate_vocabulary < de-en.en > spm_vocab.en
… then tokenize a german sentence :
echo “Sein Äußeres war auf dezente Weise so verändert, dass einem das weithin bekannte Gesicht nicht gleich auffiel.” | tokenize --sp_model=spm.model --vocabulary=spm_vocab.de --spacer_annotate --vocabulary_threshold=50
▁ S e i n ▁ Ä u ß e r e s ▁ w a r ▁ a u f ▁ d e z e n t e ▁ W e i s e ▁ s o ▁ v e r ä n d e r t , ▁ d a s s ▁ e i n e m ▁ d a s ▁ w e i t h i n ▁ b e k a n n t e ▁ G e s i c h t ▁ n i c h t ▁ g l e i c h ▁ a u f f i e l .
… and compare output with that of corresponding spm_encode call :
echo “Sein Äußeres war auf dezente Weise so verändert, dass einem das weithin bekannte Gesicht nicht gleich auffiel.” | spm_encode --model=spm.model --vocabulary=spm_vocab.de --vocabulary_threshold=50
▁Sein ▁ Ä uß er es ▁war ▁auf ▁de zen te ▁Weise ▁so ▁verändert , ▁dass ▁einem ▁das ▁we ithin ▁bekannte ▁Gesicht ▁nicht ▁gleich ▁auf fiel .
Is there anything missing or wrong with my tokenize call?
Thanks in advance!
Kind regards, Martin