基于Word2Vec和LSTM实现微博评论情感分析

news2024/11/16 21:40:30

关于深度实战社区

我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万+粉丝,拥有2篇国家级人工智能发明专利。

社区特色:深度实战算法创新

获取全部完整项目数据集、代码、视频教程,请进入官网:zzgcz.com。竞赛/论文/毕设项目辅导答疑,v:zzgcz_com


1. 项目简介

本项目是一个基于深度学习的中文情感分析模型。其目标是通过分析社交媒体文本(如微博)中的情感倾向,识别出用户发布内容的情感类型(正面、中性或负面)。项目的数据集为某社交媒体平台的标注微博内容,模型使用LSTM(长短时记忆网络)对中文文本进行情感分类。首先,项目采用中文分词技术对文本进行预处理,并去除停用词,然后使用Word2Vec生成词向量。随后,模型将预训练的词向量作为嵌入层输入,通过LSTM对文本进行特征提取,并通过全连接层输出情感分类结果。模型采用了交叉熵损失函数进行损失计算,并使用Adam优化器进行参数优化。训练完成后,项目使用测试集进行模型评估,并输出分类的准确率。此模型可广泛应用于社交媒体内容分析、用户情感监测、市场情绪分析等场景,有助于进一步了解用户的真实情感和态度,从而提供更具针对性的服务或策略。

在这里插入图片描述

2.技术创新点摘要

  1. 数据预处理的优化: 项目对原始微博数据进行了有效的清洗和处理,包括去除缺失值、停用词过滤以及中文分词。为了提升文本处理的效果,项目采用了jieba库进行分词,能够识别中文文本中的复杂语义结构。与传统的文本预处理相比,使用自定义的停用词表进一步过滤噪声词汇,从而保留更为关键的文本信息。
  2. 自定义词向量生成: 在词向量表示中,项目通过Word2Vec模型生成了语料库中的词向量表示,并采用自定义的词典和填充机制。特别地,模型定义了词到索引的映射,使用“”符号作为填充符,使得所有序列长度一致,确保了数据输入的一致性。Word2Vec模型利用上下文关系捕捉了中文词汇的潜在语义表示,相比于传统的one-hot编码,它能够更好地表达词语间的语义关系,提升了情感分类的效果。
  3. 自定义LSTM模型设计: 在模型结构上,项目设计了一个多层LSTM模型用于特征提取,并将其与全连接层结合进行情感分类。LSTM具备处理长序列数据的能力,可以有效捕捉上下文信息,从而在处理复杂的中文语句时能够考虑长距离依赖关系。此外,嵌入层使用了基于Word2Vec生成的预训练词向量,并通过设置嵌入层权重不可训练的方式进行参数冻结,这样不仅提高了模型的收敛速度,还避免了训练过程中对词向量的过度调整,保持了词向量原有的语义信息。
  4. 分类标签的自定义映射与损失函数的选择: 项目对原始情感标签进行了自定义映射,并采用了交叉熵损失函数来处理多类别情感分类问题。在优化策略上,使用了Adam优化器进行参数更新,Adam通过自适应学习率调整提升了模型训练的稳定性和收敛速度。

3. 数据集与预处理

数据集来源及特点: 本项目的数据集来自社交媒体平台(如微博),包含经过标注的用户发布内容及其情感标签。数据集包括两个主要字段:‘微博中文内容’和’情感倾向’。'微博中文内容’为用户在社交媒体上的文本信息,而’情感倾向’分为正面(1)、中性(0)、和负面(-1)三种类别标签。项目使用了前1000条标注样本,经过初步清洗处理后,总样本数有所减少。此数据集的特点是文本内容较为简短、非正式语句较多,且存在大量网络用语、表情符号等,增加了情感分类的复杂度。

