GithubHelp home page GithubHelp logo

skyyyy0920 / mtnet Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 1.0 27.31 MB

Code implementation for our paper "Learning Time Slot Preferences via Mobility Tree for Next POI Recommendation" (AAAI-2024)

License: MIT License

Python 100.00%
data-minig deep-learning recommender-system machine-learning

mtnet's Introduction

MTNet - Mobility Tree Network for Next POI Recommendation

This is the code implementation for our paper Learning Time Slot Preferences via Mobility Tree for Next POI Recommendation (AAAI2024).

Cite our work

@article{Huang_Pan_Cai_Zhang_Yuan_2024,
  title={Learning Time Slot Preferences via Mobility Tree for Next POI Recommendation}, volume={38},
  url={https://ojs.aaai.org/index.php/AAAI/article/view/28697},
  DOI={10.1609/aaai.v38i8.28697},
  abstractNote={Next Point-of-Interests (POIs) recommendation task aims to provide a dynamic ranking of POIs based on users’ current check-in trajectories. The recommendation performance of this task is contingent upon a comprehensive understanding of users’ personalized behavioral patterns through Location-based Social Networks (LBSNs) data. While prior studies have adeptly captured sequential patterns and transitional relationships within users’ check-in trajectories, a noticeable gap persists in devising a mechanism for discerning specialized behavioral patterns during distinct time slots, such as noon, afternoon, or evening. In this paper, we introduce an innovative data structure termed the ``Mobility Tree’’, tailored for hierarchically describing users’ check-in records. The Mobility Tree encompasses multi-granularity time slot nodes to learn user preferences across varying temporal periods. Meanwhile, we propose the Mobility Tree Network (MTNet), a multitask framework for personalized preference learning based on Mobility Trees. We develop a four-step node interaction operation to propagate feature information from the leaf nodes to the root node. Additionally, we adopt a multitask training strategy to push the model towards learning a robust representation. The comprehensive experimental results demonstrate the superiority of MTNet over eleven state-of-the-art next POI recommendation models across three real-world LBSN datasets, substantiating the efficacy of time slot preference learning facilitated by Mobility Tree.}, number={8},
  journal={Proceedings of the AAAI Conference on Artificial Intelligence},
  author={Huang, Tianhao and Pan, Xuan and Cai, Xiangrui and Zhang, Ying and Yuan, Xiaojie},
  year={2024}, month={Mar.},
  pages={8535-8543} }

Requirements

pip install -r requirements.txt

Training, Validation and Testing

  • Adjust the configuration in config.py
  • Run main.py

FAQ

  • Q: How about the total running time?
    A: NYC dataset runs for about 1 hour on NVIDIA GeForce RTX 2060. For Gowalla and TKY datasets, this time is about 2.5 hours.

  • Q: Where are the TKY and Gowalla dataset?
    A: See Issue.

mtnet's People

Contributors

skyyyy0920 avatar

Stargazers

 avatar Yicheng avatar  avatar  avatar Germano Barcelos avatar Yantong Lai avatar Jay avatar clllloud avatar  avatar euphoria avatar Xuyao Wang avatar

Watchers

 avatar

Forkers

wangyl0602

mtnet's Issues

数据预处理

求一份大佬的数据预处理代码
按照文章中陈述的预处理步骤:
1.数据清洗
2.通过用户、时间划分轨迹
3.通过时间划分训练集、验证集、测试集

处理后的数据会导致训练集中POI并没有包含所有的POI,即测试集中会出现新POI,而代码中似乎没有对此做一些特殊处理。
我尝试用自己的数据集处理后运行代码,但是因为这个问题,训练过程没有问题,但测试中报了KeyError
救救孩子吧

Can you provide the data preprocessing code?

This repo is an incredibly intriguing work and I am eager to replicate your experimental results starting from the raw check-in data. I would appreciate more details on how you preprocess those raw check-in data. If you can share the data preprocessing code, that would be immensely helpful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.