You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@predictionio.apache.org by Brian Chiu <br...@snaptee.co> on 2017/09/05 09:10:32 UTC

Recommender for social media

Hi everyone.

I am trying to use PredictionIO to build a recommender for
social-media-like platform, but as I am new to recommender I would
like to get some suggestion from the community here.

The case is something like Twitter:
- A user can create an item
- A user can like an item
- A user can follow another user

I have spent sometime trying the official templates, but it seems that
they cannot take advantage of "follow another user" relationship.  I
notice that the "Universal Recommender" from actionML is more powerful
than the official template, but also more complex, and I don't know if
it is suitable for my use case.

Is "Universal Recommender" right choice?  Or is there a simpler
solution?  My machine has 16GB memory and around 50,000 users.

Thanks in advance!

Best,
Brian

Re: Recommender for social media

Posted by Brian Chiu <br...@snaptee.co>.
Thank you!  I will give UR a try.

On Wed, Sep 6, 2017 at 1:51 AM, Pat Ferrel <pa...@occamsmachete.com> wrote:
> Actually IMO it is not more complex, it is just far better documented and more flexible. If you don’t need the features it is just as simple as the Apache PIO Templates. I could argue the UR is simpler since you don’t need to $set every item and user, they are determined automatically from the data.
>
> But in any case a recommender is a big-data application. 16GB on one machine will not get you very far, maybe a POC with limited data.
>
> The next question is what do you need. If you need to use all of those pieces of data to recommend one thing, then the ALS algorithm of the Apache PIO Templates will not work, they can only take one “conversion” event. This is ok for some applications but it would mean using like alone to recommend other items. Not sure a create will work at all since the user may be the only one to interact with the created item, unless there are types of metadata associated with the created item. With the Apache Templates “follows” can only recommend users to follow.
>
> The UR can use both likes and follows to recommend either items or users. It’s also likely that you can use other data you have. This may be what you mean by complex but then you don’t have to use the feature...
>
>
> On Sep 5, 2017, at 2:10 AM, Brian Chiu <br...@snaptee.co> wrote:
>
> Hi everyone.
>
> I am trying to use PredictionIO to build a recommender for
> social-media-like platform, but as I am new to recommender I would
> like to get some suggestion from the community here.
>
> The case is something like Twitter:
> - A user can create an item
> - A user can like an item
> - A user can follow another user
>
> I have spent sometime trying the official templates, but it seems that
> they cannot take advantage of "follow another user" relationship.  I
> notice that the "Universal Recommender" from actionML is more powerful
> than the official template, but also more complex, and I don't know if
> it is suitable for my use case.
>
> Is "Universal Recommender" right choice?  Or is there a simpler
> solution?  My machine has 16GB memory and around 50,000 users.
>
> Thanks in advance!
>
> Best,
> Brian
>

Re: Recommender for social media

Posted by Pat Ferrel <pa...@occamsmachete.com>.
Actually IMO it is not more complex, it is just far better documented and more flexible. If you don’t need the features it is just as simple as the Apache PIO Templates. I could argue the UR is simpler since you don’t need to $set every item and user, they are determined automatically from the data.

But in any case a recommender is a big-data application. 16GB on one machine will not get you very far, maybe a POC with limited data.

The next question is what do you need. If you need to use all of those pieces of data to recommend one thing, then the ALS algorithm of the Apache PIO Templates will not work, they can only take one “conversion” event. This is ok for some applications but it would mean using like alone to recommend other items. Not sure a create will work at all since the user may be the only one to interact with the created item, unless there are types of metadata associated with the created item. With the Apache Templates “follows” can only recommend users to follow.

The UR can use both likes and follows to recommend either items or users. It’s also likely that you can use other data you have. This may be what you mean by complex but then you don’t have to use the feature...


On Sep 5, 2017, at 2:10 AM, Brian Chiu <br...@snaptee.co> wrote:

Hi everyone.

I am trying to use PredictionIO to build a recommender for
social-media-like platform, but as I am new to recommender I would
like to get some suggestion from the community here.

The case is something like Twitter:
- A user can create an item
- A user can like an item
- A user can follow another user

I have spent sometime trying the official templates, but it seems that
they cannot take advantage of "follow another user" relationship.  I
notice that the "Universal Recommender" from actionML is more powerful
than the official template, but also more complex, and I don't know if
it is suitable for my use case.

Is "Universal Recommender" right choice?  Or is there a simpler
solution?  My machine has 16GB memory and around 50,000 users.

Thanks in advance!

Best,
Brian