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 <h.bahr...@live.com> 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:m...@ida.dk>
Sent: Tuesday, December 13, 2016 12:17 PM
To: user@predictionio.incubator.apache.org 
<mailto:user@predictionio.incubator.apache.org>
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 <h.bahr...@live.com>
Sent: Tuesday, December 13, 2016 10:55:00 AM
To: user@predictionio.incubator.apache.org
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 

Reply via email to