HUOXIU

ChatGPT の 18 の高度な機能には驚きました!!

著者: ㄣ知冷煖★

リンク: blog.csdn.net/weixin_42475060/article/details/129399125 

ChatGPTの使い方をご存知ですか?

今日はChatGPTの18通りの使い方をまとめてみました。どんな使い方ができるか見ていきましょう。


  • 文法修正
  • テキスト翻訳
  • 言語変換
  • コードの説明
  • コードのバグを修正する
  • 百科事典として
  • 情報抽出
  • 友達とチャットする
  • クリエイティブジェネレーター
  • 面接の質問
  • 論文の概要
  • ストーリーの創造
  • 問題の類推
  • SQL要件を作成する
  • 感情分析
  • 製品の説明を広告に変える
  • キーワード抽出
  • チャットボット

文法修正

用途:物品、紙等の研磨。

テキスト翻訳

用途:日常学習、ビジネス翻訳など

言語変換

さらに、近々就職面接の準備をしている場合は、2,000以上のJava面接の質問をカバーし、主流の技術面接の質問をほぼすべて網羅したJava面接ライブラリミニプログラムを使用して、オンラインでJava面接の質問を練習することをお勧めします。

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はあなたのあらゆる質問に答えます!ただし、小説リスト機能は少々物足りないようです。テストの結果、SF小説だけが比較的うまくリストアップされ、他のジャンルはそれほど良い結果が出ませんでした。もしかしたら、chatGPTはSFファンのエンジニアを育成しているのかもしれませんね!

情報抽出

応用: 自然言語処理の分野における主要なモデルとして、情報抽出なしではあり得ないのではないでしょうか。

友達とチャットする

目的:相手の性格を入力してチャットをシミュレートする。この機能はまだ完全には開発されておらず、私がまだ発見していない新しい機能がいくつかある可能性があります。

クリエイティブジェネレーター

応用:創作意欲が湧かず、どうしたらいいのかわからないことがよくありますか?ご心配なく、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要件を作成する

さらに、近々就職面接の準備をしている場合は、 2,000以上のJava面接の質問をカバーし、主流の技術面接の質問をほぼすべて網羅したJava面接ライブラリミニプログラムを使用して、オンラインでJava面接の質問を練習することをお勧めします。

目的: SQL を書くのは、時々かなり頭を悩ませることがあります。何かを長い間考えても、解決策が思いつかないことがあります。

感情分析

目的: この機能は、私が以前の会社で行っていた感情分析タスクを思い出させます。

製品の説明を広告に変える

目的: この機能は企業にとって非常に便利です。

キーワード抽出

目的: NLP タスク、キーワード抽出における重要な役割を果たします。

チャットボット

目的: 詳細は省きますが、カジュアルなチャットに最適です。

要約

ロールプレイングは非常に面白いと思います。会話の前に「あなたが xxx だと想像してください」というセリフを追加できます。

現在、一部のミニプログラムでは、この方法を使用して AI が役割を演じ、対話を行うことができます。