MatanYehudaDataAnalyst commited on
Commit
16281b5
Β·
verified Β·
1 Parent(s): 01329b0

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +49 -7
README.md CHANGED
@@ -1,14 +1,56 @@
1
  ---
2
- title: Finalproject VEN
3
- emoji: πŸ“‰
4
- colorFrom: red
5
- colorTo: gray
6
  sdk: gradio
7
- sdk_version: 6.3.0
8
  app_file: app.py
9
  pinned: false
10
  license: mit
11
- short_description: recommendation system
12
  ---
13
 
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: VEN - AI Restaurant Matchmaker
3
+ emoji: πŸ”
4
+ colorFrom: blue
5
+ colorTo: indigo
6
  sdk: gradio
7
+ sdk_version: 5.0.0
8
  app_file: app.py
9
  pinned: false
10
  license: mit
 
11
  ---
12
 
13
+ # πŸ” VEN: Semantic Restaurant Discovery System
14
+
15
+ **VEN** is an AI-powered recommendation engine designed to find the perfect restaurant in Tel Aviv based on user context, vibe, and specific preferences.
16
+
17
+ Unlike traditional filters (e.g., "Italian", "$$"), VEN uses **Semantic Search** and **Persona Matching** to understand the *intent* behind the search (e.g., "A romantic quiet place for a date" vs. "Lively place for drinks with friends").
18
+
19
+ ## πŸš€ Key Features
20
+
21
+ * **Semantic Search:** Uses `Sentence-Transformers` (NLP) to convert user preferences into vector embeddings.
22
+ * **Persona Matching:** Instead of simple keyword matching, the system identifies the user's "Persona" (Reviewer Type) based on their inputs and finds restaurants loved by similar people.
23
+ * **Smart Filtering:** Filters by Budget, Diet, Company, Occasion, and Noise Level.
24
+ * **One-Click Quick Starters:** Pre-configured scenarios for instant recommendations.
25
+ * **Dark Mode UI:** A sleek, modern user interface built with Gradio.
26
+
27
+ ## πŸ› οΈ Tech Stack
28
+
29
+ * **Python 3.10+**
30
+ * **Gradio:** For the web interface.
31
+ * **Sentence-Transformers (`all-mpnet-base-v2`):** For generating high-quality text embeddings.
32
+ * **Scikit-Learn:** For calculating Cosine Similarity between user input and reviewer profiles.
33
+ * **Pandas & NumPy:** For data manipulation and vector operations.
34
+
35
+ ## πŸ“‚ Project Structure
36
+
37
+ * `app.py`: The main application logic (UI, Search Engine, Logic).
38
+ * `cleaned_dataset_10k.csv`: A processed dataset of 10,000 restaurant reviews from Tel Aviv.
39
+ * `final_embeddings_10k.pkl`: Pre-computed vector embeddings for the reviews (saves processing time).
40
+ * `requirements.txt`: List of dependencies required to run the app.
41
+
42
+ ## 🧠 How It Works
43
+
44
+ 1. **Input:** The user selects their preferences (Budget, Diet, Company, Occasion, Atmosphere).
45
+ 2. **Vectorization:** The system creates a textual description of the user's desire and converts it into a mathematical vector using the `all-mpnet-base-v2` model.
46
+ 3. **Persona Clustering:** The system compares the user's vector against pre-calculated "Taste Profiles" (Personas) derived from the dataset.
47
+ 4. **Similarity Search:** It calculates the **Cosine Similarity** to find the closest match.
48
+ 5. **Ranking:** The system ranks restaurants within that Persona cluster and returns the highest-rated match with a relevant review.
49
+
50
+ ## πŸ‘₯ Authors
51
+
52
+ * **Matan** - Data Scientist & Developer
53
+ * **Gal** - Data Scientist & Developer
54
+
55
+ ---
56
+ *Created as a final project for the Data Analysis Course.*