Pull to refresh
29
0
Игорь Хмельков @khmelkoff

Data Scientist

Send message

Семантический поиск: от простого сходства Жаккара к сложному SBERT

Reading time10 min
Views25K

В материале, переводом которого мы решили поделиться к старту курса о машинном и глубоком обучении, простым языком рассказывается о семантическом поиске, статья охватывает шесть его методов; начиная с простых сходства по Жаккару, алгоритма шинглов и расстояния Левенштейна, автор переходит к поиску с разреженными векторами — TF-IDF и BM25 и заканчивает современными представлениями плотных векторов и Sentence-BERT. Простые примеры сопровождаются кодом и иллюстрациями, а в конце вы найдёте ссылки на соответствующие блокноты Jupyter.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments1

Нейросетевой синтез речи своими руками

Reading time12 min
Views92K
Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.

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



Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.
Total votes 62: ↑61 and ↓1+60
Comments22

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

Reading time12 min
Views17K

Автор исходного изображения: Blue Flourishes/Shutterstock.com

Всем привет! В этом посте мы расскажем про синтез голосов Сбера, Афины и Джой — виртуальных ассистентов семейства Салют. О том, как мы в SberDevices обучали модели, чтобы сделать синтез живым и специфичным для каждого персонажа, а также с какими проблемами столкнулись и как их решали.

Согласно нашей «библии ассистентов», Сбер — энергичный гик, Афина — взрослая и деловая, а Джой — дружелюбная и веселая. Они отличаются не только уникальными характерами, обращением на «ты»/«вы» и предпочтениями в шутках. Мы попытались сделать так, чтобы их личности отражались и в голосах, которыми они разговаривают.


Персонажей озвучили телеведущая Анастасия Чернобровина (Афина) и актёры дубляжа Даниил Щебланов и Татьяна Ермилова (Сбер и Джой). Виртуальных ассистентов можно услышать в приложениях Сбер Салют, СберБанк Онлайн, нашем колл-центре по номеру 900, а также в устройствах SberBox и SberPortal. Всё, что вы услышите, — это синтез речи, реализованный с помощью нейросетей. Он работает на связке Tacotron 2 и LPCNet.

Но, чтобы было понятно, что, зачем и почему, — немного теории и истории

Читать далее
Total votes 47: ↑46 and ↓1+45
Comments30

Пишем голосового ассистента на Python

Reading time16 min
Views154K

Введение


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

В рамках данной статьи я хочу поделиться своим опытом реализации голосового ассистента и предложить вам несколько идей для того, чтобы сделать его ещё умнее и полезнее.

image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments5

Open Source синтез речи SOVA

Reading time9 min
Views21K

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



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

Total votes 31: ↑30 and ↓1+29
Comments24

Как создать голосового помощника на основе технологий с открытым кодом, не передав вовне ни байта секретной информации

Reading time9 min
Views21K
image

Зачем нефтяникам NLP? Как заставить компьютер понимать профессиональный жаргон? Можно ли объяснить машине, что такое «нагнеталка», «приемистость», «затрубное»? Как связаны вновь принятые на работу сотрудники и голосовой ассистент? На эти вопросы мы постараемся ответить в статье о внедрении в ПО для сопровождения нефтедобычи цифрового ассистента, облегчающего рутинную работу геолога-разработчика.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments15

Уровни зрелости ML-процессов (процессов, связанных с Машинным Обучением)

Reading time6 min
Views3.3K

Машинное обучение выходит из зоны хайпа. И сложно однозначно сказать насколько это хорошо или плохо, но что совершенно точно видно - все больше людей задаются вопросами «а деньги где?», все меньше футуристических статей про тотальную победу машины над человеком, все больше докладов и обсуждений посвящается автоматизации и систематизации процессов работы над ML-проектами. И эта статья не будет исключением – хайп закончился, работать надо.

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

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments5

Как превратить скрипт на Python в «настоящую» программу при помощи Docker

Reading time4 min
Views59K
Никого не интересует, умеете ли вы разворачивать связанный список — всем нужно, чтобы можно было легко запускать ваши программы на их машине. Это становится возможным благодаря Docker.


Для кого предназначена эта статья?


Вам когда-нибудь передавали код или программу, дерево зависимостей которой напоминает запутанную монтажную плату?


