Огромный открытый датасет русской речи

    image

    Специалистам по распознаванию речи давно не хватало большого открытого корпуса устной русской речи, поэтому только крупные компании могли позволить себе заниматься этой задачей, но они не спешили делиться своими наработками.

    Мы торопимся исправить это годами длящееся недоразумение.

    Итак, мы предлагаем вашему вниманию набор данных из 4000 часов аннотированной устной речи, собранный из различных интернет-источников.

    Подробности под катом.

    Вот данные по текущей версии 0.3:
    Тип данных Аннотация Качество Фразы Часы GB
    Книги alignment 95% / чистый 1,1M 1,511 166
    Звонки ASR 70% / шумный 837K 812 89
    Генерированные (русские адреса) TTS 100% / 4 голоса 1,7M 754 81
    Речь из видео с YouTube субтитры 95% / шумный 786K 724 78
    Книги ASR 70% / шумный 124K 116 13
    Другие датасеты начитывание и alignment 99% / чистый 17K 43 5

    А вот вам сразу ссылка на сайт нашего корпуса.

    Будем ли мы развивать проект дальше?


    Наша работа на этом не закончена, мы хотим получить хотя бы 10 тысяч часов аннотированной речи.

    А дальше мы собираемся делать открытые и коммерческие модели для распознавания речи с использованием этого датасета. И вам предлагаем присоединяться: помогайте нам улучшать датасет, используйте его в своих задачах.

    Почему наша цель 10 тысяч часов?


    Есть различные исследования генерализации нейросетей при распознавании речи, но известно, что хорошая генерализация не получается на наборах данных меньше 1000 часов. Цифра порядка 10 тысяч часов уже считается приемлемой в большинстве случаев, а дальше уже зависит от конкретной задачи.

    Что ещё сделать, чтобы улучшить качество распознавания, если данных по-прежнему не хватает?


    Зачастую, можно приспособить нейросеть к вашим дикторам через начитку дикторами текстов.
    Также можно приспособить нейросеть к словарю из вашей предметной области (языковая модель).

    Как мы делали этот датасет?


    • Нашли каналы с качественными субтитрами в YouTube, скачали аудио и субтитры
    • Давали аудио для распознавания другим системам распознавания речи
    • Начитывали адреса робо-голосами
    • Нашли в интернете аудиокниги и тексты книг, после чего разбили на фрагменты по паузам и сопоставили одно с другим (так называемая задача «alignment»)
    • Добавили имеющиеся в интернете маленькие русские датасеты.
    • После этого преобразовали файлы в единый формат (16-bit wav, 16 kHz, mono, иерархическое расположение файлов на диске).
    • Метаданные сохранили в отдельном файле manifest.csv .

    Как это использовать:


    Файловая БД


    Расположение файлов определяется их хешами, вот таким образом:

    target_format = 'wav'
    wavb = wav.tobytes()
    f_hash = hashlib.sha1(wavb).hexdigest()
    store_path = Path(root_folder,
                      f_hash[0],
                      f_hash[1:3],
                      f_hash[3:15]+'.'+target_format)
    

    Чтение файлов


    from utils.open_stt_utils import read_manifest
    from scipy.io import wavfile
    from pathlib import Path
    manifest_df = read_manifest('path/to/manifest.csv')
    
    for info in manifest_df.itertuples():
        sample_rate, sound = wavfile.read(info.wav_path)
        text = Path(info.text_path).read_text()
        duration = info.duration
    

    Файлы manifest содержат тройки: имя аудио-файла, имя файла с текстовым описанием, и длительность фразы в секундах.

    Фильтрация файлов только определённой длины


    from utils.open_stt_utils import (plain_merge_manifests,
                                      check_files,
                                      save_manifest)
    train_manifests = [
     'path/to/manifest1.csv',
     'path/to/manifest2.csv',
    ]
    train_manifest = plain_merge_manifests(train_manifests,
                                            MIN_DURATION=0.1,
                                            MAX_DURATION=100)
    check_files(train_manifest)
    save_manifest(train_manifest,
                 'my_manifest.csv')
    

    Что почитать или посмотреть на русском языке, чтобы лучше познакомиться с задачей распознавания речи?


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


    Лицензионные вопросы


    • Мы выкладываем датасет под двойной лицензией: для некоммерческих целей мы предлагаем лицензию cc-by-nc 4.0, для коммерческих целей — использование после договорённости с нами.
    • Как обычно в таких случаях, все права на использование данных, входящих в датасет, остаются у их владельцев. Наши права распространяются на сам датасет. Для научных и образовательных целей при этом действуют отдельные правила, смотрите законодательство вашей страны.

    Ещё раз сайт проекта для тех, кто не увидел ссылку выше.
    Поделиться публикацией

    Похожие публикации

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 50

      +1

      И да, contributions are welcome, давайте все вместе приблизим Imagenet-момент для TTS, возможно не только для русского)


      Какие-то грабли мы уже собрали, там немного неидеально закодировано все, плюс хорошо бы наверное еще mp3 версию сделать, но полагаю, тот кто будет качать, все еще раз соберет.


      Чтобы два раза работу не делать, можно сразу такой скрипт написать, например.


      Также с учетом того, как хорошо современные модели адаптируются под домены, если кто-то докинет еще один домен, это очень поможет генерализации модели)

        +2
        Ну не знаю, делать contribution в cc-by-nc + коммерция, это на любителя.
          0

          Почему?

            0
            Зачастую подготовкой таких данных занимаются тоже не из альтруистических побуждений, а очень даже на коммерческой основе. И делиться данными в проект, результатами работы которого не будешь иметь права воспользоваться, а кто-то на них ещё и заработает, как-то не очень приятно.
              0

              Про альтруизм в доке пункт адресован подробно — гляньте.


              Если вы представляете бизнес — то как Юрий подметил — пишите на почту, все обсуждается.


              Если вы делаете общественно полезное дело — цена для вас будет стремиться к нулю — условно закинуть копейку на хостинг или данных докинуть и пользуйтесь.


              Мы хотим избежать негативных кейсов, описанных ниже .

                0
                У меня скорее интерес на будущее, и когда дойдёт до дела, мы конечно свяжемся и всё обсудим. Может и будет чем поделиться.
                0
                Момент верно подмечен, надо бы его как-то прояснить в постах, что ли.
                1) Мы добавим новых значительных контрибьюторов в соавторы при единогласном голосовании имеющихся контрибьюторов, как раз чтобы новые контрибуторы тоже имели возможность заработать на совместном проекте денег.
                2) Вы и так, будучи автором, имеете возможность одновременно включить свои наработки в проект (передать свой вклад в этот проект) и при этом использовать его самостоятельно для коммерческих проектов.
                То есть, при включении в проект, передача права не эксклюзивна.
                +6
                Думаю вы прекрасно понимаете, что cc-by-nc 4.0 несвободная лицензия даже по определению Creative Commons, это скорее вид триальной лицензии, причем с совершенно неизвестным ценником, если производный продукт вдруг окажется можно будет как-то монетезировать. По сути, получается предлагается бесплатно вкладывать труд в развитие чужого закрытого коммерческого проекта.

                Поэтому заголовок
                Огромный открытый датасет русской речи

                честнее написать
                Огромный бесплатный для некоммерческого использования проприетарный датасет русской речи


                Я не говорю, что ваша работа неполезная для ряда случаев, просто это никак не opensource.
                  0
                  А мы и не писали «open source» (что часто понимается как «free for all»), мы написали «открытый». Открыт он для многих вариантов использования (но не для всех), и открыт для контрибуции.
                  «Закрытый» и «проприетарный» — это другой край вариантов использования, у нас же получается что-то среднее.
                +1
                Значительных контрибуторов мы в авторы добавим, вот вообще не проблема.
                Условная коммерция — вещь сложная, а «договоримся» не означает «хотим вагон бабла».
                Для социальных и общественно-полезных проектов, для каких-нибудь роботов мы наверняка сможем договориться и о нулевой цене (или смешной цене), а для такого выбора лицензий были несколько иные причины: максимально снизить легальные риски, чтобы совсем уж нехорошим применениям датасета можно было при этом отказать, чтобы быть в курсе коммерческих применений датасета, чтобы кто-нибудь другой не смог его продавать, чтобы была легальная возможность себя закрепить авторами, чтобы была легальная возможность получить за него деньги при использовании его в коммерческом проекте (и потребовать деньги — при его использовании в крупном проекте крупной компании без малейшей ссылки на нас), чтобы добиться большей популярности и получить ссылки на нас при его использовании в научных работах.
                Предлагайте альтернативные варианты лицензирования, может, мы выбрали не оптимальный вариант.
                  +2
                  Да не, в принципе лицензирование честное и понятное и у меня к этой схеме нет возражений кроме одного того, что она не предназначена для активного привлечения контрибьюторов. Но как я понял из ответа, это и не было целью.
                    +1
                    Ну, до бесконечности новых контрибьюторов тут и нет смысла привлекать. Ну будет 10к часов, 20к часов, ну увеличим его качество — и всё, придём в тупик.
                      0

                      Дойдя до определенного уровня и процедив все несколько раз будет интересно уже зоопарк моделей публиковать


                      А это другая история


                      Про количество — ну Mozilla и как его там — voxforge (?) кажется привлекали всех подряд. И там для русского пока даже близко нормальное количество не собралось


                      Интересно ещё разные домены пособирать для генерализации

              +2

              КДПВ на миллион, включил только из-за него:

                0
                Надо попробовать другой слайд поставить, хабр не очень удачный слайд вообще в супер-кашу превратил.
                +1

                "мы" — это кто?

                +1
                А может торрент стоит сделать? а то сегодня вы есть, завтра вас нет — а торренты помогут найти вас в веках.
                  +1
                  А может торрент стоит сделать?

                  Все разы, что пользовался академическими торрентами даже для сильно более мейнстримных датасетов, там не особо было возможно скачать что-то быстро. Тут размер будет в 5-10 раз больше. Наверное сделаем mp3 версию рано или поздно (надеюсь будет такой запрос от коммьюнити).


                  Делая торрент нужно будет иметь или арендовать несколько физических машин с хорошим интернетом и большим диском в разных регионах (Европа + Россия как минимум). Думаю это будет стоит баксов 20-50 в месяц живых денег. Девбоксы свои палить не хочется совсем.


                  Если у вас есть такие машины и вы готовы посидировать, то сделаем, вай нот.


                  а то сегодня вы есть, завтра вас нет — а торренты помогут найти вас в веках.

                  Обратите внимание, что файлы хостятся на AWS-подобном бакете, где высокая скорость скачивания и даже имеется CDN для кеширования.


                  И судя по биллингу, кто-то уже накачал на 3.5 TB =)
                  Я пока не особо волнусь, т.к. в свое время набрал кредитов на DO по рефералке на 600 долларов.


                  Если хотите помочь хостингу датасета — можете также просто задонатить или воспользоваться рефкой на DO.


                  PS
                  И что совсем характерно, деньги на хостинг бакета пришли из реферальной программы DO, а статью соответствующую на хабре/гт забанили =)

                    0
                    Я просто пробегал мимо, ваш набор не будет сильно меняться, а это значит что это идеальный вариант торрента. Просто сделайте торрент файл и выставите его в своем торрент клиенте, со временем набор расползется по сети и вы съэкономите свои 600 долларов для лучших применений.
                      0
                      в своем торрент клиенте

                      у меня нет машины, где я был бы готов это сделать (по ряду причин) =(

                        0
                        Поднимите deluged на той же машине, на которой у вас сайт крутится.
                          0

                          Кстати машину я нашел с гигабитным каналом
                          Так что будет и mp3 и торрент

                      0
                      Меняться он будет, думаю, дополнения будут уже в мае.
                      Если будет торрент, то к нему вроде бы можно добавлять части.
                      Или можно сделать несколько торрентов поменьше. Попробуем.
                        0
                        Для меняющихся данных можно использовать IPFS
                      0

                      А какой практический смысл держать аудио в wave и платить за хостинг 431 GB, пусть и фантиками? В mp3 это было бы подъемные любому 43 GB, а то и меньше.

                        +2
                        держать аудио в wave

                        для тренировки сеток — читать лучше из wav, сильно быстрее, процессоры можно занять чем-то другим
                        да что-то сначала было весьма мало данных — гигов 50-100
                        потом все заверте, да и я не посмотрел какие там расценки за трансфер — думал будет 10 баксов в месяц и ладно
                        я сейчас уже сижу конвертирую в mp3)


                        платить за хостинг 431 GB, пусть и фантиками

                        за хостинг там копейки
                        в вот за скачивание — да, весьма ощутимые суммы


                        подъемные любому 43 GB

                        Скорее сжатие будет раза в 3-4 судя по тестам

                          0

                          Я полазил по инету
                          Рекомендуют битрейт 64 с ним как раз 3-4 раза
                          16-32 как-то опасливо конечно

                          0
                          Ваши расчёты верны для wav для стерео на 44100Гц, где большая избыточность, а у нас — моно на 16кГц, и иногда с фоновыми шумами, так что сильное сжатие небезопасно. Так что скорее всего будет сжатие раза в 3, но вот ещё mp3- и ogg-энкодеры не очень быстрые, и такое сжатие придётся может даже несколько дней считать. Но мы доберёмся до этого (если нас кто не опередит — предложения помощи приветствуются!)
                      –5
                      Хотим денег, но на нормальный хостинг 20-50 usd в месяц не имеем.
                      Попробуйте магию, эзотерику или еще что-то подобное, чтобы без посева рожь заколосилась. Успехов.
                        0
                        А кто хочет денег, и за что?
                        >на нормальный хостинг 20-50 usd
                        Там, скорее, будет в первый месяц $1000, во второй и последующие — $50.
                        Подумаем, как быть.
                        +1
                        Чувак! Ты памятник воздвиг себе нерукотворный!!!
                          –1
                          Лицензионные вопросы

                          Мы выкладываем датасет под двойной лицензией: для некоммерческих целей мы предлагаем лицензию cc-by-nc 4.0, для коммерческих целей — использование после договорённости с нами.
                          Как обычно в таких случаях, все права на использование данных, входящих в датасет, остаются у их владельцев. Наши права распространяются на сам датасет. Для научных и образовательных целей при этом действуют отдельные правила, смотрите законодательство вашей страны.

                          Вот этот момент не очень понятен. Если моя запись в датасете, то все права на неё у меня, вы её по сути хотите продавать. Тут явно не всё гладко с юридической точки зрения.
                          Тот же самый вопрос в случае с ImageNet не стоит, там комерческое использование не предполагается. Я чего-то не правильно понял?
                            0
                            Ваша запись в датасет может попасть в двух случаях:
                            1) если вы её легально в него передадите.
                            Но и в этом случае права на неё у вас, кроме эксклюзивности в тех правах, которыми вы поделились с нами по лицензии.
                            И мы не только и не столько собираемся её продавать, но и давать бесплатно использовать для кучи различных применений. Также гляньте на обсуждение в ветке выше.
                            2) вы можете сделать производный датасет с этой же cc-by-nc, включить туда свою строчку, и добавить себя как автора.
                            ( «Adapt — remix, transform, and build upon the material» в описании лицензии ).
                            Тогда мы не сможем её продавать и бесплатно отдавать по договорённости (коммерческая часть пропадёт).
                            Нас это тоже вполне устраивает!

                            Ещё можно договориться с нами, стать контрибутором и совместно с нами продавать/распространять весь большой датасет. (Можно сказать, что мы таким образом и объединились.)
                              +1
                              Речь скорее всего о другом. Вот у вас есть, например, «речь из видео с YouTube». Насколько я знаю, YouTube категорически запрещает скачивать свой контент без разрешения, плюс непонятно как вы решаете вопрос с авторскими правами авторов роликов (то что кто-то залил ролик на YouTube совершенно не означает, что передает всем право на что-либо кроме просмотра на ютубе). Как вы решаете вопрос с авторами оригинальных роликов и правилами YouTube и т.п. сервисов?

                              Что будет если к тем кто пользуется вашим корпусом придут правообладатели оригинального аудио/представители гугла или у вас эти вопросы уже решены?
                                0
                                Ради интереса, открыл, например, описание Caito.de dataset, там сказано:

                                Redistribution and use in any form, including any commercial use, with or without modification are permitted provided that the following conditions are met:

                                Redistributions of source data must retain the above copyright notice, this list of conditions and the following disclaimer.


                                У вас нет упоминания, что данный датасет распостраняется по указанной лицензии, что уже нарушение opensource лицензии. Боюсь с остальными данными юридическая чистота (а это главное если вы их распостраняете) тоже под вопросом и может ваших клиентов сильно подвести.
                                  0
                                  Спасибо, исправим этот момент. Про voxforge уже написали, что там GNU GPL 3.0
                                  +2
                                  Всё правильно говорите.
                                  Я так понял, что вы пропустили Disclaimer: «Как обычно в таких случаях, все права на использование данных, входящих в датасет, остаются у их владельцев. Наши права распространяются на сам датасет.»
                                  То есть, ситуация примерно такая же, как с ImageNet: то, что мы что-то заэмбедили не значит, что вы этим можете пользоваться для той цели, для которой вы хотите.
                                  Коммерческая компания, использующая такой датасет в распространяемом продукте, должна убедиться в нужной для их задач лицензионной чистоте.
                                  Это ещё одна причина именно такой нашей лицензии.

                                  Мы очень хотели бы использовать деньги от коммерческих компаний для получения лицензионно-чистого подмножества датасета для полностью свободного использования.
                                  Это другая причина такой лицензии.
                                  Если есть желающие это сделать компании — мы будем готовы обсудить.
                                  Мы хотим стремиться к большей лицензионной частоте с течением времени.

                                  А распространять данные мы можем до тех пор, пока нам кто-то не объяснит, почему мы не можем (и какими-либо доказательствами, что это его контент, ведь мы его нашли в интернете без пометки, что это именно его контент). Тогда мы уберём этот кусок данных.
                                  Такая вот вынужденная временная opt-out политика. Мы считаем, что это лучше, чем ничего. И наличие ImageNet, устроенного похожим образом, нас в этом убеждает.
                                    +3
                                    Как мы делали этот датасет?
                                    • Нашли каналы с качественными субтитрами в YouTube, скачали аудио и субтитры
                                    • Нашли в интернете аудиокниги и тексты книг


                                    Авторы каналов на ютуб указаны, и Вы не могли их не заметить, когда скачивали. С книгами аналогично, но еще дикторы есть и издательство, которое эту озвучку спонсировало. И у них всех есть какие-то права, как исключительные, так и не исключительные.

                                    А распространять данные мы можем до тех пор, пока нам кто-то не объяснит, почему мы не можем (и какими-либо доказательствами, что это его контент, ведь мы его нашли в интернете без пометки, что это именно его контент).

                                    Вообще-то не можете. Про нашли в интернете и «я не я, корова не моя», написано выше. Вы знали заранее всех авторов и осознанно это проигнорировали. И Вам доказывать автор ничего не обязан. Это Вы должны будете доказывать, что взяли произведение с его согласия, а не разместили по собственному усмотрению.

                                    Тогда мы уберём этот кусок данных.

                                    К сожалению, Вы уже так просто не отделаетесь. Этот кусок данных к этому моменту могли скачать тысячи людей. И просто так изъять его у них не получится. А значит, Вы уже принесли какой-то убыток авторам. Дальнейшие действия на усмотрение авторов: могут простить, а могут в суд подать. Причем второе вероятней, так как Вы датасет с их кровным произведением продавали, а с ними не поделились.

                                      +2

                                      Юрий на пару комментов выше отписал про ImageNet и основные цели, которые мы преследуем такой лицензией. В принципе как мне кажется это довольно исчерпывающий ответ на подобную тираду.


                                      Добавлю от себя несколько пунктов.


                                      Авторы каналов на ютуб указаны, и Вы не могли их не заметить, когда скачивали.

                                      Большое количество создателей контента на YouTube часто пользуются так называемым правилом "fair use" (надеюсь меня кто-то поправит в комментариях), которое условно сводится к тому, что если цель вашего цитирования не совпадает с целью публикации оригинального контента (допустим вы делаете критический обзор), то такой контент можно использовать в разумных рамках. Условно — кто-то выложил сериал. Вы не можете просто перезалить весь сериал. Но если вы меняете цель контента, используете его для научных или образовательных целей, то все становится немного проще. По ссылке на самом YouTube все прекрасно описано.


                                      но еще дикторы есть и издательство, которое эту озвучку спонсировало

                                      А еще книги бывают свободными.


                                      А значит, Вы уже принесли какой-то убыток авторам

                                      Это ваше сугубо личное мнение, которое не подкреплено фактами.
                                      Если вы подскажете, каким авторам и как конкретно мы уже принесли убыток — мы с радостью удалим указанные вами файлы из датасета.


                                      могли скачать тысячи людей

                                      Опять же, это скорее похоже ваши догадки.
                                      Проецируя свой опыт в ML, наверное в России / СНГ наберется в лучшем случае несколько десятков ислледователей / команд в сфере TTS/STT.
                                      И это очень оптимистичная оценка сверху.
                                      Почему-то мне кажется что реальный интерес к такому датасету будет у полутора калек.
                                      И тут вопрос курицы и яйца — без популяризации домена — домен не будет популярен.

                                        0

                                        Ну и чисто персонально, в формате just for lulz, не могу не привести ссылку на любую картину Васи Ложкина.

                                        +2
                                        Мы знаем, что мы можем ненароком нарушить чьи-то права. Но не знаем, как массово опросить авторов, не нарушили ли мы этого случайно. И, кстати, мы в одной лодке с Youtube, Facebook, Habrahabr и другими организациями, которые выкладывают контент пользователей, не проверив, какие есть у пользователей права на контент, но имеют процедуру отзыва нелегального полученного контента.
                                        Кроме того, книги были скачаны мной легально по абонементу интернет-библиотеки.
                                        На авторское право мы не претендуем, книги не читаем, читать и слушать аудио пользователям не даём (данные нарезаны на фрагменты и раскиданы по хешам — как документы после шрёдера), считаем, что убытков никому не наносим.
                                        Гарантий на данные мы не даём. Мы предлагаем эти данные для использования по fair use (см. коммент выше от snakers4 ), для научных, исследовательских и образовательных целей, или же чтобы пользователи использовали их на свой риск, в том числе, сами убеждались в наличии необходимых лицензионных соглашений на нужное им использование. Мы явно об этом говорим.
                                        Мы не зарабатываем на данных, но потенциально допускаем возможность заработать на датасете, и лишь если в случае, если кто-то другой на нём зарабатывает деньги (про другие цели лицензии на «коммерческое использования» я выше в ветке написал), все тексты и аудио пользователи могут скачать и сами без нас.
                                        Я был бы рад, если бы существовала процедура массово связаться с правообладателями и спросить их явное разрешение на наше нестандартное использование. Мне кажется, многие будут за. Но выискивать каждого автора в интернете самим у нас сил не хватит. Если у вас есть предложения, как это легко можно сделать — пишите.
                                        Вот у меня есть канал на youtube — но как там со мной связаться?
                                +2
                                Большое спасибо за публикацию! Думали ли вы о выделении некоторых частей датасета специально для валидации/тестирования? Добавляя или меняя данные в датасете, желательно иметь возможность сделать бенчмарк и увидеть эффект от изменений.
                                  0

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


                                  Пока валидируемся просто на фиксированном случайном stratified семпле где точность разметки 95% + некоторые приватные сеты.

                                    +1
                                    Фиксированный случайный stratified сэмпл вполне сошёл бы за такой бенчмарк, до тех пор пока не найдётся каких-то проблем в нём (самая легко проверяемая — одинаковые предложения в training и testing). Если не сложно, могли бы вы выложить список реплик и результат (WER или CER) на них? Мне бы хоть что-то для сравнения, если соберусь экспериментировать :)
                                      0

                                      Можно сделать
                                      Мб выложу в тикет просто в репо
                                      По-хорошему надо конечно заводить репозиторий с моделями и пре-трейном но рановато чутка

                                    0
                                    Наш открытый русский Speech-To-Text корпус теперь содержит более 7000 часов, выпущена версия 0.5.
                                    В этой версии также добавилось 18 часов вручную аннотированных данных (для валидации).

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                    Самое читаемое