ChatGPT 干的 18 件事!
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 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;
}
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. 闲聊机器人
用途:这个不多说了,用来闲聊体验感真的很不错。
不小心打破温度计有多可怕?可能会杀死一头牛(水银毒性)
水银的毒性可以轻松的杀死一个生物自从有了新冠疫情之后,体温计就成了家家必备的一种东西,可能我们在小时候非常好奇体温计里面的白色东西是什么?等到我们上了学学习到了水印之后才知道这是水银。可是一直到现在还有很多人并不能够理解到水银的危害。但是大家都知道水银绝对是一个剧毒的东西,那么一旦水银泄露出来会有什么样的危害呢?水银重金属我要新鲜事2023-05-15 10:56:280000探测地下水,这项水文技术发挥了大作用
我国是世界上喀斯特发育类型最多的国家之一由于喀斯特地貌结构复杂水文地质的普查和勘查十分必要示踪试验成为喀斯特地区水文地质勘查的有力手段1961年我国第一次喀斯特会议在南宁组织召开借助食盐对地下水进行探测试验也在此次会议中被提出此后人工示踪的方法也应用得越来越广泛近年来我国研究团队采用径流运移时间示踪方法在喀斯特流域降雨-径流过程研究中取得系列成果我要新鲜事2023-05-14 05:45:330000纯能量生命体存在吗 为什么说纯能量生命体天下无敌
纯能量生命体只是一种假想,并不是真实存在。纯能量生命体的存在主要是依据信息载体,并且还要遵循着一些物理的规律。纯能量生命体有可能存在其他的空间,但是按照科学性的说法,是完全不存在的。一、纯能量生命体是否天下无敌我要新鲜事2023-05-12 16:39:350000清道夫晒干还能活吗:不能(太阳下暴晒24小时才会死)
清道夫是一个十分神奇的物种,它会吃一些污物,但是却成为了我国一个入侵物种,在专家呼吁要减少并消灭清道夫鱼的入侵后,它就在网络上火爆了起来,不少人专门捕捉或购买清道夫来做实验,一些人还将它放在太阳底下暴晒,但是它却很难被晒死。清道夫晒干还能活吗我要新鲜事2023-05-13 11:19:030000巴勒斯坦毒蝎的天敌 所向披靡的它们原来最怕这个
你们知道世界上带有毒的动物有哪些吗?看到这句话可能很多人会想到眼镜蛇、蜘蛛、水母、蜈蚣等,当然大家也会理所应当地想到蝎子。但是如果进一步问:你知道世界上最毒的蝎子是什么吗?可能很多人会哑然,其实世界上最毒的蝎子是号称“蝎王”的巴勒斯坦毒蝎,虽然它是“蝎王”,可它也不是所向无敌的,那你们知道巴勒斯坦毒蝎的天敌是什么吗?一、世界十大毒王之一:巴勒斯坦毒蝎我要新鲜事2023-05-10 21:21:480000