Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

NESA: Neural Event Scheduling Assistant

NESA is a deep learning-based event scheduling assistant which can recommend most suitable times for new calendar events of each user. This repository provides the official implementation of NESA. Due to the dataset privacy issue, we instead provide the pre-processing code for your own google calendar data. Please refer to our paper, Learning User Preferences and Understanding Calendar Contexts for Event Scheduling (Kim et al., CIKM 2018), for more details of our model.

Citation

@inproceedings{kim2018learning,
  title={Learning User Preferences and Understanding Calendar Contexts for Event Scheduling},
  author={Kim, Donghyeon and Lee, Jinhyuk and Choi, Donghee and Choi, Jaehoon and Kang, Jaewoo},
  booktitle={Proceedings of the 27th ACM International Conference on Information and Knowledge Management},
  pages={337--346},
  year={2018},
  organization={ACM}
}

Prerequisites

Installation

Check if working directory is "nesa".

# Download sample data
wget --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=101HhzB3Z7mi1tTlKCmaKflxGPqPZP0We' -O sample_data.csv

# Download word, character dictionaries
wget --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=1lbmwZYvaGC-FE13HDuR4jDNg6gssnSKz' -O dataset_180522_dict.pkl

# Download pretrained NESA model
wget --no-check-certificate -r 'https://docs.google.com/uc?export=download&id=1VEYkboNUZdppvpxIU6j-lrT2LSFjs1QK' -O nesa_180522_0.pth

Run NESA with sample data

# Set PYTHONPATH environment variable
$ export PYTHONPATH=$PYTHONPATH:$(pwd)

# Run
$ python3 test.py

(Optional) Run NESA w/ your calendar data

$ python3 get_google_calendar_events.py
  • Check if <primary_calendar_id>_events.csv file is in data directory.
  • Event fields (12-column)
    • [email_address, title, duration_minute, register_time, start_time, start_iso_year, start_iso_week, week_register_sequence, register_start_week_distance, register_start_day_distance, is_recurrent, start_time_slot]
    • Sorted by year, week, and sequence in a week
    • Time slot range: 0 ~ 335
      • 30 minutes * 48 slots * 7 days = 1 week
    • Example: example@example.com,Cafe with J,60,2017-09-19 11:21:43,2017-09-23 10:00:00,2017,38,4,0,1,False,260
  • Results of the model could be different for each dataset.
$ python3 test.py --input_path ./data/<primary_calendar_id>_events.csv

License

Apache License 2.0

About

NESA: Neural Event Scheduling Assistant

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.