Pull to refresh
0
0

Пользователь

Send message

Создание голосового ассистента на Python, часть 1

Reading time3 min
Views60K
Добрый день. Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали!

Реализация

Работать наш ассистент будет по такому принципу:

  1. Постоянно «слушать» микрофон
  2. Распознавать слова в google
  3. Выполнять команду, либо отвечать

1) Синтез речи

Для начала мы установим в систему windows русские голоса. Для этого переходим по ссылке и скачиваем голоса в разделе SAPI 5 -> Russian. Там есть 4 голоса, можно выбрать любой, какой вам понравится. Устанавливаем и идём дальше.

Нам нужно поставить библиотеку pyttsx3 для синтеза речи:

pip install pyttsx3
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments9

А вы знаете о том, что в Python есть встроенная СУБД?

Reading time5 min
Views52K
Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система обладает практически всеми возможностями, которых можно ожидать от реляционной СУБД, но при этом всё хранится в единственном файле. Вот некоторые сценарии использования SQLite, упомянутые на официальном сайте этой системы:

  • Встраиваемые устройства и IoT.
  • Анализ данных.
  • Перенос данных из одной системы в другую.
  • Архивирование данных и (или) упаковка данных в контейнеры.
  • Хранение данных во внешней или временной БД.
  • Заменитель корпоративной БД, используемый в демонстрационных или испытательных целях.
  • Обучение, освоение начинающими практических приёмов работы с БД.
  • Прототипирование и исследование экспериментальных расширений языка SQL.

В документации к SQLite можно найти и другие причины использования этой СУБД.



Данный материал посвящён использованию SQLite в Python-разработке. Поэтому для нас особенно важно то, что эта СУБД, представленная модулем sqlite3, входит в стандартную библиотеку языка. То есть оказывается, что для работы с SQLite из Python-кода не нужно устанавливать некое клиент-серверное ПО, не нужно поддерживать работу какого-то сервиса, отвечающего за работу с СУБД. Достаточно лишь импортировать модуль sqlite3 и приступить к его использованию в программе, получив в своё распоряжение систему управления реляционными базами данных.
Читать дальше →
Total votes 68: ↑47 and ↓21+26
Comments28

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы

Reading time8 min
Views22K
Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления аннотации текста.

У нас в компании мы активно работаем над автореферированием документов, в эту статью не стал включать все подробности и код, но описал основные подходы и результаты на примере нейтрального датасета: 30 000 футбольных спортивных новостных статей, собранных с информационного портала «Спорт-Экспресс».

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments10

Мир без корутин. Костыли для программиста — asyncio

Reading time15 min
Views7K

1. Введение


Тот, кто научился летать, ползать уже не будет. Но не должно быть и высокомерия к тому, кто «летать не может» в принципе. И то и другое вполне норма. И то и другое уважаемо и почетно. Для человека — это, как выбор профессии: вы, условно, либо летчик, либо шофер. Для тех же животных аналогично — вы либо орел, либо волк, т.е. либо летаете, либо бегаете (убегаете). Но только человек в своих понятиях, категориях, отношении и мыслях наделил персонажи характеристиками и выработал свое отношение к ним. Правда, с нюансами. Так, нет, наверное, почетнее и романтичнее профессии летчика, но попробуйте в этом убедить дальнобойщика или авиаконструктора?! И тут сложно возразить: космонавтов много даже сейчас, а второго Королева все еще нет!

Мы — программисты. Может, в разной степени, но некоторые — уж точно. Это я к тому, что мы разные и мыслить можем тоже по-разному. Утверждение, что программист мыслит только последовательно, столь же однобоко, вредно и даже кощунственно, как и то, что человек только бегает. Он иногда — и летает. Кто-то, как летчики, делает это довольно регулярно, а некоторые, как космонавты, даже месяцами и непрерывно. Идея последовательного мышления принижает способности человека. В какой-то момент и на какое-то время в это можно даже поверить, но " все-таки она вертится" — это про то, что рано или поздно жизнь возьмет свое.
Читать дальше →
Total votes 26: ↑11 and ↓15-4
Comments31

Как проанализировать рынок фотостудий с помощью Python (2/3). База данных

Reading time12 min
Views4.6K
В предыдущей статье в рамках коммерческого проекта по анализу рынка фотостудий рассмотрел создание парсинга: выгрузка списка фотостудий, списка залов, данных по бронированию с момента открытия зала до последней брони.

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

В статье рассмотрю:

  • создание простой SQLite базы данных;
  • запись информации с помощь Python;
  • чтение данных и перевод в формат DataFrame;
  • обновление парсинга с учетом данных БД.


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

Как переписать SQL-запросы на Python с помощью Pandas

