https://arxiv.org/pdf/2402.15131.pdf
这篇文章介绍了一个名为Interactive-KBQA的框架,它是一个用于知识库问答(KBQA)的多轮交互系统。该框架的核心思想是利用大型语言模型(LLMs)的能力,通过与知识库(KBs)的直接交互来生成逻辑形式。这种方法旨在解决传统语义解析方法在处理复杂问题时所需的大量数据标注问题,以及在低资源场景下如何有效利用LLMs的挑战。
- 目标 :研如何将自然语言(NL)问题映射到知识库的逻辑形式,并生成可执行的SPARQL查询。
- 交互方法 :Interactive-KBQA框架通过对话式的交互过程来引导LLMs进行推理。这个过程遵循“thought-action”范式,即LLMs在每一轮交互中都需要思考并提供与知识库交互的行动。
- 工具设计 :为了支持与知识库的交互,设计了三个通用的API工具:SearchNodes、SearchGraphPatterns和ExecuteSPARQL。
- SearchNodes:用于在知识库中搜索节点,基于给定的名称(例如实体或概念的名称)
- SearchGraphPatterns:提供一个以"SELECT ?e WHERE"开头的SPARQL查询作为输入,SearchGraphPatterns会在以?e为中心的一跳子图中执行查询,包括进入和出去的边。然后,它根据与语义参数的语义相关性对检索到的三元组进行排序,并返回最相关的K个三元组
- ExecuteSPARQL:输入一个完整的SPARQL查询语句,ExecuteSPARQL会执行这个查询并返回结果。这个工具不限制用户只能使用特定的查询模式,而是允许用户自由地构造和执行查询
-
多轮交互 :在处理复杂问题时,LLMs通过多轮交互逐步构建逻辑形式。每一轮交互都包括一个思考过程(Thought),一个行动(Action),以及由行动产生的观察结果(Observation)。
-
示例引导 :基于上下文学习(in-context learning),即通过提供具体的示例来帮助模型理解如何执行特定的任务。对于每种类型的复杂问题,设计并标注两个完整的交互示例。这些示例展示了从问题提出到最终答案生成的完整过程,包括所有的思考(Thought)、行动(Action)和观察(Observation)步骤。
-
手动干预 :该方法支持手动干预,允许研究人员迭代地改进LLMs的输出。通过手动标注数据集,研究者可以创建一个低资源数据集,用于微调开源LLMs。