我用 ChatGPT 干的 18 件事!【人工智能中文站创始人:mydear麦田访谈】

新建了一个网站

https://ai.weoknow.com/

每天给大家更新可用的国内可用chatGPT

你确定你可以使用ChatGPT吗?
今天我整理了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<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;
}

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. 闲聊机器人

用法:我就不多说了,它真的很适合聊天和体验。

总结

我觉得角色扮演很有趣。在对话之前,加一句话:如果你是xxx。
现在有一些小程序可以让人工智能扮演一些角色对话,这些对话是使用这种方法实现的。

猜你喜欢

转载自blog.csdn.net/zyqytsoft/article/details/130652190
今日推荐