ChatGPT 的 18 种玩法,惊到我了!!

d872e2e878cbb168511e4eb4e311358b.jpeg

程序员的成长之路

互联网/程序员/技术/资料共享 

关注

阅读本文大概需要 7 分钟。

来自:blog.csdn.net/weixin_42475060/article/details/129399125

  • 语法更正

  • 文本翻译

  • 语言转换

  • 代码解释-1

  • 代码解释-2

  • 修复代码错误

  • 作为百科全书

  • 信息提取

  • 好友聊天

  • 创意生成器

  • 采访问题

  • 论文大纲

  • 故事创作

  • 问题类比

  • 创建SQL需求

  • 情感分析

  • 将产品描述转变为广告

  • 关键字提取

  • 闲聊机器人


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

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

语法更正

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

3feb06acabff2ca1d5a080723909a95f.png

图片

文本翻译

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

81d180f4d749b176ddaf8c0f726a08f3.png

图片

语言转换

Python–>JAVA

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

import numpy as np
import plotly.express as pxdef 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]:breakif 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] = 0avgFilter[i] = np.mean(y[(i - lag):i])dif_li[i] = difreturn dict(signals=np.asarray(signals),avgFilter=np.asarray(avgFilter),y=np.asarray(y),dif=np.asarray(dif_li),)

4859d8e230567c2e70165131420af6a8.png

图片
public static Map 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 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

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

3958b47fa6b138b0506ceb640c3ea956.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-scorez_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

91a4249a930258b67ca0478a4ea10b8a.png

图片

代码解释-2

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

dbf9b3eb880e0fbe966ae61be8486f2e.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 jsondef 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

b77ebf432ceed655f990c40bc3724b60.png

图片

ee8293c726afd31a8f17853938503a57.png

图片

修复代码错误

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

77db8c81abc88aec470429e993524fbb.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*bprint (Well done!)else:print("No.")

49b0de9d3be3b7a9dcb539dcb83017c2.png

图片

作为百科全书

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

d7675e60133e5ff5f929e5e8f48d0ae2.png

图片

信息提取

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

0b1af57ba0efda24299b54e8ea8f9a6d.png

图片

好友聊天

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

4ef7b1dba87f5ae528368c5f2d770106.png

图片

e199948e101381bb2dfc4f2b187b9441.png

图片

创意生成器

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

VR和密室结合

2e8a124907ffcb5645d345006ceee726.png

图片

再结合AR

f3bdbf3163d151d1d4a94d01a33074f3.png

图片

采访问题

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

采访问题清单

f880150c36e003dd4afbbf8eb1c4e2f2.png

图片

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

15e8c81c705755598443114fbee1e559.png

图片

论文大纲

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

创建论文大纲

bb1ef4ad996080bb1b88182e73db6bbb.png

图片

解释大纲内容

71859a4791b15b1859a7f0d1894b822d.png

图片
class PBA(nn.Module):def __init__(self, PerformanceThreshold, DistributionType, AttentionWeightRange):super(PBA, self).__init__()self.PerformanceThreshold = PerformanceThresholdself.DistributionType = DistributionTypeself.AttentionWeightRange = AttentionWeightRangedef 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

故事创作

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

爱情故事

ee2ebcba5a6536d9965856ca762c19a0.png

图片

恐怖故事

ca0d5032e0224253ed041fefebec43b0.png

图片

00f8b0c003f15b38e0b0b729cf78d36b.png

图片

问题类比

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

72ca583f2586dcd54294e9982bf3663b.png

图片

创建SQL需求

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

427d1421b9e7576d1e266787d4c2fac0.png

图片

情感分析

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

910e2c8be671b826ad56ee0776d12e5e.png

图片

将产品描述转变为广告

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

05b75fedfbe5f56e4de6471ed0151501.png

图片

关键字提取

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

9b5e9ba49ee452f73d11ac4ec7dcd778.png

图片

闲聊机器人

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

b1382eeea56a1d8eadad03e9e4f6e2c8.png

图片

9035b32385103f1ae6e14757d99cde6c.png

图片
0eb364e1eb88dcf28a868fbe7ad03fdc.png

总结

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

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

推荐阅读:

Redis 官方可视化工具,功能真心强大!高颜值

SpringBoot 生产中 16 条最佳实践

互联网初中高级大厂面试题(9个G)
内容包含Java基础、JavaWeb、MySQL性能优化、JVM、锁、百万并发、消息队列、高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper......等技术栈!
⬇戳阅读原文领取!                                  朕已阅


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部