Как стать автором
Обновить
14
0
Пётр В @osanwe

Разработчик Яндекс.Погоды

Отправить сообщение

Как мы отказались от нейросетей, а затем вернули их в прогноз осадков Яндекс.Погоды

Время на прочтение6 мин
Количество просмотров16K
Мы уже рассказывали, как Яндекс.Погода делает сверхкраткосрочный прогноз осадков по метеорологическим радарам и спутниковым наблюдениям. Сегодня расскажем, как нам удалось поднять качество такого прогноза за счет внедрения нейросетевых подходов и почему мы уже отказывались от них в прошлом. А ещё вы узнаете, как мы улучшали визуальное восприятие самой карты на границе радарных и спутниковых наблюдений.

И снова про наукастинг


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


Рисунок 1. Карта осадков Яндекс.Погоды
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии62

Реализация работы с Long Poll сервером в клиенте ВКонтакте для Sailfish OS

Время на прочтение11 мин
Количество просмотров4.8K

Введение


К сожалению, даже сейчас, в современном мире, не всегда удаётся воспользоваться всеми благами технологии push и порой приходится реализовывать обходные пути, например, в виде Long Poll, который позволяет эмулировать механизм push-уведомлений. В частности, такая необходимость возникла при реализации клиента ВКонтакте для Sailfish OS.

В данной статье не будут рассматриваться принципы взаимодействия с Long Poll сервером ВКонтакте — он имеет очень подробную документацию, а базовые примеры уже публиковались ранее. Вместо этого будет рассмотрена практическая реализация под конкретную платформу.

Подразумевается, что читатель знаком с разработкой под Sailfish OS не только на QML, но и на C++.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

Работа с таймером в Sailfish OS на долгих интервалах времени

Время на прочтение5 мин
Количество просмотров2.1K

Введение


Довольно часто, при реализации какой-либо логики в приложении, возникает потребность в срабатывании некоторой функции через определённый промежуток времени. Наиболее очевидным примером такой потребности является приложение таймера. Например, cooktimer или Saildoro.

Как было сказано в одной из предыдущих статей, для добавления таймера в приложение на Sailfish OS можно использовать стандартный элемент Timer или его C++ аналог — QTimer. Однако, по умолчанию, работа этих таймеров приостанавливается на долгих промежутках времени из-за того, что устройство может уйти в «сон». Как раз с этой проблемой и столкнулись разработчики двух приложений, упомянутых выше.

В данной статье представлен стандартный для системы, но к сожалению недокументированный способ обработки такого поведения Sailfish OS.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Алгоритмы подсказки слов в телефонной клавиатуре vs. Защита персональных данных

Время на прочтение3 мин
Количество просмотров12K

Языковые модели


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

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

Нейронные сети с задачей предсказания слов справляются лучше. Например, нейросетевой алгоритм в состоянии понять, что после слов «Linus is the best» должно идти слово «programmer», а после «Shakespair is the best» — «writer». У n-граммной модели для этой задачи, скорее всего, не хватит статистики: даже если в обучающих текстах встречалась информация о Торвальдсе и Шекспире, скорее всего она не была сформулирована ровно этими же словами в том же порядке.

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

Важный момент: предсказания модели сильно зависят от обучающей выборки. На скриншотах ниже показаны примеры подсказок для обычной, профессиональной и неформальной лексик.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии4

Разработка сканера Wi-Fi сетей для Sailfish OS

Время на прочтение14 мин
Количество просмотров5K

Введение


Порой, при решении рабочих задач, возникает необходимость в информации об окружающих сетях Wi-Fi: канал, мощность, тип шифрования и др. И если для популярных мобильных ОС Android и iOS утилит много, то для Sailfish OS — только одна. Сегодня, на примере данной утилиты, будет разобрано получение информации об окружающих сетях Wi-Fi и её отображение двумя способами: списком и графически.

До изучения материала желательно иметь базовое представление о разработке под Sailfish OS и об утилите wpa_cli.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Использование системных функций D-Bus в Sailfish OS

Время на прочтение15 мин
Количество просмотров4.3K

Введение


Данная статья является продолжением материала об использовании системного API в Sailfish OS и посвящена функциям D-Bus в данной операционной системе. Подробно будет разобрано взаимодействие со стандартным календарём и вспышкой. Список остальных основных функций D-Bus системы представлен в конце статьи.

Для понимания изложенного материала необходимо знание основ разработки для Sailfish OS и принципов взаимодействия с D-Bus в рамках операционной системы. Хорошей стартовой точкой являются соответствующие статьи от FRUCT:

[1] Начало разработки для Sailfish OS;
[2] Разработка для Sailfish OS: работа с D-Bus.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Использование системного API в Sailfish OS

Время на прочтение8 мин
Количество просмотров3.9K

Введение


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

В той статье рассматривался базовый принцип внутренней работы приложения. Данный материал открывает серию из двух статей, в которой он будет рассмотрен подробнее:
  1. Работа с недокументированным API для управления устройством (текущая);
  2. Работа с интерфейсами D-Bus, предоставляемыми операционной системой.

В текущей статье описывается как управлять яркостью экрана и системной громкостью, а также как включать и выключать Bluetooth и режим полёта.

Подразумевается, что читатель уже установил Sailfish OS SDK и разрабатывал приложения с его использованием.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Россия
Работает в
Зарегистрирован
Активность