# joydeb28/nlp architecture

> Architecture diagram of the GitHub repository joydeb28/nlp, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/joydeb28/nlp
- Repository: https://github.com/joydeb28/nlp

## Overview

This repository is a collection of independent NLP examples, not one integrated application. Its workflows span intent classification, entity and linguistic analysis, and text classification or similarity; shared services and a common entry point are not evident. The graph shows the sampled implementations and major task areas indicated by the tree. Several modules are unsampled, so their internal wiring is omitted.

Main entry points: [`Named_Entity-Recognition_Bidirectional_LSTM_CNN/nn.py`](https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/nn.py) (BiLSTM-CNN NER), [`Intent_Identificatin_RNN/intent_find_main.py`](https://github.com/joydeb28/nlp/blob/master/Intent_Identificatin_RNN/intent_find_main.py) (RNN intent), [`Intent_identification_CNN/intent_find_new.py`](https://github.com/joydeb28/nlp/blob/master/Intent_identification_CNN/intent_find_new.py) (CNN intent), [`Movie Review with RNN/movie_review_with_RNN.py`](https://github.com/joydeb28/nlp/blob/master/Movie%20Review%20with%20RNN/movie_review_with_RNN.py) (Movie-review RNN)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_intent["Intent Models"]
  node_rnn_intent["RNN intent"]
  node_rnn_prep["RNN preprocessing<br/>[preprocessor.py]"]
  node_cnn_intent["CNN intent<br/>[intent_find_new.py]"]
  node_cnn_prep["CNN preprocessing<br/>[preprocessor.py]"]
  node_intent_data["Intent examples"]
end

subgraph group_entities["Entity Analysis"]
  node_ner_nn["BiLSTM-CNN NER<br/>[nn.py]"]
  node_ner_prep["NER preprocessing<br/>[prepro.py]"]
  node_ner_validation["NER scoring<br/>[validation.py]"]
  node_spacy_ner["spaCy NER<br/>[ner_spacy.py]"]
  node_nltk_ner["NLTK NER<br/>[ner_nltk.py]"]
  node_pos_nltk["NLTK POS"]
  node_pos_nlpnet["nlpnet POS"]
end

subgraph group_classification["Text Classification"]
  node_spam["Spam RNN<br/>[Main.py]"]
  node_spam_data["Spam corpus<br/>[spam.csv]"]
  node_movie["Movie-review RNN"]
  node_imdb["IMDB loader<br/>[imdb.py]"]
  node_sentiment["Review sentiment<br/>[NN_for_Analysis.py]"]
  node_yesno["Yes/no classifier"]
end

subgraph group_language["Language Tools"]
  node_similarity["Sentence similarity"]
  node_linkgrammar["Link grammar parser"]
  node_embeddings["ELMo and NNLM<br/>[embeddings.py]"]
  node_word_embeddings["Word embeddings<br/>[load_embeddings.py]"]
end

node_user(("Text user"))
node_result["Predictions or analysis"]

node_user -->|"submits text"| node_rnn_intent
node_rnn_intent -->|"imports preprocessing"| node_rnn_prep
node_rnn_intent -->|"classifies intent"| node_result
node_user -->|"submits text"| node_cnn_intent
node_cnn_intent -->|"imports preprocessing"| node_cnn_prep
node_cnn_intent -->|"classifies intent"| node_result
node_user -->|"provides text"| node_ner_nn
node_ner_nn -->|"prepares batches"| node_ner_prep
node_ner_nn -->|"scores predictions"| node_ner_validation
node_ner_nn -->|"tags entities"| node_result
node_user -->|"submits text"| node_spacy_ner
node_spacy_ner -->|"extracts entities"| node_result
node_user -->|"submits text"| node_nltk_ner
node_nltk_ner -->|"extracts entities"| node_result
node_user -->|"submits text"| node_pos_nltk
node_pos_nltk -->|"tags parts"| node_result
node_user -->|"submits text"| node_pos_nlpnet
node_pos_nlpnet -->|"tags parts"| node_result
node_spam -->|"reads corpus"| node_spam_data
node_spam -->|"predicts spam"| node_result
node_user -->|"requests sentiment"| node_movie
node_movie -->|"loads reviews"| node_imdb
node_movie -->|"predicts sentiment"| node_result
node_user -->|"provides reviews"| node_sentiment
node_sentiment -->|"classifies sentiment"| node_result
node_user -->|"submits response"| node_yesno
node_yesno -->|"classifies response"| node_result
node_user -->|"provides sentences"| node_similarity
node_similarity -->|"scores similarity"| node_result
node_user -->|"submits text"| node_linkgrammar
node_linkgrammar -->|"parses grammar"| node_result
node_user -->|"provides sentences"| node_embeddings
node_embeddings -->|"returns embeddings"| node_result
node_word_embeddings -->|"builds vectors"| node_result

click node_rnn_intent "https://github.com/joydeb28/nlp/blob/master/Intent_Identificatin_RNN/intent_find_main.py"
click node_rnn_prep "https://github.com/joydeb28/nlp/blob/master/Intent_Identificatin_RNN/preprocessor.py"
click node_cnn_intent "https://github.com/joydeb28/nlp/blob/master/Intent_identification_CNN/intent_find_new.py"
click node_cnn_prep "https://github.com/joydeb28/nlp/blob/master/Intent_identification_CNN/preprocessor.py"
click node_intent_data "https://github.com/joydeb28/nlp/tree/master/Intent_Identificatin_RNN/data/intent_classes"
click node_ner_nn "https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/nn.py"
click node_ner_prep "https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/prepro.py"
click node_ner_validation "https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/validation.py"
click node_spacy_ner "https://github.com/joydeb28/nlp/blob/master/NameEntityRecognition/ner_spacy.py"
click node_nltk_ner "https://github.com/joydeb28/nlp/blob/master/NameEntityRecognition/ner_nltk.py"
click node_pos_nltk "https://github.com/joydeb28/nlp/blob/master/Part-of-Speech-Tagging/nltk_pos_tagging.py"
click node_pos_nlpnet "https://github.com/joydeb28/nlp/blob/master/Part-of-Speech-Tagging/nlpnet_pos_tagging.py"
click node_spam "https://github.com/joydeb28/nlp/blob/master/Spam_Detection/Main.py"
click node_spam_data "https://github.com/joydeb28/nlp/blob/master/Spam_Detection/spam.csv"
click node_movie "https://github.com/joydeb28/nlp/blob/master/Movie%20Review%20with%20RNN/movie_review_with_RNN.py"
click node_imdb "https://github.com/joydeb28/nlp/blob/master/Movie%20Review%20with%20RNN/imdb.py"
click node_sentiment "https://github.com/joydeb28/nlp/blob/master/sentiment_analysis/NN_for_Analysis.py"
click node_yesno "https://github.com/joydeb28/nlp/blob/master/yes_no_response_classification/response_classifier.py"
click node_similarity "https://github.com/joydeb28/nlp/blob/master/Semantic_Similarity/Semantic-Similarity-1/align_penalize_any_wordSimilarity.py"
click node_linkgrammar "https://github.com/joydeb28/nlp/blob/master/Link_Grammar_Parser/Dependency-Grammar-NLP-Python.py"
click node_embeddings "https://github.com/joydeb28/nlp/blob/master/ELMO/embeddings.py"
click node_word_embeddings "https://github.com/joydeb28/nlp/blob/master/Word_Embeddings/load_embeddings.py"

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_rnn_intent,node_rnn_prep,node_cnn_intent,node_cnn_prep,node_intent_data,node_user toneBlue
class node_ner_nn,node_ner_prep,node_ner_validation,node_spacy_ner,node_nltk_ner,node_pos_nltk,node_pos_nlpnet toneAmber
class node_spam,node_spam_data,node_movie,node_imdb,node_sentiment,node_yesno toneMint
class node_similarity,node_linkgrammar,node_embeddings,node_word_embeddings toneRose
class node_result toneIndigo
```

## Components

### Intent Models

- [RNN intent](https://github.com/joydeb28/nlp/blob/master/Intent_Identificatin_RNN/intent_find_main.py): `Intent_Identificatin_RNN/intent_find_main.py`
- [RNN preprocessing](https://github.com/joydeb28/nlp/blob/master/Intent_Identificatin_RNN/preprocessor.py): `Intent_Identificatin_RNN/preprocessor.py`
- [CNN intent](https://github.com/joydeb28/nlp/blob/master/Intent_identification_CNN/intent_find_new.py): `Intent_identification_CNN/intent_find_new.py`
- [CNN preprocessing](https://github.com/joydeb28/nlp/blob/master/Intent_identification_CNN/preprocessor.py): `Intent_identification_CNN/preprocessor.py`
- [Intent examples](https://github.com/joydeb28/nlp/tree/master/Intent_Identificatin_RNN/data/intent_classes): `Intent_Identificatin_RNN/data/intent_classes`

### Entity Analysis

- [BiLSTM-CNN NER](https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/nn.py): `Named_Entity-Recognition_Bidirectional_LSTM_CNN/nn.py`
- [NER preprocessing](https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/prepro.py): `Named_Entity-Recognition_Bidirectional_LSTM_CNN/prepro.py`
- [NER scoring](https://github.com/joydeb28/nlp/blob/master/Named_Entity-Recognition_Bidirectional_LSTM_CNN/validation.py): `Named_Entity-Recognition_Bidirectional_LSTM_CNN/validation.py`
- [spaCy NER](https://github.com/joydeb28/nlp/blob/master/NameEntityRecognition/ner_spacy.py): `NameEntityRecognition/ner_spacy.py`
- [NLTK NER](https://github.com/joydeb28/nlp/blob/master/NameEntityRecognition/ner_nltk.py): `NameEntityRecognition/ner_nltk.py`
- [NLTK POS](https://github.com/joydeb28/nlp/blob/master/Part-of-Speech-Tagging/nltk_pos_tagging.py): `Part-of-Speech-Tagging/nltk_pos_tagging.py`
- [nlpnet POS](https://github.com/joydeb28/nlp/blob/master/Part-of-Speech-Tagging/nlpnet_pos_tagging.py): `Part-of-Speech-Tagging/nlpnet_pos_tagging.py`

### Text Classification

- [Spam RNN](https://github.com/joydeb28/nlp/blob/master/Spam_Detection/Main.py): `Spam_Detection/Main.py`
- [Spam corpus](https://github.com/joydeb28/nlp/blob/master/Spam_Detection/spam.csv): `Spam_Detection/spam.csv`
- [Movie-review RNN](https://github.com/joydeb28/nlp/blob/master/Movie%20Review%20with%20RNN/movie_review_with_RNN.py): `Movie Review with RNN/movie_review_with_RNN.py`
- [IMDB loader](https://github.com/joydeb28/nlp/blob/master/Movie%20Review%20with%20RNN/imdb.py): `Movie Review with RNN/imdb.py`
- [Review sentiment](https://github.com/joydeb28/nlp/blob/master/sentiment_analysis/NN_for_Analysis.py): `sentiment_analysis/NN_for_Analysis.py`
- [Yes/no classifier](https://github.com/joydeb28/nlp/blob/master/yes_no_response_classification/response_classifier.py): `yes_no_response_classification/response_classifier.py`

### Language Tools

- [Sentence similarity](https://github.com/joydeb28/nlp/blob/master/Semantic_Similarity/Semantic-Similarity-1/align_penalize_any_wordSimilarity.py): `Semantic_Similarity/Semantic-Similarity-1/align_penalize_any_wordSimilarity.py`
- [Link grammar parser](https://github.com/joydeb28/nlp/blob/master/Link_Grammar_Parser/Dependency-Grammar-NLP-Python.py): `Link_Grammar_Parser/Dependency-Grammar-NLP-Python.py`
- [ELMo and NNLM](https://github.com/joydeb28/nlp/blob/master/ELMO/embeddings.py): `ELMO/embeddings.py`
- [Word embeddings](https://github.com/joydeb28/nlp/blob/master/Word_Embeddings/load_embeddings.py): `Word_Embeddings/load_embeddings.py`

### Other components

- **Text user**
- **Predictions or analysis**

## Connections

- Text user → RNN intent: submits text
- RNN intent → RNN preprocessing: imports preprocessing
- RNN intent → Predictions or analysis: classifies intent
- Text user → CNN intent: submits text
- CNN intent → CNN preprocessing: imports preprocessing
- CNN intent → Predictions or analysis: classifies intent
- Text user → BiLSTM-CNN NER: provides text
- BiLSTM-CNN NER → NER preprocessing: prepares batches
- BiLSTM-CNN NER → NER scoring: scores predictions
- BiLSTM-CNN NER → Predictions or analysis: tags entities
- Text user → spaCy NER: submits text
- spaCy NER → Predictions or analysis: extracts entities
- Text user → NLTK NER: submits text
- NLTK NER → Predictions or analysis: extracts entities
- Text user → NLTK POS: submits text
- NLTK POS → Predictions or analysis: tags parts
- Text user → nlpnet POS: submits text
- nlpnet POS → Predictions or analysis: tags parts
- Spam RNN → Spam corpus: reads corpus
- Spam RNN → Predictions or analysis: predicts spam
- Text user → Movie-review RNN: requests sentiment
- Movie-review RNN → IMDB loader: loads reviews
- Movie-review RNN → Predictions or analysis: predicts sentiment
- Text user → Review sentiment: provides reviews
- Review sentiment → Predictions or analysis: classifies sentiment
- Text user → Yes/no classifier: submits response
- Yes/no classifier → Predictions or analysis: classifies response
- Text user → Sentence similarity: provides sentences
- Sentence similarity → Predictions or analysis: scores similarity
- Text user → Link grammar parser: submits text
- Link grammar parser → Predictions or analysis: parses grammar
- Text user → ELMo and NNLM: provides sentences
- ELMo and NNLM → Predictions or analysis: returns embeddings
- Word embeddings → Predictions or analysis: builds vectors
