Skip to content

nlee-208/HLRM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hierarchical Latent Relation Modeling for CML

Code Implementation of V-A. Tran, et al. Hierarchical Latent Relation Modeling for Collaborative Metric Learning. In: Proceedings of the 15th ACM Conference on Recommender Systems (RecSys 2021), September 2021.

Paper

Paper Summary(Korean)

Brief Summary

Collaborative Metric Learning

  • Previous recommendation approaches focused heavily on Collaborative Filtering(CF) methods
    • Matrix Factorization (MF)
      • Factorization of the user-item matrix into dense, lower dimensional latent vectors
      • Prediction based on User-Item Similarity (usually dot-product)
  • Metric Learning introduced as an alternative to previous approaches.
    • Interested in learning the metrics among data points
  • Limitations
    • Over-simplification of the user-item relations
    • Each user&item represented with a single mapped vector
    • Does not incorporate any item-item relations

Hierarchical Latent Relation Modeling for CML

  • CML DL Based approach to learn hierarchical relations of user-item over item-item relations based on the following assumption...

    "there exists a hierarchical structure in different relation types, and that user-item relations are built on top of item-item relations"

Architecture


  • The author proposes an enhanced consideration over the user-item relations with the User Attention & Item Attention Module
  • For detailed descriptions of the model implementation & model experiments, refer to the Paper Summary(Korean)

Configurations

Train Phase


  • Train a specific HLRM model from model.py
$ python train.py --train_batch_size --eval_batch_size --num_inter \
    --hlrm_type --epochs --lr --lr_scheduler_gamma --clip --patience \
    --emb_size --num_relations --is_pretrained_embs --freeze_embs \
    --save_model -- save_dir --loss_margin

Eval Phase


  • Evaluate a specific model checkpoint on the metrics HitRate, MAP, MRR, NDCG, PREC, REC
$ python eval.py --eval_batch_size --num_inter --hlrm_type --save_dir \
    --eval_size --emb_size --topk --num_relations --is_pretrained_embs

References

About

Implementation of Hierarchical Latent Relation Modeling Rec-Sys '21

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages