Skip to content

A text sentiment classification model to analyze the sentiment of input text

Notifications You must be signed in to change notification settings

Esperarr/SentimentAnalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

环境配置

使用NVIDIA GeForce RTX 3090进行训练,CUDA版本为11.6,所依赖环境如requirements.txt所示,可以直接运行pip install -r requirements.txt配置所有环境。 在相同硬件环境下也可以在linux系统下通过运行./envirment.sh来逐一配置所需环境。

进行训练和评估

  • 运行python main.py即可启动程序,默认情况下为训练cnn。
  • 可以通过设置-stage 修改任务设置为训练模型/测试模型性能。其中进行测试前需先进行训练,测试默认测试前一次训练得到的模型。
  • 可以通过设置-model 设置模型类型,可以修改为cnn/rnn/mlp,其中rnn为lstm。
  • 在启动程序时还可以手动修改大量参数,均通过设置命令行参数实现。其中,参数包括模型的构建参数、训练参数(如learning_rate,batch_size,max_epoch等)、输入语料的存储路径、输出结果的保存路径等。具体可参考utils.handle_arges中的内容。
  • 启动训练或评估时,均会在终端显示当前程序运行日志,对于训练模式,会在每一个epoch结束后显示当前模型在验证集上的loss,right_cnt(正确结果数目),accurency(准确率)和f1_score,对于评估模式,会显示模型在测试集上的f1_score,right_cnt,accurency。便于查看模型性能和训练效果。

查看模型在不同参数下的性能和调参

  • 可以通过运行draw.py绘制不同参数下训练的模型的f1_score图像,即可比较不同参数对模型性能的影响。从而可以调整模型的训练参数,使训练达到更好的效果。
  • 对于绘制,选择模型通过命令行参数-model的设置实现;修改参数分为设置参数类型和设置参数数值两步,设置参数类型通过命令行参数-elem的设置实现,设置参数数值通过手动修改draw.py中elements列表的数值实现。此外还可以通过设置-draw_save_path修改图片保存路径。
  • 此外draw.py中实现了draw函数用于绘制模型在训练过程中在每个epoch结束时的效果,会输出loss、accurency、f1_score变化的三张图片。默认在每次训练都会生成这三张图片,可以在运行main.py时将-draw设置为False来取消训练过程中的绘图功能。
  • 对于draw函数的输出结果,后保存的图片不会覆盖先前图片,原因在于utils.py中实现了训练计数器class train_times,每进行一次训练该计数器会+1,从而用于表示每次训练的ID,每次训练的ID不同。这样设置便于观察、回溯先前训练的结果。可以调用reset()方法对计数器进行手动清零。

About

A text sentiment classification model to analyze the sentiment of input text

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published