This is a patent search engine that uses machine learning models and Elasticsearch to retrieve relevant patent documents based on user queries. The search engine retrieves documents using two methods: semantic search using a BERT-based model and keyword search using Elasticsearch.
- Python 3.6 or higher
- Elasticsearch
- Flask
- SentenceTransformers
- Faiss
- Pandas
- Flask-Paginate
- Install Python 3.6 or higher on your machine.[optional]
- Install Elasticsearch by following the instructions in the official documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html.[optional]
- Run Elasticsearch by navigating to the Elasticsearch directory and running .\bin\elasticsearch.bat on Windows or ./bin/elasticsearch on Unix/Linux.[optional]
- Clone this repository using $
git clone https://github.com/AnishmMore/patent_search.git
. - Navigate to the cloned repository by running $
cd patent_search
. - Install the required Python packages by running $
pip install --ignore-installed -r requirements.txt
OR simply run therun.sh
script [windows]: $bash .\run.sh
OR [unix/linux]: $.\run.sh
.
- Run the Python Flask application by running
python3 app.py
. - Open a web browser and go to
http://127.0.0.1:8080
to access the search engine. - Enter a query in the search box and click "Search" to retrieve relevant patent documents.
This project is licensed under the MIT License - see the LICENSE file for details.
- The machine learning models used in this project were developed by the SentenceTransformers and Faiss libraries.
- The Flask web framework was used to develop the web application.
- The Elasticsearch library was used to index and search patent documents.
- The Flask-Paginate library was used to implement pagination in the search results.
- Anish More
- Akash Bilgi
- Amrutha Alewoor
- Mrunali Lachake
- Kaushik Daiv