В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, автор переходит к поиску с разреженными векторами — TF-IDF и BM25 и заканчивает современными представлениями плотных векторов и Sentence-BERT. Простые примеры сопровождаются кодом и иллюстрациями, а в конце вы найдёте ссылки на соответствующие блокноты Jupyter.
Data Scientist
Нейросетевой синтез речи своими руками
Некоторое время назад в область синтеза речи, как и во многие другие области, пришло машинное обучение. Выяснилось, что целый ряд компонентов всей системы можно заменить на нейронные сети, что позволит не просто приблизиться по качеству к существующим алгоритмам, а даже значительно их превзойти.
Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.
Синтез речи виртуальных ассистентов Салют: как мы отошли от классических научных статей, чтобы сделать его человеческим
Автор исходного изображения: Blue Flourishes/Shutterstock.com
Всем привет! В этом посте мы расскажем про синтез голосов Сбера, Афины и Джой — виртуальных ассистентов семейства Салют. О том, как мы в SberDevices обучали модели, чтобы сделать синтез живым и специфичным для каждого персонажа, а также с какими проблемами столкнулись и как их решали.
Согласно нашей «библии ассистентов», Сбер — энергичный гик, Афина — взрослая и деловая, а Джой — дружелюбная и веселая. Они отличаются не только уникальными характерами, обращением на «ты»/«вы» и предпочтениями в шутках. Мы попытались сделать так, чтобы их личности отражались и в голосах, которыми они разговаривают.
Персонажей озвучили телеведущая Анастасия Чернобровина (Афина) и актёры дубляжа Даниил Щебланов и Татьяна Ермилова (Сбер и Джой). Виртуальных ассистентов можно услышать в приложениях Сбер Салют, СберБанк Онлайн, нашем колл-центре по номеру 900, а также в устройствах SberBox и SberPortal. Всё, что вы услышите, — это синтез речи, реализованный с помощью нейросетей. Он работает на связке Tacotron 2 и LPCNet.
Но, чтобы было понятно, что, зачем и почему, — немного теории и истории
Пишем голосового ассистента на Python
Введение
Технологии в области машинного обучения за последний год развиваются с потрясающей скоростью. Всё больше компаний делятся своими наработками, тем самым открывая новые возможности для создания умных цифровых помощников.
В рамках данной статьи я хочу поделиться своим опытом реализации голосового ассистента и предложить вам несколько идей для того, чтобы сделать его ещё умнее и полезнее.
Open Source синтез речи SOVA
Всем привет! Ранее мы выкладывали статью про наше распознавание речи, сегодня мы хотим рассказать вам о нашем опыте по созданию синтеза речи на русском языке, а также поделиться ссылками на репозитории и датасеты для свободного использования в любых целях.
Если вам интересна история о том, как мы разработали собственный сервис синтеза речи и каких результатов нам удалось достигнуть, то добро пожаловать под кат.
Как создать голосового помощника на основе технологий с открытым кодом, не передав вовне ни байта секретной информации
Зачем нефтяникам NLP? Как заставить компьютер понимать профессиональный жаргон? Можно ли объяснить машине, что такое «нагнеталка», «приемистость», «затрубное»? Как связаны вновь принятые на работу сотрудники и голосовой ассистент? На эти вопросы мы постараемся ответить в статье о внедрении в ПО для сопровождения нефтедобычи цифрового ассистента, облегчающего рутинную работу геолога-разработчика.
Уровни зрелости ML-процессов (процессов, связанных с Машинным Обучением)
Машинное обучение выходит из зоны хайпа. И сложно однозначно сказать насколько это хорошо или плохо, но что совершенно точно видно - все больше людей задаются вопросами «а деньги где?», все меньше футуристических статей про тотальную победу машины над человеком, все больше докладов и обсуждений посвящается автоматизации и систематизации процессов работы над ML-проектами. И эта статья не будет исключением – хайп закончился, работать надо.
Если говорить про выстраивание каких-либо процессов, то лично я очень люблю оперировать термином «уровень зрелости». Ведь если перед глазами есть понятная оценочная шкала, всегда можно понять где ты находишься, что тебя ждет впереди, можно определиться с приоритетами и заняться налаживанием того что нужно здесь и сейчас, а не перепрыгивать через пару уровней и устраивать революцию, изобретая велосипед в придачу… а он ведь может потом и не пригодиться. В общем полезное со всех точек зрения упражнение.
Как превратить скрипт на Python в «настоящую» программу при помощи Docker
Для кого предназначена эта статья?
Вам когда-нибудь передавали код или программу, дерево зависимостей которой напоминает запутанную монтажную плату?
Как выглядит управление зависимостями
Без проблем, я уверен, что разработчик любезно предоставил вам скрипт установки, чтобы всё работало. Итак, вы запускаете его скрипт, и сразу же видите в оболочке кучу сообщений логов ошибок. «У меня на машине всё работало», — обычно так отвечает разработчик, когда вы обращаетесь к нему за помощью.
Docker решает эту проблему, обеспечивая почти тривиальную портируемость докеризованных приложений. В этой статье я расскажу, как быстро докеризировать ваши приложения на Python, чтобы ими можно было легко делиться с любым человеком, у которого есть Docker.
В частности, мы рассмотрим скрипты, которые должны работать как фоновый процесс.
Что такое OpenVINO?
Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).
Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, кафедры «Информатика и системы управления» – Божко Мария и Сторожева Ксения. Наше знакомство с OpenVINO произошло еще на первом курсе, когда преподаватели пригласили поучаствовать в воркшопе по компьютерному зрению от Intel, направленном на получение практического опыта работы с готовыми моделями компании. Заинтересовавшись темой машинного обучения, мы изучили множество статей, посвященных нейронным сетям. К нашему удивлению, мы не нашли ни одной статьи, в которой довольно подробно, понятно и, главное, доступно для людей любого уровня знаний было бы рассказано об OpenVINO. Безусловно, информация по этой теме имеется в интернете, но она разрознена и к тому же представлена на английском языке, большинство авторов очень кратко описывает OpenVINO и все связанное с ним, из таких статей сложно сформировать полное представление об этой технологии. Поэтому у нас родилась идея - написать публикацию с описанием этого набора инструментов простым и понятным языком для тех, кто только начинает свое знакомство с OpеnVINO.
Приемы повышения производительности инференса глубоких моделей с DL Workbench. Часть 1 — введение и установка
Если у вас есть проект с интенсивной обработкой данных глубокими моделями (или еще нет, но вы собираетесь его создать), то вам будет полезно познакомиться с приемами по повышению их производительности и уменьшению затрат на покупку / аренду вычислительных мощностей. Тем более, что многие из приемов сейчас выполняются буквально за несколько кликов мышкой, но при этом позволяют повысить производительность на порядок. В этом посте мы рассмотрим какие оптимизации бывают, установим Docker на Windows 10 и запустим DL Workbench, измерим производительность инференса без оптимизации и с применением оных.
Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи
Вторая часть — https://habr.com/ru/post/563484/
Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).
Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:
- Приемлемый уровень естественности речи;
- Большая библиотека готовых голосов на разных языках;
- Поддержка синтеза как в
16kHz
так и в8kHz
из коробки; - Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
- Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
- Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
- Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
- Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
- Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;
Мы попытались учесть все эти пункты и представить комьюнити свое открытое некоммерческое решение, удовлетворяющее этим критериям. По причине его публичности мы не заостряем внимание на архитектуре и не фокусируемся на каких-то cherry picked
примерах — вы можете оценить все сами, пройдя по ссылке.
BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab
BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автоматические переводчики, анализировать текст и так далее.
Google выложила предобученные модели BERT, но как это обычно и бывает в Machine Learning, они страдают от недостатка документации. Поэтому в этом туториале мы научимся запускать нейронную сеть BERT на локальном компьютере, а также на бесплатном серверном GPU на Google Colab.
Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov
Например, организовать ответы на часто задаваемые вопросы клиентов. Сделать это через колл-центр, виджет на сайте или соцсети, наняв сотрудников — дело нехитрое. Актуальная задача — оптимизировать процесс, чтобы он осуществлялся автоматически, с минимальными погрешностями, и еще и в удобном пользовательском интерфейсе. Например, в голосовом помощнике «Алиса» от «Яндекса».
В этой статье мы хотим рассказать, как эффективно решить задачу ответов на FAQ с помощью обработки естественного языка и как интегрировать решение в «Алису».
DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов
К NLP задачам относят определение тональности текста, парсинг именованных сущностей, определение того, что хочет от вашего бота собеседник: заказать пиццу или получить справочную информацию и многое другое. Более подробно про задачи и методы NLP вы можете прочитать тут.
В этой статье мы расскажем, как запустить REST север с предобученными моделями NLP, готовыми к использованию без какой-либо дополнительной настройки или обучения.
Все статьи цикла:
1. DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов
2. DeepPavlov для разработчиков: #2 настройка и деплоймент
Как интерпретировать предсказания моделей в SHAP
Если мы не просто знаем, что клиент склонен купить товар, но так же понимаем, что влияет на его покупку, мы сможем в будущем выстраивать стратегию компанию, направленную на повышение эффективности продаж.
10 полезных расширений для дата-сайентистов
Каждый специалист по Data Science тратит большую часть своего времени на визуализацию данных, их предварительную обработку и настройку модели на основе полученных результатов. Для каждого исследователя данных именно эти моменты – самая сложная часть процесса, поскольку хорошую модель можно получить при условии, что вы точно выполните все эти три шага. И вот 10 очень полезных расширений Jupyter Notebook, которые помогут вам выполнить эти шаги.
Всё, о чём должен знать разработчик Телеграм-ботов
Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.
Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?
Подробный гайд о том, как работать с ботами — под катом.
Reformer — Эффективный Трансформер
Понимание последовательно организованных данных – будь то язык, музыка или видео – трудная задача, особенно в случаях, когда они сильно зависят от контекста, который их окружает. Например, если человек или какой-либо предмет пропадёт из поля зрения на видеозаписи и появится снова через значительный промежуток времени, многие модели забудут, как он выглядел. В сфере обработки языка нейронные сети с долгой краткосрочной памятью (long short-term memory, LSTM) охватывают достаточный контекст для того, чтобы успешно осуществлять последовательный перевод предложение за предложением. В этом случае контекстное окно (т.е. охват данных, которые модель принимает во внимание при переводе) может содержать от десятка до сотни слов. Более новая модель Трансформера не только улучшила качество последовательного перевода, но может быть использована для генерации целых статей Википедии с помощью суммаризации множества документов. Это возможно благодаря тому, что Трансформер увеличил контекстное окно до тысячи слов. Кроме того, столь обширный рассматриваемый контекст позволяет использовать Трансформер для обработки не только текста, но и пикселей или музыкальных нот, на основе которых можно сгенерировать изображения или музыку.
Deep Learning, NLP, and Representations
В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.
Результаты результатами, но почему они так круто решают задачи?
В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
Deep learning и Caffe на новогодних праздниках
Мотивация
В данной статье вы познакомитесь c применением deep learning на практике. Будет использован фреймворк Caffe на датасете SVHN.
Deep Learning. Этот buzz word уже давно звенит в ушах, но попробовать его на практике никак не удавалось. Подвернулся удобный случай это исправить! На новогодние праздники был назначен контест на kaggle по распознаванию номеров домов в рамках курса по анализу изображений.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity