Created on 11-02-2014 08:28 AM - edited 11-02-2014 08:32 AM
Hi Sean,
In the RecommendServlet page, we noticed it stated
Responds to a GET request to /recommend/[userID](?howMany=n)(&offset=o)(&considerKnownItems=true|false)(&rescorerParams=...)...
We are designing the re-score classes to plugin. For example, pass a list of item-ID to rescorerParams, so that the recommendation only considers the passed item-IDs as recommendation result.
The problem is that the item-IDs list could be very long, and it could easily hit maximum length of HTTP GET request.
Are there any suggestions? Is there any Http-Post servlet to do the /recommend/ ?
Thanks.
Created 11-02-2014 09:09 AM
Yeah, this is bumping up against practical limit of this simplistic API. The max URL length is set to be pretty big, like 8K IIRC. Is it possible that whatever item IDs you need can be looked up from an external source? There's always filtering on the caller side too although that has its own problems.
Created 11-02-2014 09:09 AM
Yeah, this is bumping up against practical limit of this simplistic API. The max URL length is set to be pretty big, like 8K IIRC. Is it possible that whatever item IDs you need can be looked up from an external source? There's always filtering on the caller side too although that has its own problems.
Created 11-03-2014 08:57 AM
Sean,
Thanks for your reply.
Additional (and related) question to the scoring....
I tried to understand the score after giving user id (that is /recommend/ end point) withour re-scoring.
Then, I get a list of "item-id", "predict-score/value".
I think the score is computed by XY(t) .... And the range is about 0-1. My question is how can we interpret these values (in addition to the ranking)? Assuming a good training (tuned training parameters). Is the score lower than 0.5 implying low possibility that this is user's preference and maybe "random" recommendation is then can be used in the lower 0.5 score case ?
Created 11-03-2014 10:32 AM
Yes they will usually be in [0,1] but not always. They aren't probabilities. They are entries in X*Y', yes. I think it's safe to take values >=1 as a very strong positive. What's a good cutoff? it really depends on your semantics and use case. They are comparable across models so you can probably determine a value empirically with some testing.
Created 11-03-2014 10:26 AM
Created 11-03-2014 10:30 AM
Yes, I meant the server side. Actually, looking at the source, it should allow up to 65536 bytes of header data.