我用 ChatGPT 干的 18 件事!

2023-05-16

文章目录

      • 1. 语法更正
      • 2. 文本翻译
      • 3. 语言转换
      • 4. 代码解释
      • 5. 修复代码错误
      • 6. 作为百科全书
      • 7. 信息提取
      • 8. 好友聊天
      • 9. 创意生成器
      • 10. 采访问题
      • 11. 论文大纲
      • 12. 故事创作
      • 13. 问题类比
      • 14. 创建 SQL 需求
      • 15. 情感分析
      • 16. 将产品描述转变为广告
      • 17. 关键字提取
      • 18. 闲聊机器人
    • 总结

**来自:**CSDN,**作者:**ㄣ知冷煖★

原文链接:

https://blog.csdn.net/weixin_42475060/article/details/129399125

**版权声明:**本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。你确定,你会使用 ChatGPT 了吗?

今天给大家整理了 18 种 ChatGPT 的用法,看看有哪些方法是你能得上的。

  • \1. 语法更正
  • \2. 文本翻译
  • \3. 语言转换
  • \4. 代码解释
  • \5. 修复代码错误
  • \6. 作为百科全书
  • \7. 信息提取
  • \8. 好友聊天
  • \9. 创意生成器
  • \10. 采访问题
  • \11. 论文大纲
  • \12. 故事创作
  • \13. 问题类比
  • \14. 创建 SQL 需求
  • \15. 情感分析
  • \16. 将产品描述转变为广告
  • \17. 关键字提取
  • \18. 闲聊机器人

1. 语法更正

用途:文章、论文等润色。

图片

2. 文本翻译

用途:日常学习、商务翻译等。

图片

3. 语言转换

Python–>JAVA

用途:工作用途,不同语言工程师之间的合作,更加方便。

import numpy as np
import plotly.express as px

def thresholding_algo(y, lag, threshold):
    """
    :param y: 输入列表
    :param lag: 滑动窗口大小
    :param threshold: 调节系数,用于调节容忍范围的大小。
    :return:
    """
    # signals:信号列表
    signals = np.zeros(len(y))
    avgFilter = np.zeros(len(y))

    # 初始化平均值列表、差值列表
    avgFilter[lag - 1] = np.mean(y[0:lag])
    dif_li = [0] * len(y)

    for i in range(lag, len(y)):
        if i < len(y) - lag - 30:
            for j in range(i + 11, len(y)):
                if y[j] >= y[i - 1]:
                    break
            if j >= len(y) - 30:
                back = y[i - 1]
            else:
                back = np.mean(y[j + 11:j + 20 + lag])
        else:
            back = y[i - 1]

        # 前后均值差值计算
        tmp = abs(back - avgFilter[i - 1])
        dif = (tmp if tmp > 1 else 1)

        if abs(y[i] - avgFilter[i - 1]) > dif * threshold:
            signals[i] = (1 if y[i] > avgFilter[i - 1] else -1)
            avgFilter[i] = np.mean(y[(i - lag):i])
            y[i] = avgFilter[i - 1]
        else:
            signals[i] = 0
            avgFilter[i] = np.mean(y[(i - lag):i])

        dif_li[i] = dif

    return dict(signals=np.asarray(signals),
                avgFilter=np.asarray(avgFilter),
                y=np.asarray(y),
                dif=np.asarray(dif_li),
                )

图片

public static Map<String, double[]> thresholding_algo(double[] y, int lag, double threshold) {

    double[] signals = new double[y.length];
    double[] avgFilter = new double[y.length];
    Arrays.fill(avgFilter, 0.0);

    avgFilter[lag - 1] = mean(Arrays.copyOfRange(y, 0, lag));
    double[] dif_li = new double[y.length];
    Arrays.fill(dif_li, 0.0);

    for (int i = lag; i < y.length; i++) {
        int j;
        if (i < y.length - lag - 30) {
            for (j = i + 11; j < y.length; j++) {
                if (y[j] >= y[i - 1]) {
                    break;
                }
            }
            double back;
            if (j >= y.length - 30) {
                back = y[i - 1];
            } else {
                back = mean(Arrays.copyOfRange(y, j + 11, j + 20 + lag));
            }
        } else {
            back = y[i - 1];
        }

        double tmp = Math.abs(back - avgFilter[i - 1]);
        double dif = tmp > 1 ? tmp : 1;

        if (Math.abs(y[i] - avgFilter[i - 1]) > dif * threshold) {
            signals[i] = y[i] > avgFilter[i - 1] ? 1 : -1;
            avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
            y[i] = avgFilter[i - 1];
        } else {
            signals[i] = 0;
            avgFilter[i] = mean(Arrays.copyOfRange(y, i - lag, i));
        }

        dif_li[i] = dif;
    }

    Map<String, double[]> result = new HashMap<>();
    result.put("signals", signals);
    result.put("avgFilter", avgFilter);
    result.put("y", y);
    result.put("dif", dif_li);

    return result;
}

