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. 闲聊机器人
用途:这个不多说了,用来闲聊体验感真的很不错。
解析亚特兰蒂斯真实照片,源于柏拉图记载(神秘古国)
对于亚特兰蒂斯,对历史感兴趣的朋友应该听过,这是一个神秘古国,有着高度文明,但在公元前一万年被史前大洪水毁灭。以下是几张亚特兰蒂斯真实照片,跟着小编一起去解析看看。一、亚特兰蒂斯真实照片亚特兰蒂斯这个神秘的高文明古国,最早的描述出现于古希腊哲学家柏拉图的著作《对话录》里,而以下几次发现与《对话录》中描述的很相似,所以可以确定是亚特兰蒂斯真实照片。1、万年前的大陆我要新鲜事2023-05-11 00:51:110005四大位面之子分别指谁?这四个人的人生真正开挂
导语:所谓的位面之子指的是一些被上天所眷顾的人,很多都是出生比较卑微但是最终凭借自己一成大业,四大位面之子分别是刘秀,李世民,成吉思汗和朱元璋,探秘志带大家来看看四大位面之子。1、刘秀在新朝末年的时候,海内大乱,刘秀本身家室并不出众,但是在家乡开始造反了。25年的时候刘秀成功和政权开始决裂,并且在河北等级成为皇帝。我要新鲜事2023-05-09 17:40:260002一些发达西方国家为什么不愿意装空调,导致大部分人因无法忍受高
当夏天的季节已经到来,大家第一件事是想到什么呢?相信每个人最先想起当然是开空调来给自己进行物理降温,最好手里还捧着个西瓜,在家里一边看着电视一边用勺子挖着西瓜吃。虽然我们都能在家里一边吹着空调,一边吃着西瓜避暑,但是在一些发达西方国家里,还有一些人们是无法吹空调,只能在家里忍受着炎炎酷暑所带来的折磨。我要新鲜事2023-05-13 22:20:430000研究发现:木星一直在干扰小行星带,恐龙灭绝就是它干的?
地球历史上发生过5次较大的物种灭绝事件,距离人类最近的是6500万年前的第五次物种大灭绝,也叫恐龙大灭绝。当时有一颗体积相当于珠穆朗玛峰的小行星,以极高的速度撞上了今天的墨西哥湾区域,引发的森林大火以及地震海啸火山爆发,灭绝了当时地球上75%的物种,成功把恐龙从地球霸主的位置上薅下来后,小型哺乳动物才有了出头的机会。我要新鲜事2023-10-04 19:58:420000如果因为一些原因,人类需进行星际旅行,人们能够适应新生活吗?
地球,是我们每一个人的家园,历史上也只有少数人在短时间内冒险进入外层空间。但是如果我们不得不离开地球呢?我们能适应在地球以外的环境中生存吗?如果我们离开了地球,会发生什么样的事情呢?这在很大程度上可能要取决于我们离开的动机。也许,在未来的某一天,全球变暖的影响变得太大,我们无法承受,迫使我们必须寻找新的家园。又或者,人类互相发动核战争,直到地球变得不适宜居住。我要新鲜事2023-09-20 19:46:410000