This project showcases a Real Estate Listing Recommender application using a content-based filtering approach with a sentence transformer model. The application allows users to input queries and receive relevant real estate listings based on their descriptions and other textual data.
- Content-Based Filtering: Recommends listings based on the semantic similarity of the user's query and listing descriptions and past user reviews, using a sentence transformer model.
- Interactive Frontend: A React frontend with a clean, professional look and feel, showcasing the recommendations in a user-friendly interface.
- Backend API: A Flask backend serving the recommendation results, optimized for performance using FAISS for similarity search.
- Deployment: The application is set up for local testing and is demonstrated via a hosted GIF in the README.
- Node.js and npm for frontend.
- Python for backend.
- Git for version control.
- Clone the repository:
git clone https://github.com/VarunRavi95/RecSys cd RecSys - Install dependencies
pip install -r requirements.txt
- Start the Flask server:
python app.py
- Install dependencies:
npm install
- Navigate to the app folder:
cd my-react-app - Start the React application:
npm start
-
Backend:
• Flask API: Handles requests and processes recommendations using FAISS for efficient similarity search. • Sentence Transformer Model: Utilizes the all-mpnet-base-v2 model to embed listing descriptions and user queries.
-
Frontend:
• React Application: Provides a user interface for inputting queries and displaying recommendations. • Styling: CSS for a modern, professional look with features like rounded edges and card sliders for a better UX.
- Data Preprocessing: Cleaned and merged relevant textual data from the Airbnb dataset for the Stockholm region.
- Model Training and Embedding: Created embeddings using a powerful sentence transformer and indexed them with FAISS for fast retrieval.
- Building the Frontend: Designed a responsive UI with React and CSS to display recommendations.
• Additional Filters: Implement user filters for more refined recommendations.
• Expanded Dataset: Integrate more diverse real estate datasets for broader recommendations.
• Scalable Deployment: Move to cloud-based deployment solutions for better scalability and availability.
