当前位置:首页|资讯|ChatGPT

ChatGPT的23种用法

作者:不问江湖发布时间:2023-05-30

原标题:ChatGPT的23种用法

前言

一、语法更正

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

二、文本翻译

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

三、语言转换 3-1、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]: 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 > 1else1) ifabs(y[i] - avgFilter[i - 1]) > dif * threshold: signals[i] = ( 1if 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), )

publicstatic Map<String, double[]> thresholding_algo( double[] y, int lag, double threshold) { double[] signals = newdouble[y.length]; double[] avgFilter = newdouble[y.length]; Arrays.fill(avgFilter, 0.0); avgFilter[lag - 1] = mean(Arrays.copyOfRange(y, 0, lag)); double[] dif_li = newdouble[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; } privatestaticdoublemean(double[] array){ double sum = 0.0; for ( double d : array) { sum += d; } return sum / array.length; }

四、代码解释-1

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

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: # ifabs(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

五、代码解释-2

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

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: # ifabs(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

六、修复代码错误

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

### Buggy Pythonimport 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.")

七、作为百科全书

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

八、信息提取

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

九、好友聊天

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

十、创意生成器

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

10-1、VR和密室结合

10-2、再结合AR

十一、采访问题

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

11-1、采访问题清单

11-2、采访问题清单并给出相应答案

十二、论文大纲

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

12-1、创建论文大纲

12-2、解释大纲内容

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 十三、故事创作

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

13-1、爱情故事

13-2、恐怖故事

十四、问题类比

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

十五、创建SQL需求

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

十六、情感分析

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

十七、将产品描述转变为广告

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

十八、关键字提取

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

十九、闲聊机器人

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

二十、头脑风暴

ChatGPT还可以作为一个创意助手,陪你头脑风暴。比如,我让它为视频节目《亮三点》写个slogan。

还可以让它为你的新产品起个名字、给你的文章起个标题等等,总之能够帮助你开阔思路。

二十一、内容扩容

没词儿了怎么办?让ChatGPT来帮你丰富内容吧~你可以提供一些提示或主题,然后ChatGPT将根据你提供的信息生成相应的内容。

比如我让ChatGPT「用50个字来描述今天天气很好」。

二十二、制作表格

输入表格的类型、标题、列名、数据等信息,ChatGPT就能帮你一键生成表格。想要增加行列、进行表内计算,也都不是问题,生成的表格还能一键复制粘贴到Excel,不要太方便。

二十三、辅助AI会话

作为一个语言模型,ChatGPT本身无法进行制图,但它可以理解和生成人类语言,因此可以通过语言交互与用户合作完成对画作的描述。然后设计师们再把这个描述复制到AI绘画工具里,就可以轻松得到不错的效果图。

AI极速体验

ruandi.net


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1