Reading time2 min
Views18K
В этой статье June Tao Ching рассказал, как с помощью Pandas добиться на Python такого же результата, как в SQL-запросах. Перед вами — перевод, а оригинал вы можете найти в блоге towardsdatascience.com.

image
Фото с сайта Unsplash. Автор: Hitesh Choudhary

Получение такого же результата на Python, как и при SQL-запросе


Часто при работе над одним проектом нам приходится переключаться между SQL и Python. При этом некоторые из нас знакомы с управлением данными в SQL-запросах, но не на Python, что мешает нашей эффективности и производительности. На самом деле, используя Pandas, можно добиться на Python такого же результата, как в SQL-запросах.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments18

Учим ИИ распределять пироги по магазинам с помощью обучения с подкреплением

Reading time7 min
Views3.7K

Вступление


Как-то во время чтения книги «Reinforcement Learning: An Introduction» я задумался над дополнением своих теоретических знаний практическими, однако решать очередную задачу балансировки бруска, учить агента играть в шахматы или же изобретать другой велосипед желания не было.

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

Немного изменив данный пример, я и пришел к той идее, о которой далее и пойдет речь.
Читать дальше →
Total votes 3: ↑2 and ↓1+1
Comments2

Наш опыт работы с DeepPavlov: голосовой помощник за 20 дней и приём 5000 звонков на горячей линии

Level of difficultyHard
Reading time5 min
Views6K
Когда объявили режим самоизоляции, на горячую линию по коронавирусу в Татарстане поступало множество вопросов от жителей. Чтобы разгрузить операторов коллцентра, мы в Центре Цифровой Трансформации республики вместе с уполномоченным по ИИ в Татарстане разработали голосового помощника, который отвечал на несложные вопросы.



Для приема звонков мы использовали платформу Voximplant, а для распознавания вопросов и ответов — DeepPavlov. Голосового помощника получилось запустить за две с половиной недели, и он помог обработать 5000 звонков. У нас получилось выкатить продукт, который помогал жителям Татарстана получать достоверную информацию от властей, да и просто выходить на улицу. Ниже расскажем, как мы это делали.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments9

Голосовой бот + телефония на полном OpenSource. Часть 1 — создание и обучение текстового бота RU

Reading time4 min
Views12K

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

Пишем телеграм бота на node.js

Reading time4 min
Views59K
С полным кодом можно ознакомиться по ссылке.

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

Прежде всего в контакт-лист телеграмма нужно добавить @botFather и написать ему команду /newBot. Далее задаем имя нашего бота и, если оно не занято, придумываем идентификатор бота, по которому его можно будет найти.


Вот и все, наш телеграмм бот готов и botfather поделился с нами API Token, благодаря которому мы сможем управлять ботом

Далее создадим новый проект, введем npm init и добавим файл bot.js в котором будет разрабатываться наш бот.
Читать дальше →
Total votes 16: ↑9 and ↓7+2
Comments2

Deep Learning: как это работает? Часть 1

Reading time3 min
Views15K

В этой статье вы узнаете



-В чем суть глубокого обучения

-Для чего нужны функции активации

-Что такое FCNN

-Какие задачи может решать FCNN

-Каковы недостатки FCNN и с помощью чего с ними бороться

Читать дальше →
Total votes 17: ↑10 and ↓7+3
Comments3

Deep Learning: как это работает? Часть 2

Reading time3 min
Views9.5K
Часть 1 тут.

В этой статье вы узнаете


  • Что такое CNN и как это работает
  • Что такое карта признаков
  • Что такое max pooling
  • Функции потерь для различных задач глубокого обучения
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Наука о данных, искусственный интеллект, машинное обучение: путь самоучки

Reading time8 min
Views32K
Не каждый может найти время и деньги на то, чтобы получить очное образование в сферах Data Science (DS, наука о данных), AI (Artificial Intelligence, искусственный интеллект), ML (Machine Learning, машинное обучение). Недостаток времени и нехватка денег — это серьёзные препятствия. Преодолеть эти препятствия можно, занявшись самообучением. Но и тут не всё так просто. Для того чтобы успешно учиться самостоятельно, нужны дисциплина, сосредоточенность и правильный подбор учебных предметов. Самообучение в выбранной области, при правильном подходе, можно свободно совмещать с обычной жизнью или с учёбой в общеобразовательных учреждениях. Но в некоторых областях знаний, в таких, как DS, AI, ML, очень сложно начать учиться самостоятельно. Однако, прошу поверить мне на слово, сложности стоят того, что можно получить в результате. Ключ к успеху в самообучении лежит в том, чтобы учиться в собственном темпе.



