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



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



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



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



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



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



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



«Системный Блокъ», например, узнал чем пахнет Digital Humanities



Анастасия Бодрова