неделя4 заметки

OpenAI

Персональные рекомендации Airbnb

Сценарий персонализированной рекомендации Airbnb

Сценарии использования Airbnb:

Двусторонняя платформа краткосрочной аренды жилья (клиенты, арендодатели)

Клиенты находят недвижимость через поиск или по рекомендации системы => Содействуйте 99% бронирований Airbnb

Клиент редко бронирует одно и то же объявление несколько раз.

Листинг может быть арендован только одним клиентом за раз

Данные имеют серьезную разреженность

List Embedding

Вставить каждый листинг => листинг

Набор данных состоит из N сеансов кликов пользователей, где каждый сеанс определяется как непрерывная последовательность M идентификаторов объявлений, на которые нажал пользователь.

Пока интервал времени между двумя последовательными кликами пользователя превышает 30 минут, это считается новой сессией.

Цель состоит в том, чтобы изучить d-мерное (32-мерное) представление вложения каждого листинга через множество S, чтобы подобные листинги были ближе в пространстве вложения.

Отрисовка алгоритма skip-gram в word2vec

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

Использование Word2Vec

• При встраивании пространство, в котором находится исходное слово, отображается в новое пространство, так что в этом пространстве семантически сходные слова находятся рядом друг с другом.

• Word Embedding => узнать весовую матрицу скрытого слоя

• Входной слой представляет собой горячее кодирование, а выходной слой представляет собой значение вероятности.

• Размер входного и выходного слоев равен размеру тезауруса.

• Количество нейронов в скрытом слое — hidden_size (размер встраивания).

• Для весовой матрицы W между входным и скрытым слоями размер равен [vocab_size, hidden_size].

• Выходной слой представляет собой вектор размером [vocab_size], каждое значение представляет вероятность вывода слова.

• Предположим, что имеется несколько обучающих выборок (сок, яблоко) (сок, груша) (сок, банан).

• Центральное слово — сок, а в указанном окне — яблоко, груша и банан, общий входной сок соответствует выходу разных слов. После обучения с этими образцами, полученные результаты вероятности, значения вероятности яблока, груши и банана будут относительно высокими => их параметры в соответствующих скрытых слоях аналогичны

• Вычислить косинусное сходство между векторами скрытого слоя, соответствующими яблоку, груше, банану, которое будет относительно высоким.

• word2vec может находить сходства и аналогии между словами

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

 

Оценка внедрения списка

Автономная оценка встраивания списка:

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

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

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

Шаг 2. Рассчитайте косинусное сходство между выбранным списком и списком кандидатов в пространстве встраивания.

Шаг 3, отсортируйте списки-кандидаты по сходству и наблюдайте за положением окончательных забронированных списков в сортировке.

Объявления в поиске ранжируются в соответствии со сходством вложений, а окончательно забронированные объявления ранжируются в соответствии со средним числом кликов перед каждым бронированием, возвращаясь к 17 кликам до бронирования.

Оценка внедрения списка:

Проверка правильности встраивания несколькими способами

K-означает кластеризацию, кластеризацию встраивания, а затем можно найти его степень дискриминации по географическому местоположению.

Косинусное сходство вложений

Косинусное сходство между разными типами листингов

Косинусное сходство между листингами в разных ценовых диапазонах

В дополнение к основным атрибутам (цена, географическое положение), которые, очевидно, можно получить напрямую, существуют также скрытые атрибуты, которые можно найти путем встраивания, например, культура дома.

Вычислите k ближайших соседей каждого встраивания листинга и сравните листинг и k ближайших соседей => Инструмент оценки встраивания

На YouTube есть специальное видео, которое доказывает, что встраивание полезно => Сделайте похожие списки ближе в пространстве для встраивания.

Холодный запуск внедрения списка

Рекомендация по похожим свойствам на основе встраивания в список

На каждой странице сведений об объявлении Airbnb есть карусель «Похожие объявления», в которой рекомендуются объявления, похожие на текущее объявление и доступные для бронирования в тот же период времени.

После встраивания списка было проведено A/B-тестирование, и рекомендации, основанные на встраивании, увеличили рейтинг кликов «похожих объявлений» на 21%, а количество бронирований, созданных через «похожие объявления», увеличилось на 4,9%.

В рекомендации на основе встраивания аналогичные списки получаются путем нахождения k ближайших соседей в пространстве встраивания списка.

Для встраивания изученного списка найдите все доступные для бронирования похожие объявления для данного списка, вычислив косинусное сходство с векторами всех объявлений из одного и того же пункта назначения (условиями являются даты заезда и выезда, объявления должны быть доступны для бронирования в пределах этого списка). период времени) => Окончательные k списков с наибольшим сходством образуют список похожих списков

Встраивание типов пользователей и встраивание типов листинга

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

Дальнейший захват этой информации из заранее определенного списка

Создайте набор данных: предыдущая последовательность кликов становится заранее определенной последовательностью, а набор данных представляет собой набор сеансов, состоящий из списков, запланированных пользователями N. Каждый сеанс можно выразить как

Существующие проблемы:

Набор обучающих данных будет небольшим, поскольку заранее определенные данные на порядок меньше кликов.

Многие пользователи бронировали только один раз в прошлом, и эти данные нельзя использовать для обучения модели.

Необходимо дополнительно удалить те объявления, которые в общей сложности бронируются на платформе несколько раз (например, объявления, которые меньше 5-10 раз)

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

Персонализированный поиск в режиме реального времени на основе встраивания

Вычислить косинусное сходство между внедрением пользовательского типа пользователя и внедрением типа списка кандидатов

Рекомендовать списки с высоким сходством с пользователями

Анализ финтех-данных

Сценарии применения финтеха

Финтех:

Финансы + технологии с помощью технологических средств делают финансовые услуги более эффективными

Финансовый бизнес: страхование, банки, компании по ценным бумагам и фонды должны поддерживаться технологиями. Кроме того, интернет-компании также развивают финансовый бизнес, например, Ant Financial.

Финтех-компании и развитие талантов

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

Типичные компании: Ant Financial, JD Finance, Grab, Sofi, Oscar Health, Nubank, Robinhood, Atom Bank, Lufax, Bloomberg, Factset, PayPal

Как использовать Python для количественной торговли

Количественная торговля (vnpy, JointQuant, Ricequant)