数据预处理流程:

  1. 数据清洗: 项目首先检查了’微博中文内容’列中的缺失值并删除所有含有缺失值的记录,确保输入数据完整性。接着通过定制的停用词表过滤掉高频但无实际意义的词汇(如“的”、“了”等),以减少噪声影响。
  2. 中文分词处理: 由于中文文本缺乏天然的分隔符,项目使用了jieba分词工具对文本进行切分,将整段文本分解成单独的词语。相较于字粒度的处理,词粒度能够更好地表达中文语义,提高模型的理解能力。
  3. 词向量生成: 预处理后的文本经过Word2Vec模型训练生成词向量。Word2Vec通过上下文窗口捕捉词汇的语义关系,并将每个词映射为100维的向量表示。随后,项目定义了词到索引的映射,并通过填充符()对文本序列进行填充,使所有文本的输入长度一致,从而确保模型在处理时输入数据格式的规范性。
  4. 特征工程: 项目提取了每条文本的分词结果,并将其转换为对应的词向量索引。针对情感标签,项目进行了自定义映射,将原始标签映射为数值标签,以便模型识别并进行分类处理。该过程使得模型能够充分利用文本特征进行情感倾向的分类。

4. 模型架构

  1. 模型结构的逻辑与数学公式

本项目采用了**LSTM(长短时记忆网络)**模型进行中文情感分类。模型分为以下几层:

  1. 嵌入层(Embedding Layer)

    1. 该层的主要功能是将输入的词语索引(input_ids)转换为词向量(word embeddings)。模型使用了预训练好的Word2Vec词向量,并定义了词汇表大小和嵌入维度。嵌入矩阵的表示如下:

E ∈ R V × D \mathbf{E} \in \mathbb{R}^{V \times D} ERV×D

其中,V 是词汇表大小,D 是词向量的维度。在模型中,词汇表大小为vocab_size,每个词的向量表示维度为100。嵌入层的输出为每个句子中词语索引对应的嵌入向量序列:

X = E [ i n p u t _ i d s ] ( X ∈ R N × D ) \mathbf{X} = \mathbf{E}[input\_ids] \quad (\mathbf{X} \in \mathbb{R}^{N \times D}) X=E[input_ids](XRN×D)

其中,N 是句子中的词数。

  1. LSTM层(Long Short-Term Memory Layer)

    1. LSTM层的目的是提取文本的上下文特征。LSTM通过输入门、遗忘门和输出门来控制信息的流动,避免长期依赖的问题。其每个时刻的输出为:

h t , c t = L S T M ( X t , h t − 1 , c t − 1 ) \mathbf{h}_t, \mathbf{c}_t = LSTM(\mathbf{X}_t, \mathbf{h}_{t-1}, \mathbf{c}_{t-1}) ht,ct=LSTM(Xt,ht1,ct1)

其中,ht 是当前时刻的隐藏状态,ct 是记忆状态。该模型的LSTM层包含128个隐藏单元(hidden_dim=128),因此输出隐藏状态的维度为:

h t ∈ R 128 \mathbf{h}_t \in \mathbb{R}^{128} htR128

  1. 全连接层(Fully Connected Layer)

    1. LSTM层的最后一个隐藏状态作为情感分类的输入,并通过全连接层(FC层)进行情感分类。全连接层的输出表示为:

y = W h l a s t + b \mathbf{y} = \mathbf{W} \mathbf{h}_{last} + \mathbf{b} y=Whlast+b

其中,W 是权重矩阵(维度为128 \times 3),b 是偏置向量,hlast 是LSTM层的最后一个隐藏状态。模型的输出层维度为3,对应三种情感类别(正面、中性、负面)。

  1. 损失函数(Loss Function)

    1. 模型采用交叉熵损失函数(Cross-Entropy Loss),用于计算模型预测与实际标签之间的误差:

L = − 1 N ∑ i = 1 N ∑ j = 1 C y i j ⋅ log ⁡ ( p i j ) \mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \sum_{j=1}^{C} y_{ij} \cdot \log(p_{ij}) L=N1i=1Nj=1Cyijlog(pij)

其中,N 是样本数量,C 是类别数量,yij 是第i个样本第j个类别的真实标签,pij 是模型预测的第j个类别的概率。

  1. 模型整体训练流程

