关于机器学习的内容的整理

【A情感文本分类实战】2024 Pytorch+Bert、Roberta+TextCNN、BiLstm、Lstm等实现IMDB情感文本分类完整项目(项目已开源)

PHPer 2024-03-25 133 0 0

原文较长这里只转载前一部分内容 20240325

https://blog.csdn.net/ccaoshangfei/article/details...

https://github.com/BeiCunNan/sentiment_analysis_Im...

?顶会的代码干净利索,借鉴其完成了以下工程

?本工程采用Pytorch框架,使用上游语言模型+下游网络模型的结构实现IMDB情感分析

?预训练大语言模型可选择Bert、Roberta

?下游网络模型可选择BiLSTM、LSTM、TextCNN、GRU、Attention以及其组合

?语言模型和网络模型扩展性较好,可以此为BaseLine再使用你的数据集,模型

?最终的准确率均在90%以上

?项目已开源,clone下来再配个简单环境就能跑

???有小伙伴询问如何融合使用Attention、LSTM+TextCNN和Lstm+TextCNN+Self-Attention的网络模型,现源码已经重新上传(2023-03),大家可以揣摩一下是如何结合的,如此,对照类似的做法,推广到其他模型上

如果这篇文章对您有帮助,期待大佬们Github上给个⭐️⭐️⭐️

一、Introduction

1.1 网络架构图

该网络主要使用上游预训练模型+下游情感分类模型组成

1.2 快速使用

该项目已开源在Github上,地址为 sentiment_analysis_Imdb

主要环境要求如下(环境不要太老基本没啥问题的)

下载该项目后,配置相对应的环境,在config.py文件中选择所需的语言模型和神经网络模型如下图所示,运行main.py文件即可

1.3 工程结构

logs 每次运行程序后的日志文件集合

config.py 全局配置文件

data.py 数据读取、数据清洗、数据格式转换、制作DataSet和DataLoader

main.py 主函数,负责全流程项目运行,包括语言模型的转换,模型的训练和测试

model.py 神经网络模型的设计和读取

二、Config

看了很多论文源代码中都使用parser容器进行全局变量的配置,因此作者也照葫芦画瓢编写了config.py文件(适配的话一般只改Base部分)

import argparse

import logging

import os

import random

import sys

import time

from datetime import datetime

import torch

def get_config():

parser = argparse.ArgumentParser()

'''Base'''

parser.add_argument('--num_classes', type=int, default=2)

parser.add_argument('--model_name', type=str, default='bert',

choices=['bert', 'roberta'])

parser.add_argument('--method_name', type=str, default='fnn',

choices=['gru', 'rnn', 'bilstm', 'lstm', 'fnn', 'textcnn', 'attention', 'lstm+textcnn',

'lstm_textcnn_attention'])

'''Optimization'''

parser.add_argument('--train_batch_size', type=int, default=4)

parser.add_argument('--test_batch_size', type=int, default=16)

parser.add_argument('--num_epoch', type=int, default=50)

parser.add_argument('--lr', type=float, default=1e-5)

parser.add_argument('--weight_decay', type=float, default=0.01)

'''Environment'''

parser.add_argument('--device', type=str, default='cpu')

parser.add_argument('--backend', default=False, action='store_true')

parser.add_argument('--workers', type=int, default=0)

parser.add_argument('--timestamp', type=int, default='{:.0f}{:03}'.format(time.time(), random.randint(0, 999)))

args = parser.parse_args()

args.device = torch.device(args.device)

'''logger'''

args.log_name = '{}_{}_{}.log'.format(args.model_name, args.method_name,

datetime.now().strftime('%Y-%m-%d_%H-%M-%S')[2:])

if not os.path.exists('logs'):

os.mkdir('logs')

logger = logging.getLogger()

logger.setLevel(logging.INFO)...

立即注册
分享的网址网站均收集自搜索引擎以及互联网,非查问网运营,查问网并没有提供其服务,请勿利用其做侵权以及违规行为。

更新于:2024-03-25 00:14:09
    您需要登录后才可以评论。 立即注册
    相关内容

    关于机器学习的内容的整理

    一种基于神经网络的智能商品税收分类系统

    一人搞定30万商品分类:AI落地实践中的故事

    无依赖安装sentence-transformers

    Windos 环境下 Milvus 向量数据库的 Docker Compose 部署

    win10开HYPER-V后物理机上不了外网

    M3E: 文本嵌入模型入门

    【A情感文本分类实战】2024 Pytorch+Bert、Roberta+TextCNN、BiLs...

    NLP入门——从0到实现文本分类

    pytorch-textclassification是一个专注于中文文本分类(多类分类、多标签分...

    推荐内容

    分享几个好用的bt搜索bt资源下载网址网站

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享

    全网最新bt磁力搜索引擎bt资源bt网站网址分享

    人气美女女优百度指数排行榜(波多野结衣,苍井空,三上悠亚,深田咏美,桥本有菜,北条...

    最强人造人深田咏美,业界的社交女王

    人生起起落落的三上悠亚,成名前的清纯风,怎么搭配出来的?

    业内第一大长腿,桥本有菜的腿究竟有多长

    波多野结衣,岛国业界著作最多的超级劳模

    日本AV界NO.1,苍井空是多少宅男的疯狂?

    美女女优视频混剪 This Girl-Laza Morgan

    怎样使用V2Ray代理和SSTap玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩...

    sstap游戏代理教程 从此玩如魔兽世界/绝地求生/LOL台服/战地3/黑色沙漠/彩虹六...

    影视电影剧集动漫综艺bt资源在线播放网址网站推荐分享