The UR has a new Apache PIO compatible repo here:
https://github.com/actionml/universal-recommender.git
git clone https://github.com/actionml/universal-recommender.git ur
and proceed. The UR allows boosts or filters by properties. You are using a
filter (bias -1), which does not work with the template you are using. Each
template defines its own queries, config (engine.json), and input formats.
There are a few common ideas but each one will have quite a few differences
also and very different features.
On Dec 13, 2016, at 6:20 AM, Hossein Bahrami <[email protected]> wrote:
Hi, thanks for your reply. I don’t use Universal recommender, actually I use
the Recommender Engine
(http://predictionio.incubator.apache.org/templates/recommendation/quickstart/
<http://predictionio.incubator.apache.org/templates/recommendation/quickstart/>)
First I tried to use Universal recommender but it was difficulties building the
project so I switched to the Recommendation Engine (RE), the RE works fine but
don’t know how to customize it to take other events (items’ properties as I
described ) into account.
Seems the RE returns very high score recommendations with my data so I guess
it’s the choice here for me and just want to do some customization on it to
make it predict recommendations per category (i.e property) of items.
Regards
Hossein
From: Magnus Kragelund <mailto:[email protected]>
Sent: Tuesday, December 13, 2016 12:17 PM
To: [email protected]
<mailto:[email protected]>
Subject: Re: Customizing Recommender engine
Hi,
Assuming that you are using the Universal Recommender Engine, you should have a
look at the "Queries" section here:
https://github.com/PredictionIO/template-scala-parallel-universal-recommendation#queries
<https://github.com/PredictionIO/template-scala-parallel-universal-recommendation#queries>
Try this request instead, where the "fields" property is used to filter by
category
{
"user": "674296",
"num": 10,
"fields": [
{
"name": "categories",
"values": ["CAT1", "CAT2"],
"bias": -1
}
]
}
/magnus
From: Hossein Bahrami <[email protected]>
Sent: Tuesday, December 13, 2016 10:55:00 AM
To: [email protected]
Subject: Customizing Recommender engine
Dear all,
I’m new to Predictionio, currently I’m using it and I managed to import (rate,
buy) events and getting pretty good results querying it. But now I want to
limit the results for items in specific categories. I’ve created events for
items’ properties (categories) as well .
I am posting this query to engine but it seems doesn’t care about the
categories and returns same result every time.
{ "user": "674296", "num": 10, "categories" : ["CAT2", "CAT1"] }
I’ve imported bellow events
client.create_event(event="rate",
entity_type="user",
entity_id=int(row['userid']),
target_entity_type="item",
target_entity_id=int(row['itemid']),
properties= { "rating" : float(row['rating']) });
client.create_event(
event="buy",
entity_type="user",
entity_id=int(row['userid']),
target_entity_type="item",
target_entity_id=int(row['itemid']), );
client.create_event(
event="$set",
entity_type="item",
entity_id=itemid,
properties= { "categories": itemcats }
);
Could someone give me a solution or hint to how customize this recommender
engine to take the categories into account.
Thanks in advance
Hossein