什么是问题解答?

鸟瞰两艘大型帆船和集装箱

作者

Tim Mucci

IBM Writer

Gather

什么是问题解答?

问题解答 (QA) 是计算机科学在自然语言处理 (NLP) 和信息检索中的一个分支,专用于开发能够使用自然语言回应以自然语言表达的问题的系统。这些系统确定问题背后的背景,从大量数据中提取相关信息,并以简洁易读的方式呈现给用户。

小球在轨道上滚动的三维设计

最新的 AI 新闻 + 洞察分析

在每周的 Think 时事通讯中,发现专家精选的有关 AI、云等的洞察分析和新闻。 

问题解答的类型

问题解答系统可以根据它们如何生成用户问题的答案、它们所拥有的知识范围以及它们所支持的问题或模式的类型进行分类。

提取式和生成式问题解答

提取式 QA 系统的工作原理是直接从提供的文本或数据源中识别和提取答案。他们使用命名实体识别和区间预测等技术来定位回答特定问题的特定文本段。

例如,可能会要求提取式 QA 系统在文档中精确定位某个国家或地区的人口。

相比之下,生成式 QA 系统通过使用在训练期间学到的知识来综合自己的答案。这些系统不仅限于逐字提取信息,还可以生成富有创意且细致入微的响应,通常依赖于大型语言模型 (LLM)。

生成式 QA 的一个著名例子是 OpenAI 的 GPT-3 或 ChatGPT,它由生成式人工智能驱动。

开放域和封闭域问题解答

对 QA 系统进行分类的另一种方法是根据其所依据的知识范围。开放域的 QA 系统旨在处理几乎任何主题的问题。

其依赖大量的常识,并使用知识本体等框架来有效地检索和组织信息。此类系统非常适合需要广泛多功能性的应用,例如虚拟助理或搜索引擎。

但是,封闭域 QA 系统专注于特定领域,例如医学、法律或工程。他们使用领域特定的知识来提供针对其领域量身定制的详细而准确的答案。

例如,封闭域医疗 QA 系统可以根据临床数据回答诊断问题,从而帮助医生。

闭卷和开卷问题解答系统

根据如何访问和使用信息,QA 系统还可以分为闭卷式或开卷式。闭卷系统完全依赖于在训练期间记住的知识,不参考外部资源。

例如,GPT-3 可以在不实时访问数据的情况下提供答案。然而,开卷系统在运行过程中可以访问外部知识库或数据源,从而提供最新的、与上下文相关的答案。搜索引擎集成的 QA 系统是开卷系统的一个常见例子。

对话、数学和视觉系统

专门的 QA 系统专为特定类型的输入或交互而设计。对话式 QA 系统可以跨多个回合的对话保持上下文,从而实现连贯和自然的交流。这使得它们适用于聊天机器人虚拟助理,此类应用中连续性和上下文是必不可少的。

相比之下,数学 QA 系统侧重于回答需要数学推理和计算的问题。这些系统必须理解数学符号并进行计算才能提供答案,例如求解方程或应用公式。

视觉 QA 系统旨在回答有关图像的问题,将 NLP 与计算机视觉技术相结合。例如,给出一张汽车图像,视觉 QA 系统可以分析该图像并回答诸如“汽车是什么颜色?”之类的问题。视觉 QA 系统可应用于辅助工具、图像字幕和多模式搜索引擎等领域。

Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

数据集

数据集提供培训模型、评估其性能和衡量该领域进步所需的原始信息。QA 数据集通常由配对的问题与相应答案组成,答案通常取自特定的上下文,如文档、知识库或结构化数据集。

QA 模型使用高质量的训练数据将问题与适当的答案关联起来,并识别数据集内的模式。此过程使模型能够从他们看到的示例推广到新的、没见过的问题。

数据集还可以作为基准,让研究人员和从业人员比较不同 QA 模型的能力。基线模型通常用作参考点,以衡量新的或先进的系统相对于既定性能标准的有效性。

