- Jian Gao(jg4305)
- Yaning Wang(yw3606)
- Jiongxin Ye(jy3114)
This project develops a New York City traveling place recommendation system. When people are not familiar with NYC, they can enter their requirements into this system and get a list of recommended places. This system searches places in 3 directions: safety level, price level, and popular level. Based on the demand from the user, the algorithm will change the weight for each attribute and select a better location.
Make sure your computer's time/location range is the same as New York Time
If on Windows, right click the date and time on the lower right. Click "Adjust Date/Time". Click "Sync now."
-
Install Anaconda Navigator
-
Open previous built enviroment's Terminal and Install required packages
pip install --upgrade "ibm-watson>=5.3.0"
pip install pandas-gbq
pip install jupyter
pip install notebook
pip install fuzzywuzzy
pip install tqdm
pip install tweepy
pip install geopy
pip install textblob
-
Download zip of this repository. Extract the zip to a place on your disk.
-
Once every package is installed, open a new environment terminal, and type
jupyter notebook
to open Jupyter Notebook -
On the Jupyter Notebook's page, direct into the folder you just extracted.
-
Open the file
main.ipynb
, and run each cell. When you run the cell contains:
if __name__ == "__main__":
main()
The system will open a webpage main.html
-
Type anything to invoke the system. And follow the dialogue of our system to get recommendations!
-
You could type
restart
to restart the system
- There is a limit of requests for Hotel API. We have already run out of it this month. And there are some issues about GCP BigQuery (One of our teammates's account was blocked by Google), thus our previous uploaded data could not be accessed. So we modified our codes that user could only find hotels in zipcode 10025 and 10001. If you type a zipcode that we have not stored any hotel in our bigquery, we will ask you to re-enter a zipcode.
- Analyzing Tweets takes a long time (may be 2 hours or longer), so we update it periodically. You could refer to Twitter folder, there is a README. We have already run it recently and stored data in .csv files so that you do not need to run it again.
- Due to Google GCP Bigquery's slow upload, we have already uploaded all data into tables in BigQuery to save your time.
- Each of us has used up the free experience of $300 plus the extra $50. Thus, in the future, this program may need to add a billing information in the used account.
- IBM Watson Assistant. You could refer the instruction of installation and usage here: IBM Watson Assistant API Doc
- Tweepy
- Google Maps/Places API
- Google GCP Bigquery
- Geopy
- TextBlob
-
How to realize connection between front-end JS and back-end Python. (2019, February 23). bupt_gwy. https://blog.csdn.net/a312863063/article/details/87898349
-
Twitter Inc. (2016). GitHub - twbs/bootstrap: The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web. GitHub. https://github.com/twbs/bootstrap
-
A. Madarang, codepen.io(2021, October 19). 15 CSS Chat Box Examples and Code. AppCode. https://appcode.app/css-chat-box-examples-and-code/
-
NYPD Complaint Data Historic | NYC Open Data. (2021, July 7). NYC OpenData. https://data.cityofnewyork.us/Public-Safety/NYPD-Complaint-Data-Historic/qgea-i56i
-
Shani, G. Gunawardana, A. Evaluating Recommendation Systems. https://www.bgu.ac.il/~shanigu/Publications/EvaluationMetrics.17.pdf