🐕 Choose my dog breed
Build an AI chatbot that finds your perfect pup
📖 Background
You’re working as part of an innovation team at a smart robotics company launching a new AI-powered robot dog. To attract customers, they want a fun, interactive chatbot that helps users discover their ideal real-world dog breed match based on their personality and lifestyle.
Your challenge: build a chatbot recommender system that asks questions, interprets responses, and recommends the top three matching dog breeds, complete with images. Bonus: include generated videos for social media flair!
💾 The data
The data consists of three datasets: data/breed_traits, data/trait_description, and a Github repo consisting of 30+ images per dog breed.
Dog breed traits
| Variable | Class | Description |
|---|---|---|
| Breed | character | Dog breed name |
| Affectionate With Family | character | Placement on scale of 1–5 for the breed’s tendency to be affectionate with family |
| Good With Young Children | character | Placement on scale of 1–5 for the breed’s tendency to be good with young children |
| Good With Other Dogs | character | Placement on scale of 1–5 for the breed’s tendency to be good with other dogs |
| Shedding Level | character | Placement on scale of 1–5 for the breed’s shedding level |
| Coat Grooming Frequency | character | Placement on scale of 1–5 for the breed’s grooming frequency |
| Drooling Level | character | Placement on scale of 1–5 for the breed’s drooling level |
| Coat Type | character | Description of the breed’s coat type |
| Coat Length | character | Description of the breed’s coat length |
| Openness To Strangers | character | Placement on scale of 1–5 for the breed’s openness to strangers |
| Playfulness Level | character | Placement on scale of 1–5 for the breed’s playfulness |
| Watchdog/Protective Nature | character | Placement on scale of 1–5 for the breed’s protective instincts |
| Adaptability Level | character | Placement on scale of 1–5 for the breed’s adaptability |
| Trainability Level | character | Placement on scale of 1–5 for the breed’s trainability |
| Energy Level | character | Placement on scale of 1–5 for the breed’s energy level |
| Barking Level | character | Placement on scale of 1–5 for the breed’s barking level |
| Mental Stimulation Needs | character | Placement on scale of 1–5 for the breed’s mental stimulation needs |
Trait descriptions
| Variable | Class | Description |
|---|---|---|
| Trait | character | Dog trait name |
| Trait_1 | character | Description when scale = 1 |
| Trait_5 | character | Description when scale = 5 |
| Description | character | Long-form explanation of the trait |
Dog breed images
| Detail | Description |
|---|---|
| Coverage | Breeds recognized by the Fédération Cynologique Internationale (FCI) |
| Images per breed | 35 |
| Total breeds | 356 |
| Format | High-resolution JPEG images |
import pandas as pd
dog_breeds = pd.read_csv('data/breed_traits.csv')
dog_breeds.head()trait_descriptions = pd.read_csv('data/trait_description.csv')
trait_descriptions.head()🐾 Find Your Perfect Pup with AI! 🐕🦺
Discover the best dog breeds tailored just for you with our intelligent chatbot. It understands your lifestyle, family situation, allergies, and more to recommend the top 3 breeds that fit you perfectly. You’ll get detailed breed info, beautiful images, and engaging insights, all in one seamless app.
Ready to meet your new best friend? Check out the live demo and start chatting now!
🔗 Streamlit App: Dog Breed Matchmaker