【ChatGPT】如何使用AI辅助科研工作

我之前写了一些关于心理学实验编程或者统计分析的教程,这是因为我当初自学这些东西的时候也是参考了很多网上的资料,这些资料都是前人无私分享的,所以我觉得有必要分享我所学到的、特别是在中文网站缺少的心理学实验编程/统计分析教程,同时我自己在整理这些笔记的过程中也会加深对知识的理解,所以这是一个双赢的过程。

不过,我接下来大概不会更新了。一方面我想要在学习工作之余有更多时间做一些无关学术的、我自己喜欢的事情,另一方面(这也是最重要的原因),其实现在类似ChatGPT这样的聊天AI已经可以一定程度上辅助大家学习并完成实验编程和统计分析。

我在这里给大家举了一些例子,作为抛砖引玉。这些方法应该也适用于中文聊天AI,目前我还没试过,大家可以自己去试试。

本文包括如何使用聊天AI协助你完成:

  • 数据分析 & 实验程序编程
  • 学术写作 & 文献阅读
  • 干点杂活
  • 偷偷摸鱼❌(培养创造力✅)

1 数据分析 & 实验程序编程

1.1 一般步骤

因为我最近主要是写数据分析的代码,没有写实验程序,所以这一部分主要举一些关于数据分析的例子。至于实验程序,其实基本的步骤是一样的。

一般步骤

  • 描述先前知识;
  • 描述你的问题情境以及你期望的结果;
  • 让AI把代码给你;
  • 检查代码是否无误并继续完善。

Tips

  • (个人建议,至少对于ChatGPT而言)尽量用英语来描述你的问题;
  • 可以按照自己的需要多建立几个聊天窗口(左上角的+new chat),例如一个窗口是关于数据分析的,另一个是关于学术写作的,还有一个是摸鱼用的,等等;
  • 在描述问题情境时,如果你知道如何去解决这个问题,只需要AI将代码写好给到你,那么你的描述最好具有很强的可操作性(例如输入的参数是什么,期望的结果是什么,一步一步地描述);
  • 如果代码报错了,可以把报错信息返回给AI然后让它改进;
  • AI有时候会编不存在的function给你,这时候你可以提醒它,然后看看它会不会把正确的代码给到你,不过有时候它绕来绕去就是写不对,这时候就需要自己写,把它不会写的部分写好后可以继续让它完善剩余的部分;
  • AI写出来的代码不一定是准确的,需要我们自行把关。例如我之前需要做的一个分析涉及到随机取值,此时一般需要设置一个固定的seed以确保结果是可重复的,但AI写的代码并没有设置seed。一个正确的态度可能是,你自己其实就相当于一个导师,AI相当于你指导的学生,你应该在自己对某个事情有所了解(甚至非常精通)的情况下指导AI完成这件事情,如果你对某个事情不是非常了解,那你就需要在AI给出解决方案后让它详细解释它是怎么做的。

1.2 例1 一个关于数据分析的简单例子

例如,我们想让AI写一段用于做线性混合模型的代码。我们可以根据上述的步骤写prompt。如下。

你可能已经忘了我在上面提到的一般步骤,没关系,让我们结合这个例子一起回顾一下:

一般步骤

  • 描述先前知识(我们想用lmerTest来做分析,所以需要特地说明一下,否则AI可能就会用另外的R包);
  • 描述你的问题情境以及你期望的结果(第一段就是描述我们有什么,想做什么,然后我们把具体的步骤以bullet points的方式列出);
  • 让AI把代码给你(也就是第一段末尾的“Please give me the code”,不过有时候你不需要说这个,AI也会把代码给到你,这取决于你在prompt中是否提及了涉及编程的内容。至于“please”,我建议无论任何时候都保持礼貌的习惯,因为有的社交场合需要快速的反应,这时候我们往往会表现出下意识的行为,而保持良好的行为习惯可以避免你在关键场合翻车);

以下是AI的回答。

我们可以发现,AI在写构建模型的代码时,把变量名写成了“fixed_factors_1”等等,这是因为我们没有告诉它具体的变量名称,这个没关系,我们可以自己稍后再做修改。但一个明显的问题是,AI错误地理解了关于reference level的表述(不过,我一开始写成了referent level,它很好心地帮我把typo改过来了),我们可以指出这个问题并让AI改进。

回顾一下我们这一步在做什么:

一般步骤

  • 检查代码是否无误并继续完善(reference level的代码写错了,需要改过来,改好之后我们可以继续检查代码的其他部分)。

于是我们说明情况,接着AI把改好的代码给到我们(如下,比较长,只截图了一部分)。

接着,我发现AI在构建模型时,公式中关于指定随机因子的部分和我之前了解的不太一样。不过我自己其实对这一块也不是很清楚,于是我询问了一下,AI做出了详细的解释(见下图)。我们接下来可以检查数据、查阅文献,进一步改进我们的分析代码,大概的流程就是这样。

1.3 例2 快速检索你需要的代码

