Учебные и проверочные наборы данных
В пользовательском проекте речи можно отправлять наборы данных для обучения, качественной проверки и количественного измерения. В этой статье рассматриваются типы обучающих и тестовых данных, которые можно использовать для пользовательской речи.
Тексты и аудио, используемые для тестирования и обучения настраиваемой модели, должны включать примеры из широкого набора говорящих лиц и сценариев, которые вашей модели придется распознавать. При сборе данных для тестирования и обучения настраиваемых моделей учитывайте следующие факторы:
- Включите текстовые и звуковые данные для покрытия типов словесных инструкций, которые пользователи делают при взаимодействии с моделью. Например, модель, которая повышает и понижает температуру, требует обучения с применением высказываний, используемых людьми для запроса таких изменений.
- Включите все формы вариантности речи, которые должна распознать модель. Многие факторы могут зависеть от речи, включая акцент, диалект, смешивание языков, возраст, пол, тон голоса, ударения в речи и время суток.
- Включите примеры из разных сред, например, крытый, открытый и дорожный шум, где используется модель.
- Запись звука с аппаратными устройствами, которые использует рабочая система. Если вашей модели необходимо определить речь, записанную на устройствах с разным качеством звука, аудиоданные, которые вы предоставляете для обучения модели, также должны представлять эти разнообразные сценарии.
- Обеспечьте разнообразные наборы данных и поддерживайте их потребности в проекте. Позже в модель можно добавить дополнительные данные.
- Включайте только те данные, которые модели придется транскрибировать. Включение данных, не входящих в сферу распознавания вашей настраиваемой модели, может привести к снижению качества распознавания.
Типы данных
В следующей таблице перечислены допустимые типы данных, ситуации использования каждого типа данных и их рекомендуемое количество. Для создания модели требуется не каждый тип данных. Требования к данным зависят от того, создаете ли вы тест или обучаете модель.
Тип данных | Используется для обучения | Рекомендуется для тестирования | Используется для обучения | Рекомендуется для обучения |
---|---|---|---|---|
Только аудиоданные | Да (визуальная проверка) | Не менее 5 аудиофайлов | Да (предварительная версия)en-US |
1–100 часов звука |
Аудиоданные + транскрибирование от человека | Да (оценка точности) | 0,5–5 часов аудиоданных | Да | 1–100 часов звука |
Обычный текст | No | Нет данных | Да | 1–200 МБ связанного текста |
Структурированный текст | No | Нет данных | Да | До 10 классов, включающих до 4 000 элементов и до 50 000 предложений для обучения |
Произношение | No | Нет данных | Да | От 1 КБ до1 Мб текста произношения |
Формат отображения | No | Нет данных | Да | До 200 строк для ITN, 1000 строк для перезаписи, 1000 строк для фильтра ненормативной лексики |
Обучение с обычным или структурированным текстом обычно завершается в течение нескольких минут.
Совет
Начните с обычного текста или структурированных текстовых данных. Эти данные позволят улучшить распознавание специальных терминов и фраз. Обучение с текстом идет гораздо быстрее, чем обучение с помощью аудио (минуты по сравнению днями).
Начните с небольших наборов демонстрационных данных, соответствующих языку и акустическим данным, с которыми будет иметь дело ваша модель. С небольшими наборами репрезентативных данных проблемы могут возникать до тех пор, пока вы не соберете достаточный объем наборов данных для обучения. Примеры пользовательских речевых данных см . в этом репозитории GitHub.
Если вы обучаете пользовательскую модель с звуковыми данными, выберите регион ресурсов службы "Речь" с выделенным оборудованием для обучения звуковых данных. Дополнительные сведения см. в сносках в таблице регионов . В регионах с выделенным оборудованием для обучения пользовательской речи служба "Речь" использует до 100 часов данных обучения звука и может обрабатывать около 10 часов данных в день. После обучения модели можно скопировать модель в другой регион по мере необходимости с помощью REST API Models_CopyTo .
Рассмотрение наборов данных с учетом сценария
Модель, обученная в подмножестве сценариев, может работать хорошо только в этих сценариях. Тщательно выбирайте данные, представляющие всю область сценариев, в которых будет применяться ваша настраиваемая модель. В следующей таблице показаны наборы данных, которые рекомендуется рассмотреть для некоторых сценариев распознавания речи:
Сценарий | Обычный текст или структурированные текстовые данные | Аудиоданные + транскрибирование от человека | Добавление новых слов с произношением |
---|---|---|---|
Центр обработки вызовов | Маркетинговые документы, веб-сайты, обзоры продуктов, связанные с работой центра обработки вызовов | Звонки в центр обработки вызовов, расшифрованные людьми | Термины, которые имеют неоднозначные произношение (см. пример с Xbox в предыдущем разделе) |
Голосовой помощник | Списки предложений, в которых используются различные сочетания команд и сущностей | Запись произносимых вслух команд устройством и их преобразование в текст путем расшифровки | Названия (фильмы, песни, продукты) с уникальным произношением |
Диктовка | Записанные входные данные, например мгновенные сообщения или сообщения электронной почты | Аналогично предыдущим примерам | Аналогично предыдущим примерам |
Скрытые субтитры для видео | Сценарии телепередач, фильмы, маркетинговые материалы, сводки видео | Точные расшифровки видео | Аналогично предыдущим примерам |
Чтобы определить, какой набор данных следует использовать для решения проблем, см. следующую таблицу:
Вариант использования | Тип данных |
---|---|
Улучшение точности распознавания в терминологии и грамматике конкретной отрасли, например, медицинских терминов или ИТ-жаргона. | Обычный текст или структурированные текстовые данные |
Определите фонетическую и отображаемую форму слова или термина, которые имеют нестандартное произношение, например, названия продуктов или акронимы. | Данные произношения или фонетическая транскрипция в структурированном тексте |
Улучшение точности распознавания в стилях, акцентах и отдельных фоновых шумах. | Аудиоданные + транскрибирование от человека |
Аудиоданные + транскрибирование от человека для обучения или тестирования
Аудиоданные и транскрибирование от человека можно использовать как для обучения, так и для тестирования. В целях сравнения необходимо привести транскрибирование от человека (по словам):
- Для улучшения акустических аспектов, таких как небольшие диакритические знаки, стили речи и фоновые помехи.
- Чтобы оценить точность речи Майкрософт до точности текста при обработке звуковых файлов.
Список базовых моделей, поддерживающих обучение с аудиоданными, приведен в статье Поддержка языков. Даже если базовая модель поддерживает обучение с помощью аудиоданных, служба может использовать только часть таких данных. И он по-прежнему использует все расшифровки.
Внимание
Если базовая модель не поддерживает настройку с использованием звуковых данных, для обучения будет использоваться только текст расшифровки. При переходе на базовую модель, которая поддерживает настройку звуковых данных, время обучения может увеличиться с нескольких часов до нескольких дней. Изменение времени обучения будет наиболее заметным при переходе на базовую модель в регионе без специального оборудования для обучения. Если аудиоданные не требуются, удалите их, чтобы уменьшить время обучения.
Аудиоданные с расшифровкой обеспечивают наибольшую точность, если аудиоданные поступают из целевого варианта использования. Выборки должны охватывать всю область речи. Например, летом в центр обработки вызовов для розничного магазина будет поступать больше звонков о купальниках и солнцезащитных очках. Убедитесь, что выборка содержит всю область речи, которую нужно обнаруживать.
Учитывайте следующее.
- Обучение с аудио приносит самые преимущества, если звук также трудно понять для людей. В большинстве случаев в начале обучения следует использовать только текст, связанный с конкретной тематикой.
- Если применяется один из наиболее широко используемых языков, таких как английский (США), едва ли вам потребуется обучение с использованием аудиоданных. Для таких языков базовые модели уже предлагают хорошие результаты распознавания в большинстве сценариев, поэтому, вероятно, достаточно для обучения с соответствующим текстом.
- Пользовательская речь может записывать контекст слова только для уменьшения ошибок подстановки, а не ошибок вставки или удаления.
- Избегайте выборок, содержащих ошибки произносимого текста, но используйте выборки с разнообразным качеством звучания.
- Избегайте предложений, не связанных с проблемной областью. Несвязанные предложения могут повредить вашу модель.
- При переменном качестве записи можно дублировать особенно хорошие предложения (например, отличные расшифровки с ключевыми фразами), чтобы увеличить их вес.
- Служба "Речь" автоматически использует расшифровки для улучшения распознавания слов и фраз, относящихся к предметной области, как если бы они были добавлены в качестве связанного текста.
- На обучение может потребоваться нескольких дней. Чтобы повысить скорость обучения, обязательно создайте подписку службы "Речь" в регионе с выделенным оборудованием для обучения.
Для улучшения распознавания требуется большой набор данных для обучения. Как правило, рекомендуется предоставлять транскрибирование по словам в течение 1–100 часов звука (до 20 часов для старых моделей, которые не взимается за обучение). Однако помочь улучшить результаты распознавания могут даже 30 минут. Несмотря на то, что создание транскрибирования с метками человека может занять много времени, улучшения распознавания являются хорошими, как и предоставленные вами данные. Следует отправлять только высококачественные расшифровки.
В начале и в конце записи в аудиофайле может быть тишина. Если это возможно, включите в каждый пример файла не менее половины секунды тишины в начале и в конце записи. Хотя звук с низким объемом записи или нарушением фонового шума не является полезным, он не должен ограничивать или ухудшать пользовательскую модель. Перед сбором образцов аудио всегда рассмотрите возможность обновления микрофонов и оборудования для обработки сигналов.
Внимание
Дополнительные сведения о рекомендациях по подготовке записей, помеченных человеком, см. в разделе "Транскрипции с метками человека" со звуком.
Для проектов пользовательской речи требуются звуковые файлы с этими свойствами:
Внимание
Это требования к обучению и тестированию транскрибирования с метками аудио+ человека. Они отличаются от тех, которые отличаются только для обучения и тестирования аудио. Если вы хотите использовать только обучение и тестирование аудио, см. в этом разделе.
Свойство | Значение |
---|---|
File format | RIFF (WAV) |
Частота выборки | 8000 или 16 000 Гц |
Каналы | 1 (моно) |
Максимальная продолжительность аудио | Два часа (тестирование) / 40 с (обучение) Обучение с аудио имеет максимальную длину звука в 40 секунд на файл (до 30 секунд для настройки Whisper). Для аудиофайлов дольше 40 секунд для обучения используется только соответствующий текст из файлов транскрибирования. Если все звуковые файлы длиннее 40 секунд, обучение завершается ошибкой. |
Формат образца | PCM, 16-разрядные |
Формат архива | .zip |
Максимальный размер ZIP-файла | 2 ГБ или 10 000 файлов |
Обычные текстовые данные для обучения
Можно добавить предложения обычного текста соответствующей тематики, чтобы улучшить распознавание слов и фраз, относящихся к данной области. Связанные текстовые предложения в первую очередь уменьшают количество ошибок замены, связанных с неправильным распознаванием распространенных слов и слов, зависящих от области, показывая их в контексте. Слова, зависящие от области, могут быть нераспространенными или искусственными словами, но их произношение должно быть простым для распознавания.
Предоставьте предложения, связанные с доменом, в одном текстовом файле. Используйте текстовые данные, наиболее точно соответствующие ожидаемым речевым фрагментам. Речевые фрагменты необязательно должны быть полными или грамматически правильными, но они должны точно отражать речевой ввод, который модель должна распознавать. По возможности старайтесь, чтобы одно предложение или ключевое слово находилось в отдельной строке. Чтобы увеличить вес термина (например названия продуктов) добавьте несколько предложений, которые включают этот термин. Однако не копируйте слишком много — это может повлиять на общую скорость распознавания.
Примечание.
Избегайте текстовых предложений, содержащих такие помехи, как нераспознаваемые символы или слова.
Используйте эту таблицу, чтобы обеспечить правильное форматирование своего файла с набором данных обычного текста.
Свойство | Значение |
---|---|
Кодировка текста | Метка порядка байтов UTF-8 |
Количество речевых фрагментов в строке | 1 |
Максимальный размер файла | 200 МБ |
Кроме того, необходимо соблюдать следующие ограничения:
- Старайтесь не использовать повторяющиеся символы, слова или группы слов более трех раз подряд. Например, не используйте "aaaa", "да да да", или "это это то, что это". Служба "Речь" может удалять линии с слишком большим количеством повторений.
- Не используйте специальные символы или символы в кодировке UTF-8 выше
U+00A1
. - URI будут отклонены.
- Для некоторых языков (например, японского или корейского) импорт больших объемов текстовых данных может занять очень много времени или привести к истечению времени ожидания. Рассмотрите возможность разделения передаваемых данных на несколько текстовых файлов до 20 000 строк каждый.
Данные структурированного текста для обучения
Примечание.
Структурированные текстовые данные для обучения (доступны в общедоступной предварительной версии).
Используйте неструктурированные текстовые данные, если данные создаются по конкретному шаблону в рамках конкретных речевых фрагментов, которые отличаются только словами или фразами из списка. Чтобы упростить создание обучающих данных и обеспечить лучшее моделирование внутри пользовательской языковой модели, можно использовать структурированный текст в формате Markdown для определения списков элементов и вариантов фонетического произношения слов. Затем можно использовать эти списки для создания ссылок в обучающих речевых фрагментах.
Ожидаемые речевые фрагменты часто соответствуют определенному шаблону. Одним из распространенных шаблонов является то, что речевые фрагменты отличаются только словами или фразами из списка. Примеры такого шаблона:
- "У меня вопрос насчет
product
", гдеproduct
— список возможных продуктов. - "Сделать это
object
color
", гдеobject
находится список геометрических фигур иcolor
является списком цветов.
Список поддерживаемых базовых моделей и языковых стандартов для обучения с помощью структурированного текста приведен в разделе Поддержка языков. Для этих языковых стандартов необходимо использовать последнюю базовую модель. Для языковых стандартов, которые не поддерживают обучение с помощью структурированного текста, служба будет принимать любые обучающие предложения, которые не ссылаются на какие-либо классы в рамках обучения с помощью обычных текстовых данных.
Файл структурированного текста должен иметь расширение .md. Максимальный размер файла составляет 200 МБ, а кодировка текста должна быть меткой порядка байтов в кодировке UTF-8. Синтаксис Markdown тот же, что и в моделях распознавания речи, в определенных сущностях списка и в примерах речевых фрагментов. Дополнительные сведения о полном синтаксисе Markdown приведены в разделе Markdown распознавания речи.
Ниже приведены основные сведения о поддерживаемом формате Markdown:
Свойство | Description | Ограничения |
---|---|---|
@list |
Список элементов, на которые можно ссылаться в примере предложения. | Не более 20 списков. Не более 35 000 элементов в списке. |
speech:phoneticlexicon |
Список вариантов фонетического произношения в соответствии с универсальным набором фонем. Вариант произношения корректируется для каждого экземпляра, в котором слово отображается в списке или обучающем предложении. Например, если у вас есть слово, которое звучит как "собака", и вы хотите изменить произношение на "сабака", добавьте - cat/k ae t в список speech:phoneticlexicon . |
Не более 15 000 записей. Не более двух произношений на слово. |
#ExampleSentences |
Символ фунта (# ) разделяет разделы с примерами предложений. Заголовок раздела может содержать только буквы, цифры и символы подчеркивания. Примеры предложений должны отражать диапазон речи, которого ожидает модель. Обучающее предложение может ссылаться на элементы в разделе @list , используя для этого заключение в фигурные скобки ({@list name} ). Вы можете ссылаться на несколько списков в одном обучающем предложении или не ссылаться на списки вообще. |
Максимальный размер файла составляет 200 МБ. |
// |
Комментарии следуют за двойной косой чертой (// ). |
Нет данных |
Ниже приведен пример структурированного текстового файла:
// This is a comment because it follows a double slash (`//`).
// Here are three separate lists of items that can be referenced in an example sentence. You can have up to 10 of these.
@ list food =
- pizza
- burger
- ice cream
- soda
@ list pet =
- cat
- dog
- fish
@ list sports =
- soccer
- tennis
- cricket
- basketball
- baseball
- football
// List of phonetic pronunciations
@ speech:phoneticlexicon
- cat/k ae t
- fish/f ih sh
// Here are two sections of training sentences.
#TrainingSentences_Section1
- you can include sentences without a class reference
- what {@pet} do you have
- I like eating {@food} and playing {@sports}
- my {@pet} likes {@food}
#TrainingSentences_Section2
- you can include more sentences without a class reference
- or more sentences that have a class reference like {@pet}
Данные произношения для обучения
Специализированные или придуманные слова могут иметь уникальное произношение. Эти слова могут быть распознаны, если для произношения их можно разбить на слова меньшего размера. Например, чтобы распознать "Xbox", произнесите "Икс бокс". Такой подход не приводит к повышению общей точности, но может улучшить распознавание этого и других ключевых слов.
Вы можете предоставить пользовательский файл с вариантом произношения, чтобы улучшить распознавание. Не используйте настраиваемые файлы произношения для изменения произношения обычных слов. Список языков, поддерживающих пользовательское произношение, см. в разделе Поддержка языков.
Примечание.
Вы можете использовать файл произношения вместе с любым другим набором данных обучения, кроме структурированных данных обучения текста. Чтобы использовать данные произношения со структурированным текстом, он должен находиться в структурированном текстовом файле.
Речевая форма — это фонетическая последовательность передачи по буквам. Она может состоять из букв, слов, слогов или сочетания этих трех компонентов. Некоторые примеры приведены в следующей таблице:
Распознанная отображаемая форма | Речевая форма |
---|---|
3CPO | три си пи о |
CNTK | си эн ти кей |
IEEE | ай трайпл и |
Необходимо обеспечить произношение в одном текстовом файле. Включите речевые фрагменты и настраиваемое произношение для каждого из них. Каждая строка в файле должна начинаться с распознанной формы, за которой через знак табуляции следует фонетическая последовательность с разделителями-пробелами.
3CPO three c p o
CNTK c n t k
IEEE i triple e
Ознакомьтесь со следующей таблицей, чтобы убедиться, что файлы наборов данных с вариантами произношения допустимы и правильно отформатированы.
Свойство | Значение |
---|---|
Кодировка текста | Спецификация UTF-8 (для английского языка также поддерживается ANSI) |
Число форм произношения на строку | 1 |
Максимальный размер файла | 1 МБ (1 КБ для бесплатного уровня) |
Звуковые данные для обучения или тестирования
Звуковые данные являются оптимальными для тестирования точности базовой речи Майкрософт в текстовой модели или пользовательской модели. Помните, что звуковые данные используются для проверки точности речи в отношении производительности конкретной модели. Если вы хотите количественно оценить точность модели, используйте аудио + расшифровку стенограммы, помеченную людьми.
Примечание.
Звуковые данные для обучения доступны в предварительной версии для языкового en-US
стандарта. Для других языковых стандартов для обучения с помощью звуковых данных необходимо также предоставить транскрибирование с метками человека.
Для проектов пользовательской речи требуются звуковые файлы с этими свойствами:
Внимание
Это требования только для обучения и тестирования аудио. Они отличаются от тех, которые отличаются для обучения и тестирования транскрибирования аудио + человека. Если вы хотите использовать обучение и тестирование транскрибирования с метками аудио+ человека, см. в этом разделе.
Свойство | Значение |
---|---|
File format | RIFF (WAV) |
Частота выборки | 8000 или 16 000 Гц |
Каналы | 1 (моно) |
Максимальная продолжительность аудио | Два часа |
Формат образца | PCM, 16-разрядные |
Формат архива | .zip |
Максимальный размер архива | 2 ГБ или 10 000 файлов |
Примечание.
При отправке данных для обучения или тестирования размер ZIP-файла не должен превышать 2 ГБ. Если вам нужны дополнительные данные для обучения, разделите их на несколько ZIP-файлов и отправьте их по отдельности. Позже можно будет выполнить обучение с применением нескольких наборов данных. Однако тестирование можно выполнять на основании только одного набора данных.
Используйте SoX для проверки свойств звука или преобразования существующего звука в соответствующие форматы. Ниже приведено несколько примеров команд SoX:
Действие | Команда SoX |
---|---|
Проверьте формат аудиофайла. | sox --i <filename> |
Преобразуйте аудиофайл в одноканальный, 16-битный, 16 кГц. | sox <input> -b 16 -e signed-integer -c 1 -r 16k -t wav <output>.wav |
Пользовательские данные форматирования текста для обучения
Дополнительные сведения о подготовке данных форматирования текста и форматировании текста с помощью речи в текст.
Формат вывода вывода автоматического распознавания речи имеет решающее значение для подчиненных задач, и один размер не соответствует всем. Добавление правил пользовательского формата отображения позволяет пользователям определять собственные лексические правила формата для отображения, чтобы улучшить качество службы распознавания речи на основе пользовательской службы речи Microsoft Azure.
Он позволяет полностью настроить выходные данные отображения, такие как добавление правил перезаписи для прописи и переформатирования определенных слов, добавление слов ненормативной лексики и маски из выходных данных, определение расширенных правил ITN для определенных шаблонов, таких как числа, даты, адреса электронной почты; или сохраните некоторые фразы и сохранили их из любых процессов отображения.
Например:
Пользовательское форматирование | Отображаемый текст |
---|---|
нет | Мой финансовый номер от contoso составляет 8BEV3 |
Заглавная буква "Contoso" (с помощью #rewrite правила)Форматирование финансового номера (с помощью #itn правила) |
Мое финансовое число от Contoso — 8B-EV-3 |
Список поддерживаемых базовых моделей и языковых стандартов для обучения с помощью структурированного текста приведен в разделе Поддержка языков. Файл формата отображения должен иметь расширение MD. Максимальный размер файла составляет 10 МБ, а кодировка текста должна быть UTF-8 BOM. Дополнительные сведения о настройке правил форматирования отображения см. в статье "Рекомендации по настройке правил форматирования".
Свойство | Description | Ограничения |
---|---|---|
#ITN | Список правил нормализации инвертного текста для определения определенных шаблонов отображения, таких как числа, адреса и даты. | Не более 200 строк |
#rewrite | Список пар перезаписи для замены определенных слов по таким причинам, как прописная буква и исправление орфографии. | Не более 1000 строк |
#profanity | Список нежелательных слов, которые будут маскироваться как ****** из выходных данных Display and Masked, в верхней части встроенных списков ненормативной лексики Майкрософт. |
Не более 1000 строк |
#test | Список модульных тестов для проверки правильности правил отображения, включая входные данные лексического формата и ожидаемые выходные данные формата отображения. | Максимальный размер файла в 10 МБ |
Ниже приведен пример файла формата отображения:
// this is a comment line
// each section must start with a '#' character
#itn
// list of ITN pattern rules, one rule for each line
\d-\d-\d
\d-\l-\l-\d
#rewrite
// list of rewrite rules, each rule has two phrases, separated by a tab character
old phrase new phrase
# profanity
// list of profanity phrases to be tagged/removed/masked, one line one phrase
fakeprofanity
#test
// list of test cases, each test case has two sentences, input lexical and expected display output
// the two sentences are separated by a tab character
// the expected sentence is the display output of DPP+CDPP models
Mask the fakeprofanity word Mask the ************* word