chatgpt怎么输入文本 Chatgpt|GPT在文本分析中的应用:一个基于Stata的集成命令用法介绍

默认分类2个月前发布 admin
2,503 0
ChatGPT国内版

原文信息: 李春涛,闫续文,张学人.GPT在文本分析中的应用:一个基于Stata的集成命令用法介绍[J/OL].数量经济技术经济研究:1-21[2024-03-19].

在上一篇推文中,我们介绍了《》这篇文章的主要内容,今天我们向大家介绍一下这篇文章的附录内容(作者编制的Stata命令的详细用法),从而帮助大家在Stata中与更好的互动!

附录A:命令的安装与基本语法

Stata的命令第一版于2023年4月首次上线SSC( ),目前为第三版,如今还在持续更新中,以适应GPT本身的不断发展。

在Stata命令框输入并执行:

ssc install chatgpt, replace

显示安装完成即可使用。使用需要用户首先安装cURL[ 详见。],并将cURL的路径设置为环境变量。以系统为例,通过控制面板搜索高级系统设置,点击“环境变量”-“系统变量”中的“新建”,填入cURL文件所在路径即可,如下图1所示。

图1 将cURL的路径设置为环境变量

同时,和MacOS用户均需预装环境。

与Stata的其它用户开发命令一样,在成功安装后,可以通过help 查阅其帮助信息。通过阅读sthlp文件,我们可以看到的命令基本格式如下所示: [ ] [, ]

其中,包括talk、read、、test。命令作为连接GPT的Stata接口,拥有问答(talk)、阅读(read)、构建会话()以及测试(test)四种模式。在talk模式中,用户可以向GPT提问,相应的回复将会出现在Stata结果显示窗口中。在read模式中,用户可以要求GPT阅读指定的文本文件、数据、Stata do-file代码或sthlp文件等,并据此回答相应问题。在模式中,用户可以在Stata中与GPT执行结合上下文情景学习的对话,像推出的应用服务一样使用自然语言顺畅交流。在test模式中,用户可以检验命令的安装与相应的配置是否存在问题,根据指引完整配置工作。

用户可以通过选项设置如下信息:()、stata、()、()、()等。

其中()是必选项,用户通过该选项输入自己申请的API Key;选项stata用于声明指令主题与Stata相关,使GPT专注Stata相关的技术问题,否则与Stata无关。如我们指定read模式,要求GPT阅读Stata命令的ado文件,此时需要在()中填入申请的API Key,并添加stata选项,程序如下:

chatgpt read psemail.ado, openai_api_key($OPENAI_API_KEY) stata

此处需要特别注意的是,API Key是重要的私人信息,不可以对外公开,我们一般会将其放在本地硬盘的一个纯文本文件中,如该文本文件的名字是.txt,保存在E://子目录下,我们可以在最开始先执行一条读入API Key并放置于全局宏()的命令,完整的命令如下:

global OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read psemail.ado, openai_api_key($OPENAI_API_KEY) stata

选项()用于指定会话的语言模型引擎,当前 可以选择的模型引擎列表如下:gpt-3.5-turbo、gpt-3.5-turbo-0301以及gpt-4。前两个聊天引擎都是基于GPT-3.5模型的优化版本,其中gpt-3.5-turbo-0301更加关注问题内容,不会特别关注自身所要扮演的角色,而gpt-3.5-turbo是官方推荐的GPT-3.5模型系列中最好的版本,因为它成本最低但回复效果最好。对于gpt-4模型,称其比任何 GPT-3.5 模型都更强大,能够执行更复杂的任务,并且针对聊天进行了优化。经过我们实际测试体验,gpt-4在语义理解、常识储备等方面不仅超越了以往模型,而且足以媲美专业人员,体现出惊人的智能。因此,本文演示的所有案例均通过gpt-4模型完成。如我们指定会话的语言引擎为gpt-4,并询问GPT在Stata中关于描述性统计的命令,程序如下:

global OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt talk, openai_api_key($OPENAI_API_KEY) command("除了summarize以外,有没有其它描述变量统计特征的命令") stata engine("gpt-4")

