In this paper, we propose a general-purpose framework to develop spoken dialogue systems that dynamically adapt their behavior to user requirements and preferences, as well as to the interaction context. A data-driven technique is proposed to build task structures and dialogue models within the framework. Our proposal reduces the effort required for both the implementation of a new system and the adaptation of an existing one to a new task. We have evaluated the framework developing a travel-planning system, and provide a detailed discussion of its positive influence on both the interaction quality and the personalization of provided services.