模型的整体训练流程如下:

  1. 数据加载与预处理: 数据集被分为训练集和测试集,分别使用自定义的WeiboDataset类进行封装,并通过DataLoader进行批次加载(训练集和测试集批次大小均为32)。

  2. 模型初始化: 初始化SentimentLSTM模型,设置词汇表大小、嵌入维度(100)、LSTM隐藏层单元数(128)、输出类别(3),并导入预训练的Word2Vec词向量矩阵。

  3. 训练过程:

    1. 前向传播(Forward Propagation): 将输入文本索引序列传入模型,经过嵌入层、LSTM层和全连接层输出预测结果。
    2. 损失计算(Loss Calculation): 采用交叉熵损失函数计算预测结果与真实标签之间的误差。
    3. 反向传播(Backward Propagation): 通过loss.backward()计算梯度,并使用Adam优化器进行参数更新(学习率设为0.001)。
    4. 多轮次训练(Epoch Training): 训练过程持续10个epoch,每个epoch输出训练集的平均损失。
  4. 模型评估: 在测试集上进行评估,模型计算所有样本的预测类别,并与真实类别标签进行比对,统计正确预测数量,从而计算测试集的准确率。准确率的计算公式如下:

A c c u r a c y = Number of Correct Predictions Total Number of Predictions × 100 % Accuracy = \frac{\text{Number of Correct Predictions}}{\text{Total Number of Predictions}} \times 100\% Accuracy=Total Number of PredictionsNumber of Correct Predictions×100%

  1. 模型评估指标
  • 准确率(Accuracy): 准确率衡量了模型在测试集上的分类正确性,表示为所有正确分类的样本占总样本的比例。通过输出准确率,可以直观地了解模型在情感分类任务中的表现。

5. 核心代码详细讲解

1. 数据预处理和特征工程

1.1 数据清洗与分词处理
# 加载停用词,将停用词文件中的每一行读取并存入集合stop_words中with open('停用词.txt', 'r', encoding='utf-8') as f:
    stop_words = set(f.read().splitlines())
  • 解释: 该段代码通过读取本地的“停用词.txt”文件来获取停用词列表。每一行代表一个停用词,通过splitlines()函数将其存入集合stop_words中。停用词的作用是在后续的分词处理中去除无意义或常见的词汇(如“的”、“了”),以避免这些词对模型训练产生干扰。
# 定义数据预处理函数,用于分词和去除停用词def preprocess_text(text):
    words = jieba.lcut(text)  # 使用jieba进行中文分词
    words = [word for word in words if word not in stop_words]  # 去除停用词return words  # 返回处理后的词列表
  • 解释: preprocess_text 是用于文本预处理的函数,执行以下两个步骤:

    • 使用jieba.lcut()对输入的文本进行分词,返回一个词语列表。
    • 遍历分词结果,去除所有存在于stop_words集合中的词汇,仅保留有意义的词语。这一过程可以有效减少文本中无用信息的干扰,提高模型的特征表达效果。
1.2 Word2Vec词向量生成与映射
# 训练Word2Vec模型,设置向量维度为100,窗口大小为5,最低词频为1,使用4个线程
w2v_model = Word2Vec(sentences, vector_size=100, window=5, min_count=1, workers=4)
  • 解释: 该行代码使用Word2Vec模型来训练词向量:

    • sentences:输入的数据集,包含分词后的文本列表。
    • vector_size=100:设置词向量的维度为100(每个词用100个浮点数表示)。
    • window=5:窗口大小为5,即考虑目标词周围5个词作为上下文。
    • min_count=1:词语最低出现频率为1,保证所有词都能被纳入词向量训练中。
    • workers=4:使用4个CPU线程并行处理,提升训练速度。
# 创建词到索引的映射字典,索引从1开始,0预留给填充符'<PAD>'
word2idx = {word: idx + 1 for idx, word in enumerate(vocab)}
word2idx['<PAD>'] = 0  # 添加填充符的索引
  • 解释: 创建一个词到索引的映射字典(word2idx),其中word是词汇表中的每个词,idx为对应的索引。索引从1开始,0被保留给填充符<PAD>。该填充符用于对输入文本进行序列长度的统一操作。

2. 模型架构构建

class SentimentLSTM(nn.Module):def init(self, vocab_size, embed_dim, hidden_dim, output_dim, embeddings):super(SentimentLSTM, self).__init__()  # 调用父类的构造函数
        self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=0)  # 定义嵌入层,忽略索引0的填充符
        self.embedding.weight.data.copy_(torch.from_numpy(embeddings))  # 将预训练的词向量赋值给嵌入层权重
        self.embedding.weight.requires_grad = False  # 冻结嵌入层权重,不进行微调
        self.lstm = nn.LSTM(embed_dim, hidden_dim, batch_first=True)  # 定义LSTM层,输入维度为嵌入维度,隐藏维度为hidden_dim
        self.fc = nn.Linear(hidden_dim, output_dim)  # 定义全连接层,将LSTM的隐藏状态映射到输出维度
  • 解释:
  1. self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=0): 定义嵌入层,将输入的词语索引转换为对应的词向量,padding_idx=0表示填充符不参与计算。
  2. self.embedding.weight.data.copy_(torch.from_numpy(embeddings)): 使用Word2Vec生成的词向量(embeddings)来初始化嵌入层权重。
  3. self.embedding.weight.requires_grad = False: 冻结嵌入层权重,避免在模型训练过程中更新该层权重,从而保持词向量的原始语义信息。
  4. self.lstm = nn.LSTM(embed_dim, hidden_dim, batch_first=True): 定义LSTM层,其中embed_dim为输入维度,hidden_dim为LSTM的隐藏单元数量(本项目为128),batch_first=True表示输入的维度顺序为[batch_size, sequence_length, embed_dim]
  5. self.fc = nn.Linear(hidden_dim, output_dim): 定义全连接层,将LSTM层输出的隐藏状态映射到情感分类结果(3个类别)。

3. 模型训练与评估

for epoch in range(num_epochs):
    model.train()  # 设置模型为训练模式
    total_loss = 0  # 初始化总损失为0for inputs, labels in train_loader:  # 遍历训练数据加载器
        optimizer.zero_grad()  # 清零梯度
        outputs = model(inputs)  # 前向传播,获取模型输出
        loss = criterion(outputs, labels)  # 计算损失
        loss.backward()  # 反向传播,计算梯度
        optimizer.step()  # 更新模型参数
        total_loss += loss.item()  # 累加损失
    avg_loss = total_loss / len(train_loader)  # 计算平均损失print(f'Epoch {epoch + 1}/{num_epochs}, Loss: {avg_loss:.4f}')  # 打印当前轮次的损失
  • 解释:
  1. model.train():将模型设置为训练模式,使得模型的参数可更新。
  2. optimizer.zero_grad():每次训练前清空梯度,以避免梯度累加。
  3. outputs = model(inputs):将训练集数据传入模型,执行前向传播,获取模型预测输出。
  4. loss = criterion(outputs, labels):计算模型预测结果与真实标签之间的交叉熵损失。
  5. loss.backward():反向传播误差,计算模型的梯度。
  6. optimizer.step():根据计算出的梯度更新模型的权重参数。
  7. avg_loss = total_loss / len(train_loader):计算当前epoch的平均损失,并输出结果。

这些代码行构成了核心的训练与更新流程,每个epoch后会输出当前轮次的损失值,从而监测模型收敛效果。

6. 模型优缺点评价

优点:

  1. 有效的特征表达: 模型使用了Word2Vec词向量进行嵌入层初始化,并且通过预训练的词向量提高了模型的文本语义理解能力。这样既保留了词语之间的上下文语义关系,又避免了简单的one-hot编码无法表达词语间语义的局限性。
  2. 上下文信息的捕捉: 使用LSTM网络来处理文本序列数据,LSTM具备处理长序列依赖的能力,能够更好地理解文本的上下文信息,特别适用于中文情感分类任务中长句与复杂句结构的理解。
  3. 合理的权重冻结策略: 通过将嵌入层权重进行冻结,模型避免了对词向量的过度微调,从而保留了预训练词向量的原有语义信息,提升了模型的稳定性和收敛速度。
  4. 模型简单易实现: 模型结构设计相对简单,包括嵌入层、LSTM层和全连接层,易于实现和调试,适合小规模数据集的情感分类任务。

缺点:

  1. 缺乏更复杂的深度特征提取: 模型仅使用单层LSTM,无法捕捉文本中的更深层次特征。在处理复杂语句(如包含讽刺、反问等)的情感分类时,表现力可能受到限制。
  2. 对长文本的处理效果有限: 虽然LSTM可以捕捉上下文信息,但对于超长文本,模型的表现力可能会下降,因为LSTM的记忆单元仍存在信息遗失的风险。
  3. 模型易受过拟合影响: 由于模型相对简单,参数量较少,在小数据集上可能容易出现过拟合的情况,导致在测试集上表现不佳。

