我用GPT干的18件事!

你确定,你会使用 ChatGPT 了吗?

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

1ee9db8b7010d5d1d6ffb7454fd1e7e0.jpeg

作者:ㄣ知冷煖★  https://blog.csdn.net/weixin_42475060/article/details/129399125

  • 语法更正

  • 文本翻译

  • 语言转换

  • 代码解释

  • 修复代码错误

  • 作为百科全书

  • 信息提取

  • 好友聊天

  • 创意生成器

  • 采访问题

  • 论文大纲

  • 故事创作

  • 问题类比

  • 创建 SQL 需求

  • 情感分析

  • 将产品描述转变为广告

  • 关键字提取

  • 闲聊机器人

语法更正

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

c7641917bff5d9ad9f9465799c93787e.png

文本翻译

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

bd2061594e00b4219bc84e688c0b88f5.png

语言转换

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),
                )
615e435599c09d4e85fce541fc576002.png
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;
}

代码解释-1

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

de0bf0ac848c5f89df2555a0681341c9.png
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
771b6c7c4632207477df92ec1e803ab1.png

代码解释-2

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

56a407671348b04d04b659f1509b1bfd.png
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
b023d74416f4633ce8ddb586ca629435.png 48bd23ef5a9e711271ec42c514ba5321.png

修复代码错误

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

2a7e555a529b4777b73911823e67dd09.png
### 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.")
5352bc852b174d608469116681e1b438.png

作为百科全书

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

2042d676bf453aecd06ff27bd81d0535.png

信息提取

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

f9c296c3913f23567c545a1b51a6d51a.png

好友聊天

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

a48a5b57632791d00ff15677d99e25ca.png 31c97eff0f602c2a829fea85a81ab188.png

创意生成器

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

VR和密室结合

5fc6b4a5a442ec51e325edb6341e3f6f.png

再结合AR

20c5176072f3a27b2114719a43c5d50b.png

采访问题

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

采访问题清单

456743a59f344ca0e64e7760489f767d.png

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

87d41f76043cdebe0c44c8e4e54d2f9c.png

论文大纲

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

创建论文大纲

16b938163d0da6cc7341aa611ccf0c90.png

解释大纲内容

7af0e898e72a953259e266be8df1b287.png
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

故事创作

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

爱情故事

3f880564bde96cf1c4a057682f450713.png

恐怖故事

1addc76ba53a8e146a885dbaf4f4846c.png 9fde0247e29b99b0b4d38d630515241a.png

问题类比

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

7bfc4891d771637f07523c96eb6d655a.png

创建SQL需求

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

820aa3bc4dd4cdd8436412aa3d87b79d.png

情感分析

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

f8c8a83c418b1e48f2107dc052589037.png

将产品描述转变为广告

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

861cb9e14e3a2ce95455e6460ff94cba.png

关键字提取

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

486b5b551c267e58fdc9e0a80003e5b6.png

闲聊机器人

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

03407a872d6e352d5cfc64a7ea3e5602.png a5673bd364217214b4db35ffb7a1eca9.png

总结

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

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

最近我创建了一个知识星球,叫【ChatGPT前沿玩法圈】,会把把我玩ChatGPT的经验和总结,除了我不会研发ChatGPT,其他诸如Midjourney,GPT Plus,ChatGPT PDF,ChatGPT XMind,ChatGPT PPT 会以专栏的形式在知识星球更新。

简单说下这个星球能给大家提供什么:

  • 1、ChatGPT的使用方法,最新资讯,商业价值。

  • 2、一些副业思考、创业案例、落地案例分享。

  • 3、探讨未来关于ChatGPT的机遇,帮助大家解决遇到的问题。

  • 4、剖析和拆解ChatGPT不同的前沿玩法。

  • 5、围绕ChatGPT玩法的变现方式和技巧。

  • 6、围绕ChatGPT提高工作效率。

  • 7、第一时间了解ChatGPT最新版本的发布特性和强超能力

  • 8、掘挖ChatGPT玩法,助力们我的事业,工作,和日常生活

  • 9、加入星球的小伙伴,都有两项额外福利,可以免费获得ChatGPT

    “独享”账号一个,支持改密码。还有星球总结的40-50个专栏文档。

    陆续更新中...

其它福利还在筹划中... 不过,我给你大家保证,加入星球后,收获的价值会远远大于今天加入的门票费用 !

之前加入的,独享账号都已发,都已稳定使用,没有一个封号的。

1dbcc0b95116698af81c136940726156.jpeg

我的星球的小伙伴,我基本是全天候整点服务。保证大家遇到的问题可以解决。

现在星球在运营初期,正式运营价格会定为399,目前我给出了加入的最低价,后面星球成员每增加50人,星球费用会增长10元(估计这个文章推送后就会涨价)。早就是优势,建议大家尽早以便宜的价格加入!如果你还在犹豫,可能最后就要以更高价格加入了。有兴趣的朋友们,欢迎扫码加入本星球。

6ad1ead69730f22e9fb865e9e801f8c6.png

星球专栏内容丰富更新中。。。

1b02c78c8f2bfdddab1172db93f4f7b8.jpeg

还有一个限时福利,每邀请一位小伙伴加入,我们就会给一笔分享有赏,我开的很大,最大让利给大家,一起来搞事情。

猜你喜欢

转载自blog.csdn.net/Ch97CKd/article/details/130376792