Causally Debiased Time-aware Recommendation

Anonymous Author  

1. Abstract

Time-aware recommendation has been widely studied for modeling the user dynamic preference. While, in the past few decades, a lot of promising models have been proposed, an important problem has been largely ignored, that is, the users may not evenly behave on the timeline, and the observed datasets can be biased on the interaction time, which may degrade the model performance. In this paper, we propose a causally debiased time-aware recommender framework to more accurately learn the user preference. In specific, we firstly formulate the task of time-aware recommendation by a causal graph, where we identify two types of biases on the item- and time-levels, respectively. Then we define the ideal unbiased learning objective. To optimizable this objective, we propose a debiased framework based on the inverse propensity score (IPS), and also extend it to the doubly robust method. For both of these methods, we theoretically analyze their unbiasedness. Considering that the user preference in the recommendation domain can be quite diverse and complex, which may result in the unmeasured confounders, we develop a sensitive analysis method to obtain more accurate IPS. We theoretically draw a connection between this method and the idea learning objective, which to the best of our knowledge, is the first time in the research community. We conduct extensive experiments based on {three} real-world datasets to demonstrate the effectiveness of our model.

2. Contributions

  • we propose to build a debiased time-aware recommender framework from the causal perspective.

  • To achieve this goal, we design an IPS based model, and extend it by building a doubly robust method and explicitly modeling the unmeasured confounders.

  • We provide a series of theoretical analysis on the designed models.

3. Main Results

Table 1: Overall comparison between CDTR and other methods on various datasets.

result

4. Code and Datasets

4.1 Code [link:GitHub]

Table 2: Structure of the main program files.

main program files

Table 3: Structure of the auxiliary files.

auxiliary files

4.2 Datasets [link:GitHub]

Table 4: Statistics of the datasets used in our experiments.

result

5. Usage

5.1. Download the code

Install the required packages according to requirements.txt.

result

5.2. Prepare the datasets.

(1) Directly download the processed datasets used in this paper:

ML-1M Amazon Food

(2) Use your own datasets:
Ensure that your data is organized according to the format: user_id:token, item_id:token, timestamp:float, bin_id:floadt.

(3) Rename the data files by dataset-name.train/valid/test.inter, and put them into the folder ./dataset/dataset-name/ (note: replace "dataset-name" with your own dataset name).

5.3. Run our framework

(1)Run main.py to train and save the models for propensity score, where the training parameters can be indicated through the config file. For example:

result

(2)Run main.py to train the debiased recommender model our model, where the training parameters can be indicated through the config file. For example:

result

6. Detailed parameter search ranges

range

where learning_rate corresponds to the recommendation model, imputation learning rate represents the learning rate of the imputation model and UM learning rate is the learning rate of the model for updating the uncertanty sets.

7. Runtime Environment

  • System:Linux dell-PowerEdge-R730

  • CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz

  • CPU-Memory:16G

  • GPU:NVIDIA Corporation GV100 [TITAN V] (rev a1)

  • GPU-Memory:45G

  • Pytorch: 1.7.0

  • CUDA:11.6