aws Personalize putevents не обновляет рекомендации - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь использовать AWS Персонализировать. После создания набора данных и пакетного вывода я обновляю взаимодействия пользователя с элементами с помощью personalize.putEvents (используя Javascript SDK, docs )

Snippet:

const awsOpts = { apiVersion, accessKeyId, secretAccessKey, region }
const pEvents = new AWS.PersonalizeEvents(awsOpts)
// ...
const params = {
trackingId, userId, sessionId,
eventList: [{ 
    eventId: (+sentAt) + "",
    sentAt, 
    eventType,
    properties: { itemId }
}]
}
pEvents.putEvents(params, (err, data) => err ? reject(err) : resolve(data))

События вроде бы зарегистрированы. Ошибок нет. После этого, когда я создам еще один пакетный вывод, я ожидал, что новые пользовательские элементы больше не будут отображаться в рекомендациях. Но рекомендации в следующем пакете вывода не изменились. Я что-то делаю неправильно или неправильно понимаю putEvents -API-call?

Схема для справки:

{
 "type": "record",
 "name": "Interactions",
 "namespace": "com.amazonaws.personalize.schema",
 "fields": [
    {
        "name": "USER_ID",
        "type": "string"
    },
    {
        "name": "ITEM_ID",
        "type": "string"
    },
    {
        "name": "EVENT_TYPE",
        "type": "string"
    },
    {
        "name": "TIMESTAMP",
        "type": "long"
    }
 ],
 "version": "1.0"
}

Одна вещь кажется немного странной: Cloud Watch сообщает, что лямбда был выполнен дважды, несмотря на отсутствие ошибок и превышение тайм-аута (время ожидания установлено на 10s, а лямбда занимает меньше 2s). Также Retry attempts устанавливается на 2.

Ответы [ 3 ]

1 голос
/ 18 июня 2020

@ DJDuff (к сожалению, я не могу комментировать)

Вы уверены, что события, добавленные с помощью API PutEvent, учитываются без переобучения? Я прошел через AWS Personalize Do c в поисках именно этого, и мне показалось, что вам нужно переобучиться, чтобы включить эти события и чтобы API среды выполнения мог их учитывать. Не могли бы вы указать мне, где вы видели, что их считают без переобучения? Спасибо

1 голос
/ 21 июня 2020

Я пробовал тот же вариант использования с персонализацией с помощью boto3 sdk. Да!! События Put можно использовать для обновления взаимодействий с пользователем и элементом. Не нужно переучивать модель после положенных событий. Похоже, что aws персонализированные решения сделаны совместимыми для обработки данных, обновляемых с помощью событий put. Когда я запускаю следующий пакетный вывод, после обновления взаимодействий с API событий размещения, я мог видеть изменения в рекомендациях. Я проверил это с помощью персонализированного рецепта ранжирования. Я мог видеть, как элементы, с которыми недавно взаимодействовали, были повторно ранжированы в соответствии с последними взаимодействиями пользователей.

1 голос
/ 12 июня 2020

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

(отредактировано, чтобы уточнить, что этот API называется API «времени выполнения» - спасибо PatrykMilewski за разъяснения - и что я никоим образом не уверен, что конкретный используемый API является важным - я действительно знаю, что при использовании API среды выполнения события делают хотя имеют эффект).

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