# rickiepark/nlp-with-pytorch architecture

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

- Interactive diagram: https://gitdiagram.com/rickiepark/nlp-with-pytorch
- Repository: https://github.com/rickiepark/nlp-with-pytorch

## Overview

This repository is the Korean translation and accompanying executable examples for *Natural Language Processing with PyTorch*. The principal workflow is a learner reading a chapter and working through its notebooks, from PyTorch basics and supervised learning to text classification, embeddings, sequence models, generation, and machine translation. Chapter directories represent distinct learning stages; data and preprocessing notebooks support selected examples. The README documents the chapter capabilities, but sampled source covers only dataset-download helpers, so internal notebook-to-notebook calls are not asserted.

Main entry points: [`chapter_1/PyTorch_Basics.ipynb`](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_1/PyTorch_Basics.ipynb) (PyTorch Basics), [`chapter_3/Chapter-3-Diving-Deep-into-Supervised-Training.ipynb`](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/Chapter-3-Diving-Deep-into-Supervised-Training.ipynb) (Supervised Training), [`chapter_3/3_5_Classifying_Yelp_Review_Sentiment.ipynb`](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/3_5_Classifying_Yelp_Review_Sentiment.ipynb) (Review Sentiment), [`chapter_4/4_2_mlp_surnames/4_2_Classifying_Surnames_with_an_MLP.ipynb`](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_4/4_2_mlp_surnames/4_2_Classifying_Surnames_with_an_MLP.ipynb) (Surname MLP)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["Foundations"]
  node_basics["PyTorch Basics"]
  node_supervised["Supervised Training"]
  node_sentiment["Review Sentiment"]
end

subgraph group_feedforward["Feedforward NLP"]
  node_mlp["Surname MLP"]
  node_cnn["Surname CNN"]
  node_embeddings["Pretrained Embeddings"]
  node_cbow["CBOW Embeddings"]
  node_docclass["Document Classification"]
end

subgraph group_sequence["Sequence Models"]
  node_rnn["Surname RNN"]
  node_generation["Surname Generation"]
  node_conditioned["Conditioned Generation"]
  node_packed["Packed Sequences"]
end

subgraph group_applications["Advanced Applications"]
  node_nmt["Neural Translation"]
  node_scheduled["Scheduled Sampling"]
  node_data[("Example Data")]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_basics
node_learner -->|"studies"| node_supervised
node_learner -->|"classifies"| node_sentiment
node_learner -->|"studies"| node_mlp
node_learner -->|"studies"| node_cnn
node_learner -->|"uses"| node_embeddings
node_learner -->|"trains"| node_cbow
node_learner -->|"classifies"| node_docclass
node_learner -->|"studies"| node_rnn
node_learner -->|"generates"| node_generation
node_learner -->|"generates"| node_conditioned
node_learner -->|"studies"| node_packed
node_learner -->|"translates"| node_nmt
node_learner -->|"studies"| node_scheduled