Как выглядит управление зависимостями

Без проблем, я уверен, что разработчик любезно предоставил вам скрипт установки, чтобы всё работало. Итак, вы запускаете его скрипт, и сразу же видите в оболочке кучу сообщений логов ошибок. «У меня на машине всё работало», — обычно так отвечает разработчик, когда вы обращаетесь к нему за помощью.

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

В частности, мы рассмотрим скрипты, которые должны работать как фоновый процесс.
Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments40

Что такое OpenVINO?

Reading time10 min
Views24K

Привет всем читателем habr.com! Мы студенты НГТУ им. Р.Е. Алексеева, и хотим рассказать о своем опыте работы с набором инструментов Intel – OpenVINO (Open Visual Inference & Neural Network Optimization).

Для начала давайте познакомимся. Мы- студенты 2 курса ИРИТ, кафедры «Информатика и системы управления» – Божко Мария и Сторожева Ксения.  Наше знакомство с OpenVINO произошло еще на первом курсе, когда преподаватели пригласили поучаствовать в воркшопе по компьютерному зрению от Intel, направленном на получение практического опыта работы с готовыми моделями компании. Заинтересовавшись темой машинного обучения, мы изучили множество статей, посвященных нейронным сетям. К нашему удивлению, мы не нашли ни одной статьи, в которой довольно подробно, понятно и, главное, доступно для людей любого уровня знаний было бы рассказано об OpenVINO. Безусловно, информация по этой теме имеется в интернете, но она разрознена и к тому же представлена на английском языке, большинство авторов очень кратко описывает OpenVINO и все связанное с ним, из таких статей сложно сформировать полное представление об этой технологии. Поэтому у нас родилась идея - написать публикацию с описанием этого набора инструментов простым и понятным языком для тех, кто только начинает свое знакомство с OpеnVINO.

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments4

Приемы повышения производительности инференса глубоких моделей с DL Workbench. Часть 1 — введение и установка

Reading time6 min
Views2.5K

Если у вас есть проект с интенсивной обработкой данных глубокими моделями (или еще нет, но вы собираетесь его создать), то вам будет полезно познакомиться с приемами по повышению их производительности и уменьшению затрат на покупку / аренду вычислительных мощностей. Тем более, что многие из приемов сейчас выполняются буквально за несколько кликов мышкой, но при этом позволяют повысить производительность на порядок. В этом посте мы рассмотрим какие оптимизации бывают, установим Docker на Windows 10 и запустим DL Workbench, измерим производительность инференса без оптимизации и с применением оных.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments6

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time9 min
Views64K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Total votes 205: ↑205 and ↓0+205
Comments229

BERT — state-of-the-art языковая модель для 104 языков. Туториал по запуску BERT локально и на Google Colab

Reading time11 min
Views122K

image


BERT — это нейронная сеть от Google, показавшая с большим отрывом state-of-the-art результаты на целом ряде задач. С помощью BERT можно создавать программы с ИИ для обработки естественного языка: отвечать на вопросы, заданные в произвольной форме, создавать чат-ботов, автоматические переводчики, анализировать текст и так далее.


Google выложила предобученные модели BERT, но как это обычно и бывает в Machine Learning, они страдают от недостатка документации. Поэтому в этом туториале мы научимся запускать нейронную сеть BERT на локальном компьютере, а также на бесплатном серверном GPU на Google Colab.

Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments5

Автоматизация ответов на часто задаваемые вопросы в навыке для «Алисы» с помощью библиотеки DeepPavlov

Reading time5 min
Views12K
Лаборатория нейронных систем и глубокого обучения МФТИ вот уже больше года делает DeepPavlov — открытую библиотеку для создания диалоговых систем. Она содержит набор претренированных компонент для анализа языка, с помощью которых можно эффективно решать задачи бизнеса.

Например, организовать ответы на часто задаваемые вопросы клиентов. Сделать это через колл-центр, виджет на сайте или соцсети, наняв сотрудников — дело нехитрое. Актуальная задача — оптимизировать процесс, чтобы он осуществлялся автоматически, с минимальными погрешностями, и еще и в удобном пользовательском интерфейсе. Например, в голосовом помощнике «Алиса» от «Яндекса».

