NeurAI Explorer is an advanced Python-based tool designed to dynamically adjust neural network architectures and hyperparameters based on the latest findings in machine learning research. The tool scrapes recent research papers from arXiv, processes them using natural language processing (NLP), and incorporates new findings into neural network models automatically.
- Web Scraping: Automatically scrapes the latest machine learning papers from arXiv.
- NLP-Based Analysis: Analyzes the content of the papers using state-of-the-art NLP models.
- Dynamic Model Building: Adjusts neural network architectures and hyperparameters based on the extracted insights.
- Automation: Supports task automation through Celery, enabling scheduled updates of models.
- Customizable: Easily configurable for different machine learning subdomains (e.g., computer vision, NLP).
Before setting up the project, ensure that the following dependencies are installed:
- Python 3.8+
arxiv
for fetching papersrequests
for HTTP requestsPyPDF2
orpdfminer.six
for extracting text from PDFsspaCy
for NLPtransformers
for advanced text analysisPyTorch
orTensorFlow
for neural network modelingCelery
for task automation
Install these dependencies using the following command:
pip install -r requirements.txt
-
Clone the repository:
git clone https://github.com/yourusername/neurai-explorer.git cd neurai-explorer
-
Set up a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install the required dependencies:
pip install -r requirements.txt
-
Download the required spaCy language model:
python -m spacy download en_core_web_sm
Run the script to fetch the latest research papers:
python main.py
Set up Celery to automate fetching, processing, and adapting models:
-
Start the Celery worker:
celery -A tasks worker --loglevel=info
-
(Optional) Schedule periodic updates with Celery Beat:
You can configure
tasks.py
to run updates at regular intervals.
To customize how neural networks are built based on paper content, modify the logic in model_adaptation/build_model.py
. The model architecture adapts based on keywords extracted from the research papers.
You can modify the research category (e.g., computer vision, NLP) in the data_acquisition/fetch_papers.py
file by adjusting the category
parameter.
neurAI_explorer/
├── data_acquisition/
│ ├── __init__.py
│ └── fetch_papers.py # Fetches recent papers from arXiv
├── data_processing/
│ ├── __init__.py
│ └── process_papers.py # Extracts and preprocesses paper content
├── nlp_analysis/
│ ├── __init__.py
│ └── analyze_papers.py # Analyzes paper content using NLP
├── model_adaptation/
│ ├── __init__.py
│ └── build_model.py # Dynamically builds neural networks
├── integration/
│ ├── __init__.py
│ └── tasks.py # Celery tasks for automation
├── ui/
│ ├── app.py # Flask/Streamlit app (optional)
│ └── templates/ # HTML templates for the UI (optional)
├── requirements.txt # Project dependencies
└── README.md # Project documentation
I welcome contributions! Here's how you can help:
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
. - Commit your changes:
git commit -m "Add some feature"
. - Push to the branch:
git push origin feature-branch
. - Submit a pull request.
email me at yzjandali@gmail.com if you have an questions!