ПОРІВНЯЛЬНИЙ АНАЛІЗ СИСТЕМ РОЗІЗНАВАННЯ МОВЛЕННЯ З ВІДКРИТИМ КОДОМ, Опублікувати статтю РИНЦ,

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

1 студент, Університет ІТМО, 2 кандидат технічних наук, асистент, Університет ІТМО

ПОРІВНЯЛЬНИЙ АНАЛІЗ СИСТЕМ РОЗІЗНАННЯ МОВЛЕННЯ З ВІДКРИТИМ КОДОМ

Аннотація

У статті проведено порівняльний аналіз найпоширеніших систем автоматичного розпізнавання мовлення з відкритим вихідним кодом. При порівнянні використовувалося безліч критеріїв, включаючи структури систем, мови програмування при реалізації, наявність докладної документації, мови розпізнавання, що підтримуються, обмеження накладаються ліцензією. Також було проведено експерименти на кількох мовних корпусах визначення швидкості і точності розпізнавання. В результаті для кожної з розглянутих систем були вироблені рекомендації щодо застосування з додатковим зазначенням сфери діяльності.

Ключові слова: розпізнавання мови, метрика, Word Recognition Rate (WRR), Word Error Rate (WER), Speed ​​Factor (SF), відкритий код

Belenko M.V. 1, Balakshin P.V. 2

1 student, ITMO University, 2 PhD in Engineering, assistant, ITMO University

COMPARATIVE ANALYSIS OF SPEECH RECOGNITION SYSTEMS WITH OPEN CODE

Abstract

Paper дає змогу скористатися найбільшим автоматичним швидким відкриттям систем з Open Source Code. Багато критеріїв були використані на comparison, включно з системами структур, програмування мовами з implementation, detailed documentation, supported recognition languages, і restrictions imposed by the license. Крім того, вони були зроблені experiments на several speech bases for determination of speed and accuracy of recognition. Як результат, recommendationsбули ведені для застосування з додатковою точкою ступеня діяльності для всіх систем, що були незмінні.

Keywords: Speech Recognition, Metric, Word Recognition Rate (WRR), Word Error Rate (WER), Speed ​​Factor (SF), Open Source Code

Метою дослідження є вироблення рекомендацій щодо застосування систем розпізнавання мовлення з відкритим вихідним кодом зменшення витрат при виборі системи для комерційної чи науково-дослідницької діяльності.

В рамках роботи було розглянуто шість систем з відкритим вихідним кодом: CMU Sphinx, HTK, iAtros, Julius, Kaldi та RWTH ASR. Вибір заснований на частоті згадки у сучасних науково-дослідних журналах, існуючими розробками останніх років та популярності у індивідуальних розробників програмного забезпечення [2], [3], [6-8], [10], [11], [13], [ 14]. Вибрані системи порівнювали за такими показниками, як точність і швидкість розпізнавання, зручність використання та внутрішня структура.

За точністю системи порівнювалися за найбільш поширеними метриками [17]: Word Recognition Rate (WRR), Word Error Rate (WER), які обчислюються за такими формулами:

де S – число операцій заміни слів, I – число операцій вставки слів, D – число операцій видалення слів із розпізнаної фрази для отримання вихідної фрази, а Т – число слів у вихідній фразі та вимірюється у відсотках. За швидкістю розпізнавання порівняння було проведено з використанням Real Time Factor – показника відношення часу розпізнавання до тривалості сигналу, що також розпізнається, також відомого як Speed ​​Factor (SF). Даний показник можна розрахувати, використовуючи формулу:

де Трасп - час розпізнавання сигналу, Т - його тривалість і вимірюється частками від реального часу.

Усі системи були навченііз застосуванням мовного корпусу 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 – Ліцензії

Проаналізувавши отримані вище результати, можна скласти характеристику кожної з систем, що розглядаються, і виробити рекомендації щодо їх застосування.

Kaldi. Ця система показує кращу точність розпізнавання з усіх систем (WER=6.5%) і другу швидкість розпізнавання (SF=0.6). З точки зору алгоритмів і структур даних, що застосовуються для розпізнавання мови, дана система також лідирує, оскільки надає найбільшу кількість сучасних підходів, що застосовуються у сфері розпізнавання мови, таких як використання нейронних мереж і моделей гаусових сумішей на етапі акустичного моделювання та використання кінцевих автоматів на етапі мовного моделювання. Також вона дозволяє використовувати безліч алгоритмів зменшення розміру акустичних ознак сигналу, і, відповідно, збільшувати продуктивність системи. Kaldi написана мовою програмування С++, що позитивно позначається швидкості роботи системи, і має модульну структуру, що дозволяє легко проводити рефакторинг системи, додавання нового функціоналу, і навіть виправляти існуючі помилки. З точки зору зручності використання Kaldi також є однією з перших систем. Вона надає докладну документацію, але орієнтовану на досвідчених у сфері розпізнавання читачів. Це може негативно позначитися на використанні даної системи новачками у цій галузі. Вона кроссплатформенна, тобто запускається на більшості сучасних операційних систем. Kaldiнадає лише консольний інтерфейс, що робить її інтеграцію в сторонні додатки скрутною. За умовчанням ця система підтримує лише англійську мову, поширюється під повністю вільною ліцензією Apache, тобто може бути інтегрована в комерційний продукт без розкриття його коду. Дана система може з успіхом застосовуватися для науково-дослідної діяльності, тому що забезпечує хорошу точність розпізнавання, прийнятну швидкість розпізнавання, реалізує безліч сучасних методів розпізнавання мовлення, має безліч готових рецептів, що робить її простою у використанні та має вичерпну документацію.