可能的改进方向:

  1. 模型结构优化: 可以尝试使用双向LSTM(Bi-LSTM)或添加多层LSTM来提升模型捕捉复杂语义特征的能力。此外,可以在LSTM层后加入Attention机制,进一步聚焦重要的文本特征信息。
  2. 超参数调整: 调整LSTM的隐藏层单元数量、批次大小或学习率等超参数,以提高模型的收敛效果。
  3. 数据增强: 可以通过数据增强策略(如同义词替换、随机删除等)扩充训练数据,提升模型的泛化能力。还可以考虑引入更大规模的数据集进行训练,以进一步提升模型的稳健性和性能。

↓↓↓更多热门推荐:
基于YOLOv4和DeepSORT的车牌识别与跟踪系统
基于人工智能的实时健身训练分析系统:深蹲姿态识别与动作评估

全部项目数据集、代码、教程进入官网zzgcz.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【mmengine】优化器封装(OptimWrapper)(入门)优化器封装 vs 优化器

MMEngine 实现了优化器封装&#xff0c;为用户提供了统一的优化器访问接口。优化器封装支持不同的训练策略&#xff0c;包括混合精度训练、梯度累加和梯度截断。用户可以根据需求选择合适的训练策略。优化器封装还定义了一套标准的参数更新流程&#xff0c;用户可以基于这一套流…

SWAP、AquaCrop、FVCOM、Delft3D、SWAT、R+VIC、HSPF、HEC-HMS......

全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型&#xff0c;它综合考虑了土壤-水分-大气以及植被间的相互作用&#xff1b;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程&…

2024最新软件测试八股文(含答案+文档)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计&#xff0c;到…

系统安全 - Linux 安全模型及实践

文章目录 导图Linux 安全模型用户层权限管理的细节多用户环境中的权限管理文件权限与目录权限 最小权限原则的应用Linux 系统中的认证、授权和审计机制认证机制授权机制审计机制 主机入侵检测系统&#xff08;HIDS&#xff09;_ Host-based Intrusion Detection SystemHIDS 的概…

Android问题笔记五十:构建错误-AAPT2 aapt2-7.0.2-7396180-windows Daemon

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

jmeter中token测试

案例&#xff1a; 网站&#xff1a;http://shop.duoceshi.com 讲解&#xff1a;用三个接口来讲解 第一个接口code&#xff1a;GET http://manage.duoceshi.com/auth/code 第二个登录接口&#xff1a;http://manage.duoceshi.com/auth/login 第三个接口&#xff1a;http://…

iOS中的链表 - 双向链表

iOS中的链表 - 单向链表_ios 链表怎么实现-CSDN博客​​​​​​​ 引言 在数据结构中&#xff0c;链表是一种常见的且灵活的线性存储方式。与数组不同&#xff0c;链表的元素在内存中不必连续存储&#xff0c;这使得它们在动态内存分配时更加高效。其中&#xff0c;双向链表…

Pikachu-Cross-Site Scripting-DOM型xss_x

查看代码&#xff0c;输入的内容&#xff0c;通过get请求方式&#xff0c;用text 参数带过去&#xff1b; 获取text内容&#xff0c;赋值给xss 然后拼接到 dom 里&#xff1b;构造payload的关键语句&#xff1a; <a href"xss">就让往事都随风,都随风吧</a&…

【SQL】DDL语句

文章目录 1.SQL通用语法2.SQL的分类3.DDL3.1数据库操作3.2 表操作3.2.1 表操作--数据类型3.2.2 表操作--修改3.2.3 表操作--删除 SQL 全称 Structured Query Language&#xff0c;结构化查询语言。操作关系型数据库的编程语言&#xff0c;定义了一套操作关系型数据库统一标准 。…

【Python语言初识(六)】

一、网络编程入门 1.1、TCP/IP模型 实现网络通信的基础是网络通信协议&#xff0c;这些协议通常是由互联网工程任务组 &#xff08;IETF&#xff09;制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定&#xff0c;例如怎样建立连接、怎样互相识别等&#xff0c;…

解决MySQL报Incorrect datetime value错误

