Real Estate Customer Support System - Retrieval-Augmented Generation (RAG) | OmnixOne


Real Estate Customer Support System - RAG

Overview

We implements an intelligent real estate customer support chatbot using Retrieval-Augmented Generation (RAG). By combining live data retrieval from Firebase with natural language generation using Hugging Face Transformers, the system responds to user queries dynamically, providing detailed property information, pricing, amenities, and more.

Real Estate App Launch Splash Screen

Technologies Used

Retrieval-Augmented Generation (RAG)

Combines information retrieval with generation, enabling accurate responses from a large knowledge base by retrieving and synthesizing relevant data.

Firebase

Used as the main database for storing user inputs and serving real-time data, providing robust backend support and real-time updates for chat interactions.

Hugging Face Transformers

Utilized sentence-transformers/all-mpnet-base-v2 models for embedding generation and t5-large for language generation, enabling accurate and coherent responses.

FAISS (Facebook AI Similarity Search)

Powers efficient similarity search, retrieving relevant information based on user queries, making response generation both fast and precise.

PyTorch

Serves as the framework for deep learning, allowing the development and fine-tuning of models in the project, ensuring optimal performance of retrieval and generation tasks.

We Implemented

Intent Recognition

We identify user intents from chat inputs, such as inquiries about property listings, booking appointments, requesting documents, etc.

Entity Extraction

Identify and extract important entities from the conversation, like property names, locations, prices, dates, and other real estate-specific terms.

Memory Save

Maintain conversational memory so users don't need to repeat themselves in ongoing conversations.

RAG Model

Retrieve relevant property information from a knowledge base and generate human-like responses based on the retrieved data.

Sentiment Analysis

Analyze the emotional tone of user input and adjust responses accordingly.

Recommendation Engine

Suggest relevant properties based on the user’s preferences and search history.

1. Embedding Generation for Accurate Retrieval

The system uses embeddings—vector representations of textual data—to accurately match user queries with relevant real estate information. We generated embeddings from property descriptions, documents, and FAQs using models like BERT or SentenceTransformers.

Example: A description such as "3-bedroom apartment near Central Park" is converted into a numerical vector that represents its meaning. This vector is then used to efficiently match user queries.

Embedding Generation
Document Request via Chatbot

2. Retrieval Process

Once a query is submitted, the chatbot searches the Firebase database for relevant information. It compares the user query's embedding to pre-generated embeddings stored in the database.

Top-N Retrieval: The system uses similarity measures like cosine similarity to retrieve the top N matches that best align with the user's query.

3. Natural Language Generation

After retrieving the relevant data, the chatbot usages the Hugging Face Transformers model to generate user-friendly responses. It converts raw data into coherent natural language, providing a smooth conversational experience.

Example: If user asks, “Show me properties near schools in San Francisco under $500,000.” The system retrieves matching properties and generates a response such as: “Here are three properties near schools in San Francisco under $500,000: Property A, Property B, and Property C.”

Property Image and Video Retrieval
Book a Property Visit

4. Response Flow

  • User Input: “Show me 3-bedroom houses under $500,000 in San Francisco near a school.”
  • Retrieval: The system searches the Firebase database for properties matching the criteria.
  • Generation: The chatbot generates a detailed response listing the relevant properties, possibly with images and videos for enhanced engagement.

5. Continuous Learning and Improvement

As users interact with the chatbot, the system records their queries and interactions, continuously refining the embeddings and improving the retrieval model’s accuracy. This makes the chatbot more responsive and precise over time.

Interactive Chatbot Conversation

Real-Time Property Search Results

The final chatbot output provides a real-time search result experience for users, delivering relevant property details in response to their queries.

Real-Time Property Search Results