智能问答是什么?让机器读懂问题再给出答案
TL;DR智能问答(Question Answering)是让计算机根据给定资料或知识库自动回答自然语言问题的技术,涉及语言理解、信息检索和文本生成,是搜索、客服和 AI 助手的核心能力。
智能问答(Question Answering,QA)是让计算机自动回答自然语言问题的技术。用户用平常说话的方式提问,系统理解问题的意思,从给定的文章、知识库或互联网里找到相关信息,再给出答案。它综合了自然语言理解、信息检索、知识表示和文本生成等多个方向,是搜索引擎、智能客服和 AI 助手的核心能力。
几种类型
按答案从哪来,可以分成几类。抽取式问答:答案是给定文章里的一段原文,系统负责把它找出来。生成式问答:系统用自己的话组织答案,可以综合多处信息。知识库问答:从结构化的知识图谱里查询答案,比如“某某的出生地是哪里”。开放域问答:不给定资料,系统要自己去海量文档里检索相关内容再回答。
发展历程
早期的问答系统依赖人工规则、模板匹配和知识库查询,只能回答特定领域、特定格式的问题。2016 年,斯坦福大学发布了 SQuAD 数据集:众包工作者针对维基百科文章提出了 10 万多个问题,每个问题的答案都是原文中的一段。论文中的逻辑回归基线 F1 只有 51%,而人类表现约为 86.8%。SQuAD 极大地推动了机器阅读理解的研究,此后 BERT 等预训练模型在它上面很快超过了人类水平。
大模型出现后,问答的形态又变了:模型本身就储存了大量知识,可以直接回答很多问题。但它也会一本正经地编造答案(幻觉),知识也会过时。所以现在的主流做法是检索增强生成(RAG):先检索可靠资料,再让大模型基于资料回答,并给出来源。
怎么评价
抽取式问答常用精确匹配(EM)和 F1 分数评估;生成式问答更难评估,常用大模型打分、人工评估,并特别关注答案是否有依据、有没有编造。实际产品中,“不知道就说不知道”往往和“答得对”一样重要。