СРАВНИТЕЛЕН АНАЛИЗ НА СИСТЕМИТЕ ЗА РАЗПОЗНАВАНЕ НА РЕЧЕН ОТВОРЕН КОД

Беленко М.В. 1, Балакшин П.В. 2

1 студент, университет ITMO, 2 доктор по технически науки, асистент, университет ITMO

СРАВНИТЕЛЕН АНАЛИЗ НА СИСТЕМИТЕ ЗА РАЗПОЗНАВАНЕ НА РЕЧЕН ОТВОРЕН КОД

анотация

Статията предоставя сравнителен анализ на най-често срещаните системи за автоматично разпознаване на реч с отворен код. Сравнението използва различни критерии, включително системни структури, програмни езици при внедряване, наличност на подробна документация, поддържани езици за разпознаване, лицензионни ограничения. Проведени бяха и експерименти върху няколко речеви корпуса, за да се определи скоростта и точността на разпознаването. В резултат на това за всяка от разгледаните системи бяха разработени препоръки за употреба с допълнително посочване на обхвата.

Ключови думи: разпознаване на реч, метрика, степен на разпознаване на думи (WRR), степен на грешка на думи (WER), фактор на скоростта (SF), отворен код

Беленко М.В. 1, Балакшин П.В. 2

1 студент, университет ITMO, 2 доктор по инженерство, асистент, университет ITMO

СРАВНИТЕЛЕН АНАЛИЗ НА СИСТЕМИТЕ ЗА РАЗПОЗНАВАНЕ НА РЕЧИ С ОТВОРЕН КОД

Резюме

Докладът предоставя сравнение на най-често срещаните системи за автоматично разпознаване на реч с отворен код. При сравнението са използвани много критерии, включително системни структури, програмни езици за изпълнение, подробна документация, поддържани езици за разпознаване и ограничения, наложени от лиценза. Също така бяха проведени експериментите върху няколко речеви основи за определяне на скоростта и точността на разпознаването. В резултат на това бяха дадени препоръките за прилагане с допълнително посочване на обхвата на дейност за всяка от изследваните системи.

Ключови думи: разпознаване на реч, метрика, скорост на разпознаване на думи (WRR), степен на грешка на думи (WER), фактор на скоростта (SF), код с отворен код

Целта на изследването е да разработи препоръки за използването на системи за разпознаване на реч с отворен код за намаляване на разходите при избора на система за търговски или изследователски дейности.

Като част от работата бяха разгледани шест системи с отворен код: CMU Sphinx, HTK, iAtros, Julius, Kaldi и RWTH ASR. Изборът се основава на честотата на споменаване в съвременните списания за научни изследвания, съществуващите разработки през последните години и популярността на отделни разработчици на софтуер [2], [3], [6-8], [10], [11], [ 13], [14]. Избраните системи бяха сравнени по отношение на точността и скоростта на разпознаване, използваемостта и вътрешната структура.

По отношение на точността системите бяха сравнени, използвайки най-често срещаните показатели [17]: процент на разпознаване на думи (WRR), процент грешки на думи (WER), които се изчисляват, като се използват следните формули:

където S е броят на операциите за заместване на думи, I е броят на операциите за вмъкване на думи, D е броят на операциите за премахване на думи от разпозната фраза за получаване на оригиналната фраза и T е броят на думите в оригиналната фраза и е измерена като процент. По отношение на скоростта на разпознаване са направени сравнения, като се използва фактор в реално време, мярка за съотношението между времето за разпознаване и продължителността на разпознавания сигнал, известен също като фактор на скоростта (SF). Този показател може да бъде изчислен по формулата:

където Trasp е времето за разпознаване на сигнала, T е неговата продължителност и се измерва във фракции от реалното време.

Всички системи бяха обучени с помощта на речевия корпус WSJ1 (Wall Street Journal 1), съдържащ приблизително 160 часа данни за обучение и 10 часа данни от тестове от Wall Street Journal. Този речев корпус включва записи на говорители от двата пола на английски език.

След провеждане на експеримента и обработка на резултатите беше получена следната таблица (Таблица 1).

Таблица 1 - Резултати от сравнението за точност и скорост

Точността и коректността на изследването се потвърждава от факта, че получените резултати са подобни на резултатите, получени при тестване на тези системи на други речеви корпуси, като Verbmobil 1, Quaero, EPPS [2], [4], [9].

