添加更多参数进行个性化设置



我创建了一个函数来实时提供数据以进行个性化设置,该函数目前发送用户id、项目id、时间戳和事件类型。问题是所有的事件类型都是点击。所以现在我也想发送点击次数。我需要在个性化中更改架构以适应点击次数吗?此外,如何个性化地知道更多的点击次数是否意味着更多地显示该项目?

现在,我的模式看起来像这样-

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

这是将数据输入个性化的功能。

const streamInteractions = async (req, res) => {
const { eventType, userId, trackingId, clicks } = req.body;
var eventDate = new Date();
var putEventsParams= {
'sessionId': '1', 
'trackingId': trackingId,
'userId': userId,
eventList: [
{
'eventType': eventType, 
'sentAt': eventDate
'properties': '{number_of_clicks: clicks}' //is this the correct way to send the number of clicks?
},
]
}
personalizeevents.putEvents(putEventsParams, function (err, data) {
if (err) {
console.log(err, err.stack);
}
else{     
console.log(data);
}
});
res.json('Done!');
}

每次点击都应该作为一个单独的事件发送到Personalize,其中时间戳表示每次点击发生的时间。当前无法将事件聚合为单个事件,也无法对一种事件类型或交互进行权衡。由于Personalize使用序列模型来理解会话中的用户意图,因此交互顺序很重要。

最新更新