# m-rishab/research-paper-recommendation architecture

> Architecture diagram of the GitHub repository m-rishab/research-paper-recommendation, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-10-01). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/m-rishab/research-paper-recommendation
- Repository: https://github.com/m-rishab/research-paper-recommendation

## Overview

This is a research-paper recommendation prototype. Its documented workflow takes a paper title, uses NLP and MiniLM to predict a subject area, and returns five recommended papers; the README also describes preprocessing and model training. The tree contains a notebook, saved vectorizer artifacts, and a web template, but no app.py or source excerpts. Thus the runtime wiring among them cannot be verified; the links below reflect documented capabilities, not inspected calls.

Main entry points: [`Notebook/RPR.ipynb`](https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb) (Model workflow), [`templates/index.html`](https://github.com/m-rishab/research-paper-recommendation/blob/main/templates/index.html) (Title form), [`Notebook/Models`](https://github.com/m-rishab/research-paper-recommendation/tree/main/Notebook/Models) (Vectorizer artifacts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["User interface"]
  node_webform["Title form<br/>[index.html]"]
end

subgraph group_ml["Recommendation and NLP"]
  node_notebook["Model workflow<br/>[RPR.ipynb]"]
  node_recommend["Top-five recommendations<br/>[RPR.ipynb]"]
  node_subject["Subject prediction<br/>[RPR.ipynb]"]
end

subgraph group_artifacts["Saved model artifacts"]
  node_vectorizer[("Vectorizer artifacts")]
end

node_user(("Paper seeker"))

node_user -->|"enters title"| node_webform
node_webform -.->|"submits title"| node_notebook
node_notebook -->|"produces top five"| node_recommend
node_notebook -->|"predicts area"| node_subject
node_notebook -.->|"uses artifacts"| node_vectorizer

click node_webform "https://github.com/m-rishab/research-paper-recommendation/blob/main/templates/index.html"
click node_notebook "https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb"
click node_recommend "https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb"
click node_subject "https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb"
click node_vectorizer "https://github.com/m-rishab/research-paper-recommendation/tree/main/Notebook/Models"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_webform toneBlue
class node_notebook,node_recommend,node_subject toneAmber
class node_vectorizer toneMint
class node_user toneIndigo
```

## Components

### User interface

- [Title form](https://github.com/m-rishab/research-paper-recommendation/blob/main/templates/index.html): `templates/index.html`

### Recommendation and NLP

- [Model workflow](https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb): `Notebook/RPR.ipynb`
- [Top-five recommendations](https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb): `Notebook/RPR.ipynb`
- [Subject prediction](https://github.com/m-rishab/research-paper-recommendation/blob/main/Notebook/RPR.ipynb): `Notebook/RPR.ipynb`

### Saved model artifacts

- [Vectorizer artifacts](https://github.com/m-rishab/research-paper-recommendation/tree/main/Notebook/Models): `Notebook/Models`

### Other components

- **Paper seeker**

## Connections

- Paper seeker → Title form: enters title (evidence: `README.md`)
- Title form → Model workflow: submits title
- Model workflow → Top-five recommendations: produces top five (evidence: `README.md`)
- Model workflow → Subject prediction: predicts area (evidence: `README.md`)
- Model workflow → Vectorizer artifacts: uses artifacts
