定性数据的 AI 编码

在定性研究项目的编码过程中使用 MAXQDA 的 AI Assist 的四个步骤

在过去的 30 年里,对访谈、焦点小组、报告或实地笔记等定性数据的分析在方法和技术上取得了重大发展。使用定性数据分析软件来实施研究方法,如定性内容分析(Kuckartz & Rädiker 2023年)、扎根理论(如Strauss & Corbin 1990年)、主题分析(Brown & Clark 2021年)已经成为广泛领域的常见做法。

我们现在看到一种新技术的普及,该技术有可能改变定性研究中使用的方法:生成式 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 Coding 不会自主编码整个研究项目。相反,该软件有一个非常具体的目的:将单个、描述良好的代码应用于我们的数据。给定代码名称和代码描述(以代码备忘录的形式),AI Assist会尝试根据代码描述识别文档中的文本段。

示例:接口 AI 编码。
示例:接口 AI 编码

这种逐个代码、逐个文档的方法可能需要额外单击几下,但它允许严格控制流程。执行后,AI 通过创建自己的数据段来识别意义单元,使用适当的代码对其进行编码,并提供简要说明,描述识别的文本段与代码的关系。

示例:将区段的 AI 解释作为区段注释
示例:将区段的 AI 解释作为区段注释

这有助于使过程更加透明,也可能为以后开发子代码提供灵感。

此外,新创建的 AI 代码将存储为原始代码的子代码。通过这种方式,AI 代码被清楚地识别并与我们的其他代码分开。然后,研究人员可以查看结果并决定是优化代码、丢弃代码还是将其集成到现有代码中。

AI Code 已创建为原始代码的子代码。
AI Code 已创建为原始代码的子代码。

那么,我们如何在研究过程中使用 AI Assist 等功能呢?让我们将其视为四个步骤:

  1. 在数据子集上开发和测试代码描述
  2. 将代码应用于完整数据集
  3. 使用可视化工具验证 AI 编码
  4. 分析 AI 编码数据

第 1 步:使用数据子集开发和测试代码描述

如果我们看一下这个新功能,我们可以看到它是按照定性研究中流行的技术创建的:概念驱动或“演绎’编码(Kuckartz & Rädiker 2023)。它提出了一个重要的问题:我们如何开发一个好的、明确的代码描述来指导我们的编码?无论 AI 有多好,它总是会受到我们代码描述质量的限制。那么,我们首先看看如何为 AI 编码设置代码和代码说明,然后考虑什么是 AI 编码的良好代码说明。

如何在 MAXQDA 中创建 AI 编码的描述?

要使用 AI 编码,我们首先需要创建一个代码。为此,只需单击 MAXQDA 代码窗口中的绿色加号。将打开一个窗口:

创建新的代码 “Health”
创建一个新代码“Health”

在窗口的第一个字段中,我们被要求输入代码的名称。我们还可以选择颜色。在第二个文本字段中,我们可以输入代码备忘录中代码的描述。这很重要,因为在 AI 的帮助下应用我们的代码时,代码名称和代码备忘录都会被考虑在内。

创建代码后,我们需要做的就是打开要编码的文档。然后从“AI Assist > AI Coding”菜单中选择 AI Coding 选项:

The “AI Assist” Tab
“AI Assist”选项卡

在这里,我们通过拖放到“代码”字段来选择适当的代码。然后,我们有另一个机会在应用代码之前修改我们的代码备忘录:

Example: Interface AI Coding.
示例:AI编码界面

一旦我们点击“确定”,编码过程就会开始。不久之后,我们将看到结果:

Coding Successful: 12 Segments were AI Coded
编码成功:12 个片段已完成被 AI 编码

如上所述,该代码是作为原始代码的子代码创建的,并用“AI:”和特殊的青绿色标记。这样,我们可以在继续之前检查代码。

什么才是适合 AI 编码的优质代码备忘录?

但是如果我们没有得到结果怎么办?或者结果太多怎么办?

Error message: No retrieved segments identified.
错误消息:未识别已检索到的段。

然后是时候检查我们的代码备忘录了。为了使 AI 编码正常工作,我们的代码描述必须明确、准确,并且与我们的数据非常吻合。我们还可以使用排除和纳入标准来故意排除某些内容。与手动编码不同,应避免使用示例,因为这会导致 AI 强烈偏爱与示例匹配的文本段。

我们最初的 AI 编码结果有多好?

当我们第一次使用 AI 编码应用新创建的代码时,将其应用于我们熟悉的文档非常重要。了解数据对于评估 AI 结果总是有帮助的,尤其是在 AI 代码及其描述的早期“测试”阶段。在这个阶段,从两个角度检查我们的编码数据是有益的:

首先,我们验证编码段是否确实包含相关数据,而不包含无关数据。我们可以通过检查编码段来做到这一点。如果我们发现不相关或不需要的数据,我们可以调整代码备忘录的排除标准并重新运行 AI 编码。

Overview of Coded Segments: Checking for segments that do not fit and adding exclusion criteria.
编码段概述:检查不适合的段并添加排除标准

其次,我们可以浏览文档,看看是否有任何重要的文本片段被遗漏。如果是这样,我们可以调整我们的纳入标准或代码描述。添加一些也出现在遗漏片段中的单词或短语可能会有所帮助。

Example: Identifying a missing segment and adding an inclusion criteria.
示例:识别缺失片段并添加纳入标准。

在将我们的代码应用到多个文档之前,我们需要确保在我们非常熟悉的一个或几个文档上对代码和代码备忘录进行充分的测试。这将帮助我们完善我们的代码描述并确保获得更好的结果。

第 2 步:将代码应用于所有数据

一旦我们对 AI 编码在初始文档上的结果感到满意,就该将其扩展到整个数据集了。为此,我们重复上述过程:我们选择一个文档,运行 AI 编码,从代码系统中选择代码,然后将代码应用于数据。密切关注代码频率并查看结果,以确保代码备忘录中的代码定义与其他文档相符。如果文档没有返回编码段(或返回太多编码段),则这是进一步调查的一个很好的理由。我们仍然可以调整代码备忘录,甚至可以在我们最初的文档集上再次运行它,以查看此更改如何影响您之前的结果。一旦我们用此代码对所有文档进行编码,我们的代码系统将如下所示:

Example: Code System with four AI Codes regarding “Health”.
示例:包含四个与“Health”相关的 AI 代码的代码系统。

每个文档都有自己的 AI 代码,作为原始父代码的子代码。现在我们可以将所有 AI 代码合并为一个。只需选择所有代码,右键单击并选择“合并代码”。

现在我们可以再次检查我们的 AI 编码段。为此,只需通过编码段列表检索数据并验证没有错误的编码段:

Reviewing coded segments via the list of retrieved segments
通过检索到的片段列表查看编码片段

一旦我们检查了我们的编码段,我们就可以将它们与我们可能创建的任何手动代码一起合并到主代码中。

如何使用AI编码来编码多个代码?

一旦我们用一个代码对所有数据进行编码,就该继续创建更多代码了。为此,只需重复上述过程。创建代码和代码备忘录,在一些数据上进行测试,并在修改完代码备忘录后将其应用于其余数据。

使用这样的流程,我们不会遵循“一键式”解决方案,神奇地为您的研究问题提供答案。相反,这是一个非常人性化的过程。它要求我们明确我们的代码和代码定义并验证我们的结果。它需要方法论的严谨性和培训,以了解如何创建代码本以及如何判断编码的质量。使用人工智能远非让研究人员成为工具的简单用户,而是让我们扮演方法指导者和监督者的角色。

在 AI 编码方面我可能会面临哪些挑战?

尽管上述过程看似精简,但我们当然可能会在此过程中遇到问题。当我们使用 AI 编码时,两类问题尤为突出:

首先,我们可能找不到任何结果。在这种情况下,我们需要调整代码备忘录。另外,想想这会告诉您有关数据的哪些信息。例如,在一项主要关注机构内部问题的研究中,代码“强度”可能不会产生很多结果,因为在这种以​​问题为中心的访谈中很少涉及系统的当前强度。在这种情况下,我们可以使用文本搜索(分析 > 文本搜索和自动编码)来识别与我们的代码相关的片段。然后,我们可以使用这些片段来完善我们的代码备忘录。