目录 一、前言二、问题分析三、解决方法 一、前言 欢迎大家来到权权的博客~欢迎大家对我的博客进行指导&#xff0c;有什么不对的地方&#xff0c;我会及时改进哦~ 博客主页链接点这里–>&#xff1a;权权的博客主页链接 二、问题分析 这个错误通常出现在尝试将一个不…

基于C++和Python的进程线程CPU使用率监控工具

文章目录 0. 概述1. 数据可视化示例2. 设计思路2.1 系统架构2.2 设计优势 3. 流程图3.1 C录制程序3.2 Python解析脚本 4. 数据结构说明4.1 CpuUsageData 结构体 5. C录制代码解析5.1 主要模块5.2 关键函数5.2.1 CpuUsageMonitor::Run()5.2.2 CpuUsageMonitor::ComputeCpuUsage(…

Python库matplotlib之五

Python库matplotlib之五 小部件(widget)RangeSlider构造器APIs应用实列 TextBox构造器APIs应用实列 小部件(widget) 小部件(widget)可与任何GUI后端一起工作。所有这些小部件都要求预定义一个Axes实例&#xff0c;并将其作为第一个参数传递。 Matplotlib不会试图布局这些小部件…

【数学分析笔记】第4章第1节 微分和导数(1)

4. 微分 4.1 微分和导数 考虑一个函数 y f ( x ) yf(x) yf(x)&#xff0c;当 x x x做一些微小的变动&#xff0c;函数值也会有微小的变动&#xff0c;比如&#xff1a; x → x △ x x\to x\bigtriangleup x x→x△x&#xff0c;则 f ( x ) → f ( x △ x ) f(x)\to f(x\bi…

足球青训俱乐部管理:Spring Boot技术驱动

摘 要 随着社会经济的快速发展&#xff0c;人们对足球俱乐部的需求日益增加&#xff0c;加快了足球健身俱乐部的发展&#xff0c;足球俱乐部管理工作日益繁忙&#xff0c;传统的管理方式已经无法满足足球俱乐部管理需求&#xff0c;因此&#xff0c;为了提高足球俱乐部管理效率…

数据结构——“AVL树”的四种数据旋转的方法

因为上次普通的二叉搜索树在极端情况下极容易造成我们的链式结构&#xff08;这会导致我们查询的时间复杂度变为O(n)&#xff09;&#xff0c;然而AVL树就很好的解决了这一问题&#xff08;归功于四种旋转的方法&#xff09;&#xff0c;它让我们的树的查询的时间复杂度变得接近…

TIM(Timer)定时器的原理

一、介绍 硬件定时器的工作原理基于时钟信号源提供稳定的时钟信号作为计时器的基准。计数器从预设值开始计数&#xff0c;每当时钟信号到达时计数器递增。当计数器达到预设值时&#xff0c;定时器会触发一个中断信号通知中断控制器处理相应的中断服务程序。在中断服务程序中&a…

无人化焦炉四大车系统 武汉正向科技 工业机车无人远程控制系统

焦炉四大车无人化系统介绍 采用格雷母线光编码尺双冗余定位技术&#xff0c;炉门视觉定位自学习技术&#xff0c;wifi5G无线通讯技术&#xff0c;激光雷达安全识别技术&#xff0c;焦化智慧调度&#xff0c;手机APP监控功能。 焦炉四大车无人化系统功能 该系统能自动生成生产…

遥感图像垃圾处理场分割,北京地区高分2图像,3500张图像,共2GB,分割为背景,空地,垃圾,垃圾处理设施四类

遥感图像垃圾处理场分割&#xff0c;北京地区高分2图像&#xff0c;3500张图像&#xff0c;共2GB&#xff0c;分割为背景&#xff0c;空地&#xff0c;垃圾&#xff0c;垃圾处理设施四类 遥感图像垃圾处理场分割数据集 规模 图像数量&#xff1a;3500张数据量&#xff1a;2G…

黑科技!Llama 3.2多模态AI震撼发布

黑科技&#xff01;Llama 3.2多模态AI震撼发布 Meta发布Llama 3.2模型&#x1f680;&#xff0c;引领AI新潮流&#xff01;它能处理文字、图片、视频&#x1f4f8;&#xff0c;满足不同需求&#xff0c;性能媲美大牌选手✨。一键启动包已准备好&#xff0c;让你轻松体验AI的魔…