Войти

Или войди с помощью

Dev Story Собеседник. История о русской Сири (она же – Катя)

Dev Story
Информатор avatar |

ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. Добрый день. Хочу поделиться с вами историей, как небольшой эксперимент перерос в полноценное приложение, которое c большим трудом, с четвертого раза, пропустили в App Store. Но в результате все мои усилия оправдались.

Все началось с того момента, как Apple выпустил iPhone 4S, и началась широкая рекламная кампания голосового ассистента «Siri». К сожалению, «Siri» не поддерживала русский язык и ее геолокационные сервисы не работают за территорией США. Купил я это чудо техники, побаловался разговором с «Siri». Скажу честно, понимала она мой английский с третьего раза и это мне быстро надоело. И стал я ждать, когда наши разработчики сделают что-то подобное. Но время шло, Apple не торопился русифицировать «Siri» да и русские разработчики не проявляли инициативу.

Тогда я сам решил провести эксперимент, насколько сложно самому сделать такое приложение. Конечно речь о полном аналоге «Siri» не шла. Я прекрасно понимаю, какие требуются ресурсы, для создания полноценного русскоязычного аналога «Siri», но хотелось создать что то очень похожее.

Разработка

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

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

Серверную часть написал на PHP. Чтоб к серверу не обращались посторонние и не «уронили» его, предусмотрел передачу телефоном специального токена, который жестко зашит в приложение. Приложение, также, передает на сервер свои координаты для использования в геолокационных сервисах. Сервер записывает в базу данных UDID телефона и все вопросы пользователей, а также ответы на них. Сделано это по двум причинам. Во первых анализируя вопросы и ответы, можно оперативно узнавать пожелания пользователей и оперативно пополнять базу данных, а также смотреть где программа дает неверные ответы и поправлять ее. Во вторых это сделано на будущее, по UDID телефона приложение может отслеживать ветку разговора, прошлые вопросы конкретного пользователя и соответственно более интеллектуально строить беседу. Само приложение на телефоне трудностей в разработке вообще не вызвало. Несложный интерфейс, и обычные http POST и GET запросы, пара дней времени и приложение готово.

Ревю

Запаковав приложение, и отправив в Apple на ревю, я стал ждать результата. Если бы я только знал, что мои проблемы только начинаются. Приложение проходило ревю четыре раза, висело в статусе «In Review» по пять дней, что очень странно. Обычно им хватает одного двух дней для ревю. Требования Apple были порой не логичные, а на письма отвечают весьма пространно, в лучших традициях советских бюрократов. Но, надо признать, очень оперативно. В первый раз отклонили, написав очень похожа (so similar) на «Siri». Очень похоже, конечно, понятие растяжимое. Пишу им письмо с вопросом, что надо изменить, поменять дизайн или функционал. Получаю весьма пространный ответ, мы вам не можем сказать что надо изменить, просто сделайте не похоже на «Siri» и присылайте опять на рассмотрение.

Был еще один интересный момент. Пока в apple размышляют казнить или помиловать, решаю глянуть на сервере чем там apple у моего приложения интересуется. Ведь все вопросы и ответы заносятся в базу данных. И вижу я по базе данных, что как минимум с трех разных телефонов, «пытает» apple мое приложение. Вначале они на английском спрашивали “test”, “google”, потом, видать, нашли русскоговорящего сотрудника, и он уже повел диалог на русском. Спрашивали «привет», «как дела», «погода в Москве». Решаю подшутить над сотрудниками apple, меняю в базе ответ на вопрос «погода в Москве» на «Откуда я знаю какая погода в Москве, я же тут в Купертино отвечаю на Ваши вопросы». Шутку не оценили и приложение отклонили, конечно не по этой причине. Иконка микрофона видите ли им очень иконку Сири напоминает. Но ведь у Сири иконка круглая, а у меня квадратная. Но решаю не спорить, а просто меняю иконку и перезаливаю приложение.

На третий раз они потребовали убрать вообще из приложения и с иконки все изображения микрофонов. К этому моменту я уже с ними не спорю, а просто делаю что они говорят, так получается быстрее. И когда я уже ни на что не надеялся мне в почту, неожиданно, сваливается письмо из Apple, что приложение одобрили. Ну наконец то!!!

