我们现在看到一种新技术的普及,该技术有可能改变定性研究中使用的方法:生成式 AI 的使用。作为一项新技术,它既是创新的驱动力,也是令人担忧的主要来源,尤其是对于教师和其他教育工作者而言。正如最近在 MAXQDA 用户大会 MQIC 2024 上题为“AI 在研究中的机遇和挑战”的研讨会上所讨论的那样,关于生成式 AI 的使用如何影响定性研究及其方法存在很多不确定性。基于 AI 的分析会取代编码吗?或者,随着 AI 工具新引入的歧义性,编码的透明度和明确性会变得更加重要?
在这篇博文中,我们将了解如何将生成式 AI 和编码的潜力相结合,不仅要思考可能性,还要逐步介绍如何在严重依赖“编码”技术的定性研究项目中使用生成式 AI。
什么是 AI Assist,AI 编码如何工作?
MAXQDA 是一款成熟的定性数据分析软件,用于定性和混合方法研究已有三十多年的历史。随着 2023 年 4 月“AI Assist”插件的发布,该软件融合了生成式 AI 领域的最新技术进步。随着 AI Assist 的发布,我们看到生成式 AI 模型的强大功能与经过验证的研究平台融合在一起,主要围绕“编码”数据技术。
作为 MAXQDA 的附加组件,AI Assist 提供了广泛的选项,从创建文档摘要到与编码数据聊天,再到为研究过程提出代码创意。所有这些功能都遵循“助手”的原则,在过程中的许多小步骤中提供帮助,而不是承诺接管整个研究项目。这些功能中包括一项名为“AI Coding”的新功能,顾名思义,它有望弥合生成式 AI 和编码之间的差距。
此外,新创建的 AI 代码将存储为原始代码的子代码。通过这种方式,AI 代码被清楚地识别并与我们的其他代码分开。然后,研究人员可以查看结果并决定是优化代码、丢弃代码还是将其集成到现有代码中。
AI Code 已创建为原始代码的子代码。
那么,我们如何在研究过程中使用 AI Assist 等功能呢?让我们将其视为四个步骤:
在数据子集上开发和测试代码描述
将代码应用于完整数据集
使用可视化工具验证 AI 编码
分析 AI 编码数据
第 1 步:使用数据子集开发和测试代码描述
如果我们看一下这个新功能,我们可以看到它是按照定性研究中流行的技术创建的:概念驱动或“演绎’编码(Kuckartz & Rädiker 2023)。它提出了一个重要的问题:我们如何开发一个好的、明确的代码描述来指导我们的编码?无论 AI 有多好,它总是会受到我们代码描述质量的限制。那么,我们首先看看如何为 AI 编码设置代码和代码说明,然后考虑什么是 AI 编码的良好代码说明。
如何在 MAXQDA 中创建 AI 编码的描述?
要使用 AI 编码,我们首先需要创建一个代码。为此,只需单击 MAXQDA 代码窗口中的绿色加号。将打开一个窗口:
创建一个新代码“Health”
在窗口的第一个字段中,我们被要求输入代码的名称。我们还可以选择颜色。在第二个文本字段中,我们可以输入代码备忘录中代码的描述。这很重要,因为在 AI 的帮助下应用我们的代码时,代码名称和代码备忘录都会被考虑在内。
创建代码后,我们需要做的就是打开要编码的文档。然后从“AI Assist > AI Coding”菜单中选择 AI Coding 选项:
一旦我们对 AI 编码在初始文档上的结果感到满意,就该将其扩展到整个数据集了。为此,我们重复上述过程:我们选择一个文档,运行 AI 编码,从代码系统中选择代码,然后将代码应用于数据。密切关注代码频率并查看结果,以确保代码备忘录中的代码定义与其他文档相符。如果文档没有返回编码段(或返回太多编码段),则这是进一步调查的一个很好的理由。我们仍然可以调整代码备忘录,甚至可以在我们最初的文档集上再次运行它,以查看此更改如何影响您之前的结果。一旦我们用此代码对所有文档进行编码,我们的代码系统将如下所示:
示例:包含四个与“Health”相关的 AI 代码的代码系统。
每个文档都有自己的 AI 代码,作为原始父代码的子代码。现在我们可以将所有 AI 代码合并为一个。只需选择所有代码,右键单击并选择“合并代码”。
在上面的示例中,我们看到了所有文档的可视化效果。每行代表一个文档。这些列表示文档中的不同段落。颜色告诉我们文档的该部分使用了哪些代码。在这种情况下,我们可以看到访谈的开头通常不是由 AI 编码的,因为它不包含与研究问题直接相关的数据。通过这种方式,我们可以快速识别未编码的数据部分,并调查省略该部分是否有助于我们的研究目的。
虽然这样做可能很诱人,但在量化数据时我们必须特别小心,即计算代码频率或测量代码覆盖率(代码覆盖的区域)。尽管人类并不总是擅长保持一致,但 AI 创建的代码段的大小可能会有很大差异。AI 尝试识别编码片段中反映的意义单位。但是,这样的段落范围可以从几个单词到几个段落。当我们从编码的片段概览中检索片段并查看片段的 “区域” 时,我们可以很容易地看到这一点:
编码段概述:不同大小的段,长度为 349 个字符、1427 个字符和 2336 个字符。
同样,当我们严重依赖 AI 编码时,我们通常只读取和考虑 AI 选择的编码数据。尽管我们正在使用人类推理,但 AI 可能在决定阅读或不阅读哪些文本方面发挥重要作用。在没有 AI 的研究中,我们通常会阅读整篇文章。尽管我们最终可能只编码了其中的一小部分,但无论我们是否意识到,未编码的数据仍然包含在结果中。
为此,我们只需读取一个片段并尝试提出合适的子代码。然后我们单击主代码旁边的绿色“+”图标。我们输入代码名称,然后将选定的编码区段拖放到(新)代码上。要想出好的子代码名称,我们可以查看 AI 之前创建的区段注释,也可以向 AI 请求子代码建议(AI Assist > Suggest Subcodes)。
这一步至关重要,因为它不仅有助于创建一个适合我们研究问题的有用子代码系统,还可以确保 AI 编码的每个片段至少由人类研究人员审查一次。通过遵循这样一个过程,即最初应用演绎的、概念驱动的代码,然后用归纳的、文本驱动的子代码来提炼它们,我们也遵循了Kuckartz & Rädiker(2023)提出的定性内容分析方法。
结论:AI 和人类编码是一种复杂的关系
总之,我们将看看关于人类编码和 AI 编码之间的差异、AI 编码的用例以及 AI 编码对定性研究的潜在影响的三个关键问题。
AI 编码与人工编码有何不同?
正如我们所看到的,这里应用的过程非常适合既定方法。当然,我们必须格外小心地量化我们的代码和遗漏相关的片段,但这些也是许多非 AI 项目中的缺点。
对于这种类型的方法,我们看到了一个主要的方法差异:AI 编码是演绎或概念驱动的极端。作为人类研究人员,我们从来不会只关注单个代码。当我们阅读文本并尝试识别不同的概念时,我们总是将每个部分与几个现有代码甚至潜在的未来代码的选项进行权衡。我们可能会发现一个不适合我们系统的文本段,但我们可能仍然会考虑它并允许它影响我们的代码系统。此处应用的 AI 编码则相反:它接受描述,并仅查找符合该特定描述的内容。
但是,我们必须记住,这并不适用于 AI 编码的所有可能应用。例如,如果我们使用“AI Assist”选项卡中的另一个工具“为所选区段建议代码”,则我们处于极端的另一端:仅根据文本建议新代码,而不考虑我们之前的编码或发现。
定性 AI 编码的良好用例是什么?
当我们考虑 AI 编码的实际用例时,我们认为它既可以增强人工编码,也可以将其扩展到更大量的数据。首先,AI 编码可以作为快速且廉价的第二编码器。作为定性研究人员,我们受过不断评估分析工作主观性的训练,我们可能永远被怀疑自己可能错过了那个重要的部分所困扰。AI 编码使我们能够挑战人类的主观性,并以 AI 模型的主观性对其进行补充。它可以帮助我们指出我们可能忽略或过早丢弃的文本片段。在这里,AI 可以用作一面镜子,批判性地评估我们自己的编码。
其次,我们还可以使用 AI 编码来克服处理大量数据的挑战。如果我们已经手动编码了大量示例数据集,则可以使用这些知识和现有代码描述作为将代码扩展到更大数据集的理想基础。MAXQDA 的可视化工具在这方面提供了很大的帮助,因为它们允许我们验证编码结果,即使是对于更大的数据集。