private static double mean(double[] array) {
    double sum = 0.0;
    for (double d : array) {
        sum += d;
    }
    return sum / array.length;
}

4. 代码解释

用途:当我们来到一家新的公司,发现前任工程师留下了一摊谁都看不懂的代码,这时候,如果有个人能帮我们解释一下这些代码是什么意思,那简直不要太开心。

图片

def Fusion_algorithm(y_list):
    """
    最终的融合算法
    1、第一次遍历列表: 处理掉小于上一个值的点,使其等于上一个值。
    2、第二次使用z-score来处理异常点:一种基于统计方法的时序异常检测算法借鉴了一些经典的统计方法,比如Z-score和移动平均线
    该算法将时间序列中的每个数据点都看作是来自一个正态分布,通过计算每个数据点与其临接数据点的平均值和标准差,可以获得Z-score
    并将其用于检测异常值,将z-score大于3的数据点视为异常值,缺点:如果异常点太多,则该算法的准确性较差。
    3、
    :param y_list: 传入需要处理的时间序列
    :return:
    """
    # 第一次处理
    for i in range(1, len(y_list)):
        difference = y_list[i] - y_list[i - 1]
        if difference <= 0:
            y_list[i] = y_list[i - 1]
        # 基于突变检测的方法:如果一个数据点的值与前一个数据点的值之间的差异超过某个阈值,
        # 则该数据点可能是一个突变的异常点。这种方法需要使用一些突变检测算法,如Z-score突变检测、CUSUM(Cumulative Sum)
        # else:
        #     if abs(difference) > 2 * np.mean(y_list[:i]):
        #         y_list[i] = y_list[i - 1]

    # 第二次处理
    # 计算每个点的移动平均值和标准差
    ma = np.mean(y_list)
    # std = np.std(np.array(y_list))
    std = np.std(y_list)
    # 计算Z-score
    z_score = [(x - ma) / std for x in y_list]
    # 检测异常值
    for i in range(len(y_list)):
        # 如果z-score大于3,则为异常点,去除
        if z_score[i] > 3:
            print(y_list[i])
            y_list[i] = y_list[i - 1]

    return y_list

图片

备注:上一个代码解释,我们可以看到,答案或许受到了代码中注释的影响,我们删掉注释,再来一次。对于解释中一些不懂的点,我们可以连续追问!

图片

import numpy as np
from sklearn.ensemble import IsolationForest
import plotly.express as px
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import json

def Fusion_algorithm(y_list):
    for i in range(1, len(y_list)):
        difference = y_list[i] - y_list[i - 1]
        if difference <= 0:
            y_list[i] = y_list[i - 1]
    
        # else:
        #     if abs(difference) > 2 * np.mean(y_list[:i]):
        #         y_list[i] = y_list[i - 1]


    ma = np.mean(y_list)
    std = np.std(y_list)
    z_score = [(x - ma) / std for x in y_list]
    for i in range(len(y_list)):
        if z_score[i] > 3:
            print(y_list[i])
            y_list[i] = y_list[i - 1]

    return y_list

5. 修复代码错误

用途:写完一段代码后发现有错误?让 ChatGPT 来帮你!

### Buggy Python
import Random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):
    question = "What is "+a+" x "+b+"? "
    answer = input(question)
    if answer = a*b
        print (Well done!)
    else:
        print("No.")

6. 作为百科全书

用途:ChatGPT 可以解释你所有的问题!但是列出小说这个功能有些拉胯,经过测试只有科幻小说列得还可以,其他类型不太行,可能 ChatGPT 训练工程师是个科幻迷!

7. 信息提取

用途:作为自然语言处理界的大模型,怎么能少得了信息提取呢?

8. 好友聊天

用途:输入对方性格模拟聊天,这方面功能不太完善,可能有新鲜玩法我还没有挖掘出来。

9. 创意生成器

用途:是不是常常会在创新上遇到思维瓶颈不知道怎么做?不要担心,让 ChatGPT 帮你生成创意!

VR 和密室结合

再结合 AR

10. 采访问题

用途:可能您是一个媒体工作者,采访问题不知道怎么写?ChatGPT 可以帮您解决。

采访问题清单

采访问题清单并给出相应答案

11. 论文大纲

用途:这个功能对于研究生简直不要太爽了,一直在郁闷大纲怎么写,直接列出来大纲简直帮了我天大的忙!对于大纲中不理解的点,直接要求 ChatGPT 给出进一步解释。代码也可以有!哪一章的内容不太会写,直接让 ChatGPT 安排,这样,一篇论文很快就写出来啦!

创建论文大纲

解释大纲内容

class PBA(nn.Module):
    def __init__(self, PerformanceThreshold, DistributionType, AttentionWeightRange):
        super(PBA, self).__init__()
        self.PerformanceThreshold = PerformanceThreshold
        self.DistributionType = DistributionType
        self.AttentionWeightRange = AttentionWeightRange
        
    def forward(self, input, performance_scores):
        # 计算注意力分数
        attention_scores = []
        for i in range(len(input)):
            if performance_scores[i] > self.PerformanceThreshold:
                attention_scores.append(performance_scores[i])
            else:
                attention_scores.append(0.0)
                
        # 将性能分数映射到注意力权重
        if self.DistributionType == "softmax":
            attention_weights = F.softmax(torch.tensor(attention_scores), dim=0)
        elif self.DistributionType == "sigmoid":
            attention_weights = torch.sigmoid(torch.tensor(attention_scores))
        else:
            raise ValueError("Unknown distribution type: {}".format(self.DistributionType))
        
        # 缩放注意力权重到指定范围
        attention_weights = attention_weights * (self.AttentionWeightRange[1] - self.AttentionWeightRange[0]) + self.AttentionWeightRange[0]
        
        # 计算加权输入
        weighted_input = torch.mul(input, attention_weights.unsqueeze(1).expand_as(input))
        output = torch.sum(weighted_input, dim=0)
        
        return output

12. 故事创作

用途:这个功能真的太太太棒了,以后我自己列提纲出来就可以写小说啦!

爱情故事

恐怖故事

13. 问题类比

用途:当你想要做一个比喻时,这是一个很棒的功能。

14. 创建 SQL 需求

用途:写 SQL 有时候挺头疼的,想好久想不起来。

15. 情感分析

用途:这个功能让我想起来在之前公司做的情感分析任务了。

16. 将产品描述转变为广告

用途:这个功能对于商家来说太棒了。

17. 关键字提取

用途:NLP 任务的重要作用,关键字提取!

18. 闲聊机器人

用途:这个不多说了,用来闲聊体验感真的很不错。

总结

我觉得角色扮演挺有意思的,对话前加一句:假如你是 xxx。

现在有一些小程序,让 AI 扮演一些角色对话,就是用这种方法实现的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我用 ChatGPT 干的 18 件事! 的相关文章

  • Clion的下载安装配置使用总结

    已剪辑自 https codeantenna com a s1M0flG7NJ 相必经常学C或者C 43 43 的同学们一定用过dev c 43 43 vc 43 43 VS等等各种编译器 xff0c 相比他们来说 xff0c clion还
  • 下载和安装配置 MinGW-w64(免安装版)

    文章目录 1 找到downloads2 找到SourceForge3 找到一个合适的版本 xff08 我这里是下拉找到免安装版 xff09 下载 xff0c 其他的都试过了 xff0c 都不行 xff08 可能是因为外网的关系连接不稳定 x
  • Clion Debug模式使用实践

    文章目录 一 背景二 开启调试三 编译代码四 调试代码 已剪辑自 https segmentfault com a 1190000040698380 一 背景 最近为了考研 xff0c 在学习C语言与数据结构 xff0c 最开始使用Visu
  • 技术交底书怎么撰写?看这一篇就够了

    文章目录 技术交底书怎么撰写 xff1f 看这一篇就够了专利技术交底书格式1 发明 xff08 或实用新型 以下同 xff09 的名称2 技术领域3 背景技术4 发明内容5 附图说明6 具体实施方式 技术交底书各部分应该怎么写技术交底书的典

