当前位置: 首页 > news >正文

N8周打卡:使用Word2vec实现文本分类

🍨 本文为🔗365天深度学习训练营中的学习记录博客
🍖 原作者:K同学啊

一、数据预处理

本次将加入Word2vec使用PyTorch实现中文文本分类,Word2Vec则是其中的一种词嵌入方去,是一种用于生成词向量的浅层神经网络模型,由Tomas Mikolov及其团队于2013年提出。 Word2Vec通过学习大量文本数据,将每个单词表示为一个连续的向量,这些向量可以捕捉单词之间的语义和句法关系。数据示例如下:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

#构建模型
from torch import nnclass TextClassificationModel(nn.Module):def __init__(self,num_class):super(TextClassificationModel,self).__init__()self.fc = nn.Linear(100,num_class)def forward(self,text):return self.fc(text)num_class = len(label_name)
model = TextClassificationModel(num_class).to(device)import timedef train(dataloader):model.train()total_acc,train_loss,total_count = 0,0,0log_interval = 50start_time = time.time()for idx,(text,label) in enumerate(dataloader):predicted_label = model(text)optimizer.zero_grad()loss = criterion(predicted_label,label)loss.backward()torch.nn.utils.clip_grad_norm_(model.parameters(),0.1) # 梯度裁剪optimizer.step()total_acc += (predicted_label.argmax(1)==label).sum().item()train_loss += loss.item()*label.size(0)total_count += label.size(0)if idx % log_interval == 0 and idx > 0:elapsed = time.time() - start_timeprint('| epoch {:1d} | {:4d}/{:4d} batches ''| train_acc {:4.3f} train_loss {:4.5f}'.format(epoch, idx, len(dataloader),total_acc/total_count, train_loss/total_count))total_acc, train_loss, total_count = 0, 0, 0start_time = time.time()def evaluate(dataloader):model.eval()total_acc,test_loss,total_count =0,0,0with torch.no_grad():for idx,(text,label) in enumerate(dataloader):predicted_label = model(text)loss = criterion(predicted_label,label)total_acc += (predicted_label.argmax(1)==label).sum().item()test_loss += loss.item()*label.size(0)total_count += label.size(0)return total_acc/total_count,test_loss/total_count

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、总结

Word2Vec为文本分类提供了有效的词级别特征表示,通过将词语映射到低维空间,保留了语义信息并减少了数据稀疏性。结合适当的分类模型,能够实现高效准确的文本分类任务。随着NLP技术的发展,Word2Vec可以与其他先进方法结合,进一步提升分类性能。

http://www.dtcms.com/a/524972.html

相关文章:

  • 开发日记-10-24
  • 如何使用 Python 自动调整 Excel 行高和列宽
  • 私人定制网站装修公司排行榜十大排名
  • 网站建设好后打开是目录文件河北省建筑信息平台
  • 分红盘网站开发多少钱怎么做网站上做电子书
  • 网站后台的网址忘记了房天下搜房网官网
  • 碳中和时代:新能源汽车热管理技术新趋势
  • 爬虫逆向之X音a_bogus参数分析
  • Tigshop开源商城系统 JAVA v5.6.0 版本已发布
  • 自己可以申请网站做外卖吗竞价广告推广
  • 做淘宝联盟网站要多少钱?权威的网站建设
  • 专门做钻石国外网站做精酿啤酒购买的网站
  • 【JUC】Future + CompletableFuture详解
  • 高端的食品行业网站开发上海网络开发公司
  • 建设网站书籍pdf下载东莞网站建设是什么意思
  • 华为OD机试双机位A卷 - 分弹珠游戏 (C++ Python JAVA JS GO)
  • 机器学习日报03
  • Ubuntu 20.04上安装MuJoCo 210
  • 耳机商城网站开发新华书店网上商城
  • xcode只显示堆栈不定位断点处
  • 米思米网站订单取消怎么做室内设计师怎么找
  • “十五五”制造业自立新篇:工业软件成为关键支撑
  • 加速度计LIS2DW12开发(2)----基于中断信号获取加速度数据
  • **发散创新:金丝雀发布的技术深度解析与实现**随着技术的不断进步,金丝雀发布作为一种重要的软件发布策略,被广泛应用于生
  • 矽塔 SA8208 36V输入耐压 8A过流保护阈值 大功率过压过流保护芯片
  • 在网上做翻译的网站网站建设费属于哪个会计科目
  • 网站如何收录沭阳网站建设方案
  • 东丽集团网站建设什么网站可以接图做图
  • SAP SD交货单执行跟踪报表分享
  • vs code工具新手操作技巧