文本搜索和自动编码


我们可能遇到的第二个挑战是 AI 可以通过单个提示或操作处理的数据量的技术限制。MAXQDA 的 AI Assist 可以轻松处理长达一小时的采访记录。但是,如果文档变得比这大得多,我们可能会收到一条错误消息。

如果我们的文档太长,AI Coding 无法编码,我们可以尝试缩短它。例如,访谈通常有一个引言或结论,其中包含许多对分析来说并非绝对必要的闲聊。以这种方式修剪文档的开头和结尾有助于降低 120,000 个字符的限制。或者,如果您正在使用文档分析,请尝试仅包含文档中与分析实际相关的部分。例如,您可以在使用 AI 编码之前从长出版物中删除书目。

第 3 步:使用 MAXQDA 的可视化工具验证您的 AI 编码

一旦我们将所有代码应用于整个数据集,我们可能需要评估编码的质量。理想情况下,这将通过手动检查每个文档来完成,如步骤 1 中的数据子集所述。然而,在较大的项目中,这可能不可行,我们需要不同的策略。

将 AI 用作 MAXQDA 等成熟研究软件的一部分的一大优势是,我们可以将软件的广泛功能与 AI 结合使用:例如,我们可以使用 MAXQDA 的可视化工具来评估整个数据集的 AI 编码结果。

Code Matrix Browser:我的所有文档都已编码了吗?

例如,我们可以使用 “Visual Tools > Code Matrix Browser” 来分析代码在不同文档中的分布。结合 AI 编码,这可以让我们深入了解我们的 AI 代码是否在所有文档中产生了相似的结果,或者是否遗漏了一些文档。

Code Matrix 浏览器:AI 代码在四个文档中的分布
Code Matrix 浏览器:AI 代码在四个文档中的分布

上面的示例显示了 Code Matrix 浏览器。较大的方块表示代码在文档中被多次应用,较小的方块表示代码在该文档中只被应用了几次。这可以帮助我们评估编码的质量。如果代码为文档生成的结果很少或没有结果,则可能值得重新检查文档和代码描述。

在使用这样的可视化工具时,我们应该特别小心,不要将代码频率(反映在方块的大小上)视为表面值。由于 AI 编码创建的句段的大小差异很大,从单个句子到多个段落,因此这些数字不容易比较(有关详细信息,请参阅步骤 4)。

文档比较表:AI 对文档的哪些部分进行了编码?

此外,我们可以使用可视化工具来检查文档中的哪些部分实际上是编码的。为此,我们可以使用 Visual Tools 选项卡中的 Document Comparison Chart

文档比较表:显示大多数访谈的开头(第 1-2 段)尚未编码
文件比较表:显示大多数访谈的开头,即第 1-2 段,没有编码。

在上面的示例中,我们看到了所有文档的可视化效果。每行代表一个文档。这些列表示文档中的不同段落。颜色告诉我们文档的该部分使用了哪些代码。在这种情况下,我们可以看到访谈的开头通常不是由 AI 编码的,因为它不包含与研究问题直接相关的数据。通过这种方式,我们可以快速识别未编码的数据部分,并调查省略该部分是否有助于我们的研究目的。

第 4 步:分析 AI 编码数据

一旦我们审查了所有编码数据,我们就可以继续进行分析。在这里,分析代码频率、创建代码摘要和使用智能编码工具可能很有趣。

我可以分析 AI Coded 数据的代码频率吗?

虽然这样做可能很诱人,但在量化数据时我们必须特别小心,即计算代码频率或测量代码覆盖率(代码覆盖的区域)。尽管人类并不总是擅长保持一致,但 AI 创建的代码段的大小可能会有很大差异。AI 尝试识别编码片段中反映的意义单位。但是,这样的段落范围可以从几个单词到几个段落。当我们从编码的片段概览中检索片段并查看片段的 “区域” 时,我们可以很容易地看到这一点:

编码段概述:不同大小的段,长度为 349 个字符、1427 个字符和 2336 个字符。
编码段概述:不同大小的段,长度为 349 个字符、1427 个字符和 2336 个字符。

