![]() |
|
|
![]()
|
|
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
Вопрос про скрытые модели маркова в распознавании речи.
Подскажите, плиз, каким образом осуществляется: 1) выбор количества состояний каждой модели 2) задание количества компонент Гауссовской смеси в случае непрерывных СММ 3) задание начальных значений pi, A, B (т.е. параметров СММ) Если известна ссылка на ресурс, где все это в понятной форме разъяснено - благодарности не будет предела Заранее спасибо. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
в одной из встречавшихся мне реализаций делали так: 1. выбирают достаточно большое количество состояний 2. распознают исходное слово 3. уменьшают количество состояний 4. повторяют предыдущие пункты, пока ошибка распознавания не превысит порог -------------------- qqq |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Зависит от того, на чём обучаем СММ. Если на фонемах, то чаще всего берут 3 состояния + 2 фиктивных (как бы начало и конец фонемы). Если на аллофонах - какая-то своя методика. На 2-й и 3-й вопрос однозначного ответа нет. Очень много "если - то". Хорошо об этом написано в ТИИЭР в статье Рабинера "Применение СММ в распознавании речи". Вообще на эту тему русской литературы почти нет. То, что указал выше, является переводом. Туториал от гуру: http://www.ai.mit.edu/~murphyk/Software/HMM/rabiner.pdf Еще чтения: http://www.ee.washington.edu/techsite/pape...R-2002-0003.pdf http://www.icsi.berkeley.edu/~jagota/NCS/vol2.html http://www.datalab.uci.edu/papers/hmmpin.pdf У Рабинера есть еще хорошая книжка "Fundamentals of speech recognition". Вот это в качестве "галопа по европам": http://dsp-book.narod.ru/rec-notes.pdf. Сразу обнадежу: "с нуля" поднять эту тему непросто Полезная страничка: http://encyclopedia.thefreedictionary.com/...0Markov%20model. На ней линки не забудь. |
|||
|
||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
Спасибо за ответ и за "обнадеживание" =) Целью я задалась, так что... Рабинера тоже читала - в оригинале, но, как было замечено, с нуля тяжело в этом разобраться, отсюда и вопросы... Вот по-поводу Рабинера... В главе 4, пункт Е он пишет о возможных (2х) способах выбора количества состояний модели: первый вариант - кол-во фонем, второй - кол-во observations, те каждые 15мс моделирует одно состояние. Так вот, во втором случае получается, что наша СММ будет иметь достаточно много состояний. 1. Меняется ли это количество в процессе тренинга или остается? 2. Что из себя представляет тренинг Витерби? (на пальцах если можно =) 3. В распознавании алгоритм Витерби может быть использован для подсчета max вероятности наблюдений, пропущенных через модель. А для чего нам может пригодится последовательность состояний, максимизирующих эту вероятность? Ведь, как я понимаю, при распознавании речи используются чаще всего лево-правые СММ 1го порядка и последовательность там может быть лишь различной комбинацией "состояние(i) - состояние(i+1)" и "состояние(i) - состояние(i)"... 4) этот вопрос был задан на другом форуме, но ответа не последовало.... Может, здесь кто подскажет... например, нас есть СММ для слова "лом", мы произносим слово "лом" и просто "л" - какая вероятность будет больше: Р("лом"|СММ) или Р("л"|СММ)? Если считать по forward алгоритму, то Р("л"|СММ) будет больше. Как вообще длина слова может быть учтена в СММ? И опять длина СММ - в реальных системах она одна для всех СММ или все-таки различна? Очень надеюсь на ответ... |
|||
|
||||
| podval |
|
||||||||||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Остается: одно наблюдение = один фрейм сигнала = одно состояние.
Это не тренинг, а декодирование.
Чтобы определить, к какой из фраз (слов) наиболее вероятно относится принятая реализация.
Принято считать не P(x), а -log P(x). Длина слова учитывается как раз количеством состояний в полученной СММ.
Смотря длину ЧЕГО ты спрашиваешь. Если рассматривать длину элементарной единицы речи (фонема, например), то ее длина, измеренная в количестве состояний СММ, одна и та же. Длина слов, фраз - разная, т.к длительность их разная, т.е. разное количество фонем и, соответственно, разное количество состояний СММ. |
||||||||||
|
|||||||||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
Вот в этом-то и вопрос... Предположим, что мы рассматриваем СММ для целых слов, не для фонем. Вот спикер что-то сказал (иными словами, получили мы тренировочный набор векторов свойств), теперь мы хотим создать СММ для этого слова. Как выбрать кол-во состояний модели: 2 способа упомянутые выше (из Рабинера) - и все, больше ничего не придумали? Т.е. я беру и на каждый вектор создаю состояние и в итоге для выходной ф-ции должно получиться, что для этого отдельного символа (то, что получили после VQ, т.е.) вероятность выхода большая, а для остальных символов - маленькая? Вопрос звучит несколько сумбурно, но тем не менее... это все как-то unclear пока что... Да, и потом получается подряд много одинаковых состояний, т.к. рассматриваем 15мс интервал... а что тогда делать с "петлями", если на каждый символ - свое состояние? Да, а с "лом" и "л" как? Какой будет результат? |
|||
|
||||
| podval |
|
||||||||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
СММ используются по-разному в разных задачах. Если мы распознаем ключевые слова (keywords spotting) - это одно, если занимаемся распознаванием слитной речи (continuous speech) - это совершенно другое. СММ в этих двух случаях решают разные задачи, обучаются и используются по-разному.
Вернись, пожалуйста к основам. Перечитай туториал.
Ну и что с того? Если принятая реализация имеет длину N состояний, то декодировать будем, ориентируясь именно на N, а ветви, длина которых меньше, просто режутся. Другими словами, если мы нашли, что принятая реализация содержит 3 фонемы, то слова из 1 фонемы нас уже не волнуют, какая бы вероятность для них ни была. |
||||||||
|
|||||||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Рекомендую разыскать вот такую книгу:
Frederick Jelinek. "Statistical Methods for Speech Recognition". Massachusetts Institute of Technology, 2nd printing, 1999. Очень толково написано все, что касается применения СММ. |
|||
|
||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
ок, спасибо за ответы! постараюсь найти книжку... а есть ли ее перевод? |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Насчет перевода очень сомневаюсь. В России людей, плотно занимающихся методами СММ, маловато.
|
|||
|
||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
Ок. Я уже на английском нашла. Там математики...эх... Кстати, в Вы не знаете ресурсы, где можно скачать работающие демки систем распознавания речи+краткое описание общих принципов их построения? Что бы немного прикоснуться к практике... |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
http://www.torch.ch/ - здесь очень удачная библиотека функций на С++.
http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html - это матлабовский тулбокс. http://htk.eng.cam.ac.uk/ - Hidden Markov Model Toolkit. |
|||
|
||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
ок, спасибо большое за ссылки! Еще вопрос про инициализацию СММ... Segmental K-means алгоритм может быть использован для тренинга как самостотятельно, так и как вспомогательная процедура для инициализации параметров СММ перед переоценкой с пом. Вом-Вэлша? Это так? И еще: какие методы тренинга вообще используются. Как я понимаю все зависет от того, что оптимизируем. Можно кратко указать, какие алгоритмы существуют и что они оптимизируют? (а то каша в голове почти неизбежна Заранее спасибо! |
|||
|
||||
| podval |
|
||||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Ну если ты прочитала об этом, значит так Слишком узкоспециализированный вопрос.
Ищи EM algorithm. Гугл выдаст большую кучу ссылок. Вот одна из них выглядит вполне убедительно: http://page.mi.fu-berlin.de/~biocomp/Lehre...EMAlgoHMM98.pdf |
||||
|
|||||
| Voprosnikov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 19.3.2004 Репутация: нет Всего: нет |
Ух, спасибо большое... На самом деле у меня вопросов по СММ воз и маленькая тележка... Так что тему буду продолжать, если возражений нет... |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |