使用深度学习模型进行情感分析!!!

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文介绍了如何使用深度学习模型进行中文情感分析。首先导入了必要的库,包括`transformers`、`pandas`、`jieba`和`re`。然后定义了一个`SentimentAnalysis`类,用于处理数据、加载真实标签和评估模型准确性。在主函数中,使用预训练的情感分析模型对处理后的数据进行预测,并计算模型的准确性。

[TOC]

使用深度学习模型进行情感分析

1. 导入库

from transformers import pipeline
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import pandas as pd
import jieba
import re

CopyInsert

  • transformers库中的pipeline用于便捷地创建和使用预训练的模型进行任务(如情感分析)。
  • pandas用于数据处理和分析。
  • jieba是一个中文分词程序,用于对中文文本进行分词。
  • re是Python的正则表达式库,用于处理文本的清理和格式化。

2. 定义情感分析类

class SentimentAnalysis:
    def __init__(self):
        self.path = './weibo_senti_100k.csv'

CopyInsert

  • 定义一个SentimentAnalysis类,构造函数中初始化self.path变量,存储数据文件的路径。

3. 数据处理

def data_process(self):
    index = 0
    review_result = []
    df = pd.read_csv(self.path)
    review = df['review'].tolist()
    for sentence in review:
        sentence = re.sub('@.*?', '', sentence)
        sentence = re.sub('@.*?:', '', sentence)
        sentence = re.sub('@.*?:', '', sentence)
        sentence = re.sub(r'\w+', '', sentence)
        cut = jieba.lcut(sentence)
        segResult = []
        for word in cut:
            if ('\u4e00' <= word <= '\u9fa5'):
                segResult.append(word)
        review_result.append(' '.join(segResult))
        index += 1
    return review_result

CopyInsert

  • 首先读取CSV文件并将评论数据加载到review列表中。
  • 对每条评论进行清洗处理:
    • 移除@提及的用户(例如:@用户)。
    • 用正则表达式移除所有非中文字符(如数字、英文字母等)。
  • 使用jieba.lcut进行分词,对分词结果进行过滤,仅保留中文字符。
  • 将处理后的结果加入到review_result列表中,最终返回这个列表。

4. 评估模型准确性

def evaluate(self, guess_label, real_label):
    real_index = 0
    fake_index = 0
    for index in range(len(real_label)):
        if real_label[index] == guess_label[index]:
            real_index += 1
        else:
            fake_index += 1
    return real_index/(real_index + fake_index)

CopyInsert

  • 该方法接收两个列表:guess_label(模型预测标签)和real_label(真实标签)。
  • 通过循环比较两个标签列表,计算正确预测的数量与总预测数量的比率,返回这个比率作为准确性。

5. 加载真实标签

def load_data(self):
    df = pd.read_csv(self.path)
    real_label = df['label'].tolist()
    return real_label

CopyInsert

  • 读取CSV文件并获取'事件'列的真实标签。

6. 主函数部分

if __name__ == '__main__':
    classifier = pipeline('sentiment-analysis')
    sa = SentimentAnalysis()
    results = classifier(sa.data_process())
    guess_label = []
    for result in results:
        if result['label'] == 'POSITIVE':
            guess_label.append(1)
        else:
            guess_label.append(0)
        print(f'label: {result["label"]}, with score: {round(result["score"], 4)}')
    real_label = sa.load_data()
    ratio = sa.evaluate(guess_label, real_label)
    print(ratio)

CopyInsert

  • 检查是否在主模块中运行。
  • 使用pipeline创建情感分析模型。
  • 初始化SentimentAnalysis类实例。
  • 调用data_process()方法处理数据,并传入情感分析模型进行分析。
  • 根据模型输出生成预测标签(1表示正向情感,0表示负向情感)。
  • 打印每个预测结果及其分数。
  • 加载真实标签并通过evaluate()方法评估模型准确性,最后打印准确性。
目录
相关文章
|
10天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品市场预测的深度学习模型
使用Python实现智能食品市场预测的深度学习模型
48 5
|
4天前
|
机器学习/深度学习 数据采集 运维
使用 Python 实现深度学习模型:智能食品生产线优化
使用 Python 实现深度学习模型:智能食品生产线优化
40 13
|
1天前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
14 5
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的Transformer模型
探索深度学习中的Transformer模型
21 1
|
12天前
|
机器学习/深度学习 算法 开发者
探索深度学习中的优化器选择对模型性能的影响
在深度学习领域,优化器的选择对于模型训练的效果具有决定性作用。本文通过对比分析不同优化器的工作原理及其在实际应用中的表现,探讨了如何根据具体任务选择合适的优化器以提高模型性能。文章首先概述了几种常见的优化算法,包括梯度下降法、随机梯度下降法(SGD)、动量法、AdaGrad、RMSProp和Adam等;然后,通过实验验证了这些优化器在不同数据集上训练神经网络时的效率与准确性差异;最后,提出了一些基于经验的规则帮助开发者更好地做出选择。
|
11天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
30 2
|
10天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
36 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
10天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
50 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
13天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品储存管理的深度学习模型
使用Python实现智能食品储存管理的深度学习模型
36 2
|
1天前
|
机器学习/深度学习 数据采集 人工智能
探索人工智能中的深度学习模型优化策略
探索人工智能中的深度学习模型优化策略
下一篇
无影云桌面