随机推荐

  • 计算机软件著作权材料模板

    https github com AlexanderZhou01 China software copyright 自己申请软件著作权流程 超详细 xff0c 内含材料模板等 计算机软件著作权模板及个人申请全套攻略 软著
  • ACP敏捷项目管理认证考试科普

    文章目录 说在最前面 xff1a 1 PMI ACP考试介绍 xff1a 2 PMI ACP考试报名流程如下 xff1a 3 PMI ACP报名条件 xff1a 4 资格审查的目的 xff1a 5 ACP与PMP难度对比 6 考试费用 7
  • 你如何理解敏捷开发?

    文章目录 一 对敏捷开发的理解 什么是敏捷 xff08 Agile xff09 xff1f 1 什么是敏捷软件开发 xff1f 2 敏捷的起源3 敏捷有哪些优点 xff1a 4 敏捷的缺点和不足 xff1a 5 为什么敏捷在企业中越来越流行
  • 民机适航取证过程

    转自田莉蓉老师的书籍 机载电子产品设计保证实践
  • 机载产品类别、层级及各自需要满足的适航要求

    转自田莉蓉老师的书籍 机载电子产品设计保证实践
  • 机载产品符合性方法

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 系统设计保证指南(ARP 4754)

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 设计保证指南应用实践

    田莉蓉老师的机载电子产品设计保证实践中的说明
  • 结构化开发方法

    文章目录 6 1 系统分析与设计概述6 1 1 系统分析概述6 1 2 系统设计的基本原理6 1 3 系统总体结构设计6 1 4 系统文档 6 2 结构化分析方法6 2 1结构化分析方法概述6 2 2 数据流图6 2 3 数据字典 6 3
  • 需求工程简析

    已剪辑自 https zhuanlan zhihu com p 36145396 什么是需求工程 需求工程是指应用已证实有效的技术 方法进行需求分析 xff0c 确定客户需求 xff0c 帮助分析人员理解问题并定义目标系统的所有外部特征的一
  • 如何做好软件需求分析?

    文章目录 一 需求分析定义二 软件需求分析目标三 软件需求分析原则1 能够表达和理解问题的信息域2 建立描述系统信息 功能和行为的模型3 能够对所建模型按一定形式进行分解4 分清系统的逻辑视图和物理视图 四 软件需求分析内容1 功能性需求2
  • 需求分类维度

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483758 amp idx 61 1 amp sn 61 fb4057d595db4f4d3
  • 什么是理想的需求分类方法

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483740 amp idx 61 1 amp sn 61 d8101a0f16f5a41f1
  • 51单片机系列二:中断与延时

    本篇通过闪烁led和数码管两个实验来分析延时与中断概念 xff0c 以及实现软件仿真 Chapter1 中断的概念 中断就是当CPU执行主程序时 xff0c 突然被打断一下 xff0c 去干别的事情 xff0c 干完再回来执行主程序 这个过
  • ARP4754A的需求分类方法

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483801 amp idx 61 1 amp sn 61 38b7f78712d05bc52
  • ARP4754A中的需求捕获是什么意思

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483809 amp idx 61 1 amp sn 61 9289506bd3ac5ada6
  • 基于ARP4754A的民用航空系统需求管理

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483792 amp idx 61 1 amp sn 61 6979d87b5ec936113
  • ARP4754A的需求分类V2(AIR6110版本)

    已剪辑自 https mp weixin qq com s biz 61 MzI5Njg3NTU3MQ 61 61 amp mid 61 2247483842 amp idx 61 1 amp sn 61 086ca9bedd2a9011d
  • 最新!国内eVTOL整机厂商融资数据一览

    以下是根据公开资料整理的国内eVTOL领域整机厂商融资数据 xff0c 仅供参考 其中 xff0c 除了已上市的亿航外 xff0c 小鹏汇天 峰飞 时的 御风未来均已迈入亿元俱乐部 xff0c 沃兰特也很接近了 xff08 有风的地方 xf
  • 我用 ChatGPT 干的 18 件事!

    文章目录 1 语法更正2 文本翻译3 语言转换4 代码解释5 修复代码错误6 作为百科全书7 信息提取8 好友聊天9 创意生成器10 采访问题11 论文大纲12 故事创作13 问题类比14 创建 SQL 需求15 情感分析16 将产品描述转