记录一次chatGPT人机协同实战辅助科研——根据词库自动进行情感分析

有一个Excel中的一列,读取文本判断文本包含积极情感词.txt和消极情感词.txt的个数,分别生成两列统计数据

请将 ‘your_file.xlsx’ 替换为你的Excel文件名,'Your Text Column’替换为包含文本的列名。

这个程序首先读取了积极和消极情感词,并定义了两个函数来统计文本中这些词的数量。然后,它使用这两个函数来创建新的列,并将结果保存为一个新的Excel文件。

# -*- coding:utf-8 -*-f
import pandas as pd

# 读入数据

# 读取Excel文件
file_path = 'chatGPT_analyse_result.xlsx'
df = pd.read_excel(file_path)

# 定义函数来统计文本中出现的词汇数
def count_words(text, word_list):
    count = 0
    for word in word_list:
        if word in text:
            count += 1
    return count

# 读取积极和消极情绪词文件
positive_words_path = '积极情绪词库.txt'  # 请替换为你的积极情绪词文件路径
negative_words_path = '消极情绪词库.txt'  # 请替换为你的消极情绪词文件路径

# 读取积极和消极情绪词文件内容到列表中
with open(positive_words_path, 'r', encoding='utf-8') as file:
    positive_words = [line.strip() for line in file]

with open(negative_words_path, 'r', encoding='utf-8') as file:
    negative_words = [line.strip() for line in file]

# 对每一行文本进行积极和消极情绪词的统计
positive_counts = []
negative_counts = []

for text in df['分析结果']:
    positive_count = count_words(str(text), positive_words)
    negative_count = count_words(str(text), negative_words)
    positive_counts.append(positive_count)
    negative_counts.append(negative_count)

# 将统计结果添加到数据框中
df['积极情绪词个数'] = positive_counts
df['消极情绪词个数'] = negative_counts

# 将结果保存到新的Excel文件中
output_file_path = '分析结果.xlsx'
df.to_excel(output_file_path, index=False)

print("已生成带有情绪词统计的Excel文件。")

发现次数都是0

在这里插入图片描述

调整prompt

还是不匹配 ,接续追问

在这里插入图片描述

成功解决bug:出现了分析结果
在这里插入图片描述
最后代码:

# -*- coding:utf-8 -*-f
import pandas as pd
import jieba
# 读入数据

# 读取Excel文件
file_path = 'chatGPT_analyse_result.xlsx'
df = pd.read_excel(file_path)

# 情绪词列表
positive_words = ['透露', '亲切', '容忍', '听从', '被动', '创新', '发表', '好的', '鼓舞', '赋予', '喜欢', '配合', '聪明', '偏向', '交流', '合理', '猜测', '夸奖', '致力于', '称赞', '不错', '听懂', '安慰', '善于', '爱', '提升', '坚持', '看好', '指引', '劝慰', '舒缓', '减轻', '推导', '愉快', '轻松', '沟通', '有序', '进步', '谢谢', '强烈', '懂', '恰当', '持之以恒', '至关重要', '振奋', '赞成', '妥当', '礼貌', '温暖', '有利于']

negative_words = ['批评', '不对', '抱歉', '薄弱', '不适', '不足', '谴责', '逼迫', '厌烦', '不行', '指责', '负面', '惩罚', '紧张', '责备', '告诫', '挫败', '气馁', '紧迫', '质疑', '不满', '贬低', '忽视', '批判', '疑惑', '反对', '不是', '失败', '催促', '担心', '无礼', '失去', '焦虑', '着急', '退步', '模糊', '放弃', '迷惘', '灰心丧气', '批判性', '禁止', '不当', '犯错', '忽略', '拒绝', '担忧', '不专业', '困难']

# 分词函数
def tokenize(text):
    return jieba.lcut(text)

# 对每一行文本进行分词和积极、消极情绪词的统计
positive_counts = []
negative_counts = []

for text in df['分析结果']:
    words = tokenize(str(text))  # 分词
    positive_count = any(word in positive_words for word in words)
    negative_count = any(word in negative_words for word in words)
    positive_counts.append(1 if positive_count else 0)
    negative_counts.append(1 if negative_count else 0)

# 将统计结果添加到数据框中
df['积极情绪词个数'] = positive_counts
df['消极情绪词个数'] = negative_counts

# 将结果保存到新的Excel文件中
output_file_path = '分析结果.xlsx'
df.to_excel(output_file_path, index=False)

print("已生成带有情绪词统计的Excel文件。")

最后在画个图

转换成分钟

在这里插入图片描述

import pandas as pd

# 读取Excel文件
file_path = 'chatGPT_analyse_result.xlsx'  # 请替换为你的Excel文件路径
df = pd.read_excel(file_path)

# 提取时间列中的分钟和秒钟数据
time_pattern = r'(\d+):(\d+)'
df['分钟'] = df['时间'].str.extract(time_pattern)[0].astype(int) * 60  # 提取分钟并转换为秒钟
df['秒钟'] = df['时间'].str.extract(time_pattern)[1].astype(int)

# 计算总的秒钟数
df['总秒钟数'] = df['分钟'] + df['秒钟']

# 将总秒钟数转换回分钟
df['总分钟数'] = df['总秒钟数'] / 60

# 打印结果或保存到新的Excel文件中
print(df[['分钟', '秒钟', '总秒钟数', '总分钟数']])  # 打印结果
# 或者保存到新的Excel文件中
output_file_path = '处理后的结果.xlsx'

df.to_excel(output_file_path, index=False)
print('ok')

在这里插入图片描述

在这里插入图片描述

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

# 读取Excel文件
file_path = '分析结果.xlsx'  # 请替换为你的Excel文件路径
df = pd.read_excel(file_path)

# 映射积极情绪词个数和消极情绪词个数到1和-1
df['积极情绪映射'] = df['积极情绪词个数'].apply(lambda x: 1)
df['消极情绪映射'] = df['消极情绪词个数'].apply(lambda x: -1)

# 绘制折线图
plt.figure(figsize=(10, 6))  # 设置图形大小

# 以总分钟数为 x 轴,积极情绪映射和消极情绪映射为 y 轴绘制折线图
plt.plot(df['总分钟数'], df['积极情绪映射'], label='积极情绪词个数', marker='o')  # marker='o' 表示使用圆点标记数据点
plt.plot(df['总分钟数'], df['消极情绪映射'], label='消极情绪词个数', marker='x')  # marker='x' 表示使用X标记数据点

plt.xlabel('总分钟数')  # x 轴标签
plt.ylabel('情绪')  # y 轴标签
plt.title('课堂时间与情绪变化折线图')  # 图表标题

plt.legend()  # 显示图例
plt.grid(True)  # 显示网格线

plt.ylim(-1.5, 1.5)  # 设置 y 轴显示范围

plt.tight_layout()  # 调整布局使标签等不会被裁剪
plt.show()  # 显示图形

结果如图:
在这里插入图片描述

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人机协同机器人系统是指在生产、服务、医疗等各个领域,将机器人与人类工作者进行有效的协作,以提升工作效率、降低劳动强度和提高工作安全性。本文将介绍一种人机协同机器人的系统设计与分析,具体包括以下几个方面: 1. 系统需求分析 在设计人机协同机器人系统之前,需要先进行系统需求分析,确定系统的功能、性能和安全要求等。在此过程中,需要考虑以下几个方面: (1)系统的应用领域:不同的应用领域对人机协同机器人系统的要求不同,需要根据实际需求进行设计。 (2)机器人的类型和数量:根据应用领域和实际需求,确定机器人的类型和数量。 (3)人机交互方式:确定人机交互方式,如语音控制、手势识别、虚拟现实等。 (4)安全性要求:确定系统的安全性要求,如防止机器人误伤人类工作者、防止机器人被黑客攻击等。 2. 系统架构设计 在确定了系统需求后,需要设计系统的架构。人机协同机器人系统的架构包括机器人控制系统、人机交互系统、任务规划系统和安全监控系统等。 (1)机器人控制系统:负责控制机器人的运动和动作,包括运动控制、姿态控制、传感器数据采集等。 (2)人机交互系统:负责实现人机交互,包括语音识别、手势识别、虚拟现实等。 (3)任务规划系统:负责规划机器人的任务,包括路径规划、动作规划等。 (4)安全监控系统:负责监控机器人的安全状态,如人机冲突检测、安全防护等。 3. 系统实现 在完成系统架构设计后,需要进行系统实现。具体包括以下几个方面: (1)机器人硬件设计:根据系统需求和架构设计,设计机器人硬件,包括机械结构、传感器、执行器等。 (2)机器人软件设计:根据系统需求和架构设计,设计机器人软件,包括控制软件、任务规划软件等。 (3)人机交互软件设计:根据系统需求和架构设计,设计人机交互软件,包括语音识别、手势识别、虚拟现实等。 (4)安全监控软件设计:根据系统需求和架构设计,设计安全监控软件,包括人机冲突检测、安全防护等。 4. 系统测试和优化 在完成系统实现后,需要进行系统测试和优化。具体包括以下几个方面: (1)机器人运动测试:测试机器人的运动和动作是否符合设计要求。 (2)人机交互测试:测试人机交互是否流畅、准确。 (3)任务规划测试:测试任务规划是否合理、高效。 (4)安全性测试:测试安全监控系统是否能够保障机器人和人类工作者的安全。 在测试过程中,需要不断优化系统,提高系统的性能和稳定性。 总之,人机协同机器人系统设计与分析是一个复杂的过程,需要综合考虑系统需求、架构设计、实现和测试等多个方面。只有在系统设计和实现中做好每一个环节,才能保证人机协同机器人系统的高效运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-教育技术博主(接私活)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值