Skip to content

NA-Dev/nlp-wine-recommender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NLP Wine Recommender

Executive Summary

Using a publicly available list of wines and taster reviews, we used a series of Natural Language Processing steps to enrich the data set to include wine type and flavor profiles. Next, a terminal app will take your answers to a series of questions and return wine recommendations. Additional steps were taken to scrape a local grocery store's inventory to see which of these wines were available locally.

See recommender.gif for a screen capture of the terminal app, ProjectPresentation.pdf for presentation, and Write_Up.pdf for full report.

How to Run the Recommender Terminal App

  • Download Repo
  • Run Application Script: filters.py
  • Follow CLI prompts
  • Sample Output: recommendations.txt

Data Sources

Original dataset: winemag-data-130k-v2.csv Source: https://www.kaggle.com/christopheiv/winemagdata130k

Original grape Variety list : grape_list.csv Source: https://en.wikipedia.org/wiki/List_of_grape_varieties

Data Pre-Processing

Step 1: Parsing the grape list

  • Parser script: grape_list_parser.py
  • Output: grape_list_parsed.csv
  • Unit test: grape_list_parser_test.py

Step 2: Match wines with wine type (Red, White, Rosé, Sparkling, Blend)

  • Matching script: grape_id.py
  • Unit test: grape_id_test.py
  • Output: wine_with_type.csv

Step 3: Add Flavor Profile Tags

  • Definitions: 3. NLP Definitions.pdf
  • NLP Test on Subset: Desc_Test_1_Box.ipynb
  • Chunked Categorizer Script: Add_Categories.py
  • Output: wine_with_flavors.csv

Optional Steps

Step 5: Scrape wine list from my local grocer

  • Scraper: grocer_scraper.py (modify for your grocer's website)
  • Output: grocery_list.csv

Step 6: Compare lists to mark locally available wines

  • Comparer Script: grocer_availability.py
  • Output: wine_with_availability.csv

Step 7: Look into wine taster details

  • Notebook: reviewer_analysis.ipynb

This a continuation of a group final project for CS 5010: Python for Data Analysis with contributors Nikki Aaron, Bev Dobrenz, Joseph Wysocki, and Amanda West.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published