Skip to content

Commit

Permalink
FIX:(update docs)
Browse files Browse the repository at this point in the history
  • Loading branch information
TayTroye committed Nov 1, 2023
1 parent 4caa9be commit 2b23b1e
Show file tree
Hide file tree
Showing 19 changed files with 209 additions and 38 deletions.
24 changes: 23 additions & 1 deletion asset/dataset_list.json
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,28 @@
"type": "Click",
"link_name": "link",
"link_url": "https://tianchi.aliyun.com/dataset/dataDetail?dataId=56#1"
}
},
{
"dataset": "Music4All-Onion",
"dataset_link": "",
"user_num": "119,140",
"item_num": "109,269",
"inter_num": "252,984,396",
"sparsity": "-",
"type": "Click",
"link_name": "script",
"link_url": "https://github.com/RUCAIBox/RecSysDatasets/blob/master/conversion_tools/usage/Onion.md"
},
{
"dataset": "Amazon_M2",
"dataset_link": "",
"user_num": "3,606,349",
"item_num": "1,410,675",
"inter_num": "15,306,183",
"sparsity": "-",
"type": "Click",
"link_name": "Link",
"link_url": "https://www.aicrowd.com/challenges/amazon-kdd-cup-23-multilingual-recommendation-challenge"
}
]
}
84 changes: 57 additions & 27 deletions asset/model_list.json
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,34 @@
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "General Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#general-recommendation",
"year": "2023",
"pub": "SIGIR'23",
"model": "DiffRec",
"model_link": "/docs/user_guide/model/general/diffrec.html",
"paper": "Diffusion Recommender Model",
"paper_link": "https://dl.acm.org/doi/10.1145/3539618.3591663",
"authors": "Wenjie Wang, Yiyan Xu, Fuli Feng, Xinyu Lin, Xiangnan He, Tat-Seng Chua",
"ref_code": "https://github.com/YiyanXu/DiffRec",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "General Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#general-recommendation",
"year": "2023",
"pub": "SIGIR'23",
"model": "LDiffRec",
"model_link": "/docs/user_guide/model/general/ldiffrec.html",
"paper": "Diffusion Recommender Model",
"paper_link": "https://dl.acm.org/doi/10.1145/3539618.3591663",
"authors": "Wenjie Wang, Yiyan Xu, Fuli Feng, Xinyu Lin, Xiangnan He, Tat-Seng Chua",
"ref_code": "https://github.com/YiyanXu/DiffRec",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Sequential Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#sequential-recommendation",
Expand Down Expand Up @@ -742,6 +770,7 @@
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},