相信上文的例子可以帮到大家快速理解如何使用AI辅助数据分析工作,接下来再举几个例子帮大家加深理解、扩展思路。

因为我比较懒,电脑上的各种文件都很少整理,所以像是需要做某个分析的时候,虽然我知道怎么做,但是具体的代码不一定能很快找到。如果是很常见的分析代码,其实可以让AI把代码给到你。例如这里我想用R语言给Welch校正的方差分析。

AI给出了做ANOVA的代码,见下图,但是好像没有做校正。这是因为我这次比较偷懒,没有在一开始描述相关的先前知识,也没有说明具体的步骤。

补充一下问题描述,让AI用car这个R包中的Anova函数来写这一段代码。

可以发现修改后的代码设置了white.adjust = TRUE,所以是做了校正的。AI还给了一个模拟的数据,很贴心了。

1.4 例3 改进代码

例如,我需要写一段用于制作统计表格的代码,其中,我需要将原始的p值保留3位小数点,并且p<0.001时将原始值改成“< 0.001”。我已经写了一段代码并希望AI帮我简化(我这里的写法有点像是Python的思路,我一般用Python就是写一堆if,但我知道R会有更方便的写法)。

接着,我想要把显著的p值用星号标记,我简单地描述了一下p<0.05时的情况(末尾加一个星号)。可以发现AI把上文的代码也包括进来了。

然后我继续说p<0.01末尾加两个星号,AI把修改后的代码给到我,并且很聪明地自己把p<0.001的末尾加了三个星号,已经学会举一反三了。

2 学术写作 & 文献阅读

关于学术写作,我们可以:

  • 自己写,然后让AI帮忙proofreading;
  • 询问关于用词、语法或某个表述的建议,然后自己写。

你应该发现我在这里强调了“自己写”。请不要让AI帮你写作

2.1 一个简单的例子

随便举个例子,我们可以让AI帮我们检查文字。我在这里写了一个句子,出于演示的目的,我故意写了一些错别字和语法错误。AI则返回了改好的句子并说明出错的地方。不过我故意写错“essential”,它并没有告诉我这个单词写错,而是自己改好了。

2.2 另一个简单的例子

关于文献阅读,如果你遇到难以理解的内容,也可以让AI帮忙rephrase。

2.3 发挥你的创造力

大家写代码的时候都知道可以写function并调用,其实和AI聊天也是一样的,如果你不想每次都重复同样的prompt,可以直接写一个fucntion让它记住并在之后调用。

例如,在学术写作中容易遇到的一个问题是,当我们描述类似“实验组的成绩显著更好”这样的结果时,可能会忘了说这里的“更好”是相对于什么而言。这涉及到表述的准确性,毕竟可能是实验组比控制组的表现更好,也可能是实验组在后测的表现比前测更好,所以需要解释清楚。我们可以让AI记住一个function,叫check_compare,来帮我们检查这个问题。

现在我们来调用一下,于是AI就帮我们把内容改好了。

类似的,我们可以写一个function叫check_grammar,每次输入prompt的时候都带上这个function,让AI在回答问题的同时帮我们检查prompt的语法并给予反馈,这可以锻炼我们的英语写作能力。

3 干点杂活

你还可以让AI做一些机械性的工作。例如我之前写的一个数据分析教程需要给出一个矩阵作为示例数据。但是我手上只有一个下三角矩阵(triangle matrix),而我需要的是全矩阵(full matrix)。正常情况下,需要在Excel中或者编程工具中转换矩阵。但是现在我们可以偷懒让AI来帮我们做,如下。

可以看到AI把全矩阵一行一行地敲出来了,泪目。

不过转换的结果和我的目标还有一点小出入。没关系,我们可以继续向AI解释,让它把准确的结果给到我们。

4 偷偷摸鱼

AI还可以干很多事情,例如和你玩聊天游戏,像是DND跑团什么的。我这里玩了一个“猜猜我在想谁”的游戏,就是我心里想一个名人,然后其他玩家用一般疑问句来提问关于这个人的问题,我用“是”、“否”来回答,看看其他玩家能不能猜到我在想谁。不过我用的ChatGPT是3.5版本,好像还是不够聪明,而且比较离谱的是,它只猜了几次就自己选择放弃了……

另外我还试了一下狼人杀(反正是摸鱼,就用中文写好了)。

没想到AI一边进行模拟,一边还顺便写了一段代码给我……

AI一开始忘记说明我的身份,直接推进到发言了,而且忘了上警(不过这也是因为我一开始没有详细说明规则)。我提醒之后,AI反手给我发了一个民(可能是考虑到我第一个晚上啥也没干,它自己把坑给填上了)。

然后AI转头就忘了我是几号玩家(感觉3.5版本的工作记忆还是不太够),模拟的发言极其敷衍,发言后的投票环节也忘了……有条件的小伙伴可以用4.0甚至之后的版本自己尝试一下,并且最好在开始前详细描述游戏规则。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容