Езикът за внедряване на системата, алгоритмите, използвани при форматите за разпознаване, въвеждане и извеждане на данни и директно вътрешната структура на софтуерната реализация на системата бяха избрани като критерии за сравняване на структурите.

По принцип процесът на разпознаване на речта може да бъде представен като следните етапи [15]:

  1. Извличане на акустични характеристики от входния сигнал.
  2. Акустично моделиране.
  3. Езиково моделиране.
  4. Декодиране.

Подходите, алгоритмите и структурите на данни, използвани от разглежданите системи за разпознаване на реч на всеки от изброените етапи, са представени в таблици (Таблици 2, 3).

Таблица 2 - Резултати от сравнението на алгоритмите

Таблица 3 - Езици за внедряване на системи и тяхната структура

От гледна точка на използваемостта, такива показатели се разглеждат като детайли на документацията, поддръжка на различни софтуерни и хардуерни среди по време на изпълнение, лицензионни ограничения, поддръжка на много езици за естествено разпознаване и характеристики на интерфейса. Резултатите са представени в следващите таблици (таблици 4, 5, 6, 7, 8).

Таблица 4 - Наличност на документация

Таблица 5 - Поддръжка за различни операционни системи

Таблица 6 - Системни интерфейси

Таблица 7 - Поддържани езици за разпознаване

Таблица 8 - Лицензи

След анализ на резултатите, получени по-горе, е възможно да се характеризира всяка от разглежданите системи и да се разработят препоръки за тяхното приложение.

Калди. Тази система показва най-добрата точност на разпознаване сред всички разглеждани системи (WER = 6,5%) и втората степен на разпознаване (SF = 0,6). По отношение на предоставените алгоритми и структури от данни, използвани за разпознаване на реч, тази система също е начело, тъй като осигурява най-голям брой съвременни подходи, използвани в областта на разпознаването на реч, като използването на невронни мрежи и модели на Гаусова смес на етапа на акустичното моделиране и използването на държавни машини.на етапа на езиковото моделиране. Също така ви позволява да използвате различни алгоритми, за да намалите размера на акустичния подпис на сигнала и съответно да увеличите производителността на системата. Kaldi е написан на езика за програмиране C ++, което има положителен ефект върху скоростта на системата и има модулна структура, която дава възможност лесно да се рефакторира системата, да се добави нова функционалност и да се поправят съществуващи грешки. По отношение на използваемостта, Kaldi също е една от първите системи. Той предоставя подробна документация, но е насочен към усъвършенствани четци за разпознаване на реч. Това може да повлияе неблагоприятно на използването на системата от новодошлите на терена. Той е междуплатформен, което означава, че работи на повечето модерни операционни системи. Kaldi предлага само конзолен интерфейс, което затруднява интегрирането в приложения на трети страни. По подразбиране тази система поддържа само английски, разпространява се под напълно безплатен лиценз на Apache, тоест може да се интегрира в търговски продукт, без да разкрива кода си. Тази система може успешно да се използва за изследователски дейности, тъй като осигурява добра точност на разпознаване, приемлива скорост на разпознаване, прилага много съвременни методи за разпознаване на реч, има много готови рецепти, което улеснява използването и разполага с изчерпателна документация.

CMU Сфинкс. Тази система за разпознаване на реч показва посредствена точност на разпознаване (WER

22%) и най-добрия процент на разпознаване сред всички разгледани (SF = 0,5). Трябва да се отбележи, че най-високата скорост на разпознаване се постига, когато се използва декодерът pocketsphinx, написан на C, декодерът sphinx4 показва доста средна скорост (SF = 1). Структурно тази система също използва много съвременни подходи за разпознаване на реч, включително модифициран алгоритъм на Витерби, но има по-малко използвани подходи от Калди. По-специално, на етапа на акустичното моделиране, тази система работи само със скрити модели на Марков. CMU Sphinx включва два декодера - pocketsphinx, внедрен в C, и sphinx4, внедрен в Java. Това позволява тази система да се използва на различни платформи, включително тези под операционната система Android, а също така улеснява интеграцията в проекти, написани на Java. Тази система има модулна структура, която влияе положително на способността за бързо извършване на промени и отстраняване на грешки. По отношение на използваемостта CMU Sphinx изпреварва Kaldi, тъй като в допълнение към конзолния интерфейс осигурява API, което значително опростява процеса на вграждане на системата в приложение на трета страна. Освен това има подробна документация, ориентирана, за разлика от Kaldi, към начинаещ разработчик, което значително опростява процеса на опознаване на системата. Също така силната страна на тази система е поддръжката на много езици по подразбиране, тоест наличието на езикови и акустични модели на тези езици в публичното пространство. Сред поддържаните езици, освен стандартния английски, има още руски, казахски и редица други. СМU Sphinx се разпространява под лиценза BSD, което позволява интегрирането му в търговски проекти. Тази система може да се използва в търговски проекти, тъй като има повечето предимства на Kaldi, въпреки че осигурява малко по-лоша точност на разпознаване и също така предоставя API, който може да се използва за изграждане на приложения на трети страни, базирани на тази система.