选项()用于提出对GPT的要求;选项()用于指定会话提示词,有助于GPT更好地理解和回答问题。如我们指定两段文本,要求GPT比较这两段文本的相似度,并提示通过余弦相似度的方法来计算文本相似度,程序如下:

global OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt talk, openai_api_key($OPENAI_API_KEY) command("文本相似度分析:1.我喜欢Stata和Python;2.我们都热爱Stata和Python还有文本分析技术") systemprompt("通过余弦相似度计算")

详细的使用案例可以通过在Stata内输入help 获取。

附录B:命令辅助泛技术类工作专门示例

chatgpt怎么输入文本 Chatgpt|GPT在文本分析中的应用:一个基于Stata的集成命令用法介绍

为了方便读者理解大语言模型如何提高实证研究中泛技术类工作的效率,本文基于Stata统计软件和命令,列举以下五种主题案例以及独立完整的实现代码。

本文的所有数据及代码均放置于云端数据库,读者可通过以下命令下载获得:

clear allsysuse auto, clearglobal OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt talk, openai_api_key($OPENAI_API_KEY) command("如何查询变量mpg的20%分位数") stata engine("gpt-4")

(一)命令查询

此时,在Stata的结果显示窗口返回了GPT回答的具体命令“ mpg, (20)”,如下图2所示。

图2 的Stata专门示例-命令查询

由于命令会识别GPT回复中的Stata代码,并将其转化为蓝色的可点击形式,因此用户可以直接点击执行提供的相关命令。

(二)代码生成

在数据清洗的许多情形下,我们的处理需求往往与当前数据紧密相关,无法直接套用sthlp文件中的现成案例。而可以便捷地提交样例数据,使GPT基于当前数据帮助我们编写定制程序。以如下图3所示放置于云端的文件“data1.dta”数据为例。

图3 数据“data1.dta”展示

我们想要根据已有变量“stkcd”、“year”和“value”生成变量“delta”,可以通过如下语句询问具体程序的编写:

clear allwebuse set "https://stata-chatgpt.oss-cn-beijing.aliyuncs.com/chatgpt"webuse data1, clearglobal OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read data, openai_api_key($OPENAI_API_KEY) stata ///  command("观察数据详情,请指出如何通过stkcd和year生成delta") ///  do("list")

当选择“read data”模式,Stata将首先执行do选项中的语句,并将执行结果作为数据描述内容,附在询问内容后提交。此时,Stata结果显示窗口返回了通过变量“stkcd”、“year”和“value”生成变量“delta”的程序“ stkcd (year): delta = value – value[_n-1]”,如下图4所示。

图4 的Stata专门示例-代码生成

(三)命令速览

在面对从未接触过的Stata新命令时,也可以通过询问其具体使用方法。如我们以(Zhang等,2023)[ Zhang X., Xue Y., Li C., 2023, : And Time in China[J], The Stata , 23(3), 730~753.]命令为例,通过以下程序询问该命令能否计算远洋轮船的行程距离:

clear allssc install cntraveltime, replaceglobal OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read cntraveltime.sthlp, openai_api_key($OPENAI_API_KEY) stata ///  command("该命令能否计算远洋轮船的行程距离?")

当选择“read”模式并给出要阅读的“.sthlp”文件名后,命令会将文件内容一并提交,GPT将在阅读新命令的帮助文件sthlp后,回答我们该命令的使用细节。此时,在Stata的结果显示窗口,针对我们提出的问题,GPT为我们提供了“该命令只能计算陆地交通工具(如汽车、公共交通和自行车)的行程距离和行程时间,无法计算远洋轮船的行程距离”的回答,这与该命令的实际情形相符,如下图5所示。

图5 的Stata专门示例-命令速览

(四)报错答疑

在使用Stata软件编写程序时,难免会遇到程序报错而出错点却很难寻找的情形。但对于基于大数据训练得到的GPT而言,找出代码中的潜在错误十分容易,特别是在了解了我们的数据详情后。以如下使用系统数据“auto.dta”的错误程序为例,通过命令帮助我们“修BUG”:

