Навіщо потрібна навігація по торговому центру в вконтакте, Телеграма та фейсбуці 1

Навіщо потрібна навігація по торговому центру в Вконтакте, Телеграма та Фейсбуці +19

  • 07.12.16 7:51 •
  • koshmanavt1 •
  • # 283458 •
  • Гіктаймс •
  • 55 •
  • 10500

- такий же як Forbes, тільки краще.


Важке додаток через місцевий вайфай встановлювалося повільно. Сам вайфай постійно губився. Я потів і матюкався, а воно все не ставилося. Цю дрібниця ми знайшли, але витратив занадто багато нервів.

Компанія, в якій я працюю, як раз робила навігаційні термінали для Ікєї в Хімках. Тому після свят прийшов і наскаржився розробникам на цю складну і неприємну ситуацію. Сподівався, що є якийсь простий спосіб пошуку.
Розробники пояснили, що мобільна навігація в приміщеннях (індаур-навігація) розвивається в бік маячків iBeacon, які без програми не працюють. Так що, додаток потрібно буде завантажити все одно.

Нічого не маю проти додатків, але нерозумно їх ставити заради будь-якої нісенітниці. Добре, якщо раптом у мене відпаде в торговому центрі рука, тоді я може встановлю додаток, щоб терміново знайти аптеку. Але заради підсвічники - навряд чи.

Ідея застопорилася, поки ми не звернули увагу на шум навколо чатбот. І нам здалося, що ось воно - велике рішення! Бот ж не потрібно встановлювати, і він працює, як одне велике поле пошуку. Загалом, їж кокоси - жуй банани вводь запити - отримуй відповіді.

Залишався невеликий питання - як зв'язати, відомий по Яндекс.Карти і 2ГІС, інтерфейс навігації з текстовим ботом. Все ж користуються навігаторами: відкрив додаток, визначив по GPS своє місце розташування, ткнув в потрібний будинок і йди маршруту. Якщо десь помилишся, то програма тебе поправить і підкаже куди повернути, щоб повернутися на маршрут. Все продумано і зручно. А в боті нічого цього немає.

Месенджери, в яких зараз працює бот

Тому ні чорта ми не знаємо про координати користувача.

А знати, де користувач, потрібно, щоб будувати маршрути. Тобто, якщо людина у нас запитає, де «Nike», то ми йому покажемо, де Найк на карті, але не розповімо, як до нього дійти. А без маршруту індаур-навігація не те щоб дуже корисна штука.

Тоді ми представили, як би людина питав маршрут у свого друга в тому ж мессенджере. У одного ж теж немає доступу до датчиків, тому доведеться якось пояснювати без координат. Найімовірніше, людина сказала б, які навколо нього магазини. Друг б відповів: «Встань обличчям до% brand_name%. Іди наліво до ескалатора і піднімися на ньому. Там зліва побачиш ».

Ми зробили точно так же - тобто ми будуємо маршрути не між користувачем і об'єктом, а між об'єктами. Звичайно, бот не може пояснити маршрут невизначено ( «Там зліва побачиш»), зате може акуратно проводити повз відомих йому магазинів з підказками.

Навіщо потрібна навігація по торговому центру в вконтакте, Телеграма та фейсбуці 1

Я стою у Ашана і мені треба в кальцедоном (цікаво навіщо?). У запиті я використовую розділову кому, щоб бот зрозумів, що це різні магазини

Як показувати декілька відповідних під запит приміщень? Наприклад, що показувати на запит «туалет»?

Туалет -альфа і омега індаур-навігації. У будь-якому торговому центрі, де стоять наші навігатори, туалет входить в топ-2 пошукових запитів. Тому що:


  1. Вони всім потрібні. Причому потрібні, звичайно, швидко і різко.
  2. Їх роблять у самій темній дірі торгового центру, за залізними дверима з довгим коридором.
  3. До них забувають повісити навігаційні таблички.
  4. Вони не змінюють свого місця розташування, на відміну від банкоматів, які теж суперпопулярні.

Пошук туалету - відмінна завдання для бота. І за всіма ознаками, бот впорається краще додатки. Як мінімум, тому що в разі крайньої потреби, встановлювати додаток зовсім не хочеться. Як максимум, тому що в темних дірках торгового центру може не виявитися маячків.

Чи є навігаційні програми і бот конкурентами?

Якщо дивитися по задачам, то все виглядає так, ніби додатки і бот і справді конкурують. Там і там навігація. Там і там є пошук по магазинам, маршрут і підказки. Виглядає все це приблизно однаково.

Але ми вважаємо, що все-таки бот не конкурує з додатком, тому що вхідні умови у них різні. Додатки (ми говоримо про додатки типу Navigine) просто створені для вдумливого шопінгу, а бот для спонтанного і швидкого пошуку.