В этой статье мы хотим рассказать, как эффективно решить задачу ответов на FAQ с помощью обработки естественного языка и как интегрировать решение в «Алису».


Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments9

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов

Reading time5 min
Views31K
Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывает наша команда лаборатории Нейронных систем и глубокого обучения МФТИ. Главная цель цикла — познакомить широкий круг разработчиков с DeepPavlov и показать, как можно решать прикладные задачи NLP, не обладая при этом глубокими познаниями в Machine Learning и PhD in Mathematics.

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

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

Все статьи цикла:
1. DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов
2. DeepPavlov для разработчиков: #2 настройка и деплоймент


Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments15

Как интерпретировать предсказания моделей в SHAP

Reading time5 min
Views41K
Одной из важнейших задач в сфере data science является не только построение модели, способной делать качественные предсказания, но и умение интерпретировать такие предсказания.

Если мы не просто знаем, что клиент склонен купить товар, но так же понимаем, что влияет на его покупку, мы сможем в будущем выстраивать стратегию компанию, направленную на повышение эффективности продаж.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments0

10 полезных расширений для дата-сайентистов

Reading time5 min
Views14K

Каждый специалист по Data Science тратит большую часть своего времени на визуализацию данных, их предварительную обработку и настройку модели на основе полученных результатов. Для каждого исследователя данных именно эти моменты – самая сложная часть процесса, поскольку хорошую модель можно получить при условии, что вы точно выполните все эти три шага. И вот 10 очень полезных расширений Jupyter Notebook, которые помогут вам выполнить эти шаги.

Приятного чтения!
Total votes 19: ↑19 and ↓0+19
Comments0

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time15 min
Views596K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Total votes 127: ↑127 and ↓0+127
Comments73

Reformer — Эффективный Трансформер

Reading time6 min
Views3.6K


Понимание последовательно организованных данных – будь то язык, музыка или видео – трудная задача, особенно в случаях, когда они сильно зависят от контекста, который их окружает. Например, если человек или какой-либо предмет пропадёт из поля зрения на видеозаписи и появится снова через значительный промежуток времени, многие модели забудут, как он выглядел. В сфере обработки языка нейронные сети с долгой краткосрочной памятью (long short-term memory, LSTM) охватывают достаточный контекст для того, чтобы успешно осуществлять последовательный перевод предложение за предложением. В этом случае контекстное окно (т.е. охват данных, которые модель принимает во внимание при переводе) может содержать от десятка до сотни слов. Более новая модель Трансформера не только улучшила качество последовательного перевода, но может быть использована для генерации целых статей Википедии с помощью суммаризации множества документов. Это возможно благодаря тому, что Трансформер увеличил контекстное окно до тысячи слов. Кроме того, столь обширный рассматриваемый контекст позволяет использовать Трансформер для обработки не только текста, но и пикселей или музыкальных нот, на основе которых можно сгенерировать изображения или музыку.

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments6

Deep Learning, NLP, and Representations

Reading time13 min
Views62K
Предлагаю читателям «Хабрахабра» перевод поста «Deep Learning, NLP, and Representations» крутого Кристофера Олаха. Иллюстрации оттуда же.

В последние годы методы, использующие глубокое обучение нейросетей (deep neural networks), заняли ведущее положение в распознавании образов. Благодаря им планка для качества методов компьютерного зрения значительно поднялась. В ту же сторону движется и распознавание речи.

Результаты результатами, но почему они так круто решают задачи?



В посте освещено несколько впечатляющих результатов применения глубоких нейронных сетей в обработке естественного языка (Natural Language Processing; NLP). Таким образом я надеюсь доходчиво изложить один из ответов на вопрос, почему глубокие нейросети работают.
Вглубь по кроличьей норе
Total votes 22: ↑21 and ↓1+20
Comments20

Deep learning и Caffe на новогодних праздниках

Reading time9 min
Views55K

Мотивация


В данной статье вы познакомитесь c применением deep learning на практике. Будет использован фреймворк Caffe на датасете SVHN.

Deep Learning. Этот buzz word уже давно звенит в ушах, но попробовать его на практике никак не удавалось. Подвернулся удобный случай это исправить! На новогодние праздники был назначен контест на kaggle по распознаванию номеров домов в рамках курса по анализу изображений.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments11
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity