本仓库是自然语言处理(NLP)的学习与研究项目集合,涵盖了从基础技术到前沿应用的完整学习路径。
NLP/
├── chinese-poetry-generate/ # 中文古诗词生成
├── dl1/ # Seq2Seq 聊天机器人
├── dlnlpproject/ # 深度学习 NLP 基础教程 + 分类/翻译实践
├── graduation-project/ # 毕业设计:智能视频语音控制系统
├── HMM/ # 隐马尔可夫模型词性标注
├── machine-translation/ # 英法机器翻译
├── rainbow/ # 辅助数据
├── text_process/ # 文本预处理
├── test.py # 诗词数据处理工具
└── test1.py # 简单词数统计
基于 GPT-2 中文模型微调,结合 WGAN-GP 对抗训练生成中国古诗词。
核心技术:
- GPT-2 中文小模型微调(LoRA / Tag 条件生成)
- WGAN-GP(Wasserstein GAN + 梯度惩罚)提升生成质量
- BERT-base 分词器 + 古文 BERT(guwen-bert)
- jieba + TF-IDF 提取诗词关键词作为条件标签
- OpenCC 繁简中文转换
主要文件:
| 文件 | 说明 |
|---|---|
main.py |
模型训练主脚本 |
nn.py |
GPT-2 模型加载与定义 |
utils.py |
工具函数(文本简化、TF-IDF 标签提取) |
data_preprocessig.py |
数据集加载与预处理 |
loss.py |
WGAN-GP 梯度惩罚计算 |
test.py |
测试脚本 |
基于 LSTM 编码器-解码器架构的中文对话系统。
核心技术:
- 双向 LSTM Encoder + Decoder 架构
- jieba 中文分词
- Adam 优化器训练
主要文件:
| 文件 | 说明 |
|---|---|
settings.py |
超参数配置 |
datapreprocessing.py |
数据加载与 WordSet/Dataset 构建 |
nn.py |
Seq2Seq 模型定义(LSTM) |
train.py |
训练循环 |
系统性的 PyTorch NLP 学习教程,从张量基础到完整实战。
子模块:
| 子目录 | 内容 | 技术栈 |
|---|---|---|
basic.py / basicop.py / dimensionop.py |
PyTorch 张量基础操作 | PyTorch |
activationfunction.py |
常用激活函数 | PyTorch |
lossfun.py |
常用损失函数 | PyTorch |
classification/ |
短信垃圾分类(SMS Spam) | MLP 分类器 |
machinetranslation/ |
英法机器翻译 + 从零实现 Transformer | Seq2Seq, GRU, Multi-Head Attention |
Transformer 从零实现亮点:
- 多头自注意力机制(Multi-Head Self-Attention)
- 位置编码(Positional Encoding)
- 编码器-解码器架构
- Padding Mask + Look-ahead Mask
融合 NLP 与视频技术的综合项目,支持语音指令控制视频播放。
系统架构:
语音输入 → 语音识别 → BERT 意图分类 → 视频操作
├── 语义检索(ChromaDB)
├── 视频播放控制
└── 片段导航
核心技术:
- BERT 意图分类:识别 prev / next / repeat / query 四种指令
- ChromaDB 向量数据库:存储视频片段语义向量,支持相似度检索
- SQLite 关系数据库:视频元数据与字幕内容管理
- Next.js 前端:视频播放器 + 语音唤醒 + 文本/语音输入
目录结构:
| 路径 | 说明 |
|---|---|
data_preprocessing.py |
意图分类数据预处理 |
databases/sql_db.py |
SQLite 数据库 CRUD |
databases/vector_db.py |
ChromaDB 向量数据库操作 |
frontend/ |
Next.js 前端应用 |
frontend/src/components/ |
VideoPlayer, VoiceInput, TextInput 等组件 |
frontend/src/services/api.js |
后端 REST API 调用 |
经典统计 NLP 实践,用 HMM + Viterbi 算法实现词性标注(POS Tagging)。
核心技术:
- 转移概率矩阵(A)、发射概率矩阵(B)、初始概率(π)
- Viterbi 动态规划解码
- 对数概率防止数值下溢
基于 GRU 的 Seq2Seq 英语→法语翻译模型。
核心技术:
- 双向 GRU 编码器 + GRU 解码器
- 嵌入维度 50,隐藏层 128,2 层 GRU
- 英语词汇量 25,169,法语词汇量 41,082
NLP 文本清洗与预处理流水线。
功能:
- 标点/数字去除、NLTK 分词
- 词性标注(POS Tagging)
- WordNet 词形还原
- SnowballStemmer 词干提取
- 构建 word2id 词典
| 类别 | 技术 |
|---|---|
| 深度学习框架 | PyTorch |
| NLP 模型 | Transformers (GPT-2, BERT), LSTM, GRU, HMM |
| NLP 工具 | jieba, NLTK, OpenCC |
| 向量数据库 | ChromaDB |
| 关系数据库 | SQLite |
| 前端 | Next.js 16, React 19 |
| 语言 | Python 3.10+, JavaScript |
各子项目均为独立模块,可直接进入对应目录运行。
# 示例:运行 HMM 词性标注
cd HMM
python source.py
# 示例:运行短信垃圾分类训练
cd dlnlpproject/classification
python train.py注意: 模型文件、数据集、论文 PDF 等大文件已通过
.gitignore排除,需自行下载预训练模型和准备数据集。
本项目仅用于学习与研究目的。