NLP

Чат-бот подбирает парфюм

Как подобрать духи, если не смыслишь в парфюмерии, и чем пахнет Digital Humanities

«Чем пахнет?» — вопрос, который часто ставит нас в тупик. Описать запах сложнее, чем, например, цвет или звук. Обычно аромат связывают с его источником: пахнет лимоном, сиренью, напалмом поутру; и реже — с абстрактными образами: «круглый» или «жёлтый». Как найти подходящий аромат, если не хватает слов для обозначения своих ольфакторных предпочтений?

Специалистка по рекомендательным системам Клэр Лонго (Claire Longo) создала бота, который подбирает парфюм по текстовому описанию ситуации или образа. Например, вот что советует бот для отдыха на итальянском острове:

Легкие цитрусовые ароматы для средиземноморского отпуска

А это подборка для любителей книг:

Корица, бергамот, имбирь — для уютных посиделок в библиотеке.

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

Как это работает?

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

Так выглядит информация о любимом парфюме самой создательницы бота.

Каждый документ с информацией о парфюме имеет два векторных представления, построенных с помощью латентно-семантического анализа (LSA) и Doc2Vec. Использование двух разных векторов помогает учитывать как конкретные описания («запах ванили»), так и более абстрактные («запах утреннего леса»).

Когда пользователь вводит свой запрос, бот определяет эмоциональную окрашенность каждого предложения и затем группирует их: позитивные и нейтральные — с одной стороны, негативные — с другой. Затем с помощью усредненного косинусного расстояния в двух векторных пространствах бот ищет парфюм, чьё описание наиболее близко к положительным и нейтральным предложениям из запроса пользователя. Если описание парфюма ближе к негативно окрашенным предложениям, он исключается из рекомендаций. В итоге бот предлагает на выбор 5 самых подходящих ароматов.

Вот что бот рекомендует любителям Digital Humanities.

Оценить работу модели сложно: наше восприятие образов и ситуаций, как и запахов, субъективно. Для идеального результата стоило бы учитывать ассоциативный ряд конкретного пользователя. Впрочем, такая рекомендательная система — отличный способ исследовать мир парфюмерии и найти в нем что-то новое для себя.

Код проекта опубликован в открытом доступе*.

Источник: Perfume Recommendations using Natural Language Processing

* Исходный код на github

Share

Recent Posts

Обратная сторона навигаторов: куда нас ведут электронные карты и что с этим бывает не так

«Лучше пешком», — говорим мы себе летом и выбираем прогулки непривычными маршрутами. А если путь не знаком — поможет приложение-навигатор.…

10.06.2026

ИИ-компании готовятся к IPO, новые модели от Google и Microsoft

SpaceX, Anthropic и OpenAI готовятся стать публичными компаниями, Google и Microsoft выпустили новые модели — рассказываем, что произошло в мире…

09.06.2026

Как Япония оцифровывает повседневность и почему это важно

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

05.06.2026