This is our source code for the paper:
Chen, Jiawei, Can Wang, Sheng Zhou, Qihao Shi, Yan Feng, and Chun Chen. "SamWalker: Social Recommendation with Informative Sampling Strategy." In The World Wide Web Conference, pp. 228-239. ACM, 2019.
We implement SamWalker in MATLAB. Also, we implement sampling process (Personalized random walk) in C++ to improve effeiciency. Beforing running the code, please compile c++ source codes to generate mex file in matlab enviornment:
mex mysamwalknew.cpp
mex myv2s.cpp
Then, we can run the code for the example data:
samwalker('trainingdata.txt','testdata.txt','trustnetwork.txt')
Where the inputs of the spmfmnar function are the paths of the trainning data, the test data and the social network data respectively.
Each line of trainingdata.txt is: UserID \t ItemID \t 1
Each line of testdata.txt is :UserID \t ItemID \t 1
Each line of trustnetwork.txt is: User1ID \t User2ID \t 1