В этом материале я хочу рассказать о том, как можно действовать тому, кто хочет самостоятельно обрести знания в областях DS, AI и ML. Применение предложенных здесь методов учёбы способно привести к хорошему прогрессу в изучении нового. Здесь, кроме того, я собираюсь поделиться ссылками на ресурсы, которыми я пользуюсь, и которые я без тени сомнения готов порекомендовать другим.
Читать дальше →
Total votes 30: ↑28 and ↓2+26
Comments8

Слияние списков на python. Сравнение скорости

Reading time5 min
Views28K

Сравнение различных методов слияния двух отсортированных списков


Пусть у нас есть два списка (для простоты из целых чисел), каждый из которых отсортирован. Хотим объединить их в один список, который тоже должен быть отсортирован. Эта задача наверняка всем знакома, используется, например, при сортировке слиянием.



Способов реализации (особенно на python) достаточно много. Давайте разберем некоторые из них и сравним затрачиваемое время на разных входных данных.

Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments4

Цепи Маркова и Пайтон — разбираемся в теории и собираем генератор текстов

Reading time5 min
Views25K

Понимаем и создаём


Хорошие новости перед статьей: высоких математических скиллов для прочтения и (надеюсь!) понимания не требуется.

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

Итак, поехали!
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments10

Руководство по перезаряжаемым литиевым аккумуляторам для начинающих

Reading time6 min
Views60K


Когда-то аккумуляторы были тяжёлыми и неуклюжими предметами, выдававшими смехотворно мало энергии для своего размера и веса. К счастью, со временем технологии улучшаются, и в 2020 году у нас есть прекрасные мощные литий-полимерные аккумуляторы, выдающие столько энергии, сколько может понадобиться вашему мобильному проекту. Однако при их использовании нужно учесть некоторые моменты – поэтому предлагаю вам прочесть руководство для начинающих о том, как правильно использовать LiPo в своём проекте.

Так много типов!


Первые коммерческие литий-ионные аккумуляторы вышли на рынок в 1991 году, и за прошедшие с тех пор почти 30 лет мы наблюдали быстрый их прогресс. В итоге у нас появилось множество различных технологий и типов аккумуляторов, делящихся по типу конструкции и используемых материалов. Чтобы правильно обращаться с аккумуляторами, важно знать, какой именно тип попал к вам в руки, и очень важно обратить на это внимание.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments33

Байесовские сети при помощи Питона — что и зачем?

Reading time8 min
Views14K
Дисклеймер: данная статья является адаптированным переводом. Оригинал можно прочесть здесь.

Байесовские сети при помощи Питона — объяснение с примерами


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

Основываясь на данном факте, эта статья полностью посвящена работе Байесовских сетей и тому, как они сами могут не формировать проблемы, а применяться в их решении, даже если решаемые проблемы крайне запутаны.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments9

Ищем фильмы, книги и подкасты с помощью Python

Reading time3 min
Views4.9K

Пакет podsearch для поиска подкастов


Apple не особо афиширует, что у iTunes Store и других каталогов есть кривенькое, но простое поисковое API — поэтому я решил о нём написать. Из этой заметки вы узнаете, что API умеет и как его использовать.

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

Введение в асинхронное программирование на Python

Reading time8 min
Views58K
Всем привет. Подготовили перевод интересной статьи в преддверии старта базового курса «Разработчик Python».




Введение


Асинхронное программирование – это вид параллельного программирования, в котором какая-либо единица работы может выполняться отдельно от основного потока выполнения приложения. Когда работа завершается, основной поток получает уведомление о завершении рабочего потока или произошедшей ошибке. У такого подхода есть множество преимуществ, таких как повышение производительности приложений и повышение скорости отклика.



В последние несколько лет асинхронное программирование привлекло к себе пристальное внимание, и на то есть причины. Несмотря на то, что этот вид программирования может быть сложнее традиционного последовательного выполнения, он гораздо более эффективен.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments1

Python для начинающих: как повелевать Web’ом

Reading time8 min
Views19K
Путешествие в простую веб-автоматизацию

image

Проблема: Отправка домашних заданий требует навигации по лабиринту веб-страниц, настолько сложной, что несколько раз я отправлял задание в неправильное место. Кроме того, хоть и этот процесс занимает всего 1–2 минуты, иногда он кажется непреодолимым препятствием (например, когда я закончил задание слишком поздно ночью и едва могу вспомнить свой пароль).

Решение: Используйте Python для автоматической отправки выполненных заданий! В идеале я мог бы сохранить задание, набрать несколько клавиш и загрузить свою работу за считанные секунды. Сначала это звучало слишком хорошо, чтобы быть правдой, но потом я обнаружил Selenium, инструмент, который можно использовать с Python для навигации по сети.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments1
1
23 ...

Information

Rating
Does not participate
Registered
Activity