同样,当我们严重依赖 AI 编码时,我们通常只读取和考虑 AI 选择的编码数据。尽管我们正在使用人类推理,但 AI 可能在决定阅读或不阅读哪些文本方面发挥重要作用。在没有 AI 的研究中,我们通常会阅读整篇文章。尽管我们最终可能只编码了其中的一小部分,但无论我们是否意识到,未编码的数据仍然包含在结果中。

如何汇总我的编码数据?

对数据进行编码后,我们还可以为编码数据自动创建摘要。这有助于我们汇总文档中的主题。我们只需右键单击代码并选择“AI Assist > Summarize Coded Segments”。接下来,我们选择语言和所需的摘要长度,然后我们得到以下输出:

AI 生成的摘要保存在代码备忘录中


如果摘要不符合我们的目的,我们还可以使用附加说明自定义摘要:


在上面的示例中,我们区分了编码数据中的不同分面。对于我们的代码运行状况,我们要求 AI 将摘要拆分为三个部分,分别涉及心理、身体和社会健康。

智能编码工具:如何创建子代码?

由于 AI 编码通常会创建具有大量编码片段的代码。继续使用 Smart Coding 工具是一个有趣的选项:

示例:将代码 “health” 拆分为不同的操作,例如 “保持健康饮食” 或 “保持社交关系”。

智能编码工具(Codes > Smart Coding)允许我们全面审查代码的所有内容。正如我们在上面的屏幕截图中看到的那样,它将所有编码的区段、它们的评论和其他应用的代码集中在一个地方。下一步,我们可以逐个代码、逐个段地浏览我们的数据,为每个代码创建和应用新的子代码。

为此,我们只需读取一个片段并尝试提出合适的子代码。然后我们单击主代码旁边的绿色“+”图标。我们输入代码名称,然后将选定的编码区段拖放到(新)代码上。要想出好的子代码名称,我们可以查看 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 的可视化工具在这方面提供了很大的帮助,因为它们允许我们验证编码结果,即使是对于更大的数据集。

AI 编码能为定性研究带来什么?

当然,人工智能编码将被使用——而且可能已经被使用——来产生“快速而肮脏”的结果,以使论文通过或提交论文,而用“人工智能研究”中为数不多的实质性“发现”污染看似无穷无尽的研究成果海洋的危险是严重的。然而,我们对人工智能在定性研究中的应用最有希望的愿景是:它可以帮助我们进一步挑战我们的主观性和人类偏见。由于资源限制,很少有项目能够负担得起广泛的编码人员间协议检查,甚至只是对相同数据的第二意见。通过使用人工智能,我们可以快速获得第二种“意见”,这不仅可以帮助我们提高结果的数量,还可以帮助我们提高研究结果的质量。

作者:

安德烈亚斯·穆勒

Andreas Müller 担任专业的 MAXQDA 培训师已有七年多的时间,并且是一名研究和方法教练以及合同研究员。他在各种定性方法方面经验丰富,并与来自不同学科的客户合作,包括医疗保健、教育科学和经济学。Andreas 擅长分析定性文本和视频数据,以及混合方法数据。
www.muellermixedmethods.com

文献

弗吉尼亚州布劳恩;克拉克,维多利亚:主题分析:实用指南。施特劳斯,安塞姆;科尔宾,朱丽叶 (1990)。定性研究基础:扎根理论程序和技术。加利福尼亚州千橡市:Sage。

库卡茨,乌多;Stefan Rädiker (2023):定性内容分析:方法、实践和软件。SAGE Publications Ltd.

穆勒,安德烈亚斯;。Rädiker, Stefan (2024).用您的数据“聊天”:使用 MAXQDA 的 AI Assist 分析访谈的 10 个提示。MAXQDA 研究博客。https://www.maxqda.com/blogpost/chatting-with-your-data-10-prompts-for-analyzing-interviews-with-maxqda-ai-assist

Rädiker, Stefan et.al (2024):研究中的 AI:机遇与挑战。(2024 年 2 月 29 日)。[研讨会]。MAXQDA 国际会议 (MQIC),德国柏林。https://www.maxqda.com/blogpost/ai-in-research-opportunities-and-challenges

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注