If you are setting properties of items, these are internally returned with the 
item ids and stripped off from the results before the query response. I think 
it would be a simple mod to leave them instead of stripping so you’d have to 
mod the code and later merge with newer updates if they are required. 

This would require you send $set events to the EventServer with properties for 
every item but not all possible types are supported and the format of the 
returned properties is fixed so you would need to deal with that. Basically all 
attributes must be encoded in named JSON arrays of strings like “image”: 
[“http://image/url”] etc. 

This is not the first time we’ve been asked for this so you can add a feature 
request: https://github.com/actionml/universal-recommender/issues 
<https://github.com/actionml/universal-recommender/issues>


On Jun 16, 2017, at 10:55 AM, Cody Kimball <[email protected]> wrote:

Sorry yes, I am using the Universal Recommender put up by ActionML. 

I am hoping to avoid spinning up another service to simply return the queried 
results (title, description, image) to augment the prediction results. However, 
if that is the only way to do this, then I'll follow down that path. 

On Fri, Jun 16, 2017 at 11:27 AM Pat Ferrel <[email protected] 
<mailto:[email protected]>> wrote:
What template? Generally this requires you take the id and make a query to your 
catalog DB.


On Jun 16, 2017, at 9:50 AM, Cody Kimball <[email protected] 
<mailto:[email protected]>> wrote:

Architectural Design Question:

I have a model that performs as expected and returns an array of ID's with 
their associated scores. Now as I am trying to get the PIO response to render 
their associated pieces of content on our website, it looks like I will need 
not only those IDs but other meta tag values as well to render the pieces of 
content on the website properly.

My question is can the PredictionIO response array of objects be easily 
configured to return the TargetEntityID and score, as exists currently, as well 
as with a few specific items it pulls from the property list?

example:

{
  "itemScores":[
    {"item":"22","score":4.072304374729956, "title":"title1", 
"description":"helpful meta description1", "image":"imageurl1"},
    {"item":"62","score":4.058482414005789, "title":"title2", 
"description":"helpful meta description2", "image":"imageurl2"},
    {"item":"75","score":4.046063009943821, "title":"title3", 
"description":"helpful meta description3", "image":"imageurl3"},
    {"item":"68","score":3.8153661512945325, "title":"title4", 
"description":"helpful meta description4", "image":"imageurl4"}
  ]
}

Or would it make more sense to have the input value for TargetEntityID be a 
json object for PredictionIO to train on, possibly by altering the training 
model to only use the "ID" attribute from that object to train on? 

itemScores":[
    {"item": {"ID": "22", "title":"title1", "description":"helpful meta 
description1", "image":"imageurl1},"score":4.072304374729956},

Or even I could fudge the model to have targetEntityID be a large concatenated 
value, which in my mind seems like problems waiting to happen.

itemScores":[
    {"item": "22 || title1 || helpful meta description1 || 
imageurl1"},"score":4.072304374729956},

-- 
Cody Kimball
Revenue Engineer

 Don't Just Keep Up With Technology. Master It! <https://www.pluralsight.com/>


-- 
Cody Kimball
Revenue Engineer

 Don't Just Keep Up With Technology. Master It! <https://www.pluralsight.com/>


Reply via email to