click node_basics "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_1/PyTorch_Basics.ipynb"
click node_supervised "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/Chapter-3-Diving-Deep-into-Supervised-Training.ipynb"
click node_sentiment "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/3_5_Classifying_Yelp_Review_Sentiment.ipynb"
click node_mlp "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_4/4_2_mlp_surnames/4_2_Classifying_Surnames_with_an_MLP.ipynb"
click node_cnn "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_4/4_4_cnn_surnames/4_4_Classifying_Surnames_with_a_CNN.ipynb"
click node_embeddings "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_1_Pretrained_Embeddings.ipynb"
click node_cbow "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_2_CBOW/5_2_Continuous_Bag_of_Words_CBOW.ipynb"
click node_docclass "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_3_doc_classification/5_3_Document_Classification_with_CNN.ipynb"
click node_rnn "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_6/classifying-surnames/Chapter-6-Surname-Classification-with-RNNs.ipynb"
click node_generation "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_7/7_3_surname_generation/7_3_Model1_Unconditioned_Surname_Generation.ipynb"
click node_conditioned "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_7/7_3_surname_generation/7_3_Model2_Conditioned_Surname_Generation.ipynb"
click node_packed "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_PackedSequence_example.ipynb"
click node_nmt "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_5_NMT/8_5_NMT_No_Sampling.ipynb"
click node_scheduled "https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_5_NMT/8_5_NMT_scheduled_sampling.ipynb"
click node_data "https://github.com/rickiepark/nlp-with-pytorch/tree/main/chapter_8/8_5_NMT/data"

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_basics,node_supervised,node_sentiment toneBlue
class node_mlp,node_cnn,node_embeddings,node_cbow,node_docclass toneAmber
class node_rnn,node_generation,node_conditioned,node_packed toneMint
class node_nmt,node_scheduled,node_data toneRose
class node_learner toneIndigo
```

## Components

### Foundations

- [PyTorch Basics](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_1/PyTorch_Basics.ipynb): `chapter_1/PyTorch_Basics.ipynb`
- [Supervised Training](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/Chapter-3-Diving-Deep-into-Supervised-Training.ipynb): `chapter_3/Chapter-3-Diving-Deep-into-Supervised-Training.ipynb`
- [Review Sentiment](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_3/3_5_Classifying_Yelp_Review_Sentiment.ipynb): `chapter_3/3_5_Classifying_Yelp_Review_Sentiment.ipynb`

### Feedforward NLP

- [Surname MLP](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_4/4_2_mlp_surnames/4_2_Classifying_Surnames_with_an_MLP.ipynb): `chapter_4/4_2_mlp_surnames/4_2_Classifying_Surnames_with_an_MLP.ipynb`
- [Surname CNN](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_4/4_4_cnn_surnames/4_4_Classifying_Surnames_with_a_CNN.ipynb): `chapter_4/4_4_cnn_surnames/4_4_Classifying_Surnames_with_a_CNN.ipynb`
- [Pretrained Embeddings](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_1_Pretrained_Embeddings.ipynb): `chapter_5/5_1_Pretrained_Embeddings.ipynb`
- [CBOW Embeddings](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_2_CBOW/5_2_Continuous_Bag_of_Words_CBOW.ipynb): `chapter_5/5_2_CBOW/5_2_Continuous_Bag_of_Words_CBOW.ipynb`
- [Document Classification](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_5/5_3_doc_classification/5_3_Document_Classification_with_CNN.ipynb): `chapter_5/5_3_doc_classification/5_3_Document_Classification_with_CNN.ipynb`

### Sequence Models

- [Surname RNN](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_6/classifying-surnames/Chapter-6-Surname-Classification-with-RNNs.ipynb): `chapter_6/classifying-surnames/Chapter-6-Surname-Classification-with-RNNs.ipynb`
- [Surname Generation](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_7/7_3_surname_generation/7_3_Model1_Unconditioned_Surname_Generation.ipynb): `chapter_7/7_3_surname_generation/7_3_Model1_Unconditioned_Surname_Generation.ipynb`
- [Conditioned Generation](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_7/7_3_surname_generation/7_3_Model2_Conditioned_Surname_Generation.ipynb): `chapter_7/7_3_surname_generation/7_3_Model2_Conditioned_Surname_Generation.ipynb`
- [Packed Sequences](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_PackedSequence_example.ipynb): `chapter_8/8_PackedSequence_example.ipynb`

### Advanced Applications

- [Neural Translation](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_5_NMT/8_5_NMT_No_Sampling.ipynb): `chapter_8/8_5_NMT/8_5_NMT_No_Sampling.ipynb`
- [Scheduled Sampling](https://github.com/rickiepark/nlp-with-pytorch/blob/main/chapter_8/8_5_NMT/8_5_NMT_scheduled_sampling.ipynb): `chapter_8/8_5_NMT/8_5_NMT_scheduled_sampling.ipynb`
- [Example Data](https://github.com/rickiepark/nlp-with-pytorch/tree/main/chapter_8/8_5_NMT/data): `chapter_8/8_5_NMT/data`

### Other components

- **Learner**

## Connections

- Learner → PyTorch Basics: studies (evidence: `README.md`)
- Learner → Supervised Training: studies (evidence: `README.md`)
- Learner → Review Sentiment: classifies (evidence: `README.md`)
- Learner → Surname MLP: studies (evidence: `README.md`)
- Learner → Surname CNN: studies (evidence: `README.md`)
- Learner → Pretrained Embeddings: uses (evidence: `README.md`)
- Learner → CBOW Embeddings: trains (evidence: `README.md`)
- Learner → Document Classification: classifies (evidence: `README.md`)
- Learner → Surname RNN: studies (evidence: `README.md`)
- Learner → Surname Generation: generates (evidence: `README.md`)
- Learner → Conditioned Generation: generates (evidence: `README.md`)
- Learner → Packed Sequences: studies (evidence: `README.md`)
- Learner → Neural Translation: translates (evidence: `README.md`)
- Learner → Scheduled Sampling: studies (evidence: `README.md`)
