На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD, nsh
Страницы: (23) « Первая ... 7 8 [9] 10 11 ...  22 23  ( Перейти к последнему сообщению )  
> Работа с CMU Sphinx , Работа с CMU Sphinx 4.0
    Благодарю за приглашение!

    Задача:
    построить индивидуальное средство речевого ввода русскоязычных СМС.

    Спецификации:
    - распознаватель должен быть предобучен в начале его применения пользователем,
    - распознаватель должен иметь возможность дообучения на голос пользователя
    на минимальном наборе слов или самообучения в процессе применения
    (при корректировке пользователем возникающих ошибок распознавания).

    Вопросы:
    - можно ли оптимизировать словари (размеченный текстовой и речевой),
    используемые при обучении, с т.з. минимизации их объема.

    пояснение:
    при моем сегодняшнем понимании проблемы видится, что обучение системы должно сводиться
    к построению и настройке набора HMM, к-рые распознают триграммы
    (или трифоны, или зеноны?), поэтому словарь обучения и дообучения не должен быть
    (требоваться) очень объемным.

    намерение:
    есть надежда не использовать оч. большие размеченные словари, к-рые требуют таких же больших
    или многих речевых файлов (речевых баз данных)

    примечание:
    возможно, мои потуги в плане минимизации словарей (или словарных бд) наивны и напрасны, и только
    "жесткий" контроль распознавания по словарю может обеспечить нужное качество работы распознавателей.

    но вместе с тем, такой "прямолинейный" подход может быть НЕПРИЕМЛЕМ для русского языка с его развитой
    флективностью и совершенно без учета морфологии (это должно вести к "раздуванию" словарей)

    опасения:
    подход расширения словаря представляется ущербным, т.к. система становится неспособной к распознаванию
    (вопроизведению в режиме STT) новых слов,
    не потребуется ли вместо объемного словаря дополнить распознаватель моделью
    русской морфологии

    ожидания:
    разрабатываемая система не должна претендовать на разпознавание правильно построенных предложений
    или словосочетаний, т.е. не использовать синтаксис языка
    система должна по только "транскрибировать" речь (STT)


    Буду признателен за комментарии,
    dummy
      Цитата
      Вопросы:
      - можно ли оптимизировать словари (размеченный текстовой и речевой), используемые при обучении, с т.з. минимизации их объема.


      Можно, но не нужно. Обучение всего один раз надо провести, можно и с большим словарем.

      Цитата
      при моем сегодняшнем понимании проблемы видится, что обучение системы должно сводиться
      к построению и настройке набора HMM, к-рые распознают триграммы


      Книжку лучше все-таки повнимательнее прочесть.
        Почитал и перечитал книжки.
        Jurafsky, 2007 - особенно понравилась, весьма содержательна и проясняет многие вопросы, IMHO.

        Но вопросы остаются:
        напомню, есть намерение построить распознаватель для голосового ввода смс,
        в смс правильно построенные предложения используются редко, поэтому модель языка
        или не нужна совсем, или м.б. какая-то примитивная,

        - не нашел примера пословного распознавателя (без модели языка),

        - можно ли на sphinx4 строить распознаватели без модели языка (или отключить обращение
        к модели языка)?

        - как концептуально следовало бы встроить в распознаватель модель словообразования
        (чтобы не "раздувать" словарь)?

        С уважением,
        dummy
          Цитата
          напомню, есть намерение построить распознаватель для голосового ввода смс,
          в смс правильно построенные предложения используются редко, поэтому модель языка
          или не нужна совсем, или м.б. какая-то примитивная,


          Есть базы данных СМС, модели языка их хорошо описывают.

          Цитата
          - не нашел примера пословного распознавателя (без модели языка),


          Без модели языка распознавателей не бывает. Пространство поиска из-чего то нужно делать. Простейшая модель языка содержит только список слов для распознавания, которые могут встречаться в любом порядке. Более сложная - список слов и вероятности.

          Цитата
          - можно ли на sphinx4 строить распознаватели без модели языка (или отключить обращение
          к модели языка)?


          Нет.

          Цитата
          - как концептуально следовало бы встроить в распознаватель модель словообразования
          (чтобы не "раздувать" словарь)?


          Использовать часто встречающиеся части слов вместо слов.
            Благодарю за оперативный ответ!
            Еще вопрос:
            в материалах по sphinx есть рекомендации по использованию TTS
            систем для обучения STT (ASR) систем,

            - реально ли такое, будет ли удовл. качество?

            - известны ли примеры?

            - какие TTS доступны (открыты - Open Source) и "дружат" со Sphinx?

            С уважением,
            dummy
              Цитата
              в материалах по sphinx есть рекомендации по использованию TTS
              систем для обучения STT (ASR) систем,


              Не должно быть такого бреда.
                Дальше следует цитата:
                со станицы http://cmusphinx.sourceforge.net/wiki/tutorialdict


                Generating a dictionary

                There are various tools to help you to extend an existing dictionary for new words or to build a new dictionary from scratch. If your language already has a dictionary it's recommended to use since it's carefully tuned for best performance. If you starting a new language you need to account for various reductions and coarticulations effects. They make it very hard to create accurate rules to convert text to sounds. However, the practice shows that even naive conversion could produce a good results for speech recognition. For example, many developers were successful to create ASR with simple grapheme-based synthesis where each letter is just mapped to itself not to the corresponding phone.

                For most of the languages you need to use specialized grapheme to phoneme (g2p) code to do the conversion using machine learning methods and existing small database. Nowdays most accurate g2p tools are Phonetisaurus:

                http://code.google.com/p/phonetisaurus

                And sequitur-g2p:

                http://www-i6.informatik.rwth-aachen.de/we...ftware/g2p.html

                Also note that almost each TTS package has G2P code included. For example you can use g2p code from FreeTTS written in Java:

                http://cmusphinx.sourceforge.net/projects/freetts

                See FreeTTS example in Sphinx4 here

                OpenMary Java TTS:

                http://mary.dfki.de/

                or espeak for C:

                http://espeak.sourceforge.net

                Please note that if you use TTS you often need to do phoneset conversion. TTS phonesets are usually more extensive than required for ASR. However, there is a great adavantage in TTS tools because they usually contain more required functionality than simple G2P. For example, they are doing tokenization by converting numbers and abbreviations to spoken format.

                For English you can use simplier capabilities by using on-line webservice:

                http://www.speech.cs.cmu.edu/tools/lmtool.html

                Online LM Tool, produces a dictionary which matches its language model. It uses the latest CMU dictionary as a base, and is programmed to guess at pronunciations of words not in the existing dictionary. You can look at the log file to find which words were guesses, and make your own corrections, if necessary. With the advanced option, LM Tool can use a hand-made dictionary that you specify for your specialized vocabulary, or for your own pronunciations as corrections. The hand dictionary must be in the same format as the main dictionary

                If you want to run lmtool offline you can checkout it from subversion:

                http://cmusphinx.svn.sourceforge.net/viewv...nx/trunk/logios

                The pronunciation generation code currently only supports US English.
                  Цитата


                  Страница рассказывает, как создавать словари фонетические, а не как обучать ASR систему.
                    Согласен, выразился нечетко.

                    Но мне кажется, что если TTS "проговорит" нечто (внятное и приемлемое) из предлагаемого ей словаря,
                    то ее выход можно было бы использовать для (пусть, и предварительного)
                    обучения STT или ее тестирования в сочетании с нужными файлами словарей и моделей.

                    Я не прав?

                    dummy

                    Добавлено
                    И еще один вопрос:

                    мне встречалось суждение, что кепстральные коэффициенты соответствуют двойному DFT
                    исходного сигнала, т.е. некому звуковому сигналу.

                    Не пытался ли кто-то выделить, собрать и прослушать этот "сигнал"?
                    Прослушивался ли там исходный сигнал или нет?

                    С уважением,
                    dummy
                      Цитата
                      Но мне кажется, что если TTS "проговорит" нечто (внятное и приемлемое) из предлагаемого ей словаря,
                      то ее выход можно было бы использовать для (пусть, и предварительного)
                      обучения STT или ее тестирования в сочетании с нужными файлами словарей и моделей.


                      TTS использовать для обучения не имеет смысла, потому что в выводе TTS отсутствуют необходимые вариации речи

                      Цитата
                      Не пытался ли кто-то выделить, собрать и прослушать этот "сигнал"?
                      Прослушивался ли там исходный сигнал или нет?


                      Сигнал восстанавливается в хорошем качестве
                        2 NSH & Zamir

                        Вопрос по zero_ru_cont_8k_v2

                        - существует и можно ли познакомиться со связным описанием работы (техники) по построению модели
                        (вопрос к обоим, поск-ку, я так понял, что участвовали 2 автора, может, и в разной степени)?

                        (м.б., включая и постановку задачи)

                        Мне где-то встретились показатели точности распознавания с использованием этой
                        (или предыдущей) версии модели на уровне 95+%. Цифры впечатляющие!

                        Что значит: "полу-морфологическая" лингвистическая модель?

                        В целом, весьма интересно!
                        Возможно, это одна из не многих, если не единственная, реальная адаптация
                        CMUSpinx для русского языка, к-рая учитывает специфику языка.

                        Можно ли приобщиться к "кухне"?

                        Еще вопрос: ваши рекомендации по использованию ОС в ознакомлении с упомянутым проектом -
                        предпочтительно Linux или годится и Windows? Там кое-где встречаются следы работы с *nix.

                        С уважением,
                        dummy
                          Цитата
                          Что значит: "полу-морфологическая" языковая модель?

                          не выделены отдельно суфиксы и окончания. в некоторых случаях неправильное выделение корней.
                            2 Zamir

                            Правильно ли я понял:
                            у Вас не "transducer", к-рый разбирает словоформу на морфемы,
                            а его вариант, к-рый делит словоформу на [префикс+]основа и постфикс?

                            Не поясните ли, почему было выбрано такое решение?
                            Насколько это сокращает словарь и "смягчает" проблему распознавания "незнакомых"
                            слов? Мне встречались упоминания о нескольких доступных open source трансдьюсерах
                            для русского языка.
                            Вообще-то, мне больше нравится слово "разборщик" или просто "анализатор".

                            С уважением,
                            dummy
                              Цитата
                              Правильно ли я понял:
                              у Вас не "transducer", к-рый разбирает словоформу на морфемы,
                              а его вариант, к-рый делит словоформу на [префикс+]основа и постфикс?

                              правильно

                              Цитата
                              Не поясните ли, почему было выбрано такое решение?

                              наименьшее колличество составных частей в LM
                                2 zamir

                                Не порекомендуете, что надо посмотреть в Вашем проекте, как пример реализации
                                подхода?
                                Догадываюсь, что описания реализации не существует, но мне достаточно
                                исходников, файлов данных и минимальных комментариев.

                                dummy
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (23) « Первая ... 7 8 [9] 10 11 ...  22 23


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0412 ]   [ 14 queries used ]   [ Generated: 18.07.25, 02:22 GMT ]