-
Notifications
You must be signed in to change notification settings - Fork 0
[Архипов] Сравнение текста выступления и презентации целиком
Данная задача является задачей определения семантической близости текстов. Наша задача определить эту метрику для некоторых (каких именно, будет уточнено позже) слайдов презентации. Суть критерия в том, чтобы оценить, насколько речь студента соответствует содержимому слайда.
Для решения задачи семантической схожести были рассмотрены следующие варианты решения:
- TF IDF
- Word2Vec
- Doc2Vec
- SpaCy
- Оценка с помощью n-грамм и косинусного сходства
Первые три решения -- это модели машинного обучения, а SpaCy -- библиотека для обработки естественного языка. Для русского языка есть 3 версии обработчиков -- small, medium и large. Я протестировал все 3.
От решения ожидается, что для схожих текстов показатель их семантической близости будет достаточно высок, а для различных текстов будет близок к нулю
Тесты будут проводиться для нормализованных текстов и для не нормализованных (возможно, это каким-либо образом скажется на результате работы)
Тестирование проводилось на моём докладе с кафедрального семинара.
Для наглядности сопоставлю мои слова и текст с презентации.
Речь: Всем здравствуйте, меня зовут Архипов Вадим, и тема моего сегодняшнего доклада это проектирование и внедрение модуля анализа точной транскрипции для тренажера публичных выступлений.
Презентация: ПРОЕКТИРОВАНИЕ И ВНЕДРЕНИЕ МОДУЛЯ АНАЛИЗА ТОЧНОЙ ТРАНСКРИБЦИИ ДЛЯ ТРЕНАЖЁРА ПУБЛИЧНЫХ ВЫСТУПЛЕНИЙ Архипов Вадим СПБГЭТУ «ЛЭТИ», каф. МОЭВМ
Речь: Целью данной работы является повышение точности распознавания человеческой речи тренажером публичных выступлений путем внедрения в него модуля точной транскрипции. Здесь хотелось бы дать небольшую вводную. Дело в том, что для того, чтобы тренировать у студентов навык публичного выступления, на кафедре МОЕВМ был разработан тренажер. Схема взаимодействия студентов с этим тренажером следующая. Студент загружает туда презентацию, нажимает кнопку записи и надиктовывает свое выступление, после чего отправляет его на проверку, где оно уже проверяется, вычисляется некоторые метрики. И навык студент получает оценку своему выступлению. На данный момент там стоит модуль распознавания речи ВОСК, который не то чтобы сильно устраивает нас. И было решено заменить его на другой модуль, который обеспечил бы более точное распознавание речи и возможно более быстро.
Презентация: Цель и задачи• Цель – Повышение точности распознавания человеческой речи тренажером публичных выступлений путём внедрения в него модуля точной транскрибции• Задачи исследования:1. Обзор существующих моделей транскрибции 2. Описание требуемых изменений в системе 3. Описание способа оценки качества работы системы 2
Речь: Задачи исследования были следующими. Это обзор существующих моделей транскрипции, описание требуемых изменений в системе и описание способа оценки качества работы системы. В процессе исследования были изучены модели распознавания речи, которые могли бы заменить ВОСК, были выделены критерии для сравнения этих моделей, а также было произведено сравнение аналогов по критериям. И здесь хочется сделать remarку, что искомое решение должно обладать высоким процентом правильно распознанных слов и работать не слишком медленно. Была сделана некоторая оценка, и было решено положить время обработки меньше чем 0 ,7, помноженное на время выступления.
Презентация: Постановка задачи В процессе исследования были:• Изучены модели распознавания речи, которые могут заменить VOSK• Выделены критерии для сравнения найденных аналогов• Произведено сравнение аналогов по критериям Найденное решение должно обладать высоким процентом правильно распознанных слов и работать не слишком медленно (время обработки ≤ 0.7 ∗ время выступления)3
Речь: В работе были рассмотрены такие решения, как Whisper, Deep Speech, Calde, Wavto Vec 2 .0 и Simulus M4T. В скобках указана модель, если данное решение поставляет несколько моделей. Например, для Whisper AI была выбрана модель Whisper Large. В кассетах есть еще 5 других, каждая отличается. Они отличаются друг от друга параметрами, количеством параметров, и датасетом, на котором они были обучены.
Презентация: 1.1. Поиск аналого��В работе были рассмотрены самые популярные решения, способные осуществить speech-to-text преобразование• Whisper AI (Whisper Large)• Deep Speech 2 • Kaldi (Librispeech ASR model)• Wav2Vec 2.0 (Large)• SeamlessM4T (Large)4
Речь: Выбор критерий сравнения. Были выбраны следующие критерии сравнения. Первое, самое важное, Real -time factor, который показывает, с какой скоростью происходит обработка аудиозаписи. Как вычисляется он как длительность обработки аудиозаписи делить на длительность этой аудиозаписи. Вторым критериям является World -Sphere -Ordinary. Это процентная величина, которая показывает, насколько точно происходит обработка записи. Чем ниже это значение, тем более точно система расшифровала аудио. И третий критерий. Это поддержка русского языка. Так как тренажер публичных выступлений ориентирован по большей части на русскоязычные выступления, то имеет смысл больше предпочтения в выборе модели отдавать моделям, которые поддержку русского языка встроили сами разработчики. Поскольку в теории такие модели будут работать точнее и быстрее, поскольку разработчики обучили их на большем количестве данных.
Презентация: 1.2. Выбор критериев сравнения• RTF (Real-Time Factor) – Показывает, с какой скоростью происходит обработка аудиозаписи. 𝑅𝑇𝐹 =𝑓(𝑑)𝑑 , 𝑓 𝑑 −время обработки аудио, 𝑑 − длительность аудио • WER (Words Error Rate) – Показывает, насколько точно происходит обработка записи• Поддержка русского языка – Поскольку тренажёр ориентирован на русскоязычные выступления 5
Речь: В данной таблице привезены результаты сравнения по критериям. В ходе анализа данной таблицы было принято решение использовать в проекте модель от Whisper AI, поскольку она поддерживает русский язык. Модель не нужно дополнительно обучать работать с ним. Иметь один из самых низких RTF и также имеет самый низкий процент ошибок, допущенных при распознавании.
Презентация: 1.3. Результаты сравнения по критериям RTF WER Поддержка русского языка Whisper AI0.1726.2% (ENG)7,1% (RUS)Модель не нужно дополнительно обучать DeepSpeech 2.00.28611.85% (ENG)Модель необходимо обучатьKaldi0.4618.92% (ENG)Модель необходимо обучать Wav2Vec 2.00.12010% (ENG)Модель необходимо обучатьSeamLessM4T0.077.44 (ENG)10.31 (RUS)Модель не нужно дополнительно обучать6
Речь: Для того, чтобы обеспечить работу Whisper в проекте, как отдельного узла, необходимо...
Презентация: 2.1. Описание требуемых изменен��й• Требуется обеспечить работу Whisper внутри проекта как отдельного узла, который бы получал на вход аудиозапись, а на выход отдавал бы транскрибцию7
Речь: После того, как Whisper будет интегрирован, предлагается провести ряд экспериментов, в частности сравнить Whisper и VOSC по точности работы. Входными данными в этих экспериментах будут выступать аудиозаписи публичных выступлений, для которых известна точная транскрипция. На выходе мы будем получать процент ошибок, которые модели допустили при распознавании. Шаги эксперимента будут следующими. В Whisper и VOSC поочередно будут загружаться аудиозаписи и получатся транскрипции. Далее эти транскрипции будут сравниваться с эталонной и будет подсчитываться процент допущенных ошибок. Ожидается, что процента ошибок распознавания Whisper будет меньше, чем процент ошибок допущенных VOSC при распознавании.
Презентация: 3.1. Способы оценки качества. Сравнение точности работы Название Сравнение точности работы Whisper и VOSK Входные данные Аудиозаписи публичных выступлений,для которых известна точная транскрибция Выходные данные Процент ошибок, допущенных моделями при распознавании Шаги проведения эксперимента 1. Загрузить запись выступления в Whisper и вVOSK2.Сравнить полученные транскрибции с эталонной и вычислить процент ошибок,допущенных моделями при распознавании Ожидаемый результат Процент ошибок распознавания Whisper будет меньше, чем у VOSK8
Речь: И второй эксперимент, который также предлагается провести, это сравнить скорость работы моделей Whisper и VOSC. Для этого требуется в каждой из этих моделей загрузить одинаковые аудиозаписи публичных выступлений и дождаться окончания их обработки. Зафиксировать время, за которое модели это сделали, и сравнить. Ожидается, что Whisper справится быстрее, чем VOSC.
Презентация: 3.1. Способы оценки качества. Сравнение скорости работы Название Сравнение скорости работы Whisper и VOSK Входные данные Аудиозапись публичного выступления Выходные данные Время, затраченное моделью на обработку записи Шаги проведения эксперимента 1. Загрузить запись выст��пления в Whisper и вVOSK2. Дождаться окончания обработки записи ��зафиксировать время, которое потребовалось системе для этого Ожидаемый результат Whisper требуется меньше времени на обработку аудиозаписи, чем VOSK 9
Речь: В заключении можно сказать, что были изучены инструменты для осуществления транскрипции речи. Для дальнейших исследований была выбрана модель Whisper Large, которая в среднем работает на 54 % точнее, чем рассматривание аналоги. Эта модель будет интегрирована в тренажер с помощью технологии контейнеризации Docker, а дальнейшие исследования могут включать в себя непосредственную интеграцию модели Whisper в тренажер и проведение обозначенных выше экспериментов.
Презентация: Заключение• Были изучены инструменты транскрибции речи. Для дальнейших исследований была выбрана модель Whisper Large, которая в среднем работает на 54% точнее, чем рассматриваемые аналоги• Новая модель будет интегрирована в тренажер с помощью технологии контейнеризации Docker• Дальнейшие исследования могут включать в себя непос��едственную интеграцию модели Whisper Large в тренажёр и проведение экспериментов10
Речь: На этом у меня все. Спасибо за внимание.
Презентация: СПАСИБО ЗА ВНИМАНИЕ!11
Речь: Ну здесь уже идут пояснения.
Презентация: 12DeepSpeech RTF = 0.2 (2 X GTX 1070)DeepSpeech RTF = x (Nvidia TITAN RTX)↑ 2 𝐺𝑇𝑋 1070𝑇𝑖𝑡𝑎𝑛 𝑅𝑇𝑋 = 0.2𝑥 ↓2 𝐺𝑇𝑋 1070𝑇𝑖𝑡𝑎𝑛 𝑅𝑇𝑋 = 𝑥0.2 ⇒ 𝑥 = 0.2 ∗ 2 𝐺𝑇𝑋 1070𝑇𝑖𝑡𝑎𝑛 𝑅𝑇𝑋= 0.2 ∗ 2 ∗ 34.8148.56= 0.286 https://technical.city/ru/video
Есть еще один текст, тематика которого далека от темы презентации -- текст про страшные фильмы. Здесь я его не привожу, но буду сравнивать его со слайдами презентации, чтобы посмотреть, как предлагаемое решение поведет себя, если тексты выступления и тексты презентации не будут совпадать.
(Чем ближе результат к 1, тем более похожими являются тексты)
Метод | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
TF-IDF | 0.465 | 0.695 | 0.091 | 0.062 |
Word2Vec | 0.827 | 0.902 | 0.973 | 0.423 |
Doc2Vec | 0.985 | 0.999 | 0.849 | 0.863 |
Spacy Small | 0.353 | 0.962 | 0.498 | 0.872 |
Spacy Medium | 0.939 | 0.962 | 0.760 | 0.610 |
Spacy Large | 0.969 | 0.980 | 0.748 | 0.638 |
N-grams | 0.159 | 0.205 | 0.002 | 0.000 |
TF-IDF | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.560 | 0.670 | 0.093 | 0.007 |
Test2 | 0.302 | 0.508 | 0.062 | 0.028 |
Test3 | 0.519 | 0.671 | 0.094 | 0.007 |
Test4 | 0.329 | 0.621 | 0.087 | 0.046 |
Test5 | 0.367 | 0.577 | 0.062 | 0.028 |
Test6 | 0.334 | 0.548 | 0.062 | 0.028 |
Test7 | 0.371 | 0.587 | 0.091 | 0.062 |
Test8 | 0.287 | 0.580 | 0.091 | 0.062 |
Word2Vec | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.886 | 0.908 | 0.975 | 0.356 |
Test2 | 0.747 | 0.803 | 0.972 | 0.202 |
Test3 | 0.802 | 0.938 | 0.966 | 0.366 |
Test4 | 0.697 | 0.861 | 0.971 | 0.344 |
Test5 | 0.776 | 0.822 | 0.972 | 0.202 |
Test6 | 0.763 | 0.807 | 0.972 | 0.202 |
Test7 | 0.913 | 0.815 | 0.973 | 0.423 |
Test8 | 0.885 | 0.783 | 0.973 | 0.423 |
Doc2Vec | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.965 | 0.978 | 0.823 | 0.839 |
Test2 | 0.952 | 0.972 | 0.899 | 0.909 |
Test3 | 0.957 | 0.983 | 0.820 | 0.840 |
Test4 | 0.967 | 0.992 | 0.851 | 0.855 |
Test5 | 0.954 | 0.971 | 0.899 | 0.909 |
Test6 | 0.954 | 0.973 | 0.899 | 0.909 |
Test7 | 0.964 | 0.991 | 0.849 | 0.863 |
Test8 | 0.951 | 0.992 | 0.849 | 0.863 |
Spacy Small | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.569 | 0.973 | 0.529 | 0.884 |
Test2 | 0.459 | 0.948 | 0.456 | 0.840 |
Test3 | 0.560 | 0.977 | 0.528 | 0.886 |
Test4 | 0.308 | 0.933 | 0.391 | 0.880 |
Test5 | 0.485 | 0.945 | 0.456 | 0.840 |
Test6 | 0.476 | 0.939 | 0.456 | 0.840 |
Test7 | 0.237 | 0.938 | 0.331 | 0.872 |
Test8 | 0.216 | 0.936 | 0.331 | 0.872 |
Spacy Medium | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.904 | 0.907 | 0.627 | 0.410 |
Test2 | 0.851 | 0.917 | 0.477 | 0.398 |
Test3 | 0.864 | 0.911 | 0.601 | 0.401 |
Test4 | 0.859 | 0.916 | 0.556 | 0.470 |
Test5 | 0.878 | 0.929 | 0.477 | 0.398 |
Test6 | 0.861 | 0.920 | 0.477 | 0.398 |
Test7 | 0.884 | 0.918 | 0.760 | 0.610 |
Test8 | 0.882 | 0.914 | 0.760 | 0.610 |
Spacy Large | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.938 | 0.942 | 0.629 | 0.534 |
Test2 | 0.922 | 0.929 | 0.595 | 0.464 |
Test3 | 0.927 | 0.942 | 0.622 | 0.531 |
Test4 | 0.942 | 0.971 | 0.664 | 0.625 |
Test5 | 0.938 | 0.938 | 0.595 | 0.464 |
Test6 | 0.922 | 0.928 | 0.595 | 0.464 |
Test7 | 0.935 | 0.957 | 0.748 | 0.638 |
Test8 | 0.934 | 0.956 | 0.748 | 0.638 |
N-gramms | Схожие тексты, без нормализации | Схожие тексты, с нормализацией | Различные тексты, без нормализации | Различные тексты, с нормализацией |
---|---|---|---|---|
Test1 | 0.061 | 0.085 | 0.001 | 0.000 |
Test2 | 0.037 | 0.067 | 0.002 | 0.000 |
Test3 | 0.049 | 0.079 | 0.001 | 0.000 |
Test4 | 0.046 | 0.088 | 0.001 | 0.000 |
Test5 | 0.046 | 0.078 | 0.002 | 0.000 |
Test6 | 0.033 | 0.065 | 0.002 | 0.000 |
Test7 | 0.080 | 0.118 | 0.002 | 0.000 |
Test8 | 0.000 | 0.113 | 0.002 | 0.000 |
Предлагаю использовать TF-IDF, поскольку она выдаёт самое большое расхождение между оценками выступления, соответствующего теме презентации, и выступления, которое не соответствует теме презентации. Что примечательно, использование нормализации текста при работе с TF-IDF положительно сказывается на результате работы модели -- корректный нормализованный текст она оценили выше, чем корректный не нормализованный, а некорректный нормализованный текст -- ниже, чем некорректный ненормализованный.