Читать: 15 мин

Право на ошибку: как научить поиск мобильного приложения понимать пользователей

Право на ошибку: как научить поиск мобильного приложения понимать пользователей

Статистика говорит, что проблемы с распознаванием поисковых запросов есть примерно у каждого второго онлайн-магазина. Это значит, что пользователи мобильных приложений могут уходить без покупки просто потому, что поиск не смог понять их запрос.
Как настроить поиск мобильного приложения, чтобы он распознавал два самых популярных вида запроса — точные и ошибочные? Разбираемся в статье.

Точный запрос

Когда пользователь точно знает, что ищет, он вводит точный запрос. Например, «чипсы Lay’s». Точный запрос — самый легкий вариант с технической точки зрения. Распознавать его помогает полнотекстовой поиск.

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

Когда пользователь пишет в поиске «чипсы Lay’s», поиск разбивает запрос на «чипсы» и «Lay’s», ищет эти слова по индексам и находит все документы, где они встречаются. Например, карточку товара «чипсы Lay’s сметана и зелень», новость «Попробуйте чипсы Lay’s со вкусом малосольных огурчиков» и статью «5 рецептов с чипсами Lays».

Система ранжирует документы и отображает пользователю самые релевантные. На первом месте будет карточка товара «чипсы Lay’s сметана и зелень»: в ней больше всего слов из запроса, и они находятся в заголовке и описании продукта.

Настроить полнотекстовой поиск позволяют разные инструменты. Мы чаще всего пользуемся Elasticsearch и Diginetica. Diginetica — это сервис для поиска в интернет-магазинах. Он сам обрабатывает все запросы. Elasticsearch мы настраиваем вручную.

Запрос с ошибкой или опечаткой

На самом деле, запрос с ошибкой или опечаткой — тоже вариант точного запроса. Пользователь вводит тип товара, его название или бренд, но неправильно. Например, «чипсы Lays», «чиспы Lay’s» или даже «xbgcs Lay’s». Baymard Institute говорит, что 42% онлайн-магазинов такие запросы не распознают. А значит, рискуют потерять клиентов, которые думают, что товар закончился.

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

Пример продолжения переписки: (заказчик) — У МЕНЯ ЕСТЬ НЕСКОЛЬКО ИДЕЙ, КОТОРЫЕ Я ХОТЕЛ БЫ ВКЛЮЧИТЬ В ПРОЕКТ. (Friflex) — ПРЕКРАСНО, МОЖЕТ БЫТЬ, НАЧНЕМ С ГЛАВНОГО?

На видео поиск в мобильном приложении Бристоль находит виски Макаллан по ошибочным запросам

Библиотеки и модули автоисправления

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

Hunspell — это библиотека проверки орфографии с открытым исходным кодом. Ее можно добавить в Elasticsearch в качестве токенизатора. Кроме того, есть плагины Elasticsearch, которые тоже позволяют интегрировать Hunspell.

Peter Norvig's Spelling Corrector — это алгоритм исправления ошибок, основанный на теории вероятности и расстоянии редактирования — количестве вставок, удалений или замен, необходимых, чтобы преобразовать одно слово в другое. Чтобы интегрировать Peter Norvig's Spelling Corrector с Elasticsearch, можно также использовать плагины.

Собственный словарь ошибок и опечаток

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

Фонетический поиск

У фонетического поиска могут быть разные алгоритмы. Например, Soundex, Metaphone, Double Metaphone и NYSIIS. Все они преобразуют слова в коды, которые основаны на их звучании. Это помогает обрабатывать запросы с ошибками.

Чтобы настроить фонетический поиск в Elasticsearch:

  1. Создайте индекс Elasticsearch и добавьте поле для фонетического представления слов.
  2. Используйте анализатор Elasticsearch «phonetic», чтобы преобразовать слова в фонетическое представление.
  3. Индексируйте данные с фонетическим представлением слов.
  4. Используйте фонетический поиск Elasticsearch, чтобы найти «чипсы Lay’s» по запросу «чипсы лейс».

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

Поделиться:

Logo

Читайте также

01  
 
panda
Есть идея? Напишите нам! Заполнить бриф