Якщо ви зібралися гарненько пошопилась, закупити одягу на всю сім'ю або взяти участь в якихось бонусних програмах, ставте додаток. Якщо зайшли в перший раз в торговий центр купити шкарпетки, то краще звернутися до боту. У підсумку, програма має працювати з лояльною аудиторією, а бот з усією іншою.

Зазвичай в торговому центрі не один туалет і на карті вони все називаються однаково. Ткнути в карту і вибрати потрібний теж не можна - бот відправляє звичайні картинки. Тоді як пояснити людині, де знаходиться потрібний йому об'єкт? Зараз ми повністю перераховуємо всі відповідні об'єкти, а перші п'ять відзначаємо на карті великими значками.

Навіщо потрібна навігація по торговому центру в вконтакте, Телеграма та фейсбуці 1

Ось таку простирадло зараз надсилає бот на запит «Одяг». Зрозуміло, що в будь-якому торговому центрі буде така простирадло, не тільки в Пітер Веселці - ТРК за яким ми робили пошук

Рішення викликає питання і коли в приміщенні багато поверхів - приходить багато картинок. І якщо в Фейсбуці вбудували «карусель» для цих випадків, то Вконтакт і телеграм надсилають простирадла:

Навіщо потрібна навігація по торговому центру в вконтакте, Телеграма та фейсбуці 1

Той же запит «Одяг», тільки в багатоповерховому ТРК «Сім'я». Таких відповідей прийде на 4 поверху

Але туалети бувають чоловічі, жіночі, для інвалідів та дитячі. Іноді різні типи туалетів бувають на різних поверхах (так-так). Тоді нам потрібно не просто вести людини в найближчий туалет, але ще і визначати його стать, дітей та інвалідність.

Вконтакт дає нам визначити стать, а телеграм - немає. Про дітей і інвалідність, в контексті туалету, смакові переваги, мрії і бажання користувача ми взагалі можемо тільки здогадуватися.

Як всього цього навчити людину?

У боті все працює не так, це не затишні Яндекс.Карти. До того ж цьому нам потрібно користувача вчити. Ми відштовхнулися від того, що вміє наш бот:

Прямо по цим пунктам ми проводимо навчання:

Навіщо потрібна навігація по торговому центру в вконтакте, Телеграма та фейсбуці 1

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

З якими труднощами ми зіткнулися походу?

Люди пишуть назви магазинів, як бог на душу покладе, з помилками і описками. Крім цього, є усталені назви деяких брендів (Макдак, Ощад), транслитерирование назви (Зара, Инсити) і незрозумілі назви (L'occitane Новомосковскется «локсітан»).

Як вирішили:
Ми взяли алгоритм підрахунку відстані Дамерау - Левенштейна. Хто не знає, він дозволяє порахувати скільки потрібно зробити операцій, щоб перетворити одне слово (словосполучення, речення) в інше.

Ми модифікували алгоритм і додали пошук по підрядку і пошук по подпоследовальності з бібліотеки FuzzyString. Доповнили пошуком по транслітерації слів, за допомогою бібліотеки. Вийшов алгоритм нечіткого пошуку.

Зрозуміло, що ніякої нечіткий запитом не знайдено поєднає L'Occitane і Локсітан. Для цього ми використовуємо словник синонімів. Він зберігає фольклорні назви: «Мак», «Макдак» для McDonald's і подібне. Додаємо до бази пошук за ключовим словом, щоб по БігТейсті знайти Макдональдс.

Загалом, виглядає це так:


  1. Людина вводить запит, наприклад, «Лапсітан» (почув, мабуть, краєм вуха).
  2. Далі бот шукає модифікування алгоритмом Дамерау - Левенштейна.
    a. За назвою.
    b. За синонімів.
    c. За ключовими словами.
  3. У разі провалу виконується пошук по підрядку і / або по підпослідовності
    a. За назвою.
    b. За синонімів.
    c. За ключовими словами.
    У нашому випадку бот знайде L'Occitane вже на етапі 2-b, можете перевірити.

У нас виникли проблеми з обмеженнями на кількість запитів до АПИ. У Вконтакта - це 3 запити в секунду. Досить серйозно, враховуючи, що навіть зробити вигляд, що бот прочитав повідомлення - це теж запит до АПИ.

Сам Вконтакт пропонує обходити це обмеження методом execute, який дозволяє упакувати 25 запитів в один.

Так ми і зробили, однак досі бот Вконтакте не проходить тест на витримку навантаження. Тому зараз ми реалізуємо чергу обробки запитів, має допомогти.

Користувачеві Вконтакта прийшов текст маршруту, але не прийшла картинка. Вконтакт пояснив нам: «Схоже, що Ви просто натрапили на проблемний сервер».

Техподдрежка запропонувала нам «наступного разу додати до запиту параметр https = 1 або передати останню версію апі». Наступного разу поки не було, але сподіваюся хтось подує на воду.

Як нас підтримати?

Користуйтеся ботом і підписуйтесь на нашу групу на Вконтакте або на наш бот в Телеграма. Тим більше, що новорічні свята на носі, стане в нагоді.

Торгових центрів поки три: Коламбус в Москві, Пітер Радуга в Харкові і Сім'я в Пермі. Обов'язково пишіть торгові центри, які хочете побачити прямо в бот (у виборі торгових центрів). Так ми швидше домовимося з цими ТЦ і додамо їх в базу.

Шкідлива ідея для невеликих ТЦ, треба навпаки, що б покупець був схожий більше за повз вітрини, авось, що купить. Плюс, за прохідні місця, наприклад, в атріумі, поруч з ескалаторами, можна вскручівать орендну плату (так, а ескалатори працюватимуть хрест на хрест, щоб покупець все-одно пройшов частину другого поверху, по шляху на третій).

А для мегаТЦ тільки плюс, бо покупці там губляться, магазини втрачають прибуток, ТЦ недоотримає орендну плату.

Я не знайшла «фудкорт»
Дякуємо. Тепер ви вмієте користуватися картографії
І на скронях в пості, Ашан темним написано, а мені прислали білий на блідому - я тільки Ашан зміг прочитати.

Дякуємо!
Щоб знайти де поїсти, пишіть «Кафе» або «Їжа». Фудкорти не скрізь можуть відзначатися, але у Райдуги ми відзначимо.
Ми перерісуем Карту у веселки, щоб було видніше.

Так, я бачив це в хелпе, але на карті погляд впав на «ресторанний дворик», ось і вирішив його знайти (його вона теж не знає). А ще назви магазинів у маршруті накладаються один на одного

Зрозуміло, що ніякої нечіткий запитом не знайдено поєднає L'Occitane і Локсітан
Спробуйте, введіть 'локсітан' в Яндекс. Знаходиться елементарно.
Алгоритм такий - 1. викинути нечитабельним символи, 2.транслітерація, 3. підрахунок відстані
L'occitane (расст = 10) -> loccitane -> лоццітане (расст = 3). Якщо ще трохи попрацювати в сторону транскрипції, то вийде ще менше (наприклад досить відкинути, найчастіше нечитаемую, 'e' на кінці і транслітерувати латинську 'c' в російську 'з', щоб отримати 'лоссітан' з відстанню всього 1)

Спасибі, kgbplus. Бот чудово шукає Локсітан, але коли ми використовували бібліотеки як є, то знаходив не завжди. Я писав, що його довелося допрацювати. Ми використовуємо не зовсім ваш метод, але шукає так само добре =)

