title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned |
---|---|---|---|---|---|---|---|
Search Offers |
🕵️ |
green |
yellow |
streamlit |
1.28.0 |
app.py |
false |
Search Offers
This project aims to perform offer search using various Natural Language Processing (NLP) and information retrieval techniques. Different models and approaches have been experimented with to optimize the search results based on user queries.
- Spacy: Used for basic NLP tasks such as tokenization and similarity calculations.
- TF-IDF: Implemented for keyword extraction and to calculate text relevance.
- BERT (Hugging Face): Leveraged pre-trained models for generating rich text embeddings.
- OpenAI Embeddings: Utilized for creating embeddings and leveraging language models for similarity calculations.
- Direct Matching: Tried direct matching of query terms with offer details.
- Fuzzy Matching: Utilized
fuzzywuzzy
to add flexibility to text matching. - Vector Stores: Experimented with various vector stores such as Quadrant and FAISS to optimize speed and performance.
- Caching: Experimented with caching the vector store for performance enhancement.
- Embedding Caching: Tried different embedding caching mechanisms to speed up the retrieval process.
- Language Models: Experimented with various language models including Langchain to enhance the semantic search capabilities.
The application is deployed using Hugging Face Spaces, integrating it seamlessly with the Streamlit application, allowing for a user-friendly interface and easy interaction.
- Navigate to the deployed application.
- Enter your search query.
- Choose the search method.
- Execute the search to view the matched offers.
Through various experimentations, a combination of different models and approaches were tested to find the most optimal solution for offer searching, each with its own set of advantages and trade-offs.
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference