| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > База фонем русского языка |
| Автор: Silent 7.4.2009, 12:57 |
| Работаю над распознаванием речи с помощью нейронных сетей, для обучения которой нуждаюсь в наборе фонем русского языка, в разных вариантах произношения несколькими дикторами, подобном RuSpeech, WSJ Speech и TIMIT (хотелось бы конкретно фонем). Подскажите, где такое можно найти? |
| Автор: shara 13.4.2009, 21:25 |
| Silent, ого задачка у тебя. сам одно время НС интересовался... и каких она у тебя размеров чтобы со звуком работать? собсно по теме: как вариант начитать самому ну или загнать в сеть аудиокнигу и параллельно звуку подогнать текст |
| Автор: Silent 14.4.2009, 12:18 |
| Размер нейросети зависит от входных данных. Фонема устойчива и четко прослеживается, в зависимости от диктора, высоты его голоса, от 10 до 40мс, соответственно при телефонном стандарте в 8000Гц количество нейронов во входном слое должно быть в пределах 80-320. Что касается моей сети, то я использую 100х100х100х44 - 12,5мс в рассматриваемом "окне" для распознавания, на выходе одна из 44 фонем (43 в русском языке+пауза). Такое маленькое окно было выбрано потому что в речи фонемы "в чистом виде" практически не существуют, они друг на друга накладываются. |
| Автор: shara 14.4.2009, 23:21 |
| даже если ты найдешь набор фонем который ищешь, как ты потом хочешь разделять речь для ее дальнейшего распознавания НС натасканой на фонемы. просто банально порезать весь аудио поток на окна по 12.5мс не самая лучшая идея. я всеже советовал бы тебе тренировать сеть не на фонемы - а на слова. хотя скорей всего это приведет к усложнению самой сети, к увеличению количества нейронов как минимум. |
| Автор: Silent 15.4.2009, 10:18 |
| При пооконном распознавании можно будет распознавать потоковую речь, "на лету", а при предлагаемом Вами способе, shara, к речи будет предъявлено два требования: она будет распознавать с некоторой паузой (пока не закончится слово), и, самое главное, от входных данных будет требоваться раздельная речь, что для практических целей несколько "глуповато". Я не спорю, такая система будет гораздо лучше распознавать слова, на которые она натаскана. Однако если встретится похожее слово, или слово, отсутствовавшее в обучаемой выборке? алес капут - слово или будет распознано неверно, или вообще нераспознано. Такие системы используются для голосового управления, где набор команд ограничен; для разговорной речи он не айс. |
| Автор: shara 15.4.2009, 18:47 |
справедливо но это не снимает вопрос о том как ты собираешься непрерывную речь(аудиопоток) делить на фонемы чтобы затем их распознавать на обученной сети. и что-то мне подсказывает что решив эту задачу ты без труда сможешь разжиться приличным набором необходимых тебе фонем. (разбив "неким таинственным" образом на фонемы пару все тех же аудио книг) |
| Автор: Silent 15.4.2009, 19:36 |
| Делить на фонемы я не буду никоим образом - поскольку на такое я и не замахиваюсь. Данные обрабатываются в реал-тайме: есть массив последних, скажем, 200 значений. Прошла 1мс - получен новый байт, смещаем 199 элементов в массиве, засовываем новый на освободившееся место и пытаемся распознать, а вдруг тут что-то похожее на то, чему сеть обучали. И так для всех поступающих данных. Это нейронная сеть с временной задержкой. |
| Автор: Silent 16.4.2009, 09:37 | ||
эм...
это стандартный прием для анализа временных последовательностей нейронными сетями, поскольку "обычные" нейросети про время вообще ничего "не знают" |
| Автор: ksnk 16.4.2009, 10:13 | ||
На бумажке, может и красиво, однако человек одно и то-же слово произносит с разной скоростью... |
| Автор: arilou 16.4.2009, 17:26 | ||||
Ну я не в теме, но мне понравилось)
И что? Судя по всему, тут как-то хитро нужно адаптировать "входной буфер", увеличивая или уменьшая его в зависимости от скорости речи, и применять какие-то методики прорежения содержимого буфера, чтобы нормализовать его к тому размеру, под который сделана нейросеть. |
| Автор: Silent 17.4.2009, 09:24 |
| кхм!... Может уже стоит перенести обсуждение поближе к теме? |