Our product is your ultimate dining wingman, delivering instant, spot-on recommendations for restaurants and eateries that align with your unique tastes and adventurous spirit when you are in Singapore.
Dataset was obtained by web scraping for restaurants in Singapore. Restaurant names were scraped using an extension by cuisine types and put into the reviews scraper to get the full datset of reviews.
Dataset needed extensive cleaning to remove irrelevant business that were non-dining.
Geographical information (e.g: latitude and longitude) were extracted from the link.
- Word2Vec was used to train the model to predict the relevant restaurants.
- K-Nearest Neighbours (KNN) was used to locate the 5 nearest restaurants based on the location.
- Cleaning of the scraped dataset was time consuming.
- The BERT model has a better prediction but more computational power was required.
Start by cloning the repository to your local machine. Open a terminal and run:
git clone https://github.com/toothyachy/yumspeak.git
cd yumspeakIt's recommended to manage Python versions and virtual environments using pyenv. This ensures that project dependencies do not interfere with system-wide Python packages. If you haven't already, install pyenv by following the instructions on pyenv's GitHub repository.
After installing pyenv, follow these steps to set up a virtual environment for the project:
pyenv install 3.10.62. Create a virtual environment named yumspeak (or another name of your choice) using Python 3.10.6:
pyenv virtualenv 3.10.6 yumspeak3. Activate the virtual environment. Navigate to your project's directory, then set the local Python version to your newly created virtual environment:
cd path/to/yumspeak
pyenv local yumspeakThis step will create a .python-version file in your project directory, automatically activating the yumspeak virtual environment whenever you navigate to this directory.
python --versionThis command should output Python 3.10.6, indicating that the correct version of Python is being used.
Install all the dependencies listed in requirements.txt:
pip install -r requirements.txtEnsure you have a requirements.txt file in your repository with all the necessary libraries, including Pandas, WordCloud, Matplotlib, Seaborn, Plotly, Scikit-learn, NLTK, and Streamlit.
To run the Streamlit application, navigate to the directory containing your Streamlit script (e.g., app.py) and execute:
streamlit run app.pyKaren Ann Leong Jason Chia Huat Soon Lee Yao Guang Ronald Lin Ziwei Song Cai Yin Tricia
Special thanks to Andrii Gegliuk for the guidance throughout this project.