
摘要
问答任务在人类日常生活中扮演着至关重要的角色,因为它关乎我们对世界知识的获取。然而,由于现实世界中的事实具有动态性和不断变化的特性,当问题中涉及的时间约束发生变化时,答案可能完全不同。近年来,大型语言模型(Large Language Models, LLMs)在问答任务中展现出卓越的智能表现,但我们的实验表明,上述问题对现有LLMs仍构成重大挑战。这一现象可归因于LLMs难以基于文本表面语义进行严谨的推理。为克服这一局限,我们提出一种新方法——将问答任务重新定义为编程任务(Question Answering as Programming, QAaP),而非直接要求LLMs回答问题。具体而言,借助现代LLMs在自然语言与编程语言理解方面的卓越能力,我们致力于引导LLMs将多样化的文本表达转化为结构清晰的代码,并通过编程方式从多个候选答案中筛选出最优解。我们在多个与时序敏感相关的问答数据集上对所提出的QAaP框架进行了评估,结果表明其性能显著优于现有强基线方法,提升幅度最高达14.5%。相关代码与数据已开源,可访问 https://github.com/TianHongZXY/qaap。