# nlp_tutorial **Repository Path**: junjun_com/nlp_tutorial ## Basic Information - **Project Name**: nlp_tutorial - **Description**: NLP教程,nlp自然语言处理,Transformer、LSTM、BERT、llm、大模型训练 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nlp, PyTorch, Python ## README # nlp_tutorial #### 介绍 NLP教程 comprehensive tutorial covering natural language processing fundamentals and advanced models, including text representation, RNN/LSTM/GRU networks, Seq2Seq, Attention mechanisms, Transformer architecture, and BERT pretrained models. #### 软件架构 项目采用模块化设计,每个章节包含完整的数据处理、模型训练、评估和预测流程: - **ch03_text_rep** - 文本表示:Jieba分词、Word2Vec词向量 - **ch04_input-method-rnn** - RNN实现输入法预测 - **ch04_review-analyze-gru** - GRU实现评论情感分析 - **ch04_review-analyze-lstm** - LSTM实现评论情感分析 - **ch05_translation-seq2seq** - Seq2Seq模型实现中英翻译 - **ch06_translation-attention** - 加入Attention机制的翻译模型 - **ch07_translation-transformer** - Transformer架构实现翻译 - **ch08_hugging-face** - Hugging Face Transformers入门 - **ch08_review-analyze-bert** - BERT中文预训练模型进行情感分析 - **review-analyze-rnn** - RNN实现评论情感分析 每个模块包含: - `src/config.py` - 配置参数 - `src/dataset.py` - 数据集定义 - `src/model.py` - 模型定义 - `src/tokenizer.py` - 分词器 - `src/train.py` - 训练脚本 - `src/evaluate.py` - 评估脚本 - `src/predict.py` - 预测脚本 - `src/process.py` - 数据预处理 #### 安装教程 1. 确保已安装Python 3.8+ 2. 安装依赖包: ```bash pip install torch transformers jieba numpy pandas scikit-learn ``` 3. 克隆或下载本仓库 #### 使用说明 每个章节可独立运行,典型使用流程: 1. **数据预处理**:运行`src/process.py`处理原始数据 2. **训练模型**:运行`src/train.py`训练模型 3. **评估模型**:运行`src/evaluate.py`评估性能 4. **使用预测**:运行`src/predict.py`进行预测 示例(以评论情感分析为例): ```python from src.model import ReviewAnalyzeModel from src.tokenizer import JiebaTokenizer from src.predict import predict # 加载模型和分词器 tokenizer = JiebaTokenizer.from_vocab('models/vocab.txt') model = ReviewAnalyzeModel(vocab_size=len(tokenizer.vocab_list), padding_index=0) model.load_state_dict(torch.load('models/best.pt')) # 预测 result = predict("这个商品很好用", model, tokenizer, device) ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 学习路线 1. **入门阶段**:ch03 文本表示基础 2. **基础模型**:ch04 RNN/LSTM/GRU循环神经网络 3. **进阶模型**:ch05-ch06 Seq2Seq与Attention 4. **高级模型**:ch07 Transformer 5. **预训练模型**:ch08 BERT与Hugging Face