不同的数据集旨在测试 QA 系统的各个方面。例如,一些数据集可评估系统回答各种来源问题的能力,而其他数据集则侧重于理解复杂或模棱两可的问题。

某些数据集测试多跳推理,其中系统必须整合来自多个文档或章节的信息才能得出答案。有些数据集甚至包含无法回答的问题,这对模型提出了挑战,要求它们在数据源中没有答案的情况下创造出答案。

多样且精心构建的数据集的可用性已经极大地推动了 QA 领域的发展。这些数据集给系统带来了日益复杂和多样化的挑战,有助于开发更复杂、更强大的模型,以便处理各种现实世界场景。

衡量 QA 系统的性能

评估指标提供了一种标准化的方法来衡量性能,使开发人员能够确定需要改进的领域并完善其模型。通过提供客观、可量化的洞察分析,这些指标超越了主观评估,有助于阐明 QA 系统回答问题的效率如何。

指标在识别 QA 系统的优势和劣势方面发挥着至关重要的作用,并指导开发人员集中精力改进系统的特定方面。

通过使用一致的基准,例如斯坦福大学问题解答数据集 (SQuAD),研究人员可以评估他们的模型与该领域的其他模型的比较情况。这些基准不仅可以促进比较的公平性,还可以跟踪进展情况并突出用于推进 QA 技术的最有效方法。

评估指标有助于防止过度拟合,这是机器学习中的一个常见挑战。通过在不同的数据集上测试模型,开发人员可以验证他们的系统是否可以很好地推广到新的、没见过的数据,而非记住训练集。

此外,指标可以突出当前系统的局限性。例如,模型表现不佳可能表明需要进一步研究的领域。这种对更好分数的持续追求鼓励开发更先进的 QA 模型,以处理日益复杂的任务和数据集。

可靠性是评估指标的另一个关键关注点。它们提供了一种验证 QA 系统答案的准确性并最大限度减少错误的方法。指标还通过提供系统性能的反馈,并帮助开发人员微调组件以获得最佳结果,从而指导模型的迭代开发。

不同的指标满足 QA 系统内的不同需求。例如,一些指标侧重于答案之间的完全匹配,而另一些指标则评估预测响应和实际响应之间的重叠程度。

这些区别有助于确保评估过程根据各种 QA 任务和模型的特定要求量身定制。

  • 完全匹配 (EM):该指标检查预测答案是否与正确答案完全匹配。这是一个严格的指标,它提供了一种很好的方法来查看模型是否可以获得正确的答案。
  • F1 分数:F1 分数是一种平衡的衡量标准,它同时考虑了精度(有多少预测的答案是正确的)和召回率(找到了多少正确答案)。它提供了一个分数,通过考虑假阳性和假阴性来反映模型的整体准确性,使其比精确匹配 (EM) 更精细;后者仅检查完美匹配。
  • 相关性:根据系统架构和检索器的不同,模型可以评估某个文档与查询相关的可信度。

然而,现有的指标可能无法完全体现有效理解和回答问题的复杂性。

  • 语境理解:虽然指标可以衡量模型是否给出了正确答案,但它们并不总能显示系统对问题的整体理解程度。
  • 推理和综合:有些问题解答任务需要对文本不同部分的信息进行推理和综合,而这很难用简单的指标进行评估。
  • 主观性:有些问题可能有不止一个正确答案,对这类问题的评价可能是主观的。
  • 无法回答:在某些数据集中,有些问题无法根据特定信息来回答,并且系统需要识别这些信息。制定衡量标准的目的是为了解释那些没有答案的问题。
  • 词汇表外的单词:指标可能无法完全捕捉系统处理系统词汇表中之外的单词的性能。

尽管存在这些挑战,但评估指标对于评估 QA 系统的有效性仍然至关重要。它们帮助开发人员确定系统回答问题的效果并确定需要改进的领域。由于 QA 模型是根据人类生成的数据训练的,因此即使模型在评估指标上得分很高,数据中的任何不准确或偏差都可能导致有偏倚的答案。

另一个令人担忧的问题是模型可能会利用数据集中的统计偏差来“作弊”。例如,模型可能会在没有真正理解查询的情况下,学习将问题中的特定关键字与特定答案范围相关联。

为了解决这个问题,一些数据集包含在创建过程中不允许访问相应源文本的问题。这种方法降低了模型依赖肤浅模式而不是有意义理解的可能性。

问题解答系统的挑战

问题解答系统面临着一些影响其有效性的操作挑战。一个主要障碍是理解问题背后的含义和意图。这不仅涉及解释单词,还涉及辨别问题的目的,即使它的措辞模棱两可或不清楚。

QA 系统必须处理复杂的语言结构,区分发音相似的单词或短语,并识别含义的细微变化。

问题可能以多种方式提出,以多句查询或缺乏明确清晰度的形式呈现,这需要高级的自然语言理解能力。

另一个重大挑战在于从大量数据中有效地检索相关信息。QA 系统必须采用复杂的信息检索技术,例如语义分析和信息提取,以辨识相关来源并确定具体答案。

这些系统处理的数据量非常大,通常涵盖海量数据集,这增加了管理这些系统的复杂性。

QA 系统还需要强大的机制来表示和组织知识。知识本体和语义网络等技术使模型能够对概念进行分类和关联,从而提高其在句子或数据集内理解单词和想法联系方式的能力。

例如,分词将文本分解为更小的可分析单元,帮助系统更好地理解单词与其上下文之间的关系。

上下文推理带来了另一层复杂性。除了理解问题本身,QA 系统还必须考虑更广泛的上下文,综合来自多个来源或文档的信息以提供适当的答案。

这就需要模型能够评估数据点之间的关系,并根据它们的互连情况得出有意义的结论。

最后,验证答案的准确性对于 QA 系统至关重要。他们必须严格评估数据来源的可靠性,并考虑到数据中的潜在偏差。

这涉及交叉引用信息,识别不一致之处并帮助确保答复有可靠的证据支持。

QA 系统的应用

QA 系统的应用多种多样,跨越行业和用例,重点是自动执行信息检索,以及为自然语言查询提供快速、准确的响应。

一个突出的应用是客户服务,其中 QA 系统通过使用知识库自动响应常见问题来简化运营。这通过提供即时、一致的答案来提高效率并提高客户满意度。

同样,在技术支持方面,QA 系统使员工和客户都能即时访问相关信息,从而减少等待时间并提高工作效率。虚拟助理也受益于 QA 功能,使之能够通过自然语言更有效地理解和响应用户查询。

在研究和教育领域,QA 系统生成报告,协助研究并支持事实检查工作。这些系统通过按需回答教育问题并提供实时支持来帮助学生。

它们还可用于学术评估,例如为作业评分或评估大学考试答案,根据具体信息解读文本并提供反馈。

在搜索引擎功能中,QA 系统通过提供与用户查询直接相关的即时答案来增强用户体验。现代搜索系统不是仅提供相关网页的列表,而是使用 QA 技术从文档中提取特定信息,为用户提供简洁且可操作的答复。

此外,QA 系统越来越多地应用于内部组织任务。它们有助于高效处理庞大的医疗记录、银行文件和差旅日志存储库中的信息。

通过对结构化和非结构化数据进行快速、精确的搜索,这些系统节省了时间并改善了专业环境中的决策。

QA 的实施

实施有效的 QA 系统需要在多个阶段进行仔细规划和执行,首先要从数据收集和预处理开始。这需要从新闻文章、书籍和数据库等来源收集大量不同的文本数据。

必须清理数据以删除不相关的内容,通过词干提取或词形还原进行标准化,并进行分词,将文本分解为单个单词或短语。有时,人工注释者会创建问题-回答对或将现有数据集翻译成其他语言。

高质量的人工生成数据集通常会比机器翻译的数据集带来更好的性能,这就凸显了数据集质量的重要性。

信息检索是 QA 系统的另一个关键组成部分。开发算法以便从文本语料库中提取相关信息来回答用户的问题。

关键词搜索、文本分类和命名实体识别等技术有助于缩小相关文档的范围。为了优化效率,在应用计算过程更加密集的 QA 模型之前,段落排名模型可以对可能包含答案的文档进行优先排序。

一种常见的架构是检索器-阅读器管道,其中检索器识别相关文档的子集,阅读器提取或生成特定答案。使用深度学习进行检索的稠密段落检索是一种很有前景的方法,它能提高检索速度和准确性。

QA 系统设计中的另一个考虑因素是上下文窗口的大小,它决定了模型一次可以处理的信息量。例如,IBM® Granite-3 等模型的上下文窗口可包含 128,000 个词元,能有效处理大型文档。

在处理大量数据集时,检索器-阅读器管道起着至关重要的作用,允许系统在提取答案之前过滤掉不相关的文档,从而保持效率和准确性。

当前的 QA 研究和趋势

当前问题解答系统的研究和趋势侧重于在增强其处理复杂和多样化任务能力的同时,提高效率和稳健性。一个关键的发展领域是开放域问题解答,此类系统使用一般知识本体和世界知识来解决几乎所有主题的问题。

多语言 QA 是另一个重要趋势,XLM-Roberta 等模型展示了同时处理多种语言,同时保持与单语言系统相当之性能的能力。

多语言 QA 系统的开发对于全球应用程序至关重要,可实现跨不同语言和社区的可访问性。

同样,多模式 QA 系统的兴起标志着一种变革性转变,允许系统处理和集成来自文本、图像和音频的信息。

这些能力对于有关图像或视频内容的问题解答任务尤其有价值,可以实现更全面的理解以及提供更丰富、更复杂的答案。

从业者还正在努力改进模型架构以提高性能和效率。基于转换器的模型(如 BERT)依靠广泛的预训练来捕捉细微的语言理解(通过 Hugging Face 等平台广泛访问),通过显著提高准确性增强了 QA 系统,使其适合实际应用。

当前的研究探索通过模型蒸馏等技术来减少这些模型的计算需求的方法,此类技术训练更小、更高效的网络来复制更大模型的性能。

此外,新的数据集正在设计中,通过引入需要多步推理、处理模棱两可或无法回答的问题以及解决更复杂的查询的任务,进一步挑战 QA 系统。

检索方法的改进是另一个重点领域。现代 QA 系统通常使用包括检索器和读取器两阶段的方法,前者识别最相关的文档,后者通常采用基于编码器的架构构建,以从这些文档中提取答案。

包括稠密段落检索在内的创新采用深度学习执行检索过程,已被证明能有效提高速度和准确性。这对于扩展 QA 系统以跨海量数据集高效运行尤为重要。

交互性也正在成为下一代 QA 系统的核心特征。研究人员正在开发能够进行澄清、完善对模糊查询的理解、重复使用以前的答案并以更详细和直观的格式呈现答复的问题解答模型。

相关解决方案
IBM watsonx Orchestrate

使用 IBM® watsonx Orchestrate 轻松设计可扩展的 AI 助手和代理、自动执行重复任务并简化复杂流程。

探索 watsonx Orchestrate
自然语言处理工具和 API

通过强大灵活的库、服务和应用组合,加速实现人工智能的商业价值。

深入了解 NLP 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

使用 IBM® watsonx Orchestrate 轻松设计可扩展的 AI 助手和代理、自动执行重复任务并简化复杂流程。

探索 watsonx Orchestrate 深入了解 NLP 解决方案