Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 7A24B200CC9 for ; Mon, 17 Jul 2017 19:09:07 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 7878E165094; Mon, 17 Jul 2017 17:09:07 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id DE53A16506C for ; Mon, 17 Jul 2017 19:09:05 +0200 (CEST) Received: (qmail 82271 invoked by uid 500); 17 Jul 2017 17:09:05 -0000 Mailing-List: contact user-help@predictionio.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@predictionio.incubator.apache.org Delivered-To: mailing list user@predictionio.incubator.apache.org Received: (qmail 82261 invoked by uid 99); 17 Jul 2017 17:09:05 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 17 Jul 2017 17:09:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 8BD481A08BC for ; Mon, 17 Jul 2017 17:09:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.479 X-Spam-Level: ** X-Spam-Status: No, score=2.479 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=2, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RCVD_IN_SORBS_SPAM=0.5, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=pluralsight-com.20150623.gappssmtp.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id HTKf4Sol6MBw for ; Mon, 17 Jul 2017 17:09:02 +0000 (UTC) Received: from mail-it0-f46.google.com (mail-it0-f46.google.com [209.85.214.46]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 8963660D17 for ; Mon, 17 Jul 2017 17:09:01 +0000 (UTC) Received: by mail-it0-f46.google.com with SMTP id m84so555048ita.0 for ; Mon, 17 Jul 2017 10:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pluralsight-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=1UIAvdZuLqZC1jqkWTh7Fc85SsKud8rZOKnRFUoUoOE=; b=HjkEddgxH8/d+O1pUGIHgVcHEP5cz/vSfL+vKZT19ypaKbNY7YYPxAvw28hhYP1R+n ucH89kZWU8NMg9N0ZXt4aP7QP+bhAmV3OBWW6IAKPqXIgIb0SrAeKqJglLa6R5C8inyU u6O14UBF4IQNNBNLalTrwI5bOsdAUquYkXWsKTOugc4Rwldr3q0M4FFQQRlPIC7tT7oG Y+jX6m9Q5z1LvXx6QKpItQiCU7yFfPCUPy3te5exo166dQ1sr0jdasFare1ZE/leziVI fgyP0Zx/TParGRglBIlkBeUi4UJ8oVBX9dBQVz+pX+r9nCVe1d05/XTDl9ELsEC8C1a+ Nk1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=1UIAvdZuLqZC1jqkWTh7Fc85SsKud8rZOKnRFUoUoOE=; b=NlEW8REw3fQ3cvVIAXn1SXjzMK2ebqi7swIXE4QW/+Q6ZW0u+60HPwany6Lhcj5+TJ /iJeczbU+tFapUcal/QOGykYtnrDEEL8HeVXIp0+QBFnRX8jfAj+X9+f7gc2G5rjyhrH g4TVjLzyh+A99GKiHo7UqWxta7k/wRr2RPMEtWsAMtPmwYCRlxUznBksLUNnqGZRFnsG Q4Jt8+5oyl4fVrLVLH9jkuAEpUYYhcjP11hDIp/6DE5RlE0a2RXSE/A0cdXVXyfhxCS0 ci++PhnLe7CzQlP8K/nZbtC4IXYeAlpWwO8wlFgQUFRy1NolmgcAgWXl4/QYMU/a2W4C vbUA== X-Gm-Message-State: AIVw1101AWL+UkbTCmJrNkLJ9Gv5UbiSzl1KAIsjP6n4ajP5d1Wa5W1R +0ycuivWhvAn9TUUzjHkJvNBqNL70hHnPI4= X-Received: by 10.36.36.135 with SMTP id f129mr6503094ita.60.1500311340134; Mon, 17 Jul 2017 10:09:00 -0700 (PDT) MIME-Version: 1.0 References: <99AE10F4-F755-47AE-A6F1-55CC56EE662E@occamsmachete.com> In-Reply-To: From: Cody Kimball Date: Mon, 17 Jul 2017 17:08:49 +0000 Message-ID: Subject: Re: UR Query Based on Simulated Events To: user@predictionio.incubator.apache.org Content-Type: multipart/alternative; boundary="001a1144ce4a7b60b505548674f7" archived-at: Mon, 17 Jul 2017 17:09:07 -0000 --001a1144ce4a7b60b505548674f7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This was to do some predictive analytics, and forecasting to evaluate what would be recommended for various use cases. This way we can avoid polluting the event store with dummy data and have to clean it up later as well. Thanks for the quick response, will look into other means to evaluate potential use cases. On Mon, Jul 17, 2017 at 11:00 AM Pat Ferrel wrote: > But it seems you are =E2=80=9Csimulating=E2=80=9D these items, why? how? = The fall back > mechanisms for new users are pretty flexible in the UR including custom > ranking of items, popular, trending, hot, random, etc. > > > On Jul 17, 2017, at 9:54 AM, Pat Ferrel wrote: > > Personalization cannot work for users with no behavioral data. Your app > should be sending events in real time to the EventServer. That way the > events below will already be in HBase. Then you just query with the > user-id. Item-sets are meant for shopping carts, not events that you know > about but have not been sent to the EventServer yet. If you know them on > your side of the app=E2=80=94send them immediately to the EventServer, th= is will > work to give results based on real time events. > > If there truly are no events for a user, the below method has nothing to > send and so the UR will fall back to use popular items in recommendations= . > Item-based recs work fine since there is only some contextual info in the > query like the item that is being looked at on-site. > > Getting real time context and events is be the best way to use the system= , > in which case no special query is needed. > > > On Jul 17, 2017, at 9:36 AM, Cody Kimball > wrote: > > I am using the Universal Recommender, and I have a use case where I would > need to query for a given user (as if that user had performed certain > events, but technically hasn't yet, meaning the event data hasn't been > pushed into the Event Store). > > I originally thought this would be accomplished via itemSets, but the > documentation seems to suggest otherwise. My hope is to be able to pass a > list of events with the query, without those events technically existing > yet (nor will be created as a result of the query), and getting a differe= nt > result set as a result. An example payload may be: > > { > "user": "userID123", > "eventList": [{"event":"view", "targetEntityType":"item", > "targetEntityId";"targetID15"}, {"event":"view", > "targetEntityType":"item", "targetEntityId";"targetID23"}, > {"event":"interaction", "targetEntityType":"item", > "targetEntityId";"targetID23"}] > } > -- > *Cody Kimball* > Revenue Engineer > > Don't Just Keep Up With Technology. Master It! > > > > > -- *Cody Kimball* Revenue Engineer Don't Just Keep Up With Technology. Master It! --001a1144ce4a7b60b505548674f7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This was to do some predictive analytics, and forecasting = to evaluate what would be recommended for various use cases. This way we ca= n avoid polluting the event store with dummy data and have to clean it up l= ater as well.

Thanks for the quick response, will look into other me= ans to evaluate potential use cases.

On Mon, Jul 17, 2017 at 11:00 AM Pat Ferrel <pat@occamsmachete.com> wrote:
=
But it s= eems you are =E2=80=9Csimulating=E2=80=9D these items, why? how? The fall b= ack mechanisms for new users are pretty flexible in the UR including custom= ranking of items, popular, trending, hot, random, etc.


On Jul 17, 2017, at= 9:54 AM, Pat Ferrel <pat@occamsmachete.com> wrote:

Personalization cannot work for users with no behavioral data. Your app = should be sending events in real time to the EventServer. That way the even= ts below will already be in HBase. Then you just query with the user-id. It= em-sets are meant for shopping carts, not events that you know about but ha= ve not been sent to the EventServer yet. If you know them on your side of t= he app=E2=80=94send them immediately to the EventServer, this will work to = give results based on real time events.

If there truly a= re no events for a user, the below method has nothing to send and so the UR= will fall back to use popular items in recommendations. Item-based recs wo= rk fine since there is only some contextual info in the query like the item= that is being looked at on-site.

Getting real tim= e context and events is be the best way to use the system, in which case no= special query is needed.


On Jul 17, 2= 017, at 9:36 AM, Cody Kimball <cody-kimball@pluralsight.com> wrote:
<= br class=3D"m_2196021159682626882Apple-interchange-newline">
I am using the Universal Recommender, and I have a use case where = I would need to query for a given user (as if that user had performed certa= in events, but technically hasn't yet, meaning the event data hasn'= t been pushed into the Event Store).=C2=A0

I originally = thought this would be accomplished via itemSets, but the documentation seem= s to suggest otherwise. My hope is to be able to pass a list of events with= the query, without those events technically existing yet (nor will be crea= ted as a result of the query), and getting a different result set as a resu= lt. An example payload may be:

{
=C2=A0 =C2=A0"user&q= uot;: "userID123",
=C2=A0 =C2=A0"eventList": [{"= ;event":"view", "targetEntityType":"item"= ;, "targetEntityId";"targetID15"}, =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0{&quo= t;event":"view", "targetEntityType":"item&quo= t;, "targetEntityId";"targetID23"},
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0{"event":"interaction", "targetEntityType"= :"item", "targetEntityId";"targetID23"}]
}=
--
= = Cody Kimball
Reven= ue Engineer
=C2=A0Don't Just= Keep Up With Technology.=C2=A0Maste= r It!



=
--
Cody Kimball
Revenue Engineer
<= font size=3D"2" face=3D"garamond, serif">
=C2=A0Don't Just Keep Up With Technology.=C2=A0Master It!

--001a1144ce4a7b60b505548674f7--