CMU Sphinx. Ця система розпізнавання мови показує посередню точність розпізнавання (WER

22%) та кращу швидкість розпізнавання з усіх розглянутих (SF=0.5). Потрібно зауважити, що найбільша швидкість розпізнавання досягається при використанні декодера pocketsphinx, написаного на С, декодер sphinx4 показує цілком середню швидкість роботи (SF=1). Структурно дана система також використовує безліч сучасних підходів до розпізнавання мови, включаючи модифікований алгоритм Вітербі, однак підходів, що використовуються менше, ніж у Kaldi. Зокрема, на етапі акустичного моделювання ця система працює лише із прихованими марківськими моделями. CMU Sphinx включає два декодери – pocketsphinx, реалізований на С, і sphinx4, реалізований на Java. Це дозволяє застосовувати цю систему на багатьох платформах, у тому числі під керуванням операційної системи Android, а також полегшує інтеграцію в проекти, написані на Java. Дана система має модульну структуру, що позитивно позначається на можливості швидкого внесення змін та виправлення помилок. З точки зору зручності використанняCMU Sphinx випереджає Kaldi, оскільки крім консольного інтерфейсу надає API, що значно полегшує процес вбудовування системи в стороннє додаток. Також вона має докладну документацію, орієнтовану, на відміну від Kaldi, на розробника-початківця, що сильно спрощує процес знайомства з системою. Також сильною стороною даної системи є підтримка багатьох мов за промовчанням, тобто наявність мовних та акустичних моделей цих мов у вільному доступі. Серед підтримуваних мов крім стандартної англійської зустрічаються також українська, казахська та низка інших. СMU Sphinx поширюється під ліцензією BSD, що дозволяє вбудовувати її в комерційні проекти. Дана система може застосовуватися в комерційних проектах, оскільки має більшість переваг Kaldi, хоча і забезпечує дещо гіршу точність розпізнавання, а також надає API, яке можна використовувати для побудови сторонніх додатків на базі даної системи.

Julius. Ця система показує найгірший показник точності (WER=23.1) та середній показник швидкості розпізнавання (SF=1.3). Етапи акустичного та мовного моделювання здійснюються за допомогою утиліт, що входять до складу HTK, проте декодування відбувається за допомогою свого декодера. Він, як більшість розглянутих систем, використовує алгоритм Вітербі. Реалізована дана система мовою С, структура реалізації є модульною. Система надає консольний інтерфейс та API для інтеграції у сторонні програми. Документацію, як і в HTK, реалізовано у формі книги Julius book. За замовчуванням Julius підтримує англійську та японську мови. Поширюється під BSD такою ліцензією. Систему Julius можна також порекомендувати для освітньої діяльності, оскільки вона має всіплюсами HTK, і також надає можливість розпізнавати таку екзотичну мову як японську.

Іатрос. Ця система показує хороший результат точності розпізнавання (WER=16.1%) і посередній результат швидкості (SF=2.1). Вона дуже обмежена у можливостях щодо алгоритмів і структур даних, що застосовуються при розпізнаванні мови, проте надає можливість використовувати моделі гаусових сумішей як стани прихованої марківської моделі на етапі акустичного моделювання. Реалізована дана система мовою С. Має модульну структуру. Крім функціоналу розпізнавання мовлення містить у собі також модуль розпізнавання тексту. Це не має великого значення для даного дослідження, проте є відмінною особливістю даної системи, про яку не можна не згадати. З погляду зручності використання iAtros програє всім розглянутим під час дослідження системам. Дана система не має документації, не надає API для вбудовування в сторонні програми, з мов, що підтримуються, представлені англійська та іспанська. Є зовсім не кросплатформною, тому що запускається лише під керуванням операційних систем сімейства Linux. Поширюється під ліцензією GPLv3, яка не дозволяє вбудовувати цю систему у комерційні проекти без розкриття їх вихідного коду, що робить її непридатною для використання у комерційній діяльності. Система iAtros з успіхом може використовуватися там, де, крім розпізнавання мови, необхідно ще застосування розпізнавання образів, оскільки дана система надає таку можливість.

RWTH ASR. За точністю розпізнавання RWTH ASR показує непоганий результат (WER=15.5%), проте за швидкістю розпізнавання є найгіршою системою з розглянутих(SF = 3.8). Ця система так само, як і iAtros, може використовувати моделі гаусових сумішей на етапі акустичного моделювання. Відмінною рисою є можливість використання характеристики дзвінкості під час вилучення акустичних характеристик вхідного сигналу. Також дана система може використовувати зважений кінцевий автомат як мовну модель на етапі мовного моделювання. Ця система реалізована мовою С++ і має модульну архітектуру. За зручністю використання є другий з кінця, має документацію, що описує лише процес установки, чого явно недостатньо для початку роботи із системою. Надає лише консольний інтерфейс, за замовчуванням підтримує лише англійську мову. Система недостатньо кроссплатформенна, тому що не може працювати під керуванням операційної системи Windows, яка дуже поширена в даний час. Поширюється під ліцензією RWTH ASR, за якою код системи надається лише для некомерційного використання, що робить цю систему непридатною для інтеграції до комерційних проектів. Дана система може застосовуватися для вирішення завдань, де важлива точність розпізнавання, але не важливий час. Також варто зауважити, що вона зовсім непридатна для будь-якої комерційної діяльності через обмеження ліцензії.

Список литературы / References

Список літератури англійською /ReferencesinEnglish