Skip to content

Commit

Permalink
Merge pull request #1901 from TayTroye/docs
Browse files Browse the repository at this point in the history
FIX: update docs
  • Loading branch information
zhengbw0324 authored Nov 2, 2023
2 parents 27ea565 + d9bfa51 commit 7a574e4
Show file tree
Hide file tree
Showing 20 changed files with 666 additions and 495 deletions.
931 changes: 477 additions & 454 deletions asset/dataset_list.json

Large diffs are not rendered by default.

83 changes: 56 additions & 27 deletions asset/model_list.json
Original file line number Diff line number Diff line change
Expand Up @@ -1987,33 +1987,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 Expand Up @@ -2143,6 +2116,62 @@
"ref_code": "",
"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": "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": "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"
}
]
}
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.
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@
# -- Project information -----------------------------------------------------

project = "RecBole"
copyright = "2020-2022, RecBole Contributors"
copyright = "2020-2023, RecBole Contributors"
author = "AIBox RecBole group"

# The full version, including alpha/beta/rc tags
release = "1.1.1"
release = "1.2.0"


# -- General configuration ---------------------------------------------------
Expand Down
10 changes: 5 additions & 5 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
.. 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
- Context-aware Recommendation
- Knowledge-based Recommendation

We design a unified and flexible data file format, and provide the support for 41 benchmark recommendation datasets `[Collected Datasets]`_. A user can apply the provided script to process the original data copy, or simply download the processed datasets by our team.
We design a unified and flexible data file format, and provide the support for 43 benchmark recommendation datasets `[Collected Datasets]`_. A user can apply the provided script to process the original data copy, or simply download the processed datasets by our team.

.. image:: asset/framework.png
:width: 600
Expand All @@ -29,7 +29,7 @@ Features:
- General and extensible data structure
We deign general and extensible data structures to unify the formatting and usage of various recommendation datasets.
- Comprehensive benchmark models and datasets
We implement 86 commonly used recommendation algorithms, and provide the formatted copies of 41 recommendation datasets.
We implement 91 commonly used recommendation algorithms, and provide the formatted copies of 43 recommendation datasets.
- Efficient GPU-accelerated execution
We design many tailored strategies in the GPU environment to enhance the efficiency of our library.
- Extensive and standard evaluation protocols
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
1 change: 0 additions & 1 deletion recbole/model/general_recommender/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
from recbole.model.general_recommender.macridvae import MacridVAE
from recbole.model.general_recommender.multidae import MultiDAE
from recbole.model.general_recommender.multivae import MultiVAE
from recbole.model.general_recommender.enmf import ENMF
from recbole.model.general_recommender.nais import NAIS
from recbole.model.general_recommender.ncl import NCL
from recbole.model.general_recommender.neumf import NeuMF
Expand Down
Loading

0 comments on commit 7a574e4

Please sign in to comment.