Юлий. Тази система показва най-лошия показател за точност (WER = 23,1) и среден показател за скорост на разпознаване (SF = 1,3). Етапите на акустичното и езиково моделиране се извършват с помощта на помощните програми, които са част от HTK, но декодирането се извършва със собствен декодер. Той, както повечето разглеждани системи, използва алгоритъма на Витерби. Тази система е внедрена на езика C, структурата на внедряване е модулна. Системата осигурява конзолен интерфейс и API за интеграция в приложения на трети страни. Документацията, както в HTK, е изпълнена под формата на книга на Юлий. По подразбиране Julius поддържа английски и японски. Разпространява се под BSD подобен лиценз. Julius може да се препоръча и за образователни дейности, тъй като има всички предимства на HTK, а също така предоставя способността да разпознава такъв екзотичен език като японски.

Ятрос. Тази система показва добри резултати в точността на разпознаване (WER = 16,1%) и посредствени резултати в скоростта (SF = 2,1). Той е много ограничен във възможностите си по отношение на алгоритми и структури от данни, използвани при разпознаване на реч, но предоставя възможност за използване на модели на Гаусова смес като състояния на скрития модел на Марков на етапа на акустичното моделиране. Тази система е внедрена на езика C. Тя има модулна структура. В допълнение към функцията за разпознаване на реч, тя съдържа и модул за разпознаване на текст. Това не е от голямо значение за това проучване, но е отличителна черта на тази система, която не може да бъде пренебрегната. От гледна точка на използваемостта iAtros отстъпва на всички системи, прегледани в хода на проучването. Тази система няма документация, не осигурява API за вграждане в приложения на трети страни, английският и испанският език се поддържат по подразбиране. Той е напълно неплатформен, тъй като работи само под контрола на операционни системи от семейството на Linux. Той се разпространява под лиценза GPLv3, който не позволява тази система да бъде вградена в търговски проекти, без да разкрива техния изходен код, което го прави неизползваем за търговски дейности. Системата iAtros може да се използва успешно, когато освен разпознаване на реч е необходимо да се използва и разпознаване на образци, тъй като тази система предоставя такава възможност.

RWTH ASR. По отношение на точността на разпознаване, RWTH ASR показва добър резултат (WER = 15,5%), но по отношение на скоростта на разпознаване е най-лошата система от разглежданите (SF = 3,8). Тази система, подобно на iAtros, може да използва модели на Гаусова смес на етапа на акустичното моделиране. Отличителна черта е възможността да се използва звуковата характеристика при извличане на акустичните характеристики на входния сигнал. Също така, тази система може да използва машина с претеглено състояние като езиков модел на етапа на езиковото моделиране. Тази система е внедрена в C ++ и има модулна архитектура. По отношение на използваемостта той е втори от края, има документация, описваща само инсталационния процес, което очевидно не е достатъчно, за да започнете да работите със системата. Осигурява само конзолен интерфейс, по подразбиране поддържа само английски. Системата не е достатъчно междуплатформена, тъй като не може да работи под операционната система Windows, която е широко разпространена днес. Той се разпространява под лиценза RWTH ASR, според който системният код се предоставя само за нетърговска употреба, което прави тази система неподходяща за интеграция в търговски проекти. Тази система може да се използва за решаване на проблеми, при които точността на разпознаване е важна, но времето не е важно. Също така си струва да се отбележи, че той е напълно неподходящ за каквато и да е търговска дейност поради ограниченията, наложени от лиценза.

Референции/Референции

Препратки на английски / Препратки в Английски