# NLP **Repository Path**: yuanzicode/nlp ## Basic Information - **Project Name**: NLP - **Description**: NLP项目,主要包括atten-seq2seq和transformer模型,实现机器翻译以及对话系统。 目前transformer只做了机器翻译。 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 19 - **Created**: 2022-09-21 - **Last Updated**: 2022-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NLP ### 介绍 NLP项目,主要包括atten-seq2seq和transformer模型,实现机器翻译以及对话系统。 目前机器翻译只有cpu环境下的小模型,对话系统完成了transformer的标准模型(具体见结果)。 ### 软件架构 软件架构说明 ### 安装教程 1. pip install -r requirements.txt 2. 可能安装完后会提示前面两个东西版本不符合,不用管他 3. transformer标准模型,在dailydialog训练对话系统模型,链接:https://pan.xunlei.com/s/VN8UfYM4o2Ef4r5hAHYm8KmUA1?pwd=5rht# 提取码:5rht ### 使用说明 1. 分对话系统和机器翻译两部分 2. data为数据集 3. model为训练的模型 4. translation文件夹下又分了Seq2Seq和transformer两个模型,大家按需查看使用 5. 以transformer文件夹为例,attention.py主要实现了注意力机制,transformer.py实现了transformer的主体架构,data.py为数据的预处理以及生成了词典、dataset、dataloader,readdata.py运行可以查看数据形状,train.py为训练模型,predict.py为预测,config.py为一些参数的定义。 ### 结果 ##### base transformer: 1. 训练集loss 1.040, PPL 2.835 2. 验证集loss 2.768, PPL 17.635 3. BLEU1-4: [0.0773, 0.0376, 0.0104, 0.0053] 4. distinct1-3: [0.02798, 0.15453, 0.36269] ##### schedule sampling tg=0.9, tr=0.95 1. 训练集loss 0.930, PPL 2.538 2. 验证集loss 3.289, PPL 29.728 3. BLEU1-4: [0.0918, 0.0479, 0.0183, 0.0117] 4. distinct1-3: [0.029054, 0.18474, 0.43019]