ChatGPT 的 18 種高階玩法,驚到我了!!
作者:ㄣ知冷煖★
連結:blog.csdn.net/weixin_42475060/article/details/129399125
你確定,你會使用 ChatGPT 了嗎?
今天給大家整理了 18 種 ChatGPT 的用法,看看有哪些方法是你能得上的。
語法更正 文字翻譯 語言轉換 程式碼解釋 修復程式碼錯誤 作為百科全書 資訊提取 好友聊天 創意生成器 採訪問題 論文大綱 故事創作 問題類比 建立 SQL 需求 情感分析 將產品描述轉變為廣告 關鍵字提取 閒聊機器人
語法更正
用途:文章、論文等潤色。
文字翻譯
用途:日常學習、商務翻譯等。
語言轉換
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<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
用途:當我們來到一家新的公司,發現前任工程師留下了一攤誰都看不懂的程式碼,這時候,如果有個人能幫我們解釋一下這些程式碼是什麼意思,那簡直不要太開心。
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
程式碼解釋-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:
# 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
修復程式碼錯誤
用途:寫完一段程式碼後發現有錯誤?讓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.")
作為百科全書
用途:chatGPT可以解釋你所有的問題!但是列出小說這個功能有些拉跨,經過測試只有科幻小說列的還可以,其他型別不太行,可能chatgpt訓練工程師是個科幻迷!
資訊提取
用途:作為自然語言處理界的大模型,怎麼能少得了資訊提取呢?
好友聊天
用途:輸入對方性格模擬聊天,這方面功能不太完善,可能有新鮮玩法我還沒有挖掘出來。
創意生成器
用途:是不是常常會在創新上遇到思維瓶頸不知道怎麼做?不要擔心,讓chatGPT幫你生成創意!
VR和密室結合
再結合AR
採訪問題
用途:可能您是一個媒體工作者,採訪問題不知道怎麼寫?chatGPT可以幫您解決。
採訪問題清單
採訪問題清單並給出相應答案
論文大綱
用途:這個功能對於研究生簡直不要太爽了,一直在鬱悶大綱怎麼寫,直接列出來大綱簡直幫了我天大的忙!對於大綱中不理解的點,直接要求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
故事創作
用途:這個功能真的太太太棒了,以後我自己列提綱出來就可以寫小說啦!
愛情故事
恐怖故事
問題類比
用途:當你想要做一個比喻時,這是一個很棒的功能。
建立SQL需求
用途:寫SQL有時候挺頭疼的,想好久想不起來。
情感分析
用途:這個功能讓我想起來在之前公司做的情感分析任務了。
將產品描述轉變為廣告
用途:這個功能對於商家來說太棒了。
關鍵字提取
用途:NLP任務的重要作用,關鍵字提取!
閒聊機器人
用途:這個不多說了,用來閒聊體驗感真的很不錯。
總結
我覺得角色扮演挺有意思的,對話前加一句:假如你是 xxx。
現在有一些小程式,讓AI扮演一些角色對話,就是用這種方法實現的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027828/viewspace-2953008/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pip 的高階玩法
- 函式高階玩法函式
- 一個令人驚豔的ChatGPT專案,開源了!ChatGPT
- 【Flutter高階玩法- Flow 】我的位置我做主Flutter
- ChatGPT新玩法來了,微信聊天機器人ChatGPT機器人
- Spring Security整合企業微信的掃碼登入,企微的API震驚到我了SpringAPI
- 高階玩法之類的裝飾器的應用
- Golang技巧之預設值設定的高階玩法Golang
- 【Flutter高階玩法-shape】Path在手,天下我有Flutter
- 一些驚豔到我的運維實施技巧和思路運維
- 【Flutter高階玩法】 貝塞爾曲線的表象認知Flutter
- 小程式·雲開發的雲函式路由高階玩法函式路由
- 【flutter高階玩法】貝塞爾實戰1 - 波浪Flutter
- Angular 18+ 高階教程 – Memory leak, unsubscribe, onDestroyAngular
- Angular 18+ 高階教程 – 國際化 Internationalization i18n (Draft)AngularRaft
- ChatGPT的高階語音模式終於上線了:中文一開口,就暴露了「歪果仁」身份ChatGPT模式
- Excel求和只有sum求和?多種高階求和方法都在這裡了!Excel
- MyDumper/MyLoader的進階玩法
- 多年經驗總結,寫出最驚豔的 Markdown 高階用法
- 分享Python的5種高階特徵應用Python特徵
- .Net 7 高階玩法,自定義一個CLR執行時
- pip高階玩法,讓python模組安裝飛起來Python
- React中的這個TS騷操作秀到我了React
- 微盛:解鎖企業微信內容營銷的高階玩法!
- iOS 逆向之 Cycript 高階玩法(非越獄) & .cy檔案的封裝iOS封裝
- 提升編碼技能的 幾 種高階技術
- 【Python學習教程】Python的5種高階用法!Python
- Python的 5 種高階用法,效率提升沒毛病!Python
- 我讓 ChatGPT 寫了個 ChatGPTChatGPT
- Angular 18+ 高階教程 – Component 元件 の @let Template Local VariablesAngular元件
- 公司新來的00後真是卷王,工作沒兩年,跳槽到我們公司起薪18K都快接近我了
- 三種高階比較排序演算法排序演算法
- ChatGPT頂級玩法:ChatGPT越獄版破解指令,讓您的聊天一路暢通!ChatGPT
- 這些高階的函式技術,你掌握了麼函式
- 資料是種高階商品,您是否做足了功課保護和管理它們?
- SpringBoot操作ES進行各種高階查詢Spring Boot
- 部署了一個ChatGPTChatGPT
- 和ChatGPT聊了一會天它的學習反映能力驚呆了我ChatGPT