Extract filters from search queries using NER and regex techniques.
Jupyter Notebook
0
8 commits
updated Oct 9, 2025
A bilingual (Arabic/English) intelligent search application for OLX products using Named Entity Recognition (NER) and natural language processing.
Access the live demo of the application here.
Every search system can benefit from this approach, where a user searches in natural language (English or Arabic) and gets relevant results applying the constraints/filters in the query.
Clone the repository
git clone <repository-url>
cd Smart-Search
Install dependencies
pip install -r requirements.txt
Run the application
streamlit run main.py
Open your browser and navigate to http://localhost:8501
The project uses OLX Egypt product data with the following structure:
data/olx_products_cleaned.csv - Cleaned dataset used by the applicationdata/olx_products.csv - Raw scraped datadata/olx_scrapper.py - Web scraping utility for OLX data collection"iPhone 13 Pro 256GB under 70000"
"Samsung A54 less than 15k"
"iPhone 11 128GB white 80% battery"
"ุงูููู 14 ุจุฑู ุจุทุงุฑูู 80%"
"ููุงูู P50 ุงูู ู
ู 8 ุงูู"
"ุดุงูู
ู ุฑูุฏู
ู ููุช12"
Smart Search/
โโโ main.py # Streamlit web application
โโโ utils.py # NER processing and search utilities
โโโ requirements.txt # Python dependencies
โโโ README.md # Project documentation
โโโ data/
โ โโโ olx_products_cleaned.csv # Cleaned product dataset
โ โโโ olx_products.csv # Raw scraped data
โ โโโ olx_scrapper.py # Web scraping utility
โโโ notebooks/
โโโ eda.ipynb # Exploratory data analysis
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)pandas>=1.5.0 # Data manipulation
streamlit>=1.28.0 # Web interface
regex>=2023.10.0 # Pattern matching
gliner>=0.2.0 # NER model
torch>=2.0.0 # Deep learning framework
transformers>=4.30.0 # Hugging Face transformers
This project is open source and available under the MIT License.
For questions or suggestions, please open an issue in the repository.
Note: For production use, consider fine-tuning the NER model on domain-specific data to improve accuracy for specialized queries.
Extract filters from search queries using NER and regex techniques.
Jupyter Notebook
0
8 commits
updated Oct 9, 2025
A bilingual (Arabic/English) intelligent search application for OLX products using Named Entity Recognition (NER) and natural language processing.
Access the live demo of the application here.
Every search system can benefit from this approach, where a user searches in natural language (English or Arabic) and gets relevant results applying the constraints/filters in the query.
Clone the repository
git clone <repository-url>
cd Smart-Search
Install dependencies
pip install -r requirements.txt
Run the application
streamlit run main.py
Open your browser and navigate to http://localhost:8501
The project uses OLX Egypt product data with the following structure:
data/olx_products_cleaned.csv - Cleaned dataset used by the applicationdata/olx_products.csv - Raw scraped datadata/olx_scrapper.py - Web scraping utility for OLX data collection"iPhone 13 Pro 256GB under 70000"
"Samsung A54 less than 15k"
"iPhone 11 128GB white 80% battery"
"ุงูููู 14 ุจุฑู ุจุทุงุฑูู 80%"
"ููุงูู P50 ุงูู ู
ู 8 ุงูู"
"ุดุงูู
ู ุฑูุฏู
ู ููุช12"
Smart Search/
โโโ main.py # Streamlit web application
โโโ utils.py # NER processing and search utilities
โโโ requirements.txt # Python dependencies
โโโ README.md # Project documentation
โโโ data/
โ โโโ olx_products_cleaned.csv # Cleaned product dataset
โ โโโ olx_products.csv # Raw scraped data
โ โโโ olx_scrapper.py # Web scraping utility
โโโ notebooks/
โโโ eda.ipynb # Exploratory data analysis
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)pandas>=1.5.0 # Data manipulation
streamlit>=1.28.0 # Web interface
regex>=2023.10.0 # Pattern matching
gliner>=0.2.0 # NER model
torch>=2.0.0 # Deep learning framework
transformers>=4.30.0 # Hugging Face transformers
This project is open source and available under the MIT License.
For questions or suggestions, please open an issue in the repository.
Note: For production use, consider fine-tuning the NER model on domain-specific data to improve accuracy for specialized queries.