diff --git a/asset/dataset_list.json b/asset/dataset_list.json
index 7f3fe07e5..9550df70e 100644
--- a/asset/dataset_list.json
+++ b/asset/dataset_list.json
@@ -1,455 +1,478 @@
{
- "data": [
- {
- "dataset": "MovieLens",
- "dataset_link": "https://github.com/RUCAIBox/RecDatasets/tree/master/dataset_info/MovieLens",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Rating",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/MovieLens.md"
- },
- {
- "dataset": "Anime",
- "dataset_link": "",
- "user_num": "73,515",
- "item_num": "11,200",
- "inter_num": "7,813,737",
- "sparsity": "99.05%",
- "type": "Rating [-1, 1-10]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Anime.md"
- },
- {
- "dataset": "Epinions",
- "dataset_link": "",
- "user_num": "116,260",
- "item_num": "41,269",
- "inter_num": "188,478",
- "sparsity": "99.99%",
- "type": "Rating [1-5]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Epinions.md"
- },
- {
- "dataset": "Yelp",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Yelp",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Rating",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Yelp.md"
- },
- {
- "dataset": "Netflix",
- "dataset_link": "",
- "user_num": "480,189",
- "item_num": "17,770",
- "inter_num": "100,480,507",
- "sparsity": "98.82%",
- "type": "Rating [1-5]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Netflix.md"
- },
- {
- "dataset": "Book-Crossing",
- "dataset_link": "",
- "user_num": "105,284",
- "item_num": "340,557",
- "inter_num": "1,149,780",
- "sparsity": "99.99%",
- "type": "Rating [0-10]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Book-Crossing.md"
- },
- {
- "dataset": "Jester",
- "dataset_link": "",
- "user_num": "73,421",
- "item_num": "101",
- "inter_num": "4,136,360",
- "sparsity": "44.22%",
- "type": "Rating [-10, 10]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Jester.md"
- },
- {
- "dataset": "Douban",
- "dataset_link": "",
- "user_num": "738,701",
- "item_num": "28",
- "inter_num": "2,125,056",
- "sparsity": "89.73%",
- "type": "Rating [0, 5]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Douban.md"
- },
- {
- "dataset": "Yahoo Music",
- "dataset_link": "",
- "user_num": "1,948,882",
- "item_num": "98,211",
- "inter_num": "111,557,943",
- "sparsity": "99.99%",
- "type": "Rating [0, 100]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/YahooMusic.md"
- },
- {
- "dataset": "KDD2010",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/KDD2010",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Rating",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/KDD2010.md"
- },
- {
- "dataset": "Amazon",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Amazon",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Rating [0, 5]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Amazon.md"
- },
- {
- "dataset": "Pinterest",
- "dataset_link": "",
- "user_num": "55,187",
- "item_num": "9,911",
- "inter_num": "1,445,622",
- "sparsity": "99.74%",
- "type": "-",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Pinterest.md"
- },
- {
- "dataset": "Gowalla",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Gowalla",
- "user_num": "107,092",
- "item_num": "1,280,969",
- "inter_num": "6,442,892",
- "sparsity": "99.99%",
- "type": "Check-in",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Gowalla.md"
- },
- {
- "dataset": "Last.FM",
- "dataset_link": "",
- "user_num": "1,892",
- "item_num": "17,632",
- "inter_num": "92,834",
- "sparsity": "99.72%",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/LastFM.md"
- },
- {
- "dataset": "DIGINETICA",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/DIGINETICA",
- "user_num": "204,789",
- "item_num": "184,047",
- "inter_num": "993,483",
- "sparsity": "99.99%",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/DIGINETICA.md"
- },
- {
- "dataset": "Steam",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Steam",
- "user_num": "2,567,538",
- "item_num": "32,135",
- "inter_num": "7,793,069",
- "sparsity": "99.99%",
- "type": "Buy",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Steam.md"
- },
- {
- "dataset": "Ta Feng",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/TaFeng",
- "user_num": "32,266",
- "item_num": "23,812",
- "inter_num": "817,741",
- "sparsity": "99.89%",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/TaFeng.md"
- },
- {
- "dataset": "Foursquare",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Foursquare",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Check-in",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Foursquare.md"
- },
- {
- "dataset": "Tmall",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Tmall",
- "user_num": "963,923",
- "item_num": "2,353,207",
- "inter_num": "44,528,127",
- "sparsity": "99.99%",
- "type": "Click/Buy",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Tmall.md"
- },
- {
- "dataset": "YOOCHOOSE",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/YOOCHOOSE",
- "user_num": "9,249,729",
- "item_num": "52,739",
- "inter_num": "34,154,697",
- "sparsity": "99.99%",
- "type": "Click/Buy",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/YOOCHOOSE.md"
- },
- {
- "dataset": "Retailrocket",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Retailrocket",
- "user_num": "1,407,580",
- "item_num": "247,085",
- "inter_num": "2,756,101",
- "sparsity": "99.99%",
- "type": "View/Addtocart/Transaction",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Retailrocket.md"
- },
- {
- "dataset": "LFM-1b",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/LFM-1b",
- "user_num": "120,322",
- "item_num": "3,123,496",
- "inter_num": "1,088,161,692",
- "sparsity": "99.71%",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/LFM-1b.md"
- },
- {
- "dataset": "MIND",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/MIND",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/MIND.md"
- },
- {
- "dataset": "BeerAdvocate",
- "dataset_link": "",
- "user_num": "33,388",
- "item_num": "66,055",
- "inter_num": "1,586,614",
- "sparsity": "99.9281%",
- "type": "Rating [0, 5]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#multi_aspect"
- },
- {
- "dataset": "Behance",
- "dataset_link": "",
- "user_num": "63,497",
- "item_num": "178,788",
- "inter_num": "1,000,000",
- "sparsity": "99.9912%",
- "type": "Likes",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#behance"
- },
- {
- "dataset": "DianPing",
- "dataset_link": "",
- "user_num": "542,706",
- "item_num": "243,247",
- "inter_num": "4,422,473",
- "sparsity": "99.9967%",
- "type": "Rating [0, 5]",
- "link_name": "link",
- "link_url": "http://yongfeng.me/dataset/"
- },
- {
- "dataset": "EndoMondo",
- "dataset_link": "",
- "user_num": "1,104",
- "item_num": "253,020",
- "inter_num": "253,020",
- "sparsity": "99.9094%",
- "type": "Workout Logs",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#endomondo"
- },
- {
- "dataset": "Food",
- "dataset_link": "",
- "user_num": "226,570",
- "item_num": "231,637",
- "inter_num": "1,132,367",
- "sparsity": "99.9978%",
- "type": "Rating [0, 5]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#foodcom"
- },
- {
- "dataset": "GoodReads",
- "dataset_link": "",
- "user_num": "876,145",
- "item_num": "2,360,650",
- "inter_num": "228,648,342",
- "sparsity": "99.9889%",
- "type": "Rating [0, 5]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#goodreads"
- },
- {
- "dataset": "KGRec",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/KGRec",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "-",
- "sparsity": "-",
- "type": "Click",
- "link_name": "link",
- "link_url": "https://www.upf.edu/web/mtg/kgrec"
- },
- {
- "dataset": "ModCloth",
- "dataset_link": "",
- "user_num": "47,958",
- "item_num": "1,378",
- "inter_num": "82,790",
- "sparsity": "99.8747%",
- "type": "Rating [0, 5]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#clothing_fit"
- },
- {
- "dataset": "RateBeer",
- "dataset_link": "",
- "user_num": "29,265",
- "item_num": "110,369",
- "inter_num": "2,924,163",
- "sparsity": "99.9095%",
- "type": "Overall Rating [0, 20]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#multi_aspect"
- },
- {
- "dataset": "RentTheRunway",
- "dataset_link": "",
- "user_num": "105,571",
- "item_num": "5,850",
- "inter_num": "192,544",
- "sparsity": "99.9688%",
- "type": "Rating [0, 10]",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#clothing_fit"
- },
- {
- "dataset": "Twitch",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Twitch",
- "user_num": "15,524,309",
- "item_num": "6,161,666",
- "inter_num": "474,676,929",
- "sparsity": "99.9995%",
- "type": "Click",
- "link_name": "link",
- "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#twitch"
- },
- {
- "dataset": "Criteo",
- "dataset_link": "",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "45,850,617",
- "sparsity": "-",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Criteo.md"
- },
- {
- "dataset": "Avazu",
- "dataset_link": "",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "40,428,967",
- "sparsity": "-",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Avazu.md"
- },
- {
- "dataset": "iPinYou",
- "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/iPinYou",
- "user_num": "19,731,660",
- "item_num": "163",
- "inter_num": "24,637,657",
- "sparsity": "99.23%",
- "type": "View/Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/iPinYou.md"
- },
- {
- "dataset": "Phishing websites",
- "dataset_link": "",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "11,055",
- "sparsity": "-",
- "type": "Click",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Phishing%20Websites.md"
- },
- {
- "dataset": "Adult",
- "dataset_link": "",
- "user_num": "-",
- "item_num": "-",
- "inter_num": "32,561",
- "sparsity": "-",
- "type": "income>=50k [0, 1]",
- "link_name": "script",
- "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Adult.md"
- },
- {
- "dataset": "Alibaba-iFashion",
- "dataset_link": "",
- "user_num": "3,569,112",
- "item_num": "4,463,302",
- "inter_num": "191,394,393",
- "sparsity": "99.9988%",
- "type": "Click",
- "link_name": "link",
- "link_url": "https://github.com/wenyuer/POG"
- },
- {
- "dataset": "AliEC",
- "dataset_link": "",
- "user_num": "491,647",
- "item_num": "240,130",
- "inter_num": "1,366,056",
- "sparsity": "99.9988%",
- "type": "Click",
- "link_name": "link",
- "link_url": "https://tianchi.aliyun.com/dataset/dataDetail?dataId=56#1"
- }
- ]
-}
+ "data": [
+ {
+ "dataset": "MovieLens",
+ "dataset_link": "https://github.com/RUCAIBox/RecDatasets/tree/master/dataset_info/MovieLens",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Rating",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/MovieLens.md"
+ },
+ {
+ "dataset": "Anime",
+ "dataset_link": "",
+ "user_num": "73,515",
+ "item_num": "11,200",
+ "inter_num": "7,813,737",
+ "sparsity": "99.05%",
+ "type": "Rating [-1, 1-10]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Anime.md"
+ },
+ {
+ "dataset": "Epinions",
+ "dataset_link": "",
+ "user_num": "116,260",
+ "item_num": "41,269",
+ "inter_num": "188,478",
+ "sparsity": "99.99%",
+ "type": "Rating [1-5]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Epinions.md"
+ },
+ {
+ "dataset": "Yelp",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Yelp",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Rating",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Yelp.md"
+ },
+ {
+ "dataset": "Netflix",
+ "dataset_link": "",
+ "user_num": "480,189",
+ "item_num": "17,770",
+ "inter_num": "100,480,507",
+ "sparsity": "98.82%",
+ "type": "Rating [1-5]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Netflix.md"
+ },
+ {
+ "dataset": "Book-Crossing",
+ "dataset_link": "",
+ "user_num": "105,284",
+ "item_num": "340,557",
+ "inter_num": "1,149,780",
+ "sparsity": "99.99%",
+ "type": "Rating [0-10]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Book-Crossing.md"
+ },
+ {
+ "dataset": "Jester",
+ "dataset_link": "",
+ "user_num": "73,421",
+ "item_num": "101",
+ "inter_num": "4,136,360",
+ "sparsity": "44.22%",
+ "type": "Rating [-10, 10]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Jester.md"
+ },
+ {
+ "dataset": "Douban",
+ "dataset_link": "",
+ "user_num": "738,701",
+ "item_num": "28",
+ "inter_num": "2,125,056",
+ "sparsity": "89.73%",
+ "type": "Rating [0, 5]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Douban.md"
+ },
+ {
+ "dataset": "Yahoo Music",
+ "dataset_link": "",
+ "user_num": "1,948,882",
+ "item_num": "98,211",
+ "inter_num": "111,557,943",
+ "sparsity": "99.99%",
+ "type": "Rating [0, 100]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/YahooMusic.md"
+ },
+ {
+ "dataset": "KDD2010",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/KDD2010",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Rating",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/KDD2010.md"
+ },
+ {
+ "dataset": "Amazon",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Amazon",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Rating [0, 5]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Amazon.md"
+ },
+ {
+ "dataset": "Pinterest",
+ "dataset_link": "",
+ "user_num": "55,187",
+ "item_num": "9,911",
+ "inter_num": "1,445,622",
+ "sparsity": "99.74%",
+ "type": "-",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Pinterest.md"
+ },
+ {
+ "dataset": "Gowalla",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Gowalla",
+ "user_num": "107,092",
+ "item_num": "1,280,969",
+ "inter_num": "6,442,892",
+ "sparsity": "99.99%",
+ "type": "Check-in",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Gowalla.md"
+ },
+ {
+ "dataset": "Last.FM",
+ "dataset_link": "",
+ "user_num": "1,892",
+ "item_num": "17,632",
+ "inter_num": "92,834",
+ "sparsity": "99.72%",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/LastFM.md"
+ },
+ {
+ "dataset": "DIGINETICA",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/DIGINETICA",
+ "user_num": "204,789",
+ "item_num": "184,047",
+ "inter_num": "993,483",
+ "sparsity": "99.99%",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/DIGINETICA.md"
+ },
+ {
+ "dataset": "Steam",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Steam",
+ "user_num": "2,567,538",
+ "item_num": "32,135",
+ "inter_num": "7,793,069",
+ "sparsity": "99.99%",
+ "type": "Buy",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Steam.md"
+ },
+ {
+ "dataset": "Ta Feng",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/TaFeng",
+ "user_num": "32,266",
+ "item_num": "23,812",
+ "inter_num": "817,741",
+ "sparsity": "99.89%",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/TaFeng.md"
+ },
+ {
+ "dataset": "Foursquare",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Foursquare",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Check-in",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Foursquare.md"
+ },
+ {
+ "dataset": "Tmall",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Tmall",
+ "user_num": "963,923",
+ "item_num": "2,353,207",
+ "inter_num": "44,528,127",
+ "sparsity": "99.99%",
+ "type": "Click/Buy",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Tmall.md"
+ },
+ {
+ "dataset": "YOOCHOOSE",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/YOOCHOOSE",
+ "user_num": "9,249,729",
+ "item_num": "52,739",
+ "inter_num": "34,154,697",
+ "sparsity": "99.99%",
+ "type": "Click/Buy",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/YOOCHOOSE.md"
+ },
+ {
+ "dataset": "Retailrocket",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Retailrocket",
+ "user_num": "1,407,580",
+ "item_num": "247,085",
+ "inter_num": "2,756,101",
+ "sparsity": "99.99%",
+ "type": "View/Addtocart/Transaction",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Retailrocket.md"
+ },
+ {
+ "dataset": "LFM-1b",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/LFM-1b",
+ "user_num": "120,322",
+ "item_num": "3,123,496",
+ "inter_num": "1,088,161,692",
+ "sparsity": "99.71%",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/LFM-1b.md"
+ },
+ {
+ "dataset": "MIND",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/MIND",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/MIND.md"
+ },
+ {
+ "dataset": "BeerAdvocate",
+ "dataset_link": "",
+ "user_num": "33,388",
+ "item_num": "66,055",
+ "inter_num": "1,586,614",
+ "sparsity": "99.9281%",
+ "type": "Rating [0, 5]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#multi_aspect"
+ },
+ {
+ "dataset": "Behance",
+ "dataset_link": "",
+ "user_num": "63,497",
+ "item_num": "178,788",
+ "inter_num": "1,000,000",
+ "sparsity": "99.9912%",
+ "type": "Likes",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#behance"
+ },
+ {
+ "dataset": "DianPing",
+ "dataset_link": "",
+ "user_num": "542,706",
+ "item_num": "243,247",
+ "inter_num": "4,422,473",
+ "sparsity": "99.9967%",
+ "type": "Rating [0, 5]",
+ "link_name": "link",
+ "link_url": "http://yongfeng.me/dataset/"
+ },
+ {
+ "dataset": "EndoMondo",
+ "dataset_link": "",
+ "user_num": "1,104",
+ "item_num": "253,020",
+ "inter_num": "253,020",
+ "sparsity": "99.9094%",
+ "type": "Workout Logs",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#endomondo"
+ },
+ {
+ "dataset": "Food",
+ "dataset_link": "",
+ "user_num": "226,570",
+ "item_num": "231,637",
+ "inter_num": "1,132,367",
+ "sparsity": "99.9978%",
+ "type": "Rating [0, 5]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#foodcom"
+ },
+ {
+ "dataset": "GoodReads",
+ "dataset_link": "",
+ "user_num": "876,145",
+ "item_num": "2,360,650",
+ "inter_num": "228,648,342",
+ "sparsity": "99.9889%",
+ "type": "Rating [0, 5]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#goodreads"
+ },
+ {
+ "dataset": "KGRec",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/KGRec",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "-",
+ "sparsity": "-",
+ "type": "Click",
+ "link_name": "link",
+ "link_url": "https://www.upf.edu/web/mtg/kgrec"
+ },
+ {
+ "dataset": "ModCloth",
+ "dataset_link": "",
+ "user_num": "47,958",
+ "item_num": "1,378",
+ "inter_num": "82,790",
+ "sparsity": "99.8747%",
+ "type": "Rating [0, 5]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#clothing_fit"
+ },
+ {
+ "dataset": "RateBeer",
+ "dataset_link": "",
+ "user_num": "29,265",
+ "item_num": "110,369",
+ "inter_num": "2,924,163",
+ "sparsity": "99.9095%",
+ "type": "Overall Rating [0, 20]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#multi_aspect"
+ },
+ {
+ "dataset": "RentTheRunway",
+ "dataset_link": "",
+ "user_num": "105,571",
+ "item_num": "5,850",
+ "inter_num": "192,544",
+ "sparsity": "99.9688%",
+ "type": "Rating [0, 10]",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#clothing_fit"
+ },
+ {
+ "dataset": "Twitch",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/Twitch",
+ "user_num": "15,524,309",
+ "item_num": "6,161,666",
+ "inter_num": "474,676,929",
+ "sparsity": "99.9995%",
+ "type": "Click",
+ "link_name": "link",
+ "link_url": "https://cseweb.ucsd.edu/~jmcauley/datasets.html#twitch"
+ },
+ {
+ "dataset": "Criteo",
+ "dataset_link": "",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "45,850,617",
+ "sparsity": "-",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Criteo.md"
+ },
+ {
+ "dataset": "Avazu",
+ "dataset_link": "",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "40,428,967",
+ "sparsity": "-",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Avazu.md"
+ },
+ {
+ "dataset": "iPinYou",
+ "dataset_link": "https://github.com/RUCAIBox/RecommenderSystems-Datasets/tree/master/dataset_info/iPinYou",
+ "user_num": "19,731,660",
+ "item_num": "163",
+ "inter_num": "24,637,657",
+ "sparsity": "99.23%",
+ "type": "View/Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/iPinYou.md"
+ },
+ {
+ "dataset": "Phishing websites",
+ "dataset_link": "",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "11,055",
+ "sparsity": "-",
+ "type": "Click",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Phishing%20Websites.md"
+ },
+ {
+ "dataset": "Adult",
+ "dataset_link": "",
+ "user_num": "-",
+ "item_num": "-",
+ "inter_num": "32,561",
+ "sparsity": "-",
+ "type": "income>=50k [0, 1]",
+ "link_name": "script",
+ "link_url": "https://github.com/RUCAIBox/RecDatasets/blob/master/conversion_tools/usage/Adult.md"
+ },
+ {
+ "dataset": "Alibaba-iFashion",
+ "dataset_link": "",
+ "user_num": "3,569,112",
+ "item_num": "4,463,302",
+ "inter_num": "191,394,393",
+ "sparsity": "99.9988%",
+ "type": "Click",
+ "link_name": "link",
+ "link_url": "https://github.com/wenyuer/POG"
+ },
+ {
+ "dataset": "AliEC",
+ "dataset_link": "",
+ "user_num": "491,647",
+ "item_num": "240,130",
+ "inter_num": "1,366,056",
+ "sparsity": "99.9988%",
+ "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"
+ }
+ ]
+ }
+
\ No newline at end of file
diff --git a/asset/model_list.json b/asset/model_list.json
index e75baa9b1..b28b66ded 100644
--- a/asset/model_list.json
+++ b/asset/model_list.json
@@ -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",
@@ -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"
}
]
}
\ No newline at end of file
diff --git a/docs/source/asset/eulernet.png b/docs/source/asset/eulernet.png
new file mode 100644
index 000000000..d0bd2a399
Binary files /dev/null and b/docs/source/asset/eulernet.png differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index b79663e78..adbaa00b9 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -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 ---------------------------------------------------
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 4424279ce..7029d68a0 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -1,24 +1,24 @@
.. RecBole documentation master file.
-.. title:: RecBole v1.1.1
+.. title:: RecBole v1.2.0
.. image:: asset/logo.png
=========================================================
-`HomePage `_ | `Docs `_ | `GitHub `_ | `Datasets `_ | `v0.1.2 `_ | `v0.2.0 `_ | `v1.0.0 `_ | `v1.0.1 `_
+`HomePage `_ | `Docs `_ | `GitHub `_ | `Datasets `_ | `v0.1.2 `_ | `v0.2.0 `_ | `v1.0.0 `_ | `v1.0.1 `_ | `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
@@ -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
diff --git a/docs/source/recbole/recbole.model.context_aware_recommender.eulernet.rst b/docs/source/recbole/recbole.model.context_aware_recommender.eulernet.rst
new file mode 100644
index 000000000..2bce28639
--- /dev/null
+++ b/docs/source/recbole/recbole.model.context_aware_recommender.eulernet.rst
@@ -0,0 +1,4 @@
+.. automodule:: recbole.model.context_aware_recommender.eulernet
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/source/recbole/recbole.model.context_aware_recommender.rst b/docs/source/recbole/recbole.model.context_aware_recommender.rst
index aeb5c3c5e..cec5a570e 100644
--- a/docs/source/recbole/recbole.model.context_aware_recommender.rst
+++ b/docs/source/recbole/recbole.model.context_aware_recommender.rst
@@ -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
diff --git a/docs/source/recbole/recbole.model.general_recommender.diffrec.rst b/docs/source/recbole/recbole.model.general_recommender.diffrec.rst
new file mode 100644
index 000000000..42616f5d7
--- /dev/null
+++ b/docs/source/recbole/recbole.model.general_recommender.diffrec.rst
@@ -0,0 +1,4 @@
+.. automodule:: recbole.model.general_recommender.diffrec
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/source/recbole/recbole.model.general_recommender.ldiffrec.rst b/docs/source/recbole/recbole.model.general_recommender.ldiffrec.rst
new file mode 100644
index 000000000..84578d475
--- /dev/null
+++ b/docs/source/recbole/recbole.model.general_recommender.ldiffrec.rst
@@ -0,0 +1,4 @@
+.. automodule:: recbole.model.general_recommender.ldiffrec
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/source/recbole/recbole.model.general_recommender.random.rst b/docs/source/recbole/recbole.model.general_recommender.random.rst
new file mode 100644
index 000000000..d53401448
--- /dev/null
+++ b/docs/source/recbole/recbole.model.general_recommender.random.rst
@@ -0,0 +1,4 @@
+.. automodule:: recbole.model.general_recommender.random
+ :members:
+ :undoc-members:
+ :show-inheritance:
\ No newline at end of file
diff --git a/docs/source/recbole/recbole.model.general_recommender.rst b/docs/source/recbole/recbole.model.general_recommender.rst
index d9a3aa951..9436371ad 100644
--- a/docs/source/recbole/recbole.model.general_recommender.rst
+++ b/docs/source/recbole/recbole.model.general_recommender.rst
@@ -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
diff --git a/docs/source/recbole/recbole.model.knowledge_aware_recommender.rst b/docs/source/recbole/recbole.model.knowledge_aware_recommender.rst
index fd025e998..a5dcb3da6 100644
--- a/docs/source/recbole/recbole.model.knowledge_aware_recommender.rst
+++ b/docs/source/recbole/recbole.model.knowledge_aware_recommender.rst
@@ -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
diff --git a/docs/source/recbole/recbole.model.sequential_recommender.fearec.rst b/docs/source/recbole/recbole.model.sequential_recommender.fearec.rst
new file mode 100644
index 000000000..05c55c3b8
--- /dev/null
+++ b/docs/source/recbole/recbole.model.sequential_recommender.fearec.rst
@@ -0,0 +1,4 @@
+.. automodule:: recbole.model.sequential_recommender.fearec
+ :members:
+ :undoc-members:
+ :show-inheritance:
diff --git a/docs/source/recbole/recbole.model.sequential_recommender.rst b/docs/source/recbole/recbole.model.sequential_recommender.rst
index b144f4465..d328631a1 100644
--- a/docs/source/recbole/recbole.model.sequential_recommender.rst
+++ b/docs/source/recbole/recbole.model.sequential_recommender.rst
@@ -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
diff --git a/docs/source/user_guide/data_intro.rst b/docs/source/user_guide/data_intro.rst
index e9517b3c8..45d4be4c0 100644
--- a/docs/source/user_guide/data_intro.rst
+++ b/docs/source/user_guide/data_intro.rst
@@ -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.
diff --git a/docs/source/user_guide/model/context/eulernet.rst b/docs/source/user_guide/model/context/eulernet.rst
new file mode 100644
index 000000000..f02662916
--- /dev/null
+++ b/docs/source/user_guide/model/context/eulernet.rst
@@ -0,0 +1,78 @@
+EulerNet
+===========
+
+Introduction
+---------------------
+
+`[paper] `_
+
+**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`
+
diff --git a/docs/source/user_guide/model/sequential/fearec.rst b/docs/source/user_guide/model/sequential/fearec.rst
index 40219d2e4..61db9f0df 100644
--- a/docs/source/user_guide/model/sequential/fearec.rst
+++ b/docs/source/user_guide/model/sequential/fearec.rst
@@ -4,7 +4,7 @@ FEARec
Introduction
---------------------
-`[paper] `_
+`[paper] `_
**Title:** FEARec: Frequency Enhanced Hybrid Attention Network for Sequential Recommendation
@@ -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:
diff --git a/docs/source/user_guide/model_intro.rst b/docs/source/user_guide/model_intro.rst
index 54fb813b7..8b4c59d78 100644
--- a/docs/source/user_guide/model_intro.rst
+++ b/docs/source/user_guide/model_intro.rst
@@ -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:
@@ -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
@@ -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
diff --git a/recbole/model/general_recommender/__init__.py b/recbole/model/general_recommender/__init__.py
index 04187e129..e71f2b4ec 100644
--- a/recbole/model/general_recommender/__init__.py
+++ b/recbole/model/general_recommender/__init__.py
@@ -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
diff --git a/recbole/model/sequential_recommender/fearec.py b/recbole/model/sequential_recommender/fearec.py
index 5f2854117..f16385962 100644
--- a/recbole/model/sequential_recommender/fearec.py
+++ b/recbole/model/sequential_recommender/fearec.py
@@ -101,12 +101,10 @@ def __init__(self, config, dataset):
def get_same_item_index(self, dataset):
same_target_index = {}
target_item = dataset.inter_feat[self.ITEM_ID].numpy()
- count = 0
for index, item_id in enumerate(target_item):
all_index_same_id = np.where(target_item == item_id)[0]
same_target_index[item_id] = all_index_same_id
- count += 1
return same_target_index