clear allsysuse auto, clearreg mpg prlce

这段程序报错的结果如下图6所示。

图6 程序报错结果

此时,我们要求使用“read data”模式,通过指定do选项,让Stata执行“sum *”,将当前数据集的描述结果提交给GPT,并询问报错如何改正,相应程序如下所示:

chatgpt怎么输入文本 Chatgpt|GPT在文本分析中的应用:一个基于Stata的集成命令用法介绍

global OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read data, openai_api_key($OPENAI_API_KEY) stata ///  command("我输入reg mpg prlce报错:variable prlce not found,怎么改") do(sum *)

通过询问GPT,我们得到回复“您输入的命令中的变量名拼写错误,应该是price而不是prlce”,如下图7所示。

图7 的Stata专门示例-报错答疑

(五)实证答疑

针对实证研究中各种命令的编写,我们均可通过命令向GPT询问,如我们询问“回归时以变量prov作为聚类变量计算聚类稳健标准误”的程序应如何编写,如下所示:

global OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt talk, openai_api_key($OPENAI_API_KEY) command("回归时以变量 prov 作为聚类变量来计算聚类稳健的标准误。") stata engine("gpt-4")

此时,在Stata结果显示窗口,GPT为我们提供了程序“ y x, vce( prov)”,并对具体变量进行了解释,如下图8所示。

图8 的Stata专门示例-实证答疑

附录C:命令辅助文本工作专门示例

由于GPT本身是一个通用的自然语言处理模型,因此除了解决Stata专门问题以外,命令也可以完成包括翻译、语言润色等诸多NLP经典任务,本附录提供相关案例以及独立完整的实现代码如下。

(一)翻译

我们以本文的中文摘要为例进行翻译。摘要存在众多文本分析领域的专业术语,我们希望获得一份可用的、有学术风格的英文摘要。该摘要已以纯文本的形式存储为云端文件“.txt”,我们键入如下指令:

clear allcopy "https://stata-chatgpt.oss-cn-beijing.aliyuncs.com/chatgpt/content1.txt" "content1.txt", replaceglobal OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read other, openai_api_key($OPENAI_API_KEY) systemprompt("你是一名精通中文与英文的翻译,请将以下中文摘要翻译为符合学术风格与规范的英文。") engine("gpt-4") file("content1.txt")

当选择“read other”模式,Stata将file选项中指定的文件内容附在询问内容后提交。该命令获得的翻译如下图9所示,可以看到GPT所提供的回复确实为中文摘要的对应翻译,可以胜任学术文献的翻译任务。

图9 的通用示例-翻译

(二)润色

为进一步考察图9中GPT的翻译质量,我们使用翻译软件对文章摘要进行翻译,获得机器翻译版英文摘要,要求GPT同时阅读论文原文提供的中文摘要、机器翻译版英文摘要和自己的翻译结果,逐句判断两个英文翻译中哪个翻译质量更好。原文中文摘要、翻译版英文摘要和GPT翻译版英文摘要已存储为云端文件“.txt”,运行命令如下:

clear allcopy "https://stata-chatgpt.oss-cn-beijing.aliyuncs.com/chatgpt/content2.txt" "content2.txt", replaceglobal OPENAI_API_KEY=fileread(e:/chatgpt/APIKEY.txt)chatgpt read other, openai_api_key($OPENAI_API_KEY) systemprompt("你是一名精通中文与英文的翻译,请阅读以下中文摘要及两段对应的英文翻译,尽可能详细举例判断哪份翻译质量更好,更符合学术风格和规范,使用中文回答") engine("gpt-4") file("content2.txt")

GPT回复认为,第二份翻译(由GPT所给出)较之第一份翻译(原文英文摘要)的风格更加正式和学术化,Stata结果显示窗口中GPT的回复如下图10所示。

图10 的通用示例-润色

附录D-H在上篇推文中已进行介绍,不再赘述。

323AI导航网发布

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...