Якщо ви знаєте імена всіх об'єктів в ТЦ, можливо, має хоч якийсь сенс запропонувати користувачеві сфотографувати найближчу вивіску (а потім розпізнати текст на сервері), і тоді доведеться менше міркувати про трансформаціях Локсітана і інших Прованс?

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

Це само собою, але завжди можна заздалегідь в рамці написати підказку, що вивіска повинна займати не менше %% кадру.

А ще в Telegram дуже зручні бувають у ботів кнопочки з попередньо встановленими функціями. Я, правда, не знаю, динамічні вони, чи ні. Але якщо динамічні, туди, наприклад можна ставити номери поверхів і інші орієнтири, щоб фільтрувати список результатів.

Загалом, не особливо важливо, що я тут балакаю. Головне - ідея у вас дуже цікава!

У прикладі користувач будує маршрут від Ашана, який досить великий сам по собі, але маршрут будується від якоїсь конкретної точки. Тобто робиться припущення, що якщо користувач у Ашана, то значить ось конкретно в цій точці - але це може бути не завжди вірно. Користувач може бути в 50 метрах звідти і в його видимості може не бути магазинів, від яких побудований маршрут. Як ви вирішуєте цю проблему?
GPS-позиціонування всередині ТЦ може бути дуже грубим, але чи пробували ви його якось задіяти? Не знаю як контакт і фейсбук, але телеграм точно дозволяє відправити розташування і є боти які це використовують.

У нас по локейшену знаходить найближчий ТЦ. Але похибка у нього до 500 метрів, тому магазин визначати зовсім не вийде.
Бікона справляються набагато-набагато краще, але їм потрібно додаток і далі по тексту =)

Так а що з приводу побудови маршруту від великого по площі магазину? Я на вскидку бачу проблему, що користувач може бути далеко від тієї точки, від якої ви будуєте маршрут, але при цьому його розташування все-таки «у Ашана». Але може виникнути ситуація, що магазини через які прокладений маршрут не перебувають в його поле зору або змушують його робити гак.
Ви це якось вирішуєте?
Або ця проблема надумана і на практиці таке вкрай рідко?

Це хороша проблема: ми намагаємося писати підказки, щоб перший магазин був якомога ближче до користувача, але ось якщо магазин довгий, то стає важко, так.
З приводу частоти - поки незрозуміло, у нас не так багато користувачів.

Схожі статті