Все статьи

· Casimiro Ferreira· 4 мин чтения

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

  • Datasets
  • Data Collection
  • ASR
  • NLP
  • TTS
  • LLM
  • FOSS

Мы много пишем о том, как мы извлекаем данные — про инструменты разведки, про антибот-транспорты, про типизированные клиенты музыкальных метаданных. Справедливый вопрос — зачем. Мы компания голосового ИИ; что мы делаем, сопровождая скрейперы для музыкальных энциклопедий и радиокаталогов?

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

Вот что происходит с этими данными после того, как мы их собираем.

Сущности: словарь, на котором живёт голосовой ассистент

Скажите «play Sultans of Swing by Dire Straits» ассистенту. Прежде чем любая модель сможет действовать по этому, что-то должно знать, что Sultans of Swing — это трек, а Dire Straits — исполнитель. Умножьте на каждого исполнителя, альбом, станцию, подкаст и жанр, которые пользователь может назвать, и у вас есть настоящий словарь медиа-ассистента — сотни тысяч именованных сущностей, ни одна из которых не появляется в стандартном обучающем корпусе NLP.

Наши медиа-клиенты выдают именно это: типизированные записи с каноническими id, нормализованные в схему mediavocab. Эти каталоги сущностей напрямую питают:

  • Сопоставление интентов на основе ключевых слов — списки сущностей становятся газеттирами, которые заземляют медиа-запросы в OpenVoiceOS.
  • Классификаторы интентов — наши датасеты медиа-интентов сочетают реальные скрейпленные сущности с шаблонным и LLM-ассистированным синтезом предложений, производя высказывания, какие делают реальные пользователи, наполненные сущностями, которые действительно существуют. Модели, обученные так, обрабатывают решение «это запрос на воспроизведение, и чего?» в медиа-конвейере OpenVoiceOS.
  • Синтетические корпуса NER — тот же рецепт обобщается: возьмите каталог реальных сущностей, сгенерируйте вокруг них естественные предложения, и у вас есть размеченный датасет именованных сущностей для домена, который не покрывает ни один академический корпус. Сущности реальны, так что распределение честное; предложения синтетические, так что объём — какой вам нужен.

Смещение распознавания речи к словам, которые важны

Универсальный ASR обучен на общей речи, так что он транскрибирует Dire Straits как «dire straights» и коверкает каждое название португальской деревни. Исправление — не переобучение с нуля, а смещение (biasing): дать распознавателю словарь вашего домена.

Скрейпленные каталоги — это тот словарь. Конкретно:

  • Смещение языковой модели — n-граммные или shallow-fusion LM, обученные на насыщенном сущностями тексте, подталкивают декодер к внутридоменным словам. LM медиа- ассистента должна быть обучена на названиях треков и именах исполнителей, а наша может быть, потому что они у нас есть — типизированные, дедуплицированные, с чистым провенансом.
  • Распознавание, обусловленное промптом — более новые архитектуры принимают текстовый промпт или список контекста во время инференса. Скармливание фактической библиотеки пользователя — сущностей, которые извлекли наши клиенты — в контекст распознавателя превращает «нераспознаваемое имя собственное» в «известный словарный элемент».
  • Данные для дообучения — там, где смещения недостаточно, каталоги сущностей плюс наши голоса TTS генерируют синтетическую речь для тех самых фраз, которые развёртывание не должно ошибиться. Это сервис построения датасетов, который мы предлагаем коммерчески, и он построен на том же открытом конвейере.

Произношение: от краулленных словарей к G2P и TTS

Некоторые из наших самых ценных краулов — не каталоги сущностей, а лексиконы. Краулинг словаря Infopédia произвёл infopedia-pt-ipa, более 100 000 пар слово→IPA европейского португальского. Этот датасет:

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

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

Честное топливо для LLM

Всё вышесказанное применимо и к большим языковым моделям, с одним дополнительным поворотом: провенанс теперь важнее объёма. Открытый веб всё сильнее загрязняется сгенерированным моделями текстом; обучение или оценка на нём тихо перерабатывают вчерашние выводы моделей. Вот почему нас волнуют источники с чистым человеческим провенансом — десятилетия архивов Usenet, курируемые энциклопедии, официальные словари — и почему каждый публикуемый нами датасет заявляет, откуда пришла каждая запись.

Структурированные каталоги также питают LLM во время инференса: типизированное, дедуплицированное хранилище сущностей — именно то, что нужно слою извлечения или tool API агента, чтобы заземлить свои ответы. Чистые API поверх грязных источников — не просто удобство скрейпинга, это то, как вы держите языковую модель прикреплённой к фактам.

Конвейер, от начала до конца

Итак, полная картина выглядит так:

recon → resilient extraction → typed clients → normalised catalogues
      → gazetteers & intent data     (NLP)
      → biasing LMs & fine-tune sets (ASR)
      → lexicons & phoneme labels    (G2P / TTS)
      → provenance-clean corpora     (LLMs, retrieval)

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