From 3339775f20ce352ef3c733b4f0165b2dd68adbff Mon Sep 17 00:00:00 2001 From: overlordmax <515704170@qq.com> Date: Tue, 7 Jul 2020 10:17:11 +0800 Subject: [PATCH] edit README.md --- README.md | 4 ++-- README_CN.md | 2 +- doc/imgs/flen.png | Bin 0 -> 37003 bytes models/rank/readme.md | 9 ++++++++- 4 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 doc/imgs/flen.png diff --git a/README.md b/README.md index 202d516d..3a2d2f8d 100644 --- a/README.md +++ b/README.md @@ -56,10 +56,10 @@ | Rank | [xDeepFM](models/rank/xdeepfm/model.py) | ✓ | x | ✓ | x | [KDD 2018][xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems](https://dl.acm.org/doi/pdf/10.1145/3219819.3220023) | | Rank | [DIN](models/rank/din/model.py) | ✓ | x | ✓ | x | [KDD 2018][Deep Interest Network for Click-Through Rate Prediction](https://dl.acm.org/doi/pdf/10.1145/3219819.3219823) | | Rank | [DIEN](models/rank/dien/model.py) | ✓ | x | ✓ | x | [AAAI 2019][Deep Interest Evolution Network for Click-Through Rate Prediction](https://www.aaai.org/ojs/index.php/AAAI/article/view/4545/4423) | - | Rank | [AutoInt](models/rank/AutoInt/model.py) | ✓ | x | ✓ | x | [CIKM 2019][AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks](https://arxiv.org/pdf/1810.11921.pdf) | | Rank | [Wide&Deep](models/rank/wide_deep/model.py) | ✓ | x | ✓ | x | [DLRS 2016][Wide & Deep Learning for Recommender Systems](https://dl.acm.org/doi/pdf/10.1145/2988450.2988454) | | Rank | [FGCNN](models/rank/fgcnn/model.py) | ✓ | ✓ | ✓ | ✓ | [WWW 2019][Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction](https://arxiv.org/pdf/1904.04447.pdf) | | Rank | [Fibinet](models/rank/fibinet/model.py) | ✓ | ✓ | ✓ | ✓ | [RecSys19][FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction]( https://arxiv.org/pdf/1905.09433.pdf) | + | Rank | [Flen](models/rank/flen/model.py) | ✓ | ✓ | ✓ | ✓ | [2019][FLEN: Leveraging Field for Scalable CTR Prediction]( https://arxiv.org/pdf/1911.04690.pdf) | | Multi-Task | [ESMM](models/multitask/esmm/model.py) | ✓ | ✓ | ✓ | ✓ | [SIGIR 2018][Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate](https://arxiv.org/abs/1804.07931) | | Multi-Task | [MMOE](models/multitask/mmoe/model.py) | ✓ | ✓ | ✓ | ✓ | [KDD 2018][Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts](https://dl.acm.org/doi/abs/10.1145/3219819.3220007) | | Multi-Task | [ShareBottom](models/multitask/share-bottom/model.py) | ✓ | ✓ | ✓ | ✓ | [1998][Multitask learning](http://reports-archive.adm.cs.cmu.edu/anon/1997/CMU-CS-97-203.pdf) | @@ -90,7 +90,7 @@ > - Other installation problems can be raised in [Paddle Issue](https://github.com/PaddlePaddle/Paddle/issues) or [PaddleRec Issue](https://github.com/PaddlePaddle/PaddleRec/issues) 2. **Install by source code** - + - Install PaddlePaddle ```shell diff --git a/README_CN.md b/README_CN.md index 3a6a63e7..aadf9449 100644 --- a/README_CN.md +++ b/README_CN.md @@ -61,10 +61,10 @@ | 排序 | [xDeepFM](models/rank/xdeepfm/model.py) | ✓ | x | ✓ | x | [KDD 2018][xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems](https://dl.acm.org/doi/pdf/10.1145/3219819.3220023) | | 排序 | [DIN](models/rank/din/model.py) | ✓ | x | ✓ | x | [KDD 2018][Deep Interest Network for Click-Through Rate Prediction](https://dl.acm.org/doi/pdf/10.1145/3219819.3219823) | | 排序 | [DIEN](models/rank/dien/model.py) | ✓ | x | ✓ | x | [AAAI 2019][Deep Interest Evolution Network for Click-Through Rate Prediction](https://www.aaai.org/ojs/index.php/AAAI/article/view/4545/4423) | - | 排序 | [AutoInt](models/rank/AutoInt/model.py) | ✓ | x | ✓ | x | [CIKM 2019][AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks](https://arxiv.org/pdf/1810.11921.pdf) | | 排序 | [Wide&Deep](models/rank/wide_deep/model.py) | ✓ | x | ✓ | x | [DLRS 2016][Wide & Deep Learning for Recommender Systems](https://dl.acm.org/doi/pdf/10.1145/2988450.2988454) | | 排序 | [FGCNN](models/rank/fgcnn/model.py) | ✓ | ✓ | ✓ | ✓ | [WWW 2019][Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction](https://arxiv.org/pdf/1904.04447.pdf) | | 排序 | [Fibinet](models/rank/fibinet/model.py) | ✓ | ✓ | ✓ | ✓ | [RecSys19][FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction]( https://arxiv.org/pdf/1905.09433.pdf) | + | 排序 | [Flen](models/rank/flen/model.py) | ✓ | ✓ | ✓ | ✓ | [2019][FLEN: Leveraging Field for Scalable CTR Prediction]( https://arxiv.org/pdf/1911.04690.pdf) | | 多任务 | [ESMM](models/multitask/esmm/model.py) | ✓ | ✓ | ✓ | ✓ | [SIGIR 2018][Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate](https://arxiv.org/abs/1804.07931) | | 多任务 | [MMOE](models/multitask/mmoe/model.py) | ✓ | ✓ | ✓ | ✓ | [KDD 2018][Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts](https://dl.acm.org/doi/abs/10.1145/3219819.3220007) | | 多任务 | [ShareBottom](models/multitask/share-bottom/model.py) | ✓ | ✓ | ✓ | ✓ | [1998][Multitask learning](http://reports-archive.adm.cs.cmu.edu/anon/1997/CMU-CS-97-203.pdf) | diff --git a/doc/imgs/flen.png b/doc/imgs/flen.png new file mode 100644 index 0000000000000000000000000000000000000000..b8f6cbbe5833237b7a54c60801a142182970fa9b GIT binary patch literal 37003 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 XA>rFQ9j

+[FLEN](https://arxiv.org/pdf/1911.04690.pdf): + +

+ +

## 使用教程(快速开始) @@ -88,6 +93,7 @@ | Wide&Deep | 40 | 1 | 40 | | xDeepFM | 100 | 1 | 10 | | Fibinet | 1000 | 8 | 4 | +| Flen | 512 | 8 | 1 | ### 数据处理 参考每个模型目录数据下载&预处理脚本 @@ -128,6 +134,7 @@ python -m paddlerec.run -m ./config.yaml # 以DNN为例 | Census-income Data | Wide&Deep | 0.76195 | 0.90577 | -- | -- | | Amazon Product | DIN | 0.47005 | 0.86379 | -- | -- | | Criteo | Fibinet | -- | 0.86662 | -- | -- | +| Avazu | Flen | -- | -- | -- | -- | ## 分布式 -- GitLab