Приветствую!
Появилась необходимость расширить словарь модели vosk-model-ru-0.22.
Скачал vosk-model-ru-0.22-compile, собрал kaldi, установил все зависимости, далее следовал инструкциям. Заполнил файл db/extra.txt в нужном формате. При запуске compile_graph.sh ловлю такую ошибку:
LOG (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:149) Reading \1-grams: section.
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 82 [-5.653475 абаимова] skipped: word 'абаимова' not in symbol table
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 84 [-5.653475 абайдуллина] skipped: word 'абайдуллина' not in symbol table
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 100 [-5.653475 абакировна] skipped: word 'абакировна' not in symbol table
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 107 [-5.653475 абакшина] skipped: word 'абакшина' not in symbol table
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 114 [-5.653475 абалмазова] skipped: word 'абалмазова' not in symbol table
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:219) line 115 [-5.653475 абалымов] skipped: word 'абалымов' not in symbol table
......
WARNING (arpa2fst[5.5.1012~2-dd107]:Read():arpa-file-parser.cc:259) Of 15464 parse warnings, 30 were reported. Run program with --max-arpa-warnings=-1 to see all warnings
Затем такую:
utils/map_arpa_lm.pl: Processing "\1-grams:\"
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абаимова -0.004129345
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абайдуллина -0.004129345
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абакировна -0.004129345
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абакшина -0.004129345
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абалмазова -0.004129345
utils/map_arpa_lm.pl: Warning: OOV line -5.653475 абалымов -0.004129345
......
Соответственно, на выходе имею базовый словарь без слов из extra.txt
Я в это теме новичок, поделитесь, пожалуйста, опытом, что я делаю не так? Проблема с lexicon? Если да, то куда сгенерированный lexicon.txt положить?
Спасибо!
UPD.
Обнаружил, что некорректно отрабатывает скрипт dict.py, в файл lexicon.txt не попадают слова из db/extra.txt, только из db/ru.dic. Вероятно, некорректно отрабатывает phonetisaurus.predict. Разбираюсь дальше...