vacaly opened a new pull request, #192:
URL: https://github.com/apache/flink-ml/pull/192

   ## What is the purpose of the change
   
   * This pull request adds the implementation of Swing recommendation 
algorith.*
   
   ## Brief change log
   
     - *Adds Transformer and Estimator implementation of Swing recommendation 
algorithm in Java*
     - *Adds examples of Swing*
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
   
   ## Documentation
   
   Swing[1] recommendation algorithm can measure the similarity between items 
by calculating their common users(or purchaser) and the difference of users. 
The Swing score is 
   $$score_(i,j)=\sum_{u \in U_i}\sum_{v \in U_j} \frac{1}{I_u\cap I_v}$$
   $U_i$ represents user set who clicked item $i$, $I_u$ represents item set 
that user $u$ clicked.
   
   Specifically, for the original input data of user-item click matrix, each 
row is a user and a clicked item, eg: "Danny, IPhone". 
    And the Swing estimator works as follow steps:
   1. At the first reducer stage, Swing estimator collects the item clicked 
list of the specific user, eg: "Danny, {IPhone, IPad, AirPods}". 
   2. At the next mapper stage, for each item clicked by a certain user. the 
estimator appends the user's item list to the row, eg: "Danny, IPhone, {IPhone, 
IPad, AirPods}".
   3. Then at the reducer stage, the estimator collects the user set $U_i$ who 
clicked item $i$ ,and the item set clicked by each user in $U_i$. Finally Swing 
score is calculated and save to SwingModel.
   
   
   [1]Large Scale Product Graph Construction for Recommendation in 
E-commerce,https://arxiv.org/pdf/2010.05525.pdf​​​​​​​


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to