Что в итоге получилось

На сегодняшний день, приложение может следующее: показывает прогноз погоды, согласно местонахождению; показывает текущее время; ищет в интернете фотографии и картинки; умеет звонить абоненту из адресной книги; определяет и показывает на карте ваше местонахождение; находит на карте ближайшие к вам объекты (ресторан, бар, аптека); ищет авиарейсы; показывает отели и цены на них в указанном населенном пункте. Многие команды, доступные на телефонах с «Siri» были убраны по требованию Apple.

Зато с приложением можно просто поболтать «за жизнь». Оно пытается поддержать разговор и отвечает на простейшие вопросы. Иногда отвечает не в тему, отчего получается еще забавнее.

Постскриптум

Слово «аналог» не зря взято в кавычки. Я прекрасно понимаю, что для создания действительно чего то похожего на Siri, нужны гигантские ресурсы и много средств. Приложение, по этому, и размещено в категорию «Развлечения». Зато, программа работает на всех айДевайсах с прошивкой 4.0 и выше: iPhone 3GS, 4, 4S, iPod touch, iPad 1, 2, 3.

Ну и напоследок промокоды: если у вас на форуме больше 200 сообщений, напишите с вашего аккаунта в личку админу «Хочу пообщаться с Катей». В ответ получите промо-код. Их всего десять.

Цена: $1.99 [iTunes link]

Данная история опубликована в рамках рубрики Developer Story, где разработчики делятся секретами своей внутренней кухни.
70
undefined
iPhones.ru
ТЕКСТ: АНДРЕЙ ЕРМОЛАЕВ. Добрый день. Хочу поделиться с вами историей, как небольшой эксперимент перерос в полноценное приложение, которое c большим трудом, с четвертого раза, пропустили в App Store. Но в результате все мои усилия оправдались. Все началось с того момента, как Apple выпустил iPhone 4S, и началась широкая рекламная кампания голосового ассистента «Siri». К сожалению,...

70 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. 2iPhones avatar
    2iPhones 4 мая 2012
    0

    Хочу пообщаться с Катей :)
    Сразу вспомнилась Catterpilar или как там её, которая стала потом Катей, всего-то 4 года тому назад

    Информатор avatar
    0

    @2iPhones, код выслал в личку на форуме.

    2iPhones avatar
    2iPhones4 мая 2012
    0

    @Информатор, спасибо! Будем общаться :)

    Войди на сайт, чтобы ответить
    Ответить
  2. suponix avatar
    suponix 4 мая 2012
    0

    Не куплю из за убогого дизайна. Простите за откровенность.

    x128 avatar
    x1284 мая 2012
    0

    @suponix, +1. Простите за +1. И за откровенность.

    Войди на сайт, чтобы ответить
    Ответить
  3. Aleksandr10rus avatar
    Aleksandr10rus 4 мая 2012
    0

    Я тоже хочу:
    Хочу пообщаться с Катей

    Информатор avatar
    0

    @Aleksandr10rus, здесь ничего просить не надо. Только через форум, только при >200 сообщений.

    Войди на сайт, чтобы ответить
    Ответить
  4. ugolnow avatar
    ugolnow 4 мая 2012
    0

    Грязные ногти рулят !!!! Как и приложение видимо…..

    Войди на сайт, чтобы ответить
    Ответить
  5. Rumit avatar
    Rumit 4 мая 2012
    0

    Хочу пообщаться с Катей

    Войди на сайт, чтобы ответить
    Ответить
  6. PAHAN avatar
    PAHAN 4 мая 2012
    0

    Ужасный голос, не красивое видео, не красивый интерфейс, фифифи

    Войди на сайт, чтобы ответить
    Ответить
  7. Langoler_pro avatar
    Langoler_pro 4 мая 2012
    0

    Специально даже авторизовался чтоб написать.
    Как они могли выложить приложение с таким ужасным интерфейсом? Им не стыдно? У них внутри ничего не дрогнуло даже наверно…

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.