{
"category": "Context-aware Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#context-aware-recommendation",
Expand All @@ -756,6 +785,20 @@
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Sequential Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#sequential-recommendation",
"year": "2023",
"pub": "SIGIR'23",
"model": "FEARec",
"model_link": "/docs/user_guide/model/sequential/fearec.html",
"paper": "FEARec: Frequency Enhanced Hybrid Attention Network for Sequential Recommendation",
"paper_link": "https://dl.acm.org/doi/10.1145/3539618.3591689",
"authors": "Xinyu Du, Huanhuan Yuan, Pengpeng Zhao, Jianfeng Qu, Fuzhen Zhuang, Guanfeng Liu, Victor S. Sheng",
"ref_code": "https://github.com/sudaada/FEARec",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Sequential Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#sequential-recommendation",
Expand Down Expand Up @@ -1064,6 +1107,20 @@
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Context-aware Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#context-aware-recommendation",
"year": "2023",
"pub": "SIGIR'23",
"model": "EulerNet",
"model_link": "/docs/user_guide/model/context/eulernet.html",
"paper": "EulerNet: Adaptive Feature Interaction Learning via Euler's Formula for CTR Prediction",
"paper_link": "https://dl.acm.org/doi/10.1145/3539618.3591681",
"authors": "Zhen Tian, Ting Bai, Wayne Xin Zhao, Ji-Rong Wen, Zhao Cao",
"ref_code": "https://github.com/chenyuwuxin/EulerNet",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Data Augmentation",
"cate_link": "https://github.com/RUCAIBox/RecBole2.0#recbole-da",
Expand Down Expand Up @@ -1987,33 +2044,6 @@
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Sequential Recommendation",
"cate_link": "/docs/user_guide/model_intro.html#sequential-recommendation",
"year": "2018",
"pub": "ICDM'18",
"model": "SASRec",
"model_link": "/docs/user_guide/model/sequential/sasrec.html",
"paper": "Self-Attentive Sequential Recommendation",
"paper_link": "https://doi.org/10.1109/ICDM.2018.00035",
"authors": "Wang-Cheng Kang and Julian McAuley",
"ref_code": "https://github.com/kang205/SASRec",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Knowledge-aware Recommendation",
"year": "2018",
"pub": "MDPI'18",
"model": "CFKG",
"model_link": "/docs/user_guide/model/knowledge/cfkg.html",
"paper": "Learning heterogeneous knowledge base embeddings for explainable recommendation",
"paper_link": "https://doi.org/10.3390/a11090137",
"authors": "Qingyao Ai, Vahid Azizi, Xu Chen, Yongfeng Zhang",
"ref_code": "",
"repository": "RecBole",
"repo_link": "https://github.com/RUCAIBox/RecBole"
},
{
"category": "Knowledge-aware Recommendation",
"year": "2018",
Expand Down
Binary file added docs/source/asset/eulernet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
.. RecBole documentation master file.
.. title:: RecBole v1.1.1
.. title:: RecBole v1.2.0
.. image:: asset/logo.png

=========================================================

`HomePage <https://recbole.io/>`_ | `Docs <https://recbole.io/docs/>`_ | `GitHub <https://github.com/RUCAIBox/RecBole>`_ | `Datasets <https://github.com/RUCAIBox/RecDatasets>`_ | `v0.1.2 </docs/v0.1.2/>`_ | `v0.2.0 </docs/v0.2.0/>`_ | `v1.0.0 </docs/v1.0.0/>`_ | `v1.0.1 </docs/v1.0.1/>`_
`HomePage <https://recbole.io/>`_ | `Docs <https://recbole.io/docs/>`_ | `GitHub <https://github.com/RUCAIBox/RecBole>`_ | `Datasets <https://github.com/RUCAIBox/RecDatasets>`_ | `v0.1.2 </docs/v0.1.2/>`_ | `v0.2.0 </docs/v0.2.0/>`_ | `v1.0.0 </docs/v1.0.0/>`_ | `v1.0.1 </docs/v1.0.1/>`_ | `v1.2.0 </docs/v1.2.0/>`_

Introduction
-------------------------
RecBole is a unified, comprehensive and efficient framework developed based on PyTorch.
It aims to help the researchers to reproduce and develop recommendation models.

In the lastest release, our library includes 90 recommendation algorithms `[Model List]`_, covering four major categories:
In the lastest release, our library includes 91 recommendation algorithms `[Model List]`_, covering four major categories:

- General Recommendation
- Sequential Recommendation
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. automodule:: recbole.model.context_aware_recommender.eulernet
:members:
:undoc-members:
:show-inheritance:
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,16 @@ recbole.model.context\_aware\_recommender
recbole.model.context_aware_recommender.afm
recbole.model.context_aware_recommender.autoint
recbole.model.context_aware_recommender.dcn
recbole.model.context_aware_recommender.dcnv2
recbole.model.context_aware_recommender.deepfm
recbole.model.context_aware_recommender.dssm
recbole.model.context_aware_recommender.eulernet
recbole.model.context_aware_recommender.ffm
recbole.model.context_aware_recommender.fignn
recbole.model.context_aware_recommender.fm
recbole.model.context_aware_recommender.fnn
recbole.model.context_aware_recommender.fwfm
recbole.model.context_aware_recommender.kd_dagfm
recbole.model.context_aware_recommender.lr
recbole.model.context_aware_recommender.nfm
recbole.model.context_aware_recommender.pnn
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. automodule:: recbole.model.general_recommender.diffrec
:members:
:undoc-members:
:show-inheritance:
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. automodule:: recbole.model.general_recommender.ldiffrec
:members:
:undoc-members:
:show-inheritance:
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. automodule:: recbole.model.general_recommender.random
:members:
:undoc-members:
:show-inheritance:
13 changes: 12 additions & 1 deletion docs/source/recbole/recbole.model.general_recommender.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,35 @@ recbole.model.general\_recommender
.. toctree::
:maxdepth: 4

recbole.model.general_recommender.admmslim
recbole.model.general_recommender.bpr
recbole.model.general_recommender.cdae
recbole.model.general_recommender.convncf
recbole.model.general_recommender.dgcf
recbole.model.general_recommender.dmf
recbole.model.general_recommender.diffrec
recbole.model.general_recommender.ease
recbole.model.general_recommender.enmf
recbole.model.general_recommender.fism
recbole.model.general_recommender.gcmc
recbole.model.general_recommender.itemknn
recbole.model.general_recommender.ldiffrec
recbole.model.general_recommender.lightgcn
recbole.model.general_recommender.line
recbole.model.general_recommender.macridvae
recbole.model.general_recommender.multidae
recbole.model.general_recommender.multivae
recbole.model.general_recommender.nais
recbole.model.general_recommender.nceplrec
recbole.model.general_recommender.ncl
recbole.model.general_recommender.neumf
recbole.model.general_recommender.ngcf
recbole.model.general_recommender.nncf
recbole.model.general_recommender.pop
recbole.model.general_recommender.ract
recbole.model.general_recommender.random
recbole.model.general_recommender.recvae
recbole.model.general_recommender.sgl
recbole.model.general_recommender.simplex
recbole.model.general_recommender.slimelastic
recbole.model.general_recommender.spectralcf
recbole.model.general_recommender.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ recbole.model.knowledge\_aware\_recommender
recbole.model.knowledge_aware_recommender.cke
recbole.model.knowledge_aware_recommender.kgat
recbole.model.knowledge_aware_recommender.kgcn
recbole.model.knowledge_aware_recommender.kgin
recbole.model.knowledge_aware_recommender.kgnnls
recbole.model.knowledge_aware_recommender.ktup
recbole.model.knowledge_aware_recommender.mcclk
recbole.model.knowledge_aware_recommender.mkr
recbole.model.knowledge_aware_recommender.ripplenet
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.. automodule:: recbole.model.sequential_recommender.fearec
:members:
:undoc-members:
:show-inheritance:
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ recbole.model.sequential\_recommender
recbole.model.sequential_recommender.srgnn
recbole.model.sequential_recommender.stamp
recbole.model.sequential_recommender.transrec
recbole.model.sequential_recommender.fearec
2 changes: 1 addition & 1 deletion docs/source/user_guide/data_intro.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Data Module Introduction
=========================

RecBole not only implements lots of popular recommender models, but also collects and releases 41 commonly-used publiced datasets.
RecBole not only implements lots of popular recommender models, but also collects and releases 43 commonly-used publiced datasets.
You can freely download these datasets following our docs :doc:`data/dataset_download`.

For extensibility and reusability, Recbole has a flexible and extensible data module.
Expand Down
78 changes: 78 additions & 0 deletions docs/source/user_guide/model/context/eulernet.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
EulerNet
===========

Introduction
---------------------

`[paper] <https://dl.acm.org/doi/10.1145/3539618.3591681>`_

**Title:** EulerNet: Adaptive Feature Interaction Learning via Euler's Formula for CTR Prediction

**Authors:** Zhen Tian, Ting Bai, Wayne Xin Zhao, Ji-Rong Wen, Zhao Cao

**Abstract:** Learning effective high-order feature interactions is very crucial in the CTR prediction task. However, it is very time-consuming to calculate high-order feature interactions with massive features in online e-commerce platforms. Most existing methods manually design a maximal order and further filter out the useless interactions from them. Although they reduce the high computational costs caused by the exponential growth of high-order feature combinations, they still suffer from the degradation of model capability due to the suboptimal learning of the restricted feature orders. The solution to maintain the model capability and meanwhile keep it efficient is a technical challenge, which has not been adequately addressed. To address this issue, we propose an adaptive feature interaction learning model, named as EulerNet, in which the feature interactions are learned in a complex vector space by conducting space mapping according to Euler's formula. EulerNet converts the exponential powers of feature interactions into simple linear combinations of the modulus and phase of the complex features, making it possible to adaptively learn the high-order feature interactions in an efficient way. Furthermore, EulerNet incorporates the implicit and explicit feature interactions into a unified architecture, which achieves the mutual enhancement and largely boosts the model capabilities. Such a network can be fully learned from data, with no need of pre-designed form or order for feature interactions. Extensive experiments conducted on three public datasets have demonstrated the effectiveness and efficiency of our approach.

.. image:: ../../../asset/eulernet.png
:width: 500
:align: center

Quick Start with RecBole
-------------------------

**Model Hyper-Parameters:**

- ``embedding_size (int)`` : The embedding size of features. Defaults to ``16``.
- ``order_list (list)`` : The order vectors of EulerNet.Defaults to ``[30]``.
- ``drop_ex (float)`` : The dropout rate for the modulus and phase. Defaults to ``0.3``.
- ``drop_im (float)`` : The dropout rate for the real and imaginary part. Defaults to ``0.3``.
- ``apply_norm (bool)`` : Whether perform the layer norm. Defaults to ``False``.
- ``reg_weight (float)`` : The L2 regularization weight. Defaults to ``1e-5``.

**A Running Example:**

Write the following code to a python file, such as `run.py`

.. code:: python
from recbole.quick_start import run_recbole
run_recbole(model='EulerNet', dataset='ml-100k')
And then:

.. code:: bash
python run.py
Tuning Hyper Parameters
-------------------------

If you want to use ``HyperTuning`` to tune hyper parameters of this model, you can copy the following settings and name it as ``hyper.test``.

.. code:: bash
learning_rate choice [1e-3,1e-4,1e-5]
reg_weight choice [1e-3,1e-5,1e-7]
order_list choice [7,10,20,30]
drop_ex choice [0.,0.1,0.2,0.3]
drop_im choice [0.,0.1,0.2,0.3]
apply_norm choice [True,False]
Note that we just provide these hyper parameter ranges for reference only, and we can not guarantee that they are the optimal range of this model.

Then, with the source code of RecBole (you can download it from GitHub), you can run the ``run_hyper.py`` to tuning:

.. code:: bash
python run_hyper.py --model=[model_name] --dataset=[dataset_name] --config_files=[config_files_path] --params_file=hyper.test
For more details about Parameter Tuning, refer to :doc:`../../../user_guide/usage/parameter_tuning`.


If you want to change parameters, dataset or evaluation settings, take a look at

- :doc:`../../../user_guide/config_settings`
- :doc:`../../../user_guide/data_intro`
- :doc:`../../../user_guide/train_eval_intro`
- :doc:`../../../user_guide/usage`

6 changes: 5 additions & 1 deletion docs/source/user_guide/model/sequential/fearec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FEARec
Introduction
---------------------

`[paper] <https://arxiv.org/pdf/2304.09184.pdf>`_
`[paper] <https://dl.acm.org/doi/10.1145/3539618.3591689>`_

**Title:** FEARec: Frequency Enhanced Hybrid Attention Network for Sequential Recommendation

Expand Down Expand Up @@ -50,6 +50,10 @@ Write the following code to a python file, such as `run.py`
from recbole.quick_start import run_recbole
parameter_dict = {
'train_neg_sample_args': None,
}
run_recbole(model='FEARec', dataset='ml-100k')
And then:
Expand Down
4 changes: 3 additions & 1 deletion docs/source/user_guide/model_intro.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Model Introduction
=====================
We implement 90 recommendation models covering general recommendation, sequential recommendation,
We implement 91 recommendation models covering general recommendation, sequential recommendation,
context-aware recommendation and knowledge-based recommendation. A brief introduction to these models are as follows:


Expand Down Expand Up @@ -77,6 +77,7 @@ are also support for these models. And evaluation is always conducted in the way
model/context/lightgbm
model/context/kd_dagfm
model/context/fignn
model/context/eulernet


Sequential Recommendation
Expand Down Expand Up @@ -114,6 +115,7 @@ the sequential data. The models of session-based recommendation are also include
model/sequential/lightsans
model/sequential/sine
model/sequential/core
model/sequential/fearec


Knowledge-based Recommendation
Expand Down
Loading

0 comments on commit 2b23b1e

Please sign in to comment.