Примечание. Это не критическая статья о Uber Eats. Мне нравится этот сервис, и я регулярно им пользуюсь.

По моему опыту, в приложении Uber Eats легко ориентироваться, и в целом оно отлично справляется со своей задачей. Единственное разочарование, которое у меня было с самого начала использования приложения, — это то, как сильно нажимаются большие пищевые цепочки. По понятным причинам Uber почти наверняка не создаст возможность отфильтровывать «большие пищевые цепочки». Чтобы решить эту проблему, я создал свой собственный механизм рекомендаций, чтобы обойти все крупные сети продуктов питания, в которых у меня нет желания заказывать.

Когда я посещаю веб-сайт Uber Eats, я вижу несколько небольших ресторанов, которые могут мне понравиться…

Но когда я немного прокручиваю страницу… на моей странице появляются рекомендации крупных продуктовых сетей…

Решение

С тех пор, как я начал использовать Uber Eats, я разместил чуть более 400 заказов. Анализ этих порядков показывает довольно сильный ближневосточный/средиземноморский вкус, показанный в следующем облаке слов. Некоторые релевантные термины в облаке: средиземноморский, кебаб, Иерусалим, шаурма, вертел. >. Тем не менее, ни один из 27 ресторанов на изображении выше не является средиземноморским или этническим.

Анализ, который я провел, был прост:
1. Проверить, насколько релевантно меню каждого ресторана в Чикаго моим заказам (я написал код для быстрого сбора сотен меню в Интернете).
2. Ранжировать рестораны по релевантности.

Как работает анализ

Чтобы сделать это быстро и легко понять, я буду немного махать рукой, что не повлияет на понимание, но если вы хотите глубже погрузиться в математику, не стесняйтесь, присылайте мне сообщение.

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

С помощью небольшой обработки естественного языка с помощью быстрой модели Google Word2vec я могу преобразовать эти порядки в координаты так же, как вы видите на карте (легкое махание рукой). Это позволяет мне измерить, насколько далеко каждое меню от моего заказа! Так что, чем короче расстояние до моих заказов, тем более релевантным мне будет это меню! Вот как прошел анализ:

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

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

Что дальше

В будущем я хотел бы интегрировать возможности доступа к меню на арабском и других языках. В моем облаке слов ранее в этом блоге вы заметите несколько квадратов. Эти квадраты - предметы на арабском языке в моих заказах. Облако слов не смогло их отобразить.

Me

Как всегда, спасибо за чтение, и я надеюсь, что вы узнали что-то полезное! Не стесняйтесь проверить мой GitHub и связаться со мной на LinkedIn. Спасибо за чтение!