Retrieval-Augmented Conversational Recommendation with Prompt-based Semi-Structured Natural Language State Tracking
Sara Kemper, Justin Cui, Kai Dicarlantonio, Kathy Lin, Danjie Tang, Anton Korikov, Scott Sanner
TL;DR
The paper tackles the challenge of mapping diverse natural-language user preferences to relevant items in conversational recommendation when metadata is incomplete. It presents RA-Rec, a Retrieval-Augmented, LLM-driven dialogue state tracking framework that uses a prompt-driven loop to classify intents and maintain a semi-structured NL dialogue state. Leveraging late fusion Reviewed Item Retrieval over item reviews and metadata, RA-Rec generates personalized recommendations, explanations, and QA with a scalable pipeline that employs a TAS-B encoder and FAISS for efficient retrieval. Demonstrated in the restaurant domain with Yelp data and open-source artifacts, RA-Rec shows practical feasibility and provides a path toward domain adaptation, active elicitation, and multi-aspect reasoning in ConvRec systems.
Abstract
Conversational recommendation (ConvRec) systems must understand rich and diverse natural language (NL) expressions of user preferences and intents, often communicated in an indirect manner (e.g., "I'm watching my weight"). Such complex utterances make retrieving relevant items challenging, especially if only using often incomplete or out-of-date metadata. Fortunately, many domains feature rich item reviews that cover standard metadata categories and offer complex opinions that might match a user's interests (e.g., "classy joint for a date"). However, only recently have large language models (LLMs) let us unlock the commonsense connections between user preference utterances and complex language in user-generated reviews. Further, LLMs enable novel paradigms for semi-structured dialogue state tracking, complex intent and preference understanding, and generating recommendations, explanations, and question answers. We thus introduce a novel technology RA-Rec, a Retrieval-Augmented, LLM-driven dialogue state tracking system for ConvRec, showcased with a video, open source GitHub repository, and interactive Google Colab notebook.
