Lune

ACL2024Top-tier venue

Interactive-KBQA: Multi-Turn Interactions for Knowledge Base Question Answering with Large Language Models

Guanming Xiong, Junwei Bao, Wen Zhao

2024Year
15Top-tier citations

Abstract

This study explores the realm of knowledge base question answering (KBQA). KBQA is considered a challenging task, particularly in parsing intricate questions into executable logical forms. Traditional semantic parsing (SP)-based methods require extensive data annotations, which result in significant costs. Recently, the advent of few-shot in-context learning, powered by large language models (LLMs), has showcased promising capabilities. However, fully leveraging LLMs to parse questions into logical forms in low-resource scenarios poses a substantial challenge. To tackle these hurdles, we introduce Interactive-KBQA, a framework designed to generate logical forms through direct interaction with knowledge bases (KBs). Within this framework, we have developed three generic APIs for KB interaction. For each category of complex question, we devised exemplars to guide LLMs through the reasoning processes. Our method achieves competitive results on the We-bQuestionsSP, ComplexWebQuestions, KQA Pro, and MetaQA datasets with a minimal number of examples (shots). Importantly, our approach supports manual intervention, allowing for the iterative refinement of LLM outputs. By annotating a dataset with step-wise reasoning processes, we showcase our model's adaptability and highlight its potential for contributing significant enhancements to the field. 1 * Corresponding author. Thought: "tv.tv_program.tvrage_id" is the one I want. Now, I can construct the SPARQL query. Action: ExecuteSPARQL('SELECT DISTINCT ?x WHERE ?e0 type.object.name "Shawnee Smith"@en . ?e0 tv.tv_actor.starring_roles ?c . ?c tv.regular_tv_appearance.series ?x . ?x tv.tv_program.tvrage_id ?id . ORDER BY DESC(xsd:integer(?id)) LIMIT 1') Thought: Let's first decouple this complex problem into simple triples: (shawnee smith, played in, target tv program), (target tv program, tvrage_id, ?v), (order by, ?v). Action: SearchNodes("shawnee smith") Q: What is the tv program with the largest "tvrage_id" that shawnee smith played in? Observation: ['Shawnee Smith | Description: Shawnee Rebecca Smith is an American film and television actress and singer.', ... ] Thought: "Shawnee Smith" is what I want. Next, I need to search for a predicate about "played in". Action: SearchGraphPatterns('SELECT ?e WHERE ?e type.object.name "Shawnee Smith"@en . ', semantic="played in tv program") Observation: [..., (?e, tv.tv_actor.starring_roles -> tv.regular_tv_appearance.series, "30 Days of Night: Dust to Dust"), ...] Thought: The predicate "tv.tv_actor.starring_roles -> tv.regular_tv_appearance.series" is correct. Next, I need to find the predicate that corresponds to "tvrage_id" for a TV program.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

Cited by top-tier papers15

